Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clase 10/08/2021
lunes, 9 de agosto de 2021 07:34 p. m.
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.
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
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.
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.
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
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.
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
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.
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.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.
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.
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.
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.
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.
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 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
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 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.
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