Está en la página 1de 58

8/9/21 16:02 OneNote

Clase 10/08/2021 
lunes, 9 de agosto de 2021  07:34 p. m. 

UNIDAD TEMÁTICA I. ARQUITECTURA DE LA CPU 


 
I.1 Introducción 
 
Primero, hay una gran variedad de sistemas que pueden recibir correctamente el nombre de computador, desde
microprocesadores de un solo chip, que cuestan unos pocos dólares, a supercomputadores que cuestan decenas
millones de dólares. Esta variedad es patente no solo en costes sino en tamaño, prestaciones y aplicaciones.
Segundo, el rápido ritmo de cambio que ha caracterizado siempre a la tecnología de computadores continúa sin
pausa. Estos cambios cubren todos los aspectos de la tecnología de computadores. Desde la tecnología subyacen
de circuitos integrados, usados para construir componentes de computadores, hasta el creciente uso de concepto
de organización paralela para combinar esos componentes. 
 
A pesar de la variedad y el ritmo de cambio en el campo de los computadores, se aplican sistemáticamente cierto
conceptos fundamentales. La aplicación de estos conceptos depende del desarrollo actual de la tecnología y de lo
objetivos en precio-aplicación del diseñador. 
 
Cuando se describe un computador, frecuentemente se distingue entre arquitectura y organización. Aunque es
difícil dar una definición precisa para estos términos, existe un consenso sobre las áreas generales cubiertas por
cada uno de ellos. 
 
La arquitectura de computadores se refiere a los atributos de un sistema que son visibles a un programador, o
para decirlo de otra manera, aquellos atributos que tienen un impacto directo en la ejecución lógica de un
programa. La organización de computadores se refiere a las unidades funcionales y sus interconexiones, que dan
lugar a especificaciones arquitectónicas. Entre los ejemplos de atributos arquitectónicos se encuentran el conjunt
de instrucciones, el número de bits usados para representar varios tipos de datos (por ejemplo, números,
caracteres), mecanismos de E/S y técnicas para direccionamiento de memoria. Entre los atributos de organizació
se incluyen aquellos detalles de hardware transparentes al programador, tales como señales de control, interface
entre el computador y los periféricos y la tecnología de memoria usada. 
 
Para poner un ejemplo, una cuestión de diseño arquitectónico es si el computador tendrá la instrucción de
multiplicar. Una cuestión de organización es si esa instrucción será implementada por una unidad especializada e
multiplicar o por un mecanismo que haga un uso iterativo de la unidad de suma del sistema. La decisión de
organización puede estar basada en la frecuencia prevista del uso de la instrucción de multiplicar la velocidad
relativa de las dos aproximaciones, y el coste y el tamaño físico de una unidad especializada en multiplicar. 
 
Históricamente, y aún hoy día, la distinción entre arquitectura y organización ha sido importante. Muchos
fabricantes de computadores ofrecen una familia de modelos, todos con la misma arquitectura pero con diferenci
en la organización. Consecuentemente los diferentes modelos de la familia tienen precios y prestaciones distintas
Más aún, una arquitectura puede sobrevivir muchos años, pero su organización cambia con la evolución de
tecnología. Un ejemplo destacado de ambos fenómenos es la arquitectura IBM Sistema/370. Esta arquitectura
apareció por primera vez en 1970 e incluía varios modelos. Un cliente con necesidades modestas podía comprar
modelo más barato y lento, y, si la demanda se incrementaba, cambiarse más tarde a un modelo más caro y
rápido sin tener que abandonar el software que ya había sido desarrollado. A través de los años IBM ha
introducido 
muchos modelos nuevos con tecnología mejorada para reemplazar a modelos más viejos, ofreciendo al consumid
mayor velocidad, precios más bajos o ambos a la vez. Estos modelos más nuevos conservaban la misma
arquitectura para proteger así la inversión en software del consumidor. Podemos destacar que la arquitectura de
Sistema/370 con unas pocas mejoras ha sobrevivido hasta hoy día como la arquitectura de la línea de grandes
productos de computación IBM. 
 
 
 
 
 
 
 
 
 
https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 1/3
8/9/21 16:02 OneNote

 
 
En una clase de sistemas, llamados microcomputadores, la relación entre arquitectura y organización es muy
estrecha. Los cambios en la tecnología no solo influyen en la organización, sino que también dan lugar a la
introducción de arquitecturas más ricas y potentes. Generalmente hay menos requisitos de compatibilidad
generación a generación para estas pequeñas máquinas. Así, hay más interacción entre las decisiones de diseño
arquitectónicas y de organización. Un ejemplo interesante de esto son los computadores de repertorio reducido d
instrucciones (RISC, Reduced Instruction Set Computer). 
 
 
I.2 Lenguajes y Compiladores 
 
Concepto de traductor. 
Un traductor se define como un programa que traduce o convierte desde un texto o programa escrito en un
lenguaje fuente hasta un texto o programa equivalente escrito en un lenguaje destino produciendo, si cabe,
mensajes de error. Los traductores engloban tanto a los compiladores (en los que el lenguaje destino suele 
ser código máquina) como a los intérpretes (en los que el lenguaje destino está constituido por las acciones
atómicas que puede ejecutar el intérprete). 
 
 

 
 
 
• Un lenguaje de programación es un conjunto de reglas, signos y palabras que permite ejecutar programa
con funciones o tareas particulares. Los programas para ser entendidos por la computadora se codifican e
lenguaje binario (ceros y unos); esta codificación es conocida como lenguaje máquina. En un inicio los
lenguajes de programación se acercaban mucho al lenguaje máquina pero a medida que ha pasado el
tiempo, han ido evolucionando y se han transformado en un pseudo-inglés reducido con un abundante
aparato formal o bien en elementos gráficos o visuales que han facilitado su uso por parte del
programador. 
 
De acuerdo con su nivel de abstracción: “entre más lejano es un lenguaje a la computadora se le denomi
de alto nivel, de lo contrario es de bajo nivel”. 
 
Ahora bien, a lo largo de la historia de los lenguajes de programación, se reconocen 5 generaciones, en
donde cada una mejora a sus predecesoras en cuanto a las facilidades que otorga al programador. 
 
a. Primera generación: lenguaje máquina. 
b. Segunda generación: lenguajes ensambladores. 
c. Tercera generación: lenguajes de alto nivel. Ej. C, Pascal, Cobol... 
d. Cuarta generación: lenguajes capaces de generar código por sí solos (Desarrollo de Aplicaciones
Rápidas -RAD) y los lenguajes orientados a objetos 
e. Quinta generación: lenguajes orientados a la inteligencia artificial. 
 
Lenguaje Máquina 
 
El lenguaje máquina, el de más bajo nivel; Consiste en la combinación de 0's y 1's para formar las órdene
entendibles por el hardware. Son mucho más rápidos que un lenguaje de alto nivel pero su desventaja es
que generan enormes códigos fuente donde encontrar un error es casi imposible además de requerir un 
conocimiento profundo de la arquitectura del equipo que se utilice. 
 
Lenguaje Ensamblador 
Es un derivado del lenguaje máquina y en lugar de usar ceros y unos, está formado por abreviaturas de
letras y números llamadas mnemotécnicos. Para usar un lenguaje ensamblador se requiere un lenguaje
traductor, es decir, un lenguaje que permita pasar los programas escritos en lenguaje ensamblador a
lenguaje máquina. Los lenguajes ensambladores generan códigos fuentes más cortos que los generados e
lenguaje máquina pero su desventaja es que la programación sigue siendo tediosa, repetitiva y propensa
error. 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 2/3
8/9/21 16:02 OneNote

 
Lenguaje de alto nivel 
 
Surge a partir de la aparición de las macroinstrucciones que son instrucciones escritas en un lenguaje
diferente al lenguaje máquina pero entendidas por este. El lenguaje de alto nivel es un lenguaje muy
similar al lenguaje humano, que usa palabras o comandos del lenguaje natural, como por ejemplo del
inglés. 
 
La gran ventaja que significaron estos lenguajes es que pueden ser utilizados por diferentes marcas de
computadoras, lo cual reduce el costo de la reprogramación, los códigos son más rápidos, se pueden
documentar con mayor facilidad y son menos propensos al error. Entre los lenguajes de esta generación
encuentran ADA, C, Basic, Pascal, COBOL, APL, entre otros. 
 
• Un compilador es un programa que traduce las instrucciones de un lenguaje de alto nivel (lenguaje fuente
a instrucciones en lenguaje máquina (lenguaje destino) que la computadora puede leer, interpretar y
ejecutar. 
 
Una de las funciones más importantes que tienen los compiladores es la de reportar cualquier error en el
programa fuente que se detecte durante el proceso de traducción. 
 
Generalmente los compiladores tienen dos grandes partes: 
 
a. Back end: es específico de la plataforma y es la parte que se encarga de generar el código máquina a
partir de los resultados de la fase de análisis. Dicho código normalmente no se puede ejecutar de
manera directa, para ello requiere de otro programa llamado enlazador. 
b. Front end: es independiente de la plataforma y es la parte encargada de analizar el código fuente,
comprobar la validez, generar el árbol de derivación y rellenar la tabla de símbolos. 
 
Existen categorías de compiladores que tienen que ver con la manera en que generan y hacen uso del
código. Las categorías no son excluyentes, es decir, un compilador puede pertenecer a una o más
categorías. Las categorías son: 
 
• Compilador optimizador: realiza cambios en el código para hacerlo más eficiente pero mantiene la
funcionalidad del programa original. 
• Compilador cruzado: genera código para una plataforma distinta de la que se está operando. 
• Compilador JIT (Just In Time): compila partes de código según se necesite, ya que forma parte de un
intérprete. 
• Compilador de una sola pasada: genera código máquina a partir de la primera lectura del código fuente. 
• Compilador de varias pasadas: produce el código máquina después de haber leído varias veces el código
fuente. 
 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 3/3
8/9/21 16:03 OneNote

Clase 11/08/2021 
martes, 10 de agosto de 2021  04:59 p. m. 

I.3 Representación de instrucciones en la computadora. 


 
El funcionamiento del procesador está determinado por las instrucciones que ejecuta. Estas instrucciones se
denominan instrucciones máquina o instrucciones del computador. Al conjunto de instrucciones distintas que pue
ejecutar el procesador se denomina repertorio de instrucciones. 
 

 
Elementos de una instrucción maquina 
Cada instrucción debe contener la información que necesita el procesador para su ejecución. Dichos 
elementos son: 
 
Código de operación: especifica la operación a realizar (suma, resta, etc). La operación se indica mediante un
código binario denominado código de operación, o de manera abreviada, codop. 
 
 
 
 
 
 
Referencia a los operandos origen: La operación puede implicar a uno o mas operandos origen, es decir operando
que son entradas para la operación. 
 
Referencia al resultado: La operación puede producir un resultado y entonces puede ser necesario indicar donde
almacenará. 
 
Referencia a la siguiente instrucción: Indica al procesador de donde captar la siguiente instrucción tras
completarse la ejecución de la instrucción actual. 
 
Dentro del computador, cada instrucción se representa por una secuencia de bits. La instrucción está dividida en
campos correspondientes a los elementos constitutivos de la misma. En la mayoría de los repertorios de
instrucciones se emplea mas de un formato. 
 
Durante su ejecución, la instrucción se escribe en un registro de instrucción (IR) del procesador y este debe ser
capaz de extraer los datos de los distintos campos de la instrucción para realizar la operación requerida. 
 
Es difícil, tanto para los programadores como para los lectores de un libro de texto, manear las representaciones
binarias de las instrucciones máquina. Por ello, es una práctica común utilizar representaciones simbólicas de las
instrucciones máquina. 
 
Los codops se representan mediante abreviaturas, denominadas nemotécnicos, que indican la operación en
cuestión. Ejemplos usuales son: 
 
ADD Sumar 
https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 1/4
8/9/21 16:03 OneNote

SUB Restar 
MUL Multiplicar 
DIV Dividir 
LOAD Cargar datos desde memoria 
STORE Almacenar datos en memoria 
 
Los operandos también suelen representarse simbólicamente. Por ejemplo, la instrucción ADD R,Y puede significa
sumar el valor contenido en la posición de datos Y al contenido del registro R. 
 

 
 
I.4 Concepto de procesador. 
 
El procesador es el “cerebro” del ordenador. Es el componente encargado de la ejecución de las instrucciones de
los programas. Todos los ordenadores tienen al menos un procesador. El procesador está formado por un conjun
de registros que almacenen datos, una unidad aritmético-lógica que realiza operaciones con ellos y una unidad d
control que se encarga de coordinar a todos los componentes. Un reloj interno determina la velocidad de trabajo
de estos elementos internos. 
 
Existen varios fabricantes de procesadores y no todos son compatibles entre sí. Cada procesador implementa un
conjunto de instrucciones diferentes, lo que puede hacer que el código que se construye para un procesador no
funcione en otro. La potencia de los procesadores se suele medir a partir de su “velocidad”, pero hay otros factor
que hoyo en día son incluso más relevantes de cara al rendimiento final del procesador, por lo que ya no tiene
sentido fijarnos sólo en esta característica. 
 
En los últimos años, la tecnología ha sufrido un gran cambio al permitir integrar varios núcleos de procesamiento
dentro del mismo procesador. A esta tecnología se la conoce en general como tecnología de núcleos múltiples y
permiten ejecutar en paralelo dos programas simultáneamente, incrementando así el rendimiento del procesador
 

 
 
La Unidad Central de Proceso o CPU (Central Processing Unit) es el componente encargado de
interpretar las instrucciones de los programas y procesar los datos. También se le conoce como
procesador o microprocesador. Es un componente fundamental en un ordenador y ha estado presente
desde sus inicios. Pero no es hasta la década de los 70 cuando se fabrican los primeros procesadores
partir de circuitos integrados. 
 
El procesador no es de una sola pieza. Está formado por una serie de componentes  cada uno de los cuales tiene
una función concreta. El procesador trabaja de forma conjunta con la memoria RAM, que es la que almacena las
instrucciones y los datos de  todos los programas que se están ejecutando en el ordenador en un momento dado
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 2/4
8/9/21 16:03 OneNote

I.5 Elementos básicos de un procesador. 


 
Un procesador está formado por una serie de componentes que trabajan de forma coordinada par ejecutar las
instrucciones que forman los programas. Estos componentes son los siguientes: 
 
I.5.1 ALU 
 
En ocasiones las instrucciones requieren de la realización de algún cálculo. Este es el componente básico
encargado de realizar operaciones matemáticas (aritméticas y lógicas) con los datos. 
 
"Entonces la ALU lleva a cabo las funciones de procesamiento de datos del computador". 
 
 
I.5.2 Decodificador de instrucciones 
 
Se encarga de decodificar la instrucción para determinar a qué instrucción corresponde la secuencia de bits que
acaba de leer y saber de esta forma qué tiene que hacer el procesador con los datos leídos. 
 
I.5.3 Secuenciadores 
 
Es un autómata (máquina de Mealy o Moore) que, tras analizar e interpretar la información de entrada (salida de
decodificador, registro de estado, reloj), envía un conjunto de señales a las unidades que las precisen para
proceder a la ejecución de la instrucción y para llevar a cabo el inicio de la siguiente. Estas señales que envía el
secuenciador se conocen con el nombre de "micro órdenes". 
 
I.5.4 Registros 
 
Almacenan temporalmente los datos de la instrucción que está ejecutando en ese momento la unidad aritmético-
lógica. El tamaño de estos registros se mide en bits y determina el tamaño máximo de los datos que puede
manipular en una sola operación. Piensa que son unas casillas que se rellenan con unos y ceros. Si tenemos más
cifras que casillas, tendremos que hacer la operación en 2 ó más veces porque no nos caben todos los datos. 
 
En los procesadores actuales estos registros son de 32 o de 64 bits. Por esto decimos que un procesador es de 6
bits. Fíjate que, al doblar el tamaño de los registros necesitaremos la mitad de accesos en el caso de que las
instrucciones no quepan en los registros, con lo que el ordenador podría llegar a ser el doble de rápido. 
 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 3/4
8/9/21 16:03 OneNote

 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 4/4
8/9/21 16:03 OneNote

Clase 12/08/2021 
miércoles, 11 de agosto de 2021  03:09 p. m. 

I.6 Memorias, tipos y funcionamiento de sus buses. 


 
La memoria es la parte de la computadora en la que se almacenan programas y datos. Sin una memoria
la cual los procesadores puedan leer y escribir la información no existirían las computadoras digitales de
programa almacenado. 
 
Una unidad de memoria es un conjunto de celdas de almacenamiento junto con los circuitos asociados qu
se necesitan para ingresar y sacar la información de almacenamiento. La memoria almacena información
binaria en grupos de bits que se denominan palabras. Una palabra en la memoria es una entidad de bits
que se introducen o se sacan del almacenamiento como una unidad. Una palabra de memoria es un grupo
de números 1 y 0 que puede representar un número, un código de instrucción, uno o más caracteres
alfanuméricos o cualquier otra información en código binario. La mayor parte de las memorias de las
computadoras utilizan palabras cuyo número de bits es un múltiplo de 8, por lo tanto, una palabra de 16
bits contiene dos bytes, y una palabra de 32 bits está formada de cuatro bytes. La capacidad de las
memorias en las computadoras comerciales por lo general se define como la cantidad total de bytes que
pueden almacenarse. 
 
 
 
 
 
 
 
Cada celda es referenciada por un número, su dirección. Una memoria de n localidades tendrá las
direcciones desde 0 hasta n − 1 . Todas las celdas de memoria contienen el mismo número de bits. Las
computadoras usan el sistema de notación binario para las direcciones de memoria. Si una memoria
contiene n dígitos de dirección de memoria, tendrá 2 direcciones de memoria posibles. 
N

 
 
 
 
 
 
 
 
 
 
 
Así que una computadora de 32 bits tiene registros de 32 bits e instrucciones para manipular palabras de
32 bits, mientras que una computadora de 64 bits tiene registros e instrucciones para manipular palabras
de 64 bits. 
 
La solución tradicional para almacenar una gran cantidad de datos es una jerarquía de memoria como se
ilustra en la figura siguiente. En la cúspide están los registros de la CPU, a los que puede tenerse acceso
la velocidad máxima de la CPU. Luego viene la memoria caché que puede tener un tamaño incluso de
varios megabytes. Sigue la memoria principal también en el orden de varios megabytes. Después vienen

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 1/4
8/9/21 16:03 OneNote

los discos magnéticos para el almacenamiento permanente. Por último tenemos la cinta magnética y los
discos ópticos para el almacenamiento de archivos. 
 

 
Al bajar por la jerarquía tres parámetros clave crecen. Primero, el tiempo de acceso se alarga. Los registr
de la CPU pueden accederse en unos cuantos nanosegundos, o décimas de segundos. Los registros de la
memoria principal suelen ser de unas cuantas decenas de nanosegundos. Luego viene una brecha grande
pues los tiempos de acceso a disco son de por lo menos de 10ms, y los tiempos de acceso a cinta
magnética puede medirse en segundos. 
 
Segundo, la capacidad de almacenamiento aumenta al bajar por la jerarquía. Los registros de la CPU
pueden contener alrededor de 128 bytes, los cachés unos cuantos megabytes, las memorias principales
gigabytes, los discos magnéticos ya están en el orden de terabytes y finalmente las cintas magnéticas se
guardan fuera de línea y su capacidad sólo está limitada por el presupuesto y necesidades del propietario
 
Tercero, el número de bytes por dólar invertido aumenta al bajar por la jerarquía. Aunque los precios
actuales cambian rápidamente, la memoria principal se mide e dólares/megabyte, el almacenamiento en
disco magnético en centavos de dólar/megabyte y el almacenamiento en cinta magnética en
dólares/gigabyte o menos. 
 

 
 Memoria de acceso aleatoria (Random Access Memory RAM) 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 2/4
8/9/21 16:03 OneNote

 
Como vimos anteriormente lo normal es utilizar conjuntos de bits, organizados en palabras de n bits.
Cuando la memoria es de una sola palabra recibe el nombre de Registro (también puede recibir el nombr
de Latch) cuando tiene múltiples recibe la denominación genérica de RAM. 
 
En general una memoria RAM es un array de 2 m palabras de n bits, de forma similar a lo que ya
analizamos para las ROMs, salvo que en esta oportunidad se comportan como un arreglo (array) tal como
los conocemos en las materias de programación (si escribo un valor en una posición y leo esa posición el
valor que leo es el que escribí). 
 
STATIC RANDOM ACCESS MEMORY (SRAM) 
  
Es la tradicional memoria ya mencionada. Tiene menores tiempos de acceso (en general) que la memoria
basada en tecnología dinámica. Tiene el inconveniente de ocupar más espacio (requiere más transistores)
ser más cara. 
 
 
 
 
 
 
 
 
 
 
 
La memoria SRAM son arreglos de memoria simples con un solo un puerto de acceso y que permiten
lectura y escritura de datos. La SRAM tiene tiempo de acceso fijo para cualquiera de sus localidades de
memoria. Los datos almacenados en la SRAM no requieren ser refrescados, requiere de seis a ocho
transistores para almacenar un bit y requiere de poco consumo de energía para mantener la información
sin cambios en modo de espera (standby). La información en este tipo de memoria se mantiene
indefinidamente mientras tenga voltaje aplicado. 
 
 
DYNAMIC RANDOM ACCESS MEMORY (DRAM) 
  
En este tipo de memoria la información de cada bit permanece almacenada mientras se tenga carga en u
capacitor. Se emplea un solo transistor para tener acceso a la carga almacenada, ya sea para leer un bit
para re – escribir la carga que ahí se almacena. Debido a que la DRAM usa solo un transistor por bit de
almacenamiento es mucho más densa y barata que la SRAM. Debido a que la DRAM almacena la carga de
un capacitor, esta no puede mantenerse indefinidamente y debe ser refrescada periódicamente, es por es
que esta estructura de memoria es llamada dinámica en oposición al almacenamiento estático en la celda
SRAM. 
 
https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 3/4
8/9/21 16:03 OneNote

Aunque en la práctica se realiza una optimización a nivel del circuito con transistores que implementa el
circuito lógico mostrado para el elemento de memoria, se requieren al menos 6 transistores para constru
cada bit de una memoria del tipo SRAM. Dado que en cada momento de la evolución de la tecnología la
cantidad de transistores que se pueden colocar en un mismo chip está limitada por la tecnología disponib
en ese momento, es un dato muy importante el número de transistores que se requieren para cada bit, y
que una disminución en ese número tiene un inmediato impacto en la capacidad del chip de memoria
obtenido. 
Esto lleva a que en este tipo de memorias se requiera solamente un transistor por cada bit a almacenar.
Este hecho ha resultado determinante para el éxito de este diseño, ya que permite hasta 6 veces mayore
capacidades de almacenamiento para cada estado tecnológico de la fabricación de chips y ha disimulado
notorias complicaciones de la circuitería auxiliar requerida por estas memorias para funcionar. 
La particular forma de almacenar la información le dan ciertas características propias a estos dispositivos
Por un lado la lectura es destructiva: al "leer" se quita la carga almacenada lo que genera una corriente p
el transistor que es lo que en definitiva se detecta. La forma de mantener la información que contenía la
memoria es grabando nuevamente el mismo valor.  
Por otro lado la carga almacenada se va perdiendo con el tiempo. Dado que ningún dispositivo es
perfectamente no conductor, siempre existen las denominadas "corrientes de fuga" que hacen que luego
un cierto período de tiempo la carga acumulada desaparezca (y con ella la información almacenada). Para
remediar esto las memorias deben ser "refrescadas", es decir se debe periódicamente grabar nuevamente
la información para que ésta no se pierda. Dada la naturaleza del procedimiento de lectura de la memoria
esta "re-grabación" se logra simplemente leyendo la memoria. Esta lectura periódica debe ser realizada c
un período menor al tiempo de pérdida de la carga (tiempo de descarga del "capacitor parásito" que
almacena la información). 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 4/4
8/9/21 16:04 OneNote

Clase 13/08/2021 
jueves, 12 de agosto de 2021  06:15 p. m. 

FAST PAGE MODE DYNAMIC RANDOM ACCESS MEMORY (FPM DRAM) 


  
Una de las primeras mejoras al diseño DRAM fue el denominado Fast Page Mode, donde se optimizaba al
acceso, permitiendo múltiples CAS para el mismo RAS. De esta forma se mejoraba sensiblemente el
tiempo de acceso. El nombre se debe a que cada fila se puede asociar a una página de un libro: una vez
que encontré una "palabra" (un bit) en una "pagina" (fila del chip) las siguientes palabras (bits) las
encontraré más rápido si están en la misma página (fila). 
  
ENHANCED DATA OUT DYNAMIC RANDOM ACCESS MEMORY (EDO DRAM) 
  
Las DRAM Enhanced Data Out son una mejora sobre las FPM, consiste en acelerar el acceso al próximo bi
iniciando una lectura por adelantado al bit contiguo al accedido en un momento dado. De esta forma se
ahorra la espera por la circuitería interna de detección de la carga de almacenamiento. 
  
BURST ENHANCED DATA OUT DYNAMIC RANDOM ACCESS MEMORY (B EDO DRAM) 
  
Las Burst EDO son una mejora, relativamente menor, sobre las EDO, para cuando las lecturas son en mo
de ráfaga (burst). 
  
SYNCHRONOUS DYNAMIC RANDOM ACCESS MEMORY (SDRAM) 
  
Las Synchronous DRAM utilizan un reloj para marcar los tiempos de los ciclos de lectura o escritura y
mantener en sincronismo la memoria con el resto del sistema (en particular con la CPU). Este sincronismo
le permite mejorar los tiempos de acceso respecto a las memorias EDO. En la actualidad todas las
memorias DRAM son del tipo sincrónico. 
Otros tipos de memorias de DRAM son: 
RDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, VRAM, DDR4 SDRAM.  
 
Memoria de solo lectura (Read Only Memory ROM) 
 
Como su nombre lo indica, una memoria de sólo lectura (ROM) es una unidad de memoria que sólo ejecu
la operación de lectura; no tiene la posibilidad de escritura. Esto implica que la información binaria
almacenada en una ROM se hace permanente durante la producción del hardware de la unidad y no pued
alterarse escribiendo diferentes palabras en ella. 
Es fácil observar que con una ROM se puede implementar cualquier función lógica de k variables de
entrada y n salidas. Basta con especificar el "contenido" de la ROM de manera que los n bits de cada
palabra (posición del array) correspondan al valor de la función en el punto (que coincide con el índice de
array). 
  
La ROM no necesita una línea de control de lectura, porque en cualquier momento las líneas de salida
proporcionan en forma automática los n bits de la palabra seleccionada por el valor de dirección. Además
una vez que se establece la función entre las entradas y las salidas, esta permanece dentro de la unidad,
aun cuando la corriente se apague y se encienda de nuevo. 
  
La ROM tiene un amplio campo de aplicaciones en el diseño de sistemas digitales. Cuando se emplea en u
sistema de computadora como una unidad de memoria, la ROM se utiliza para almacenar programas fijos
que no van a alterarse y para tablas de constantes que no están sujetas a cambio. 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 1/7
8/9/21 16:04 OneNote

 
 
 
 
PROGRAMMABLE READ ONLY MEMORY (PROM) 
  
Las PROM son Programmable ROM. Una PROM es una ROM cuyo contenido puede ser definido a posterior
de construida, mediante una actividad de programación que se realiza utilizando un circuito electrónico
especial (un Programador de PROMs). 
En esencia son ROMs que tienen en su entrada Dij a las ANDs de selección una conexión tanto a ground
(0) como a Vcc (1). Esta conexión está realizada mediante un fusible, el cual se quema al momento de
"programar" el contenido de la PROM. Si quiero grabar un 0 quemo el fusible de la conexión a Vcc y si
quiero grabar un 1 quemo el fusible de la conexión a tierra. 
 

 
 
 
 
ERASABLE PROGRAMMABLE READ ONLY MEMORY (EPROM) 
  
Si bien las PROMs significaron un avance, el hecho de no tener "vuelta atrás" aún significaba una
restricción para el uso intensivo de PROMs en el almacenamiento de programas. De esa necesidad
no del todo satisfecha surgió la tecnología de las EPROM (Erasable PROM). 
Una EPROM es una ROM que puede ser borrada. El mecanismo de borrado es totalmente distinto a
de programación e implica un proceso de exposición del circuito a luz ultravioleta por varios
minutos. La gran ventaja es que puede reutilizar las EPROMs muchas veces borrando su contenido
grabando uno nuevo. 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 2/7
8/9/21 16:04 OneNote

 
 
 
ELECTRICAL ERASABLE PROGRAMMABLE READ ONLY MEMORY (EEPROM) 
  
Las EPROM si bien solucionan el problema de la re-usabilidad de este tipo de memorias, todavía tienen el
inconveniente que este proceso es sumamente lento, complejo y requiere retirar la EPROM del sistema
para realizar el borrado. 
Es así que surgieron las EEPROM (Electrical EPROM), o sea una EPROM cuyo proceso de borrado se hace
eléctricamente y puede efectuarse sin retirar el circuito integrado del sistema. Posee otra diferencia
importante con la EPROM: una EEPROM normalmente tiene la capacidad de borrar cada bit en forma
individual (también hay implementaciones que borran una palabra completa en cada operación de
borrado). 
 
 
 
 

 
 
 
 
 
 
FLASH EEPROM / FLASH EPROM / FLASH MEMORY 
  
Este tipo de memoria es una variante de las EEPROM que se desarrolló con el objetivo de mejorar el
tiempo de borrado, de forma de habilitar su uso para aplicaciones de almacenamiento masivo. 
Si bien el nombre está asociado al concepto de velocidad (lo que se corresponde con lo antedicho), el
nombre se origina en la similitud que uno de sus creadores veía entre el proceso de borrado y el destello
del flash de una cámara de fotos. 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 3/7
8/9/21 16:04 OneNote

 
 Memorias de lectura y escritura 
 
NO VOLÁTILES: 
 
• ROM (Read Only Memory): Son memorias de sólo lectura. El estado de cada celda queda determinado
en el momento de la fabricación del chip. Nunca pierden la información. 
https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 4/7
8/9/21 16:04 OneNote

• PROM (Programmable Read Only Memory): Son iguales a las anteriores pero el fabricante las entrega
sin grabar. Se pueden grabar de forma eléctrica, solo una vez. 
• EPROM (Erasable Programmable Read Only Memory): Se puede escribir varias veces de forma eléctric
El borrado de los contenidos es completo y a través de la exposición a rayos ultravioletas (por esto
suelen tener una pequeña “ventanita” en el chip). 
• EEPROM (Electrically Erasable Programmable Read Only Memory): Se puede borrar selectivamente by
a byte con corriente eléctrica. Es más cara que la EPROM. 
• FLASH: Está basada en las EEPROM pero permite el borrado bloque a bloque, es más barata y permite
mayor densidad. 
 
VOLÁTILES: 
 
• SRAM (Static Random Access Memory): Mantiene la información mientras esté alimentada, es muy
rápida pero tiene baja densidad de integración. 
• DRAM (Dynamic Random Access Memory): Los datos se almacenan similar a la carga de un
condensador. Tiende a descargarse y, por lo tanto, es necesario un proceso de refresco periódico. Son
más simples y baratas que las SRAM, admiten mayor integración pero son más lentas. 
 
Memoria secuencial 
  
MEMORIAS FIFO (FIRST IN - FIRST OUT) 
  
Consiste en un conjunto de registros de desplazamiento en los que el primer dato guardado es el primer
dato leído. Los datos se van leyendo en el mismo orden en que se escribieron. Permiten que los datos se
escriban a una velocidad y se lean a otra. 
Actúa como buffer de datos entre sistemas diferentes: 
Un sistema escribe datos rápidamente y luego se dedica a otras tareas, mientras que el otro sistema lo v
leyendo lentamente. 
Arquitecturas principales 
Toogle Fall-Through: con desplazamiento de datos. 
Zero Fall-Throug: sin desplazamiento de datos. 
  
MEMORIAS LIFO (LAST IN - FIRST OUT) 
  
Son dispositivos en los que el último dato almacenado es el primer dato leído. También llamadas memoria
pila. Tienen dos operaciones: 
Push: escritura 
Pop: lectura 
Los datos de entrada se van apilando haciendo Push y cuando se hace Pop, se lee el dato que esté en la
cima de la pila. 
Las hay de dos tipos principalmente: 
LIFO basada en registros de desplazamiento. 
LIFO basada en RAM + puntero. 
 
MEMORIAS CCD (CHARGE-COUPLED DEVICE, DISPOSITIVO DE CARGA ACOPLADA) 
  
Son dispositivos formados por una gran cantidad de condensadores, semiconductores denominados
canales. La información se introduce en serie por el canal, y se desplaza a lo largo del canal a una
velocidad fijada por una señal de reloj. Se utilizan en las cámaras de vídeo digitales. 
Suelen usarse como memoria de vídeo. 
Se acompañan de una RAM que se usa como almacenamiento masivo. 
El registro de desplazamiento cíclico permite dos opciones en función de la señal de control REC. 
https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 5/7
8/9/21 16:04 OneNote

REC=1: desplazamiento hacia la derecha 


REC=0: desplazamiento hacia la izquierda 
 
Memoria caché 
 
Históricamente la CPU siempre ha sido más rápida que la memoria. Esta diferencia de velocidad se traduc
en que el CPU tiene que esperar varios ciclos de reloj antes de que reciba el dato solicitado a la memoria.
Se pueden emplear varias estrategias para tratar de resolver este problema, y uno de ellos es colocar
cierta cantidad de memoria lo más pequeña y rápida posible dentro del chip del CPU. Sin embargo la
memoria rápida es más costosa que la memoria grande y lenta. 
 
Lo interesante es que se conocen técnicas para combinar una cantidad pequeña de memoria rápida con
una cantidad grande de memoria lenta para obtener las prestaciones de la memoria rápida y la capacidad
de la memoria grande a un precio moderado. La memoria pequeña y rápida se conoce como memoria
caché (del francés cacher , que significa guardar o esconder). Un diagrama de bloques con la ubicación de
la memoria caché se muestra en la figura siguiente. 
 

 
 
La idea fundamental en que se basa la memoria caché es sencilla: las palabras de memoria de mayor uso
se mantiene en la caché. Cuando el CPU necesita una palabra la busca en la caché, sino está ahí recurre a
la memoria principal grande y lenta. Si una fracción sustancial de palabras está en la caché, el tiempo de
acceso promedio puede reducirse considerablemente. 
 
El diseño de cachés es un tema cada vez más importante para el diseño de CPUs de alto rendimiento. Un
aspecto a considerar es el tamaño de la caché, porque cuanto más grande es el caché, mejor es el
rendimiento pero también cuesta más. Otro aspecto a tomar en cuenta es el número de cachés ya que no
es raro ver en nuestros días los chips con una o varias caches dentro del CPU y otras caches fuera del
mismo. 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 6/7
8/9/21 16:04 OneNote

 
La memoria caché del procesador está organizada en varios niveles, la mayoría de los procesadores
actuales tienen tres niveles de esta memoria, es lo que se conoce como caché L1, L2 y L3. La caché L1
está dentro de los núcleos del procesador y es la más rápida, por el contrario, su cantidad es muy
limitada ya que suele ser de 32 KB como máximo. En esta caché se almacenan los datos más pequeño
y los que se necesitan con mayor frecuencia. 
 
A continuación, tenemos la caché L2 que está fuera de los núcleos, pero muy próxima a estos, la
cantidad de esta memoria suele ser de unos 256 KB aproximadamente y es la segunda en velocidad.
Por último, tenemos la caché L3 que es la más alejada de los núcleos y la más lenta, su ventaja es
que la cantidad es mucho mayor pudiendo alcanzar los 4-20 MB o incluso más en el caso de procesadore
profesionales con muchos núcleos. 
 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 7/7
8/9/21 16:05 OneNote

Clase 16/08/2021 
viernes, 13 de agosto de 2021  05:41 p. m. 

I.7 Concepto y tipos de bus 


 
Bus de datos 
 
Un bus de datos es un sistema que se encarga de transferir datos entre componentes de una computadora o red
de computadoras. En simples palabras, el bus permite la conexión entre diferentes elementos (o sub sistemas) d
un sistema digital principal, y envía datos entre dichos elementos. Estos “datos” se encuentran en formas de
señales (digitales) que pueden ser precisamente de “datos”, de “direcciones” o de “control”. 
 
Bus de Dirección 
 
Este bus se utiliza para direccionar las zonas de memoria y los dispositivos (que recordemos son tratados como s
de posiciones de memoria se tratasen), de forma que, al escribir una dirección en el bus, cierto dispositivo quede
activado y sea quien reciba-envíe los datos en el ciclo de bus así empezado. 
Es un bus triestado unidireccional, por lo que puede ponerse en alta impedancia e ignorar lo que ocurre en el
exterior (al tiempo que no influir en el estado de las líneas), pero solo permite la escritura del bus. Esto último es
razonable, puesto que la lectura del bus de direcciones no es de utilidad para el microprocesador, al ser él mismo
quien gestiona el direccionamiento. 
 

 
 
 

 
Hablando de transmisión de bits existen dos tipos primordiales de buses por el método de envío de la informació
bus paralelo o serial. Hay diferencias en el desempeño y hasta hace unos años se consideraba que el uso
apropiado dependía de la longitud física de la conexión: para cortas distancias el bus paralelo, para largas el
serial. 
 
Bus paralelo  
 
Es un bus en el cual los datos son enviados por bytes al mismo tiempo, con la ayuda de varias líneas que tienen
funciones fijas. La cantidad de datos enviada es bastante grande con una frecuencia moderada y es igual al anch
de los datos por la frecuencia de funcionamiento. En los computadores ha sido usado de manera intensiva, desde
el bus del procesador, los buses de discos duros, tarjetas de expansión y de vídeo hasta las impresoras. 
 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 1/5
8/9/21 16:05 OneNote

 
 
 
 
 
El Front Side Bus de los procesadores Intel es un bus de este tipo y como cualquier bus presenta unas funciones
en líneas dedicadas: Las Líneas de Dirección son las encargadas de indicar la posición de memoria o el dispositivo
con el que se desea establecer comunicación. Las Líneas de Control son las encargadas de enviar señales de
arbitraje entre los dispositivos. Entre las más importantes están las líneas de interrupción, DMA y los indicadores
de estado. Las Líneas de Datos trasmiten los bits, de manera que por lo general un bus tiene un ancho que es
potencia de 2. Un bus paralelo tiene conexiones físicas complejas, pero la lógica es sencilla, que lo hace útil en
sistemas con poco poder de cómputo. En los primeros micro-computadores, el bus era simplemente la extensión
del bus del procesador y los demás integrados “escuchan” las línea de direcciones, en espera de recibir
instrucciones. En el PC IBM original, el diseño del bus fue determinante a la hora de elegir un procesador con I/O
de 8 bits (Intel 8088), sobre uno de 16 (el 8086), porque era posible usar hardware diseñado para otros
procesadores, abaratando el producto. 
 
Bus Serie 
 
En este los datos son enviados, bit a bit y se reconstruyen por medio de registros o rutinas de software. Está
formado por pocos conductores y su ancho de banda depende de la frecuencia. Es usado desde hace menos de 1
años en buses para discos duros, tarjetas de expansión y para el bus del procesador. 
 
 
 
I.8 Sistema mínimo. 
 
 
Un sistema mínimo es aquel requerido para que el microprocesador funcione en su más bajo requerimiento. 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 2/5
8/9/21 16:05 OneNote

 
 
 
 
 
I.9 Periféricos internos y externos. 
 

 
 
El papel que juegan los dispositivos periféricos de la computadora es esencial, ya que sin tales dispositivos la
computadora no sería útil a los usuarios. Los dispositivos periféricos nos ayudan a introducir a la computadora lo
datos para que esta nos ayude a la resolución de problemas y por consiguiente obtener el resultado de dichas
operaciones, es decir; estos dispositivos nos ayudan a comunicarnos con la computadora, para que esta a su vez
nos ayude a resolver los problemas que tengamos y realice las operaciones que nosotros no podamos realizar
manualmente .La computadora necesita de entradas para poder generar salidas y éstas se dan a través de dos
tipos de dispositivos periféricos: 
• Dispositivos periféricos de entrada 
• Dispositivos periféricos de salida 
Los Dispositivos de Entrada 
 

 
Estos dispositivos permiten al usuario del computador introducir datos, comandos y programas en el CPU. El
dispositivo de entrada más común es un teclado similar al de las máquinas de escribir. La información introducida
con el mismo, es transformada por el ordenador en modelos reconocibles. Los datos se leen de los dispositivos d
entrada y se almacenan en la memoria central o interna. Los Dispositivos de Entrada, convierten la información e
señales eléctricas que se almacenan en la memoria central. 
Los Tipos de Dispositivos de Entrada Más Comunes Son: 
a. Teclado: El teclado es un dispositivo eficaz para introducir datos no gráficos como rótulos de imágenes
asociados con un despliegue de gráficas. Los teclados también pueden ofrecerse con características que

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 3/5
8/9/21 16:05 OneNote

facilitan la entrada de coordenadas de la pantalla, selecciones de menús o funciones de gráficas. Ejemplos de


algunos teclados son:  
○ Teclado 101 
○ Teclado Ergonómico 
○ Teclado para Internet 
○ Teclado Alfanumérico 
○ Teclado de Función 
○ Teclado Numérico 
○ Teclado Especial 
○ Teclado de Membrana 
○ Teclado Mecánico 
b. Ratón ó Mouse: Es un dispositivo electrónico que nos permite dar instrucciones a nuestra computadora a
través de un cursor que aparece en la pantalla y haciendo clic para que se lleve a cabo una acción
determinada; a medida que el Mouse rueda sobre el escritorio, el cursor (Puntero) en la pantalla hace lo
mismo. Tal procedimiento permitirá controlar, apuntar, sostener y manipular varios objetos gráficos (Y de
texto) en un programa. A este periférico se le llamó así por su parecido con un roedor. Existen modelos en lo
que la transmisión se hace por infrarrojos eliminando por tanto la necesidad de cableado. Al igual que el
teclado, el Mouse es el elemento periférico que más se utiliza en una PC (Aunque en dado caso, se puede
prescindir de él). Los "ratones" han sido los elementos que más variaciones han sufrido en su diseño. Tipos d
Mouse: Existen diferentes tecnologías con las que funciona el Mouse: 
○ Mecánico 
○ Óptico 
○ Opto mecánico 
○ Mouse óptico Trackball 
 
a. Micrófono: Los micrófonos son los transductores encargados de transformar energía acústica en energía
eléctrica, permitiendo, por lo tanto el registro, almacenamiento, transmisión y procesamiento electrónico de
señales de audio. Son dispositivos duales de los altoparlantes, constituyendo ambos transductores los
elementos mas significativos en cuanto a las características sonoras que sobre imponen a las señales de audi
Existen los llamados micrófonos de diadema que son aquellos, que, como su nombre lo indica, se adhieren a
cabeza como una diadema cualquiera, lo que permite al usuario mayor comodidad ya no necesita sostenerlo
con las manos, lo que le permite realizar otras actividades. 
b. Scanner: Es una unidad de ingreso de información. Permite la introducción de imágenes gráficas al computad
mediante un sistema de matrices de puntos, como resultado de un barrido óptico del documento. La
información se almacena en archivos en forma de mapas de bits (bit maps), o en otros formatos más eficient
como Jpeg o Gif. Existen scanners que codifican la información gráfica en blanco y negro, y a colores. Así
mismo existen scanners de plataforma plana fija (Cama Plana) con apariencia muy similar a una fotocopiador
y scanners de barrido manual. Los scanners de cama plana pueden verificar una página entera a la vez,
mientras que los portátiles solo pueden revisar franjas de alrededor de 4 pulgadas. Reconocen imágenes,
textos y códigos de barras, convirtiéndolos en código digital. Los exploradores gráficos convierten una image
impresa en una de video (Gráficos por Trama) sin reconocer el contenido real del texto o las figuras. 
c. Cámara Digital: se conecta al ordenador y le transmite las imágenes que capta, pudiendo ser modificada y
retocada, o volverla a tomar en caso de que este mal. Puede haber varios tipos: 
○ Cámara de Fotos Digital 
○ Cámara de Video 
○ Webcam 
d. Lector de Código de Barras: Dispositivo que mediante un haz de láser lee dibujos formados por barras y
espacios paralelos, que codifica información mediante anchuras relativas de estos elementos. Los códigos de
barras representan datos en una forma legible por el ordenador, y son uno de los medios más eficientes para
la captación automática de datos. 
e. Lápices Ópticos: Es una unidad de ingreso de información que funciona acoplada a una pantalla fotosensible.
Es un dispositivo exteriormente semejante a un lápiz, con un mecanismo de resorte en la punta o en un botó
lateral, mediante el cual se puede seleccionar información visualizada en la pantalla. Cuando se dispone de
información desplegada, con el lápiz óptico se puede escoger una opción entre las diferentes alternativas,
presionándolo sobre la ventana respectiva o presionando el botón lateral, permitiendo de ese modo que se
proyecte un rayo láser desde el lápiz hacia la pantalla fotosensible. No requiere una pantalla ni un
https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 4/5
8/9/21 16:05 OneNote

recubrimiento especiales como puede ser el caso de una pantalla táctil, pero tiene la desventaja de que
sostener el lápiz contra la pantalla durante periodos largos de tiempo llega a cansar al usuario. 
f. Palancas de Mando (Joystick): Dispositivo señalador muy conocido, utilizado mayoritariamente para juegos d
ordenador o computadora, pero que también se emplea para otras tareas. Un joystick o palanca de juegos
tiene normalmente una base de plástico redonda o rectangular, a la que está acoplada una palanca vertical. E
normalmente un dispositivo señalador relativo, que mueve un objeto en la pantalla cuando la palanca se
mueve con respecto al centro y que detiene el movimiento cuando se suelta. En aplicaciones industriales de
control, el joystick puede ser también un dispositivo señalador absoluto, en el que con cada posición de la
palanca se marca una localización específica en la pantalla. 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 5/5
8/9/21 16:06 OneNote

Clase 17/08/2021 
lunes, 16 de agosto de 2021  05:19 p. m. 

Dispositivos de salida 
 

 
Estos dispositivos permiten al usuario ver los resultados de los cálculos o de las manipulaciones de datos de la
computadora. El dispositivo de salida más común es la unidad de visualización (VDU, acrónimo de Video Display
Unit), que consiste en un monitor que presenta los caracteres y gráficos en una pantalla similar a la del televisor
Los tipos de Dispositivos de Salida más Comunes Son: 
a. Pantalla o Monitor: Es en donde se ve la información suministrada por el ordenador. En el caso más habitual
trata de un aparato basado en un tubo de rayos catódicos (CRT) como el de los televisores, mientras que en
portátiles es una pantalla plana de cristal líquido (LCD). Puntos a Tratar en un Monitor: 
○ Resolución: Se trata del número de puntos que puede representar el monitor por pantalla, en horizontal x
vertical. Un monitor cuya resolución máxima sea 1024x 768 puntos puede representar hasta 768 líneas
horizontales de 1024 puntos cada una. 
○ Refresco de Pantalla: Se puede comparar al número de fotogramas por segundo de una película de cine,
por lo que deberá ser lo mayor posible. Se mide en HZ (hertzios) y debe estar por encima de los 60 Hz,
preferiblemente 70 u 80. A partir de esta cifra, la imagen en la pantalla es sumamente estable, sin
parpadeos apreciables, con lo que la vista sufre mucho menos. 
○ Tamaño de punto (Dot Pitch): Es un parámetro que mide la nitidez de la imagen, midiendo la distancia
entre dos puntos del mismo color; resulta fundamental a grandes resoluciones. En ocasiones es diferente
en vertical que en horizontal, o se trata de un valor medio, dependiendo de la disposición particular de lo
puntos de color en la pantalla, así como del tipo de rejilla empleada para dirigir los haces de electrones. 
b. Impresora: es el periférico que el ordenador utiliza para presentar información impresa en papel. Las primera
impresoras nacieron muchos años antes que el PC e incluso antes que los monitores, siendo el método más
usual para presentar los resultados de los cálculos en aquellos primitivos ordenadores. En nada se parecen la
impresoras a sus antepasadas de aquellos tiempos, no hay duda de que igual que hubo impresoras antes que
PCs, las habrá después de éstos, aunque se basen en tecnologías que aún no han sido siquiera inventadas. H
Varios Tipos: 
○ Matriciales: Ofrecen mayor rapidez pero una calidad muy baja. 
○ Inyección: La tecnología de inyección a tinta es la que ha alcanzado un mayor éxito en las impresoras de
uso doméstico o para pequeñas empresas, gracias a su relativa velocidad, calidad y sobre todo precio
reducidos, que suele ser la décima parte de una impresora de las mismas características. Claro está que
hay razones de peso que justifican éstas características, pero para imprimir algunas cartas, facturas y
pequeños trabajos, el rendimiento es similar y el costo muy inferior. Hablamos de impresoras de color
porque la tendencia del mercado es que la informática en conjunto sea en color. Esta tendencia empezó
hace una década con la implantación de tarjetas gráficas y monitores en color. Todavía podemos encontr
algunos modelos en blanco y negro pero ya no son recomendables. 
○ Láser: Ofrecen rapidez y una mayor calidad que cualquiera, pero tienen un alto costo y solo se suelen
utilizar en la mediana y grande empresa. Por medio de un haz de láser imprimen sobre el material que le
pongamos las imágenes que le haya enviado la CPU. 
c. Altavoces: Dispositivos por los cuales se emiten sonidos procedentes de la tarjeta de sonido. Actualmente
existen bastantes ejemplares que cubren la oferta más común que existe en el mercado. Se trata de modelos
https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 1/5
8/9/21 16:06 OneNote

que van desde lo más sencillo (una pareja de altavoces estéreo), hasta el más complicado sistema de Dolby
Digital, con nada menos que seis altavoces, pasando por productos intermedios de 4 o 5 altavoces. 
d. Auriculares: Son dispositivos colocados en el oído para poder escuchar los sonidos que la tarjeta de sonido
envía. Presentan la ventaja de que no pueden ser escuchados por otra persona, solo la que los utiliza. 
e.  Bocinas: Cada vez las usa más la computadora para el manejo de sonidos, para la cual se utiliza como salida
algún tipo de bocinas. Algunas bocinas son de mesas, similares a la de cualquier aparato de sonidos y otras s
portátiles (audífonos). Existen modelos muy variados, de acuerdo a su diseño y la capacidad en watts que
poseen. 
f. Multimedia: Combinación de Hardware y Software que puede reproducir salidas que emplean diversos medio
como texto, gráficos, animación, video, música, voz y efectos de sonido. 
g. Plotters (Trazador de Gráficos): Es una unidad de salida de información que permite obtener documentos en
forma de dibujo. Existen plotters para diferentes tamaños máximos de hojas (A0, A1, A2, A3 y A4); para
diferentes calidades de hojas de salida (bond, calco, acetato); para distintos espesores de línea de dibujo
(diferentes espesores de rapidógrafos), y para distintos colores de dibujo (distintos colores de tinta en los
rapidógrafos). 
h. Fax: Dispositivo mediante el cual se imprime una copia de otro impreso, transmitida o bien, vía teléfono, o bi
desde el propio fax. Se utiliza para ello un rollo de papel que cuando acaba la impresión se corta. 
i. Data Show (Cañón): Es una unidad de salida de información. Es básicamente una pantalla plana de cristal
líquido, transparente e independiente. Acoplado a un retro proyector permite la proyección amplificada de la
información existente en la pantalla del operador. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

I.10 Arquitecturas Von Neumann y Harvard. 


 
Arquitectura Von Neumann (arquitectura clásica) 
 
La arquitectura de un computador es la que fue definida por uno de los mejores matemáticos de la historia John
Von Neumann, que propuso es una arquitectura en la cual la CPU (Unidad Central de proceso) está conectada a
una única memoria donde se guardan conjuntamente instrucciones (programas) y datos (con los cuales operan
estos programas). Además existe un módulo de entradas y salidas para permitir la comunicación de la máquina c
los periféricos extremos que maneja el usuario. 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 2/5
8/9/21 16:06 OneNote

 
Si se dispone de un microprocesador que maneja palabras de 8 bits, conectado a un bus de 8 bits de ancho, que
conecta con la memoria, deberá manejar instrucciones de una o más unidades de 8 bits (1 byte), con lo que se
obliga a la memoria a estar internamente dividida en unidades de 8 bits. En esta arquitectura si debemos accede
una instrucción y/o dato de mas de 8 bits deberemos hacer de dos a mas accesos a memoria seguidos. 
 
Esta arquitectura se denomina de tipo CISC “ Computador de Juego de Instrucciones Complejas”. Las instruccion
complejas exigen mucho tiempo de CPU para ejecutarlas y sólo un acceso a la memoria que era lenta. También
destaca el hecho de que compartir el bus ralentiza los tiempos de operación ya que no se puede hacer la búsque
de un nueva instrucción antes terminar de realizar la transferencia de datos resultante de los resultados obtenido
por la operación anterior. 
 
Por tanto, esta arquitectura tiene dos principales desventajas: 
 
• La longitud de las instrucciones está limitada por la longitud de los datos, por lo tanto el procesador se ve
obligado a hacer varios accesos a memoria para buscar instrucciones complejas. 
• La velocidad de operación está limitada por el efecto cuello de botella, que significa que un bus único para
datos e instrucciones impide superponer ambos tipos de acceso. 
 
Una Arquitectura de von Neumann tiene tres bloques constructivos básicos: la Unidad Central de Proceso (ó CPU
por su sigla en inglés), la Memoria y la Entrada/Salida. Las funciones de cada bloque son: 
 
• CPU: se encarga de ejecutar los programas. 
• Memoria: almacena el programa (conjunto de instrucciones ordenado lógicamente) y los datos (operadores y
resultados de la ejecución de las instrucciones). 
• Entrada/Salida: comunica el computador con el mundo exterior, permitiendo la interacción con los usuarios y
con otras computadoras. 
 
Estos tres sub-sistemas se interconectan por medio de un bus, que contiene líneas de datos, de dirección y de
control. 
 
 
Arquitectura Harvard (arquitectura moderna) 
 
 
Propone modificaciones en la arquitectura del equipo físico y mejoras y nuevas prestaciones en el tiempo lógico.
ejemplo en el primer aspecto es la arquitectura Harvard, que está especialmente diseñada para atacar las
debilidades de la arquitectura Von Neumann, la solución, conceptualmente, es harto sencilla, se construye un
procesador que está unido a dos tipos de memoria diferentes por medio de dos buses independientes. 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 3/5
8/9/21 16:06 OneNote

 
 
La memoria de datos y la memoria de instrucciones son independientes, almacenándose en ellas los datos y el
programa, respectivamente.  
 
Para un procesador de tipo RISC “Computador de Juego de Instrucciones Reducido”, el conjunto de instrucciones
el bus de la memoria de programa pueden diseñarse de manera tal que todas las instrucciones tengan la misma
longitud que la posición de la memoria y lo mismo con los datos. Además, como los buses de ambas memorias s
independientes, la CPU puede estar accediendo a los datos para completar la ejecución de una instrucción, y al
mismo tiempo estar leyendo la próxima instrucción a ejecutar. 
 
Una forma de potenciar el aislamiento entre las instrucciones y los datos es la incorporación de memorias caché
ultra-rápidas, que como sucede en los últimos modelos Pentium, una se encarga de guardar los datos que va a
precisar la CPU y otra las instrucciones. 
 
Además, al ser los buses independientes, la CPU puede acceder a los datos para completar la ejecución de una
instrucción, y al mismo tiempo leer la siguiente instrucción a ejecutar. 
Ventajas de esta arquitectura: 
• El tamaño de las instrucciones no está relacionado con el de los datos, y por lo tanto puede ser optimizado pa
que cualquier instrucción ocupe una sola posición de memoria de programa, logrando así mayor velocidad y
menor longitud de programa. 
• El tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocida
en cada operación. 
 
 

 
 
*******************************************************************************
 
 
Arquitectura Harvard Modificada 
 
Una arquitectura Harvard modificada es muy parecida a una arquitectura Harvard, pero esta relaja la estricta
separación entre la instrucción y los datos de tiempo que deja la CPU al acceder simultáneamente a dos (o más)
buses de memoria.  

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 4/5
8/9/21 16:06 OneNote

 
La modificación más común incluye: cachés de instrucciones y datos separados respaldados por espacio de
direcciones COMÚN. Mientras que la CPU ejecuta desde la memoria caché, que actúa como una arquitectura de
Harvard pura.  
Cuando se accede a la memoria de respaldo, que actúa como una máquina de von Neumann (donde el código se
puede mover alrededor como de datos, una poderosa técnica). Esta modificación está muy extendida en los
procesadores modernos, tales como la arquitectura ARM y X86 proporcionan una vía entre la memoria de
instrucciones (por ejemplo, ROM o flash) y la CPU para permitir palabras de la memoria de instrucciones a ser
tratada como de sólo lectura de datos. Esta técnica se utiliza en algunos microcontroladores, incluyendo el Atmel
AVR. Esto permite que los datos constantes, tales como cadenas de texto o tablas de funciones, sean accesibles
tener que ser copiado en la memoria de datos, la preservación de la memoria de datos escasos (y hambriento de
poder) para la lectura / escritura de variables.  
   
En la actualidad es común no encontrar solo una arquitectura sino tener arquitecturas hibridas ya se Von Neuma
con prestaciones Harvard o Harvard con prestaciones Von Neumann. 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 5/5
8/9/21 16:06 OneNote

Clase 18/08/2021 
martes, 17 de agosto de 2021  05:43 p. m. 

I.11 Concepto de Microprocesador. 


 
 
En general, el término “microprocesador”, remite al dispositivo principal dentro de las computadoras digitales, es
decir, al elemento encargado de realizar los cálculos que permiten desde escribir una carta hasta editar una
fotografía; desde administrar una nómina hasta platicar en tiempo real con alguna persona al otro lado del mund
desde disfrutar una película hasta controlar complejos procesos industriales; en fin, el concepto de
“microprocesador” evoca un dispositivo de enorme poder de cálculo, relativamente costoso, que consume mucha
potencia y que, por tanto, sólo está al alcance de pocas personas. Sin embargo, la realidad es muy distinta. En u
hogar típico, existen una enorme cantidad de microprocesadores, realizando diversas tareas que buscan facilitar
vida diaria de los usuarios. Se encuentran en el televisor, en el equipo de sonido, en el reproductor de DVD, en lo
teléfonos celulares, incluso en un control remoto o en un reloj de cuarzo existen microprocesadores! Y es que est
tecnología se ha abaratado a tal grado que muchas aplicaciones que antes requerían el uso de varios dispositivos
individuales, ahora se pueden realizar con más facilidad y de manera más económica con la aplicación de un
microprocesador, o de su variante, un microcontrolador.  
 
Esto significa que los microprocesadores y microcontroladores se han convertido en parte de la vida diaria, y esto
su vez implica que cualquier persona interesada en el área de la electrónica o del control debe saber cómo
funcionan y cómo se aplican estos dispositivos. Precisamente, el objetivo de  este libro es proporcionar los
principios básicos de los microprocesadores y microcontroladores, combinando la teoría y la práctica. 
 

 
 
I.12 Arquitecturas CISC y RISC. 
 
En el diseño del procesador hay que tener en cuenta diferentes principios y reglas, con vistas a obtener un
procesador con las mejores prestaciones posibles. 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 1/3
8/9/21 16:06 OneNote

Las dos alternativas principales de diseño de la arquitectura del procesador son las siguientes: 
 
• Computadores CISC, cuyas características son: 
○ El formato de instrucción es de longitud variable. 
○ Dispone de un gran juego de instrucciones, habitualmente más de cien, para dar respuesta a la mayoría
las necesidades de los programadores. 
○ Dispone de un número muy elevado de modos de direccionamiento. 
○ Es una familia anterior a la de los procesadores RISC. 
○ La unidad de control es micro-programada; es decir, la ejecución de instrucciones se realiza
descomponiendo la instrucción en una secuencia de microinstrucciones muy simples. 
○ Procesa instrucciones largas y de tamaño variable, lo que dificulta el procesamiento simultáneo de
instrucciones. 
 
Nota: CISC es la abreviatura de complex instruction set computer; en español, computador con un juego de
instrucciones complejo. 
 
• Computadores RISC, que tienen las características siguientes: 
○ El formato de instrucción es de tamaño fijo y corto, lo que permite un procesamiento más fácil y rápido. 
○ El juego de instrucciones se reduce a instrucciones básicas y simples, con las que se deben implementar
todas las operaciones complejas. Una instrucción de un procesador CISC se tiene que escribir como un
conjunto de instrucciones RISC. 
○ Dispone de un número muy reducido de modos de direccionamiento. 
○ La arquitectura es de tipo load-store (carga y almacena) o registro-registro. Las únicas instrucciones que
tienen acceso a memoria son LOAD y STORE, y el resto de las instrucciones utilizan registros como
operandos. 
○ Dispone de un amplio banco de registros de propósito general. 
○ Casi todas las instrucciones se pueden ejecutar en pocos ciclos de reloj. 
○ Este tipo de juego de instrucción facilita la segmentación del ciclo de ejecución, lo que permite la ejecució
simultánea de instrucciones. 
○ La unidad de control es cableada y micro-programada. 
 
 
 
 
 
 
 
Nota: RISC es la abreviatura de reduced instruction set computer; en español, computador con un juego de
instrucciones reducido. 
 
La segmentación permite que la ejecución de una instrucción empiece antes de acabar la de la anterior (se
encabalgan las fases del ciclo de ejecución de varias instrucciones), gracias a que se reduce el tiempo de ejecució
de las instrucciones. 
 
Los procesadores actuales no son completamente CISC o RISC. Los nuevos diseños de una familia de procesador
con características típicamente CISC incorporan características RISC, de la misma manera que las familias con
características típicamente RISC incorporan características CISC. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 2/3
8/9/21 16:06 OneNote

 
 
 
 
 
   
 
 
 
 
 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 3/3
8/9/21 16:07 OneNote

Clase 19/08/2021 
miércoles, 18 de agosto de 2021  03:06 p. m. 

UNIDAD TEMÁTICA II. Arquitectura del ATMEGA8515 


 
II.1 Introducción 
 
En arquitectura de computadores, 8 bits es un adjetivo usado para describir enteros, direcciones de memoria u
otras unidades de datos que comprenden hasta 8 bits (1 octeto o 1 byte) de ancho, o para referirse a una
arquitectura de CPU y ALU basadas en registros, bus de direcciones o bus de datos de ese ancho. 
 
Las CPU de 8 bits normalmente usan un bus de datos de 8 bits y un bus de direcciones de 16 bits, lo que causa
que su memoria direccionable esté limitada a 64 Kbytes. 
 
El primer microprocesador de 8 bits ampliamente utilizado es el Intel 8080, que se usó en computadores de
aficionados a finales de los años 1870 y principio de los años 1980. Estos computadores llevaban el sistema
operativo CP/M. 
 
El Zilog Z80 (compatible con el 8080), el Motorola 6800 y el MOS Technology 6502 se utilizan en varios
computadores similares. Pero se conocen más por haber sido ampliamente usados en computadores domésticos
videoconsolas en los 70 y 80. 
 
Muchas CPU y micro controladores de 8 bits son la base hoy en día de los sistemas integrados que encontramos
cualquier sitio desde el coche al ascensor o la lavadora. 
 
II.2 Características generales del microprocesador ATMEGA8515 
 
Las características de este dispositivo son: 
 
• Avanzada arquitectura AVR RISC. 
○ 130 potentes instrucciones, la mayoría ejecutadas en un único ciclo de reloj. 
○ 32 registros de propósito general de 8 bits. 
○ Hasta 16 MIPS trabajando a 16 MHz. 
 
• Memoria de programa no volátil y RAM interna: 
 
○ 8Kbytes de Memoria Flash reprogramable en el sistema final (ISP). Vida útil: 10,000 ciclos escritura /
borrado. 
○ 512 bytes de memoria RAM estática interna. 
○ 512 bytes de memoria EEPROM reprogramable en el sistema final (ISP). Vida útil: 10,000 ciclos escritura
borrado. 
○ Protección del programa para seguridad del SW. 
 
• Características de los periféricos: 
 
○ Un temporizador / contador de 8 bits con preescalado y modos de comparación y de captura. 
○ Un temporizador / contador de 16 bits con preescalado y modos de comparación y de captura
independientes. 
○ 3 canales PWM de 8, 9 y 10 bits. 
○ Comparador Analógico interno. 
○ Temporizador Watchdog programable generado a partir de oscilador interno. 
○ UART serie programable. 
○ Interfaz SPI Maestro / Esclavo. 
 
• Características especiales: 
 
○ Modos de bajo consumo: Idle, Power-down. 
○ Interrupciones externas e internas. 
 
Especificaciones: 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 1/2
8/9/21 16:07 OneNote

 
○ Tecnología de procesos CMOS de baja potencia y alta velocidad. 
○ Operación completamente estática. 
 
• Consumo de potencia a 4 MHz, 3V, 25ºC: 
 
○ Modo Activo: 3.0 mA. 
○ Modo Idle: 1.0 mA. 
○ Modo Power-down: < 1μA  
 
• Líneas de entrada/salida y encapsulados: 
 
○ 32 líneas de entrada/salida programables por SW. 
○ Encapsulados 40-lead PDIP, 44-lead PLCC y TQFP. 
 
• Alimentación: 
 
○ 2.7 – 5.5 V para ATmega8515L. 
○ 4.5 – 5.5 V para ATmega8515. 
 
• Velocidad: 
 
○ 0 – 8 MHz para ATmega8515L. 
○ 0 – 16 MHz para ATmega8515. 
 
 
 
II.3 Puertos y pines de función especial 
 
 
Pinout del Microcontrolador ATMEGA8515 
 

 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 2/2
8/9/21 16:08 OneNote

Clase 20/08/2021 
jueves, 19 de agosto de 2021  05:50 p. m. 

Arquitectura del Microcontrolador ATMEGA8515 


 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 1/5
8/9/21 16:08 OneNote

 
 
II.4 Circuito mínimo 
 

 
 
 
II.5 Organización de la memoria 
 
Mapa de la memoria del programa 
  
• EEPROM 512 bytes 
• FLASH memoria de programa 8Kbytes 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 2/5
8/9/21 16:08 OneNote
 
2 bytes por instrucción, total 4K instrucciones 
 
Mapa de la memoria de datos 
• RAM 512 bytes  
 

 
 
II.6 Registros de propósito general, de función especial y banderas (indicadores) 
 
The Register File is optimized for the AVR Enhanced RISC instruction set. In order to achieve the required
performance and flexibility, the following input/output schemes are supported by the Register File: 
 
• One 8-bit output operand and one 8-bit result input 
• Two 8-bit output operands and one 8-bit result input 
• Two 8-bit output operands and one 16-bit result input 
• One 16-bit output operand and one 16-bit result input 
 
Figure below shows the structure of the 32 general purpose working registers in the CPU. 
 
 

 
Most of the instructions operating on the Register File have direct access to all registers, and most of them
are single cycle instructions. 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 3/5
8/9/21 16:08 OneNote

As shown in Figure above, each register is also assigned a Data memory address, mapping them directly
into the first 32 locations of the user Data Space. Although not being physically implemented as SRAM
locations, this memory organization provides great flexibility in access of the registers, as the X, Y, and Z
pointer Registers can be set to index any register in the file. 
 
The registers R26..R31 have some added functions to their general purpose usage. These registers are 16
bit address pointers for indirect addressing of the Data Space. The three indirect address registers X, Y,
and Z are defined as described in Figure below. 
 

 
In the different addressing modes these address registers have functions as fixed displacement, automat
increment, and automatic decrement (see the Instruction Set reference for details). 
 
Registro de Función especial 
Registro de estado del Microcontrolador ATMEGA8515 (también conocido como Registro de banderas o
indicadores) 
 
The Status Register contains information about the result of the most recently executed arithmetic
instruction. This information can be used for altering program flow in order to perform conditional
operations. Note that the Status Register is updated after all ALU operations, as specified in the Instructio
Set Reference. This will in many cases remove the need for using the dedicated compare instructions,
resulting in faster and more compact code. 
 
The Status Register is not automatically stored when entering an interrupt routine and restored when
returning from an interrupt. This must be handled by software. 
 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 4/5
8/9/21 16:08 OneNote

 
• Bit 7 – I: Global Interrupt Enable 
The Global Interrupt Enable bit must be set for the interrupts to be enabled. The individual interrupt
enable control is then performed in separate Control Registers. If the Global Interrupt Enable Register
cleared, none of the interrupts are enabled independent of the individual interrupt enable settings. Th
I-bit is cleared by hardware after an interrupt has occurred, and is set by the RETI instruction to enab
subsequent interrupts. The I-bit can also be set and cleared by the application with the SEI and CLI
instructions, as described in the instruction set reference. 
• Bit 6 – T: Bit Copy Storage 
The Bit Copy instructions BLD (Bit LoaD) and BST (Bit STore) use the T-bit as source or destination fo
the operated bit. A bit from a register in the Register File can be copied into T by the BST instruction,
and a bit in T can be copied into a bit in a register in the Register File by the BLD instruction. 
• Bit 5 – H: Half Carry Flag 
The Half Carry Flag H indicates a Half Carry in some arithmetic operations. Half Carry is useful in BCD
arithmetic. See the “Instruction Set Description” for detailed information. 
 
 
 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 5/5
8/9/21 16:09 OneNote

Clase 23/08/2021 
viernes, 20 de agosto de 2021  06:22 p. m. 

• Bit 4 – S: Sign Bit, S = N ⊕ V 


The S-bit is always an exclusive or between the Negative Flag N and the Two’s Complement Overflow Flag
V. 
 
 
 
 
• Bit 3 – V: Two’s Complement Overflow Flag 
The Two’s Complement Overflow Flag V supports two’s complement arithmetic. 
 
 
 
 
 
• Bit 2 – N: Negative Flag 
The Negative Flag N indicates a negative result in an arithmetic or logic operation. 
 
• Bit 1 – Z: Zero Flag 
The Zero Flag Z indicates a zero result in an arithmetic or logic operation. 
 
 
• Bit 0 – C: Carry Flag 
The Carry Flag C indicates a carry in an arithmetic or logic operation. 
 
 
 
 
 
 
 
 
 
 
Registro apuntador de pila (stack pointer) 
 
The Stack is mainly used for storing temporary data, for storing local variables and for storing return
addresses after interrupts and subroutine calls. The Stack Pointer Register always points to the top of the
Stack. Note that the Stack is implemented as growing from higher memory locations to lower memory
locations. This implies that a Stack PUSH command decreases the Stack Pointer. 
 
The Stack Pointer points to the data SRAM Stack area where the Subroutine and Interrupt Stacks are
located. This Stack space in the data SRAM must be defined by the program before any subroutine calls a
executed or interrupts are enabled. The Stack Pointer must be set to point above $60. The Stack Pointer
decremented by one when data is pushed onto the Stack with the PUSH instruction, and it is decremented
by two when the return address is pushed onto the Stack with subroutine call or interrupt. The Stack
Pointer is incremented by one when data is popped from the Stack with the POP instruction, and it is
incremented by two when address is popped from the Stack with return from subroutine RET or return fro
interrupt RETI. 
 
The AVR Stack Pointer is implemented as two 8-bit registers in the I/O space. The number of bits actually
used is implementation dependent. Note that the data space in some implementations of the AVR
architecture is so small that only SPL is needed. In this case, the SPH Register will not be present. 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 1/3
8/9/21 16:09 OneNote

 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 2/3
8/9/21 16:09 OneNote

 
 
 
 
II.7 Entorno y Herramientas de programación 
 
 
 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 3/3
8/9/21 16:10 OneNote

Clase 25/08/2021 
martes, 24 de agosto de 2021  04:33 p. m. 

II.8 Estructura de programa y vector de interrupciones 


 
.INCLUDE "M8515DEF.INC";Incluimos el archivo de definiciones para el ATMEGA8515 
 
;Definiciones variables 
 
;Declaraciones 
 
;Definición, declaración e igualación de constantes 
 
;Declaraciones 
 
.DEF temp = r16 
 
;Segmento de código 
 
.CSEG  
 
;Inicio del código 
.ORG 0x000 ;Reset 
RJMP reset 
 
 
;La siguientes líneas nos sirven para inicializar el Stack Pointer 
reset: 
LDI temp,HIGH(RAMEND) 
OUT SPH,temp 
LDI temp,LOW(RAMEND) 
OUT SPL,temp 
 
;Configuraciones generales (puertos, timers, usart, etc..) 
 
;Configuraciones 
 
;Rutina principal 
inicio: 
 
RJMP inicio 
 
;Subrutinas 
 
 
Estructura de las Interrupciones 
 
El  microcontrolador  ATmega8515  posee  16  fuentes  de  interrupción  más  reset.  Todas  las  interrupciones 
 
tienen  un  vector  de  interrupción  propio  en  el  espacio  de  memoria del programa y de unos bits que debe se
puestos a uno conjuntamente con el bit I (bit 7) del registro de estado para que las interrupciones puedan
producirse. 
 
La ejecución de la respuesta a una interrupción es un proceso que tiene una duración mínima de 4 ciclos de reloj
Después de estos 4 ciclos de reloj, el programa ejecuta el código de programa correspondiente a la interrupción
producida. Durante este período de 4 ciclos de reloj el Contador de Programa (2 bytes) se coloca en la pila, y el
Stack Pointer se decrementa en dos unidades. Tras producirse una interrupción la instrucción que se ejecutará en
el vector correspondiente será una de salto RJMP a la rutina de código correspondiente y ésta es una instrucción
que tarda dos ciclos de reloj. Si una interrupción es producida mientras se está ejecutando una interrupción
multiciclo se esperará a que la instrucción finalice su ejecución antes de atender a la interrupción. 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 1/4
8/9/21 16:10 OneNote

El retorno de una rutina de interrupción dura 4 ciclos de reloj. Durante estos 4 ciclos de reloj el Contador de
Programa (2 bytes) se carga con su valor de la pila y el Stack Pointer se ve incrementado en dos unidades. Cuan
el microcontrolador sale de la ejecución del código de interrupción, vuelve al programa principal y ejecuta
exactamente la instrucción en la que se encontraba antes de que se produjera la interrupción. 
 
Las direcciones más bajas del espacio de memoria de programa son automáticamente definidas para el vector de
Reset y para los vectores de interrupción (a no ser que se trabaje en modo bootload). La lista completa de
vectores de interrupción se muestra en la Tabla siguiente. Esta lista también determina los niveles de prioridad d
las diferentes interrupciones. La mayor prioridad la tiene el vector de RESET y a continuación el vector INT0 y as
sucesivamente.  
 

                                    Vectores de interrupción del ATmega8515 


 
 
 
II.9 Conjunto de instrucciones 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 2/4
8/9/21 16:10 OneNote

 
Instrucciones Aritméticas y Lógicas 
 

 
Instrucciones de Transferencia de Datos 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 3/4
8/9/21 16:10 OneNote

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 4/4
8/9/21 16:11 OneNote

Clase 26/08/2021 
miércoles, 25 de agosto de 2021  03:49 p. m. 

Instrucciones de Brincos (Condicionales) 


 

 
Instrucciones con Bits y prueba de Bit 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 1/6
8/9/21 16:11 OneNote

 
 
Declaraciones en el ATMEGA8515 
 
 

.DSEG  ;Comienzo del segmento de datos en la SRAM 


.EQU nombre1 = 0   ;El símbolo nombre1 será sustituido por 0 
.EQU nombre2 = 1   
.DB 123   ;Reserva un byte de memoria lo inicializa a 123d 
.DW  13454   ;Reserva una palabra y la inicializa a 13454d 
.DB  01,02,03,04   ;Reserva 4 bytes de memoria inicializados en 01, 02, 03 y 04 
tabla:   ;Reserva bytes de memoria y los inicializa 
.DB 00,01,02,03,04  
.DB "Mensaje: ..."   ;Reserva bytes, una cadena en código ASCII 
.DEF temp = r16   ;Renombra un registro, en este caso con temp 

 
 
II.10 Modos de Direccionamiento 
 
Son medios que facilitan la tarea de programación, permitiendo el acceso a los datos de una manera
natural y eficiente. Estos indican al procesador como calcular la dirección absoluta (real o efectiva) donde
se encuentran los datos. 
 
Direccionamiento de la memoria de datos 
 
• Registro directo 
https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 2/6
8/9/21 16:11 OneNote

• Entrada/Salida directo 
• Directo 
• Indirectos 
• Indirecto 
○ Indirecto con pre-decremento 
○ Indirecto con post-incremento 
○ Indirecto con desplazamiento 
• Inmediato 
 
Direccionamiento de Registro Directo 
 
La instrucción define el registro o registros cuyo contenido se verá afectado por la propia instrucción. 
 
 
 
 

 
 
Direccionamiento de E/S Directo 
 
La instrucción define el puerto de E/S (0 a 64) y el Registro de propósito general afectados (Solo
instrucciones IN y OUT). 
 
 

 
 
Direccionamiento Directo (“Straight”) 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 3/6
8/9/21 16:11 OneNote

La instrucción contiene la dirección de memoria (16bits) del operando , así como un campo de 5 bits
(Rr/Rf) que identifica el registro destino o fuente. Instrucciones LDS, STS. 
 
 

 
Direccionamiento Indirecto 
 
La instrucción referencia al registro X,Y o Z que contiene la dirección del operando. 
 

 
 
Direccionamiento Indirecto con Post-incremento  
 
La instrucción referencia al registro X,Y o Z que contiene la dirección del operando, que después se
incrementa en una unidad. 
 

 
https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 4/6
8/9/21 16:11 OneNote
 
Direccionamiento Indirecto con Pre-decremento 
 
La instrucción referencia al registro X,Y o Z que tras decrementarse en una unidad, contiene la dirección
del operando. 
 

 
 
Direccionamiento Indirecto con desplazamiento 
 
La dirección del dato se obtiene sumando el desplazamiento q (0 ≤ q < 64 ) a la dirección contenida en el
registro Y o Z. El resultado no se actualiza en el registro (Y o Z). 
 

 
 
Direccionamiento Inmediato 
 
El operando es suministrado en la propia instrucción ( En modo inmediato solo pueden usarse como desti
los reg. del R16 al R31) 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 5/6
8/9/21 16:11 OneNote

 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 6/6
8/9/21 16:12 OneNote

Clase 27/08/2021 
jueves, 26 de agosto de 2021  05:51 p. m. 

Direccionamiento de la memoria de programa 


 
• Directo 
• Indirecto 
• Relativo 
 
Direccionamiento Directo de Instrucciones 
 
El programa continua su ejecución en la dirección de memoria de programa indicada en la instrucción.
Instrucciones: JMP y CALL 
 

 
Direccionamiento Indirecto de Instrucciones 
 
El programa continua su ejecución en la dirección de memoria almacenada en el Registro Z. Instrucciones
IJMP y ICALL 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 1/2
8/9/21 16:12 OneNote

 
Direccionamiento Relativo de Instrucciones 
 
El programa continua su ejecución en la dirección de memoria PC ← PC + K + 1 (k Є [−2048,  2047]) .
Instrucciones:  
 
• RJMP (Relative Jump) 
• RCALL (Relative Call) 
• BRXX (Branch if condition XX) 
 

 
 
II.11 Ejemplos 
 
 
 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 2/2
8/9/21 16:13 OneNote

Clase 06/09/2021 
domingo, 5 de septiembre de 2021  07:20 p. m. 

Unidad III Hardware del ATMEGA8515 


 
III.1 Descripción de hardware 
 
III.1.1 Puertos de entrada-salida 
 
La figura abajo presenta los sistemas de reloj principales en el AVR y su distribución. Todos los relojes no necesit
estar activos en un momento dado. Con el fin de reducir el consumo de energía, los relojes a los módulos que no
se utilizan se pueden detener mediante el uso de diferentes modos de suspensión, como se describe en "Gestión
de energía y modos de sueño". Los sistemas de reloj se detallan a continuación. 
 

 
El dispositivo tiene las siguientes opciones de fuente de reloj, seleccionables por los bits de Flash Fuse como se
muestra a continuación. El reloj de la fuente seleccionada se introduce al generador de reloj AVR y se enruta a lo
módulos apropiados. 
 

 
Todos los puertos AVR tienen una verdadera funcionalidad de lectura-modificación-escritura cuando se utilizan
como Puertos de E/S. Esto significa que la dirección de un pin de puerto se puede cambiar sin cambiar la direcció
de cualquier otro "pin" con las instrucciones de SBI y CBI. Ello mismo se aplica al cambiar el valor de la unidad (s
está configurado como salida) o al habilitar/deshabilitar de resistencias pull-up (si está configurada como entrada
https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 1/5
8/9/21 16:13 OneNote

Cada búfer de salida tiene una unidad simétrica características con alta capacidad de sink y source. El controlado
del pin es lo suficientemente fuerte para conducir soportar pantallas LED directamente. Todos los pines del puert
tienen resistencias pull-up seleccionables individualmente con una resistencia invariable de tensión de
alimentación. Todos los pines de E/S tienen diodos de protección para ambos VCC y terreno como se indica en la
Figura de abajo. 
 

 
Los puertos son de E/S bidireccionales con pull-ups internos opcionales. La Figura de abajo muestra un descripció
funcional de un pin de puerto de E/S, aquí llamado genéricamente Pxn. 
 

 
 
Cada pin de puerto consta de tres bits de registro: DDxn, PORTxn y PINxn. Como se muestra en el "Registro de
descripción para puertos de E/S". Si se desea acceder a cada uno de estos registros tenemos que rescatar la
dirección física en el mapa de memoria de datos. 
 
Si DDxn tiene un "uno lógico", Pxn se configura como un pin de salida. Si en DDxn se escribe un "cero lógico", Px
se configura como un pin de entrada. 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 2/5
8/9/21 16:13 OneNote

Si en PORTxn se escribe un "uno lógico" el pin se configura como un pin de entrada, y el pull-up de la resistencia
está activada. Para desactivar la resistencia pull-up, PORTxn tiene que ser escrito un "cero lógico" o el pin tiene
que ser configurado como un pin de salida. Los pines del puerto son tri-estado cuando tienen la condición de
reinicio activa, incluso si no hay relojes en ejecución. 
 
Si en PORTxn se escribe un "uno lógico" cuando el pin se configura como un pin de salida, el pin de puerto es
llevado a un estado alto (uno). Si en PORTxn se escribe un "cero lógico" cuando el pin está configurado como un
pin de salida, el pin de puerto es llevado a un estado bajo (cero). 
 
En resumen: 
 

 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 3/5
8/9/21 16:13 OneNote

 
 
Conexión del Microprocesador físicamente 
 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 4/5
8/9/21 16:13 OneNote

 
 

https://eduuaa.sharepoint.com/sites/ArquitecturadeComputadoras730/_layouts/15/Doc.aspx?sourcedoc={440d8b8e-b0a0-4469-83a5-e387fe94096b}… 5/5

También podría gustarte