Logo Studenta

Arquitectura de computadoras I

¡Este material tiene más páginas!

Vista previa del material en texto

Unidad I - Arquitectura y organización de computadoras
❖ Introducción a la computadora digital.
❖ Arquitectura y organización de computadoras digitales.
❖ Representaciones numéricas: Analógicas y digitales.
❖ Sistemas digitales y analógicos.
Introducción a la computadora digital.
Hoy en día, las computadoras digitales tienen un papel tan prominente y creciente en la
sociedad moderna, que muchas veces decimos que estamos en la «era de la información».
Las computadoras están involucradas en nuestras transacciones de negocios,
comunicaciones, transporte, tratamiento médico y entretenimiento. Monitorizan nuestro
tiempo y medio ambiente. En el mundo industrial están fuertemente empleados en diseño,
producción, distribución, y ventas. Han contribuido a muchos descubrimientos científicos y
desarrollos ingenieriles que, de otra manera, hubieran sido inalcanzables. Notablemente, el
diseño de un procesador para una computadora moderna no se podría hacer sin usar
muchas computadoras.
Arquitectura y organización de computadoras digitales.
La computadora digital es es un sistema de hardware, diseñado para aceptar datos de
entrada y realizar operaciones aritméticas sobre ellos (organizadas en una se cuencia lógica
y predeterminada por un algoritmo), para elaborar resulta dos que se puedan obtener como
salidas.
● Entrada: A través de esta unidad se alimenta un conjunto completo de instrucciones
y datos al sistema computacional y la unidad de memoria, para almacenarlos hasta
que se requieran. Por lo general, la información se introduce a la unidad de entrada
desde un teclado o un disco.
● Entrada/salida: Capaces tanto de introducir como de extraer información de la
computadora: discos y cintas magnéticas, discos ópticos, etc.
● Salida: Esta unidad recibe los datos de la unidad de memoria y los imprime, los
muestra en pantalla o los presenta de cualquier otra forma al operador (o proceso,
en caso de una computadora de control de procesos).
● CPU: Las unidades de control y aritmética-lógica se consideran como una sola
unidad, a la cual se le conoce como unidad central de procesamiento (CPU). El CPU
contiene todos los circuitos requeridos para obtener e interpretar las instrucciones y
para controlar y realizar las diversas operaciones que requieren las instrucciones.
1
Representaciones numéricas.
Existen dos maneras de representar una cantidad:
● Analógica: En la representación analógica una cantidad se representa mediante un
indicador proporcional que varía en forma continua. En los sistemas analógicos
eléctricos, la cantidad física que se mide o se procesa se convierte en un voltaje o
corriente proporcional (señal eléctrica). Entonces el sistema utiliza este voltaje o
corriente para fines de visualización, procesamiento o control.
Las cantidades analógicas como las antes mencionadas tienen una importante
característica: sin importar cómo se representen pueden variar a través de un
intervalo continuo de valores.
Al ser un rango continuo de valores, las representaciones analógicas pueden estar
abiertas a interpretación.
● Digital: En la representación digital las cantidades se representan no mediante
indicadores que varían en forma continua, sino mediante símbolos llamados dígitos.
Los sistemas digitales cambian en escalones discretos, es decir, de manera no
continua. Manipulan información lógica o cantidades físicas.
Cuando la entrada y salida son analógicas se pueden aprovechar las técnicas digitales para
hacer un pasaje de una a la otra. Por eso existen los convertidores analógico-digital (ADC),
los convertidores digital-analógico (DAC) y los sistemas híbridos.
Analógica = continua
Digital = discreta (paso por paso)
Lo malo de lo digital es el mundo fundamentalmente analógico.
2
Unidad II - Sistemas de numeración y códigos
❖ Sistemas numéricos.
❖ Conversiones de binario a decimal.
❖ Conversión de decimal a binario.
❖ Sistema de numeración octal.
❖ Sistema de numeración hexadecimal.
❖ Código BDC.
❖ Código Gray.
❖ Códigos alfanuméricos.
❖ Método de paridad para la detección de errores.
Sistemas numéricos.
Decimal
El sistema numérico decimal se emplea en la aritmética
cotidiana para representar números mediante cadenas de
dígitos. Dependiente de su posición en la cadena, cada dígito
tiene un valor asociado a un entero como potencia en base
10. Está compuesto de 10 números o símbolos: 0, 1, 2, 3, 4,
5, 6, 7,8 y 9.
Binario
El sistema de numeración binario es un sistema en base 2 con dos dígitos: 0 y 1. Este
sistema es de valor posicional, en donde cada dígito binario tiene su propio peso expresado
como potencia de 2.
Ejemplo:
= 0 + 4 + 0 + 1 =0101
(2)
5
(10)
Cada número binario tiene un valor según su posición
Para saber el número decimal sumamos todos estos valores
cada vez que haya un 1.
=500
(10)
111110100
(2)
Contamos el valor más alto que puede agarrar este número en binario
y hacemos sumas hasta llegar al número decimal.
Hexadecimal
El sistema numérico hexadecimal es un sistema de numeración en base 16 con los 10
primeros dígitos tomados del sistema de numeración decimal y las letras A, B, C, D, E, y F
usadas para los valores 10, 11, 12, 13, 14 y 15, respectivamente.
Ejemplo:
= 11 x + 6 x + 5 x + 15 x =𝐵65𝑓
(16)
163 162 161 160 46647
(10)
Cada número hexadecimal lo multiplicamos por 16 elevado
a la posición en la que está.
=500
(10)
1𝐹4
(16)
Dividimos el 500 entre 16 y los restos van a ser el número hexadecimal.
El resto final es el principio de nuestro hexadecimal.
3
Octal
El sistema de numeración octal es el sistema en base 8 con los dígitos 0, 1, 2, 3, 4, 5, 6 y 7.
Ejemplo:
= 1 x + 2 x + 7 x =127
(8)
82 81 80 87
(10)
Cada número octal lo multiplicamos por 8 elevado
a la posición en la que está.
=500
(10)
764
(8)
Dividimos el 500 entre 8 y los restos van a ser el número octal.
El resto final es el principio de nuestro octal.
Código BCD.
Cuando se representan números, letras o palabras mediante un grupo especial de
símbolos, decimos que están siendo codificados, y al grupo de símbolos se le llama código.
Cuando un número decimal se representa por su número binario equivalente, le llamamos
código binario directo.
Si cada dígito de un número decimal se representa mediante su equivalente binario, el
resultado es un código que se conoce como decimal codificado en binario (BCD).
Cada dígito se cambia a su equivalente binario de la siguiente manera:
Suma en BCD
La suma en BCD se realiza de manera similar a la suma en el sistema decimal
convencional, pero teniendo en cuenta que los números están codificados en BCD y que
cada dígito se suma de forma separada, si una suma da más de 9 se agrega un 6 en binario
para corregir.
Código Gray.
Para reducir la probabilidad de que un circuito digital malinterprete una entrada cambiante,
se desarrolló el código Gray como una manera de representar una secuencia de números.
El aspecto único del código Gray es que, entre dos números sucesivos en la secuencia sólo
un bit cambia.
Ejemplo: Cada vez que en binario cambia de bit se pone un 1 en Gray. Para empezar hay
que tener en cuenta que siempre hay un 0 adelante.
Binario Gray
0010 0110 0011 0101
4
Código Aiken.
El código Aiken reemplaza el bit con valor 8 a un bit con valor 2. Es decir 2421.
Ejemplo:
=1001
(2, 𝐵𝐶𝐷)
9
(10)
=1001
(2, 𝐴𝑖𝑘𝑒𝑛)
3
(10)
Código Exceso-3.
Ya que con los otros códigos los números negativos no eran posibles se creó el código
Exceso-3, donde usamos el mismo procedimiento que BCD pero antes de pasar el número
decimal, octal o hexadecimal a binario le sumamos 3.
Ejemplo:
Código Johnson.
Se obtiene por adición y eliminación de “1” desde el bit menos significativo. Tiene la
capacidad de codificar de 2xn números, siendo “n” el número de bits. Así para codificar los
diez primeros números necesitaremos 5 bits.
Ejemplo:
5
Códigos alfanuméricos.
Un código alfanumérico completo debe incluir las 26 letras minúsculas, las 26 letras
mayúsculas, los 10 dígitos numéricos, 7 signos de puntuación y de 20 a 40 caracteres
adicionales, como +, /, #, %, *, yasí sucesivamente. Podemos decir que un código
alfanumérico representa a todos los caracteres y funciones que se encuentran en el teclado
de una computadora. El código alfanumérico más utilizado es el Código estándar
estadounidense para el intercambio de información (ASCII). Este código es de siete bits, por
lo cual tiene posibles códigos.27 = 128
Método de paridad para detección de errores.
Un bit de paridad es un bit que se agrega al grupo de bits del código que se está
transfiriendo de un lugar a otro. El bit de paridad se hace 0 o 1, dependiendo del número de
1s que contenga el grupo de bits del código. Se utilizan dos métodos distintos. En el método
de paridad par, el valor del bit de paridad se elige de manera que el número total de 1s en el
grupo de bits del código, incluyendo el bit de paridad, sea par.
Ejemplo:
6
Unidad III - Circuitos combinatorios
❖ Funciones algebraicas.
❖ Representaciones.
❖ Tablas de verdad.
❖ Operación OR, AND y NOT y sus compuertas lógicas.
❖ Implementación de circuitos a partir de expresiones booleanas.
❖ Evaluación de salidas de circuitos lógicos.
❖ Teorema de Boole.
❖ Teorema de DeMorgan.
❖ Mapa de Karnaugh.
❖ Simplificación de circuitos lógicos.
❖ Diseño de circuitos lógicos combinacionales.
Funciones algebraicas y representaciones.
Las funciones algebraicas se refieren a las operaciones aritméticas y lógicas que puede
realizar un procesador, como la suma, la resta, la multiplicación, la división y las
operaciones booleanas (AND, OR, NOT). Estas operaciones son esenciales para realizar
cálculos complejos y procesar datos en un sistema informático.
Las representaciones se refieren a la forma en que se almacenan y se representan los
datos en un sistema informático. Los datos pueden ser representados en diferentes
formatos, como números enteros, números de punto flotante, caracteres y cadenas de
caracteres. Cada formato tiene sus propias reglas y requisitos para el almacenamiento y
procesamiento de datos.
Tablas de verdad.
Una tabla de verdad es una herramienta para describir la forma en que la salida de un
circuito lógico depende de los niveles lógicos presentes en las entradas del circuito. El
número de combinaciones de entrada será igual a para una tabla de verdad con N2𝑛
entradas. Todas las posibles combinaciones de entrada va de acuerdo con la secuencia de
conteo binario, por lo que es fácil anotar todas las combinaciones sin que falte una.
Operación OR.
La operación OR se utiliza cuando es una entrada O la otra, por lo que se puede decir que
una entrada es falsa (o 0) y la otra verdadera (o 1). La expresión booleana para la operación
OR es x = A + B.
7
Operación AND.
La operación AND se utiliza cuando es una entrada Y la otra, por lo que se puede decir que
una entrada es verdadera (o 1) y la otra verdadera (o 1). La expresión booleana para la
operación OR es x = A . B.
Operación NOT.
La operación NOT es distinta de las operaciones OR y AND, ya que puede realizarse sobre
una sola variable de entrada. Por ejemplo, si la variable A está sujeta a la operación NOT, el
resultado x puede expresarse así: x = .𝐴
Implementación de circuitos a partir de expresiones booleanas.
Una variable booleana es una cantidad que puede ser (en distintas ocasiones) igual a 0 o a
1. Las variables booleanas se utilizan a menudo para representar el nivel de voltaje
presente en un alambre o en las terminales de entrada/salida de un circuito. Representan el
nivel lógico, es decir, el estado de una voltaje.
Además existen expresiones booleanas como: minterminos y maxterminos. Se utilizan para
representar funciones lógicas complejas.
● mintermino (m o ∑): Es una función booleana en la que se combinan todas las
variables de entrada mediante una operación AND y se cuentan los 1.
● maxtermino (M o ∏): Es una función booleana en la que se combinan todas las
variables de entrada mediante una operación OR y se cuentan los 0.
Para representarlas se coloca el lugar donde se encuentra esta variable dentro del arreglo.
8
Evaluación de salidas de circuitos lógicos.
Una vez que tengamos la expresión booleana para un circuito lógico, podremos obtener el
nivel lógico de salida para cualquier conjunto de niveles de entrada.
En general, siempre debemos seguir las siguientes reglas cuando se evalúa una expresión
booleana:
1. Primero realice todas las inversiones de términos individuales: o 0 = 1.0 = 1
2. Después realice todas las operaciones que estén encerradas entre paréntesis.
3. Realice una operación AND antes de una operación OR, a menos que haya
paréntesis que indiquen lo contrario.
4. Si una expresión tiene una barra sobre ella, primero realice las operaciones dentro
de la expresión y después invierta el resultado.
También los circuitos lógicos pueden ser verificados por tablas de verdad como en el
siguiente ejemplo:
Simplificación de circuitos lógicos.
Teorema de Boole.
Teorema de DeMorgan.
Además de estos dos teoremas se puede aplicar la distributiva y/o factor común.
9
Mapa de Karnaugh.
1. Pasar de tabla de verdad a un mapa de Karnaugh.
2. “Inflar globos”.
➔ Horizontales o verticales, NO diagonal.
➔ Pueden ser globos de 2, 4, 8 o 16, tener en cuenta que son binarios.
➔ Entre más grande el globo mejor, ya que se simplifica el circuito.
3. Nombrar y sumarlos.
➔ Si es un globo de un único elemento se lo nombra con sus coordenadas.
➔ Si es un globo de 2 o más variables se le asigna el nombre (ABCD o
cualquiera que quieras) con las coordenadas que se repiten.
4. Don't care, se pone un X ya que no va a suceder en ningún momento, puede valer 1
o 0.
Es necesario tener menos de 4 variables.
1 es “normal” (A) y 0 es negada ( ).𝐴
Diseño de circuitos lógicos combinacionales.
1. Establecer la tabla de verdad.
2. Simplifique la expresión de salida.
3. Implemente el circuito para la expresión final.
10
Unidad IV - Circuitos secuenciales
❖ Definición Circuitos Secuenciales.
❖ Biestables, Flip-flops: Tipos, tablas de comportamiento y diseño de sistemas
secuenciales.
❖ Contadores síncronos y contadores asíncronos.
Definición de circuitos secuenciales.
Los circuitos secuenciales a diferencia de los combinacionales trabajan con la entrada
actual y una entrada de memoria actual en ese momento. Están conformados por circuitos
lógicos que por sí solos no tienen capacidad de almacenamiento pero en conjunto con más
sí. La salida Q es la salida normal de los circuitos secuenciales y es la salida invertida.𝑄
Los circuitos secuenciales cuentan con un pulso reloj donde entre pulso y pulso la entrada
puede cambiar y realizar operaciones lógicas en el circuito combinacional, pero no hay
cambio en la información contenida en las células de memoria. Éstos se llaman Flip-Flops
(FF).
Flip-flops: Tipos y tablas de comportamiento y diseño de sistemas.
Un flip-flop es un dispositivo binario de almacenamiento que puede almacenar un bit de
información. Un conjunto de flip-flops puede guardar la cantidad de bits que sean
necesarios. No dejan de ser circuitos combinacionales pero la diferencia con éstos es que
los FF utilizan su salida como entrada nuevamente y además tienen un pulso reloj.
Los FF cuentan con un pulso reloj que se dividen en 2 tipos:
➔ Activación por pulso: Cuando el reloj toma el valor 1 (ALTO) se lo conoce como
pulso positivo y es cuando se realiza la acción, cuando este pulso se vuelve 0
(BAJO) se lo conoce como pulso bajo y en este caso pertenece la señal anterior.
➔ Activación por flanco: Cuando el reloj va cambiando de 0 a 1 se lo conoce como
transistor. A la transición al principio del pulso se le conoce como flanco positivo o de
subida y a la transición al final del pulso se la conoce como flanco negativo o de
caída.
11
https://www.ecured.cu/Memoria
SR (Set - Reset)
Los flip-flops de tipo SR cuentan con dos entradas Set (S o ajustar) y Reset (R o limpiar) y
pueden ser de tipo NAND o NOR.
Caja negra del FF SR
FF SR tipo NOR
FF SR tipo NAND
JK (Jump - Keep)
Los flip-flops JK funcionan de forma similar a los SR, cuentan con 2 entradas: J (Jump,
similara set) y K (Keep, similar a reset), pero a la vez cuentan con un pulso de reloj el cual
se dispara por flanco de pendiente positiva. A diferencia de los SR, la salida 1 1 no está
indefinida, sino que conmuta la salida actual.
D (Delay)
Los flip-flops tipo D a diferencia de los SR y JK cuentan con una sola entrada: D (Datos) y
además cuenta con un pulso de reloj. Este tipo de FF funcionan de manera muy simple, el
valor de la salida cambia solo cuando la entrada D sea diferente. D se crea a partir de
colocar un inversor en un FF JK.
12
T (Toggle)
Los flip-flops tipo T sirven para conmutar datos, es decir, cambia de estado. Cuando el reloj
está en ALTO el valor de Q cambia, si el pulso está en BAJO Q mantiene su valor.
Básicamente si T es 1 cambia a 0 y viceversa.
Contadores sincrónicos y asincrónicos.
Un contador es un circuito secuencial el cual cambia de estado de acuerdo a una secuencia
establecida por el diseño. Un contador, está construido con base de flip-flops, el número de
éstos utilizados indica el número de bits del contador, es decir, cada flip-flop representa un
bit dentro de la secuencia de conteo. Existen contadores:
➔ Sincrónicos: La señal de reloj se aplica simultáneamente a todos los FF.
➔ Asincrónicos: Los FF no cuentan con la misma señal de reloj, solo llega a uno y los
demás dependen de lo que pase en los diferentes flip-flops.
Acá solo es definición, no entra el funcionamiento ni nada de eso.
13
Unidad V - Memorias RAM y ROM
❖ Introducción. Terminología. Jerarquía de memoria.
❖ Ciclos de lectura y escritura.
❖ Memoria de Acceso Aleatorio (RAM).
❖ Arquitectura de una memoria RAM.
❖ Clasificación y tipos de memoria RAM Estática (SRAM) y Dinámica (DRAM).
❖ Organización funcional dentro de RAM
❖ Definición e Implementación de Banco de Memorias.
❖ Memoria de sólo lectura (ROM).
❖ Arquitectura de la memoria ROM, tipos y aplicaciones.
Introducción, terminología y jerarquía de memoria.
Para que una computadora funcione se necesita la unidad central de procesamiento (CPU)
y memorias como RAM y ROM, además de memorias auxiliares, éstos son los
componentes periféricos de una computadora, guarda la información de miles de flips-flops
en un lugar de la memoria que se denomina de forma hexadecimal.
La jerarquía de la memoria se basa en la velocidad, capacidad y costo de las diferentes
tecnologías de memoria. Por ejemplo, la memoria caché se encuentra en la parte superior
de la jerarquía de la memoria porque es la más rápida y cara, mientras que el disco duro se
encuentra en la parte inferior porque es más lento y barato.
Terminología
➔ Celda de memoria: Es en donde se almacena un bit (0 o 1).
➔ Palabra de memoria: Un grupo de celdas en una memoria, en la cual
se representan instrucciones o datos de cierto tipo.
➔ Capacidad o densidad: Es la cantidad de bits que puede almacenar
una memoria.
Por ejemplo: 4096 x 20b = 81.920 bits de capacidad
Donde el primer número es el número de palabras (siempre es bueno pasarlo a
bytes) y el segundo es la cantidad de bits por palabra (si esta en otro tipo de dato es
conveniente pasarlo a bits), pasa sacar la capacidad se multiplican ambos números.
➔ Dirección: Es un número que identifica el lugar en la memoria de cada palabra.
Existen como binarios pero al ser demasiadas se utiliza el sistema hexadecimal.
14
Ciclo de lectura y escritura.
El ciclo de lectura comienza en el tiempo . Antes de ese tiempo, las entradas de dirección𝑡
0
pueden tener cualquier valor de dirección que esté en el bus de dirección debido a la
operación anterior. Como la señal de selección de chip de la RAM no está activa, no
responderá a su dirección “antigua”.
Por lo general, en la mayoría de los sistemas de memoria la línea se mantiene en el𝑅/𝑊
estado ALTO, sólo cuando se lleva a BAJO durante un ciclo de escritura. La salida de datos
de la RAM se encuentra en su estado Hi-Z, debido a que = 1. El ciclo de escritura𝐶𝑆
comienza cuando la CPU suministra una nueva dirección a la RAM, en el tiempo .𝑡
0
El tiempo del ciclo de lectura ( ) y el tiempo del ciclo de escritura ( ) son los que en𝑡
𝑅𝐶
𝑡
𝑊𝐶
esencia determinan qué tan rápido puede operar un chip de memoria. Por ejemplo, en una
aplicación real la CPU estará leyendo con frecuencia palabras de datos sucesivas de
memoria, una después de la otra. Si la memoria tiene un de 50 ns, la CPU puede leer𝑡
𝑅𝐶
una palabra cada 50 ns, o 20 millones de palabras por segundo, si 10 ns, la CPU puede𝑡
𝑅𝐶
leer 100 millones de palabras por segundo.
Memoria de acceso aleatorio (RAM).
La memoria RAM, como lo dice su nombre, es de acceso aleatorio, esto quiere decir que la
información va a ser guardada donde se primero se encuentre un espacio. Es volátil, esto
quiere decir que cuando se apaga la computadora los datos de la RAM se pierden.
La RAM se utiliza en las computadoras para el almacenamiento temporal de programas y
datos. Cuando la computadora ejecuta un programa, se realizan operaciones de lectura y
de escritura sobre muchas ubicaciones de dirección de la RAM.
Arquitectura de una memoria RAM.
Como nombramos en la terminología existen las palabras dentro de una memoria y a la vez
estas tienen celdas donde se guarda un 0 o 1 para luego formar algún tipo de dato. Para
analizar más datos dentro de la memoria es muy importante la fórmula , ya que con2𝑛 𝑥 𝑘
ella podemos ver los siguientes puntos:
➔ Bus de dirección: Este bus unidireccional transporta las salidas de la dirección
binaria desde microprocesador (CPU) hacia la memoria, para seleccionar una
ubicación de memoria. Es decir que el bus de dirección te indica qué dirección de
memoria es donde se ubica cierto dato o palabra o cuantos cables necesitamos para
ingresar n palabras. Es posible encontrar este dato teniendo la fórmula de la
memoria. Por ejemplo: 64B x 4b = , esto quiere decir que el bus de dirección26 𝑥 4
de este ejemplo es 6.
➔ Bus de datos: Este bus bidireccional transporta los datos entre el CPU y los CIs de
memoria. Es decir que te dice qué palabra se encuentra en un lugar de la memoria.
Por ejemplo: 64B x 4b = , esto quiere decir que el bus de datos es 4, para26 𝑥 4
encontrar la palabra deseada necesitamos 4 cables que nos indiquen todos los 0 y 1
correspondientes.
15
Tipos de RAM: RAM Estática (SRAM) y RAM Dinámica (DRAM).
● RAM dinámica (DRAM): Las celdas de memoria de una RAM dinámica son
capacitores. Los datos se almacenan en forma de cargas en los capacitores.
Con las RAMs dinámicas, los datos almacenados desaparecerán en forma gradual
debido a la descarga natural del capacitor en el tiempo, por lo que es necesario
regenerar los datos en forma periódica (es decir, cargar los capacitores) mediante un
sistema de refresco.
Es una memoria habitualmente más barata, tienen mayor capacidad y son más
lentas debido a que el sistema de refresco tiene prioridad, cuando se activa, con
respecto a cualquier operación que se esté realizando o se vaya a realizar en la
memoria. Es decir el tacc se ve afectado.
● RAM estática (SRAM): En esencia, las celdas de memoria de la RAM estática son
flip-flops que permanecerán en un estado dado (almacenan un bit) de manera
indefinida, siempre y cuando no se interrumpa la energía del circuito. Es una
memoria habitualmente más cara, son más rápidas y fáciles de usar.
Por ejemplo: Memoria caché.
- Son serializadas.
- Son muy veloces y a la vez muy volátiles.
- Se almacena información mientras la RAM principal realiza otro
procedimiento.
Entonces, ambas utilizan diferentes tecnologías para almacenar los datos. La RAM
dinámica (DRAM) necesita ser refrescada 100 de veces por segundos, mientras que la RAM
estática (SRAM) no necesita ser refrescada tan frecuentemente lo que la hace más rápida
pero también más cara que la memoria RAM dinámica.
Organización funcional dentro de RAM.
La organización funcional de la memoria RAM se refiere a cómo los circuitos están
diseñados para permitir la lectura de datos de manera eficiente. En la arquitectura de
computadoras, la memoria RAM se organiza en forma debancos, y cada banco se divide en
filas y columnas. Cada celda de memoria en una fila se activa mediante un terminador de
16
fila, mientras que cada celda en una columna se activa mediante un terminador de columna.
La organización funcional de la RAM permite una lectura y escritura de datos más rápida y
eficiente.
Definición e implementación del banco de memorias.
Un banco de memoria es el almacenamiento lógico dentro de la memoria de la computadora
que se utiliza para almacenar y recuperar datos de uso frecuente. Puede ser parte de la
RAM estándar o la memoria caché utilizada para acceder y recuperar fácilmente el
programa y los datos estándar. Por lo general, el controlador de acceso a la memoria y la
arquitectura física real del módulo de memoria crean y organizan un banco de memoria.
Cada módulo de memoria puede tener dos o más bancos de memoria para almacenar
programas y datos.
El chip SPD (Serial Presence Detect) es el encargado de almacenar datos relativos al
módulo de memoria RAM. Estos datos son el tamaño de la memoria, el tiempo de acceso,
velocidad y el tipo de memoria.
Memoria de solo lectura (ROM).
La memoria ROM es una memoria de sólo lectura. Está diseñada para retener datos que
sean permanentes o que no cambien con el tiempo. Es decir, estas memorias se utilizan
para almacenar datos e información que no va a cambiar durante la operación normal de un
sistema, por ejemplo el almacenamiento de datos en las microcomputadoras.
Estas son no volátiles ya que estos programas no se pierden cuando se desconecta la
energía eléctrica.
Para algunas ROMs, los datos almacenados deben integrarse durante el proceso de
manufactura; para otras ROMs los datos pueden introducirse mediante electricidad. Al
proceso de introducir datos se le llama programación o quemado de la ROM. Algunas
ROMs no pueden cambiar sus datos una vez programadas; otras pueden borrarse y
reprogramarse tantas veces como se requiera.
Durante una operación de lectura se produce un tiempo de propagación, conocido como
tiempo de acceso, entre la aplicación de las entradas de una ROM y la aparición de las
salidas de datos.
Arquitectura de la memoria ROM.
La arquitectura de la ROM es muy compleja pero hay que tener en cuenta que siempre
tiene cuatro partes básicas: arreglo de registros (almacena los datos que se programan en
la ROM), decodificador de fila, decodificador de columna y búferes de salida.
17
Tipos de ROM y aplicaciones.
● MROM: La ROM programada por máscara (MROM) almacena su información al
momento en que se fabrica el circuito integrado de conexiones. El proceso utiliza
una “máscara” para depositar metales en el silicio, los cuales determinan en dónde
se forman las conexiones de una manera similar al uso de patrones y pintura en
aerosol, pero en una escala mucho más pequeña.
Son de patrón fijo permanente y es un procedimiento irreversible. Es económica sólo
cuando se fabrican en cantidad.
● PROM: La ROM programada (PROM) son programables por el usuario, no se
programan durante el proceso de fabricación sino que el usuario las programa según
sus necesidades. Sin embargo, una vez programada, una PROM es como una
MROM ya que no puede borrarse y reprogramarse. Para programarla se funden los
fusibles mediante la aplicación de pulsos de corriente a través de las terminales de
salidas de datos.
Son de patrón fijo permanente y es un procedimiento irreversible. Son costosas.
● EPROM: La ROM programable y borrable (EPROM) puede programarse por el
usuario y también puede borrarse y reprogramarse casi todas las veces que se
requiera. El proceso para programar una EPROM es el mismo que para una PROM.
Una vez programada se vuelve una memoria no volátil que almacenará los datos
hasta que se desee borrarlos. Para el proceso de borrado se la somete a memoria a
una luz ultravioleta especial por un tiempo determinado donde la radiación de onda
corta descarga las compuertas internas que sirven como fusible. Esta luz ingresa
físicamente por medio de una ventana de vidrio que tiene el chip.
18
● EEPROM: La ROM programable y borrable electrónicamente (EEPROM) soluciona
las desventajas de la EPROM. La EEPROM retiene la misma estructura de
compuerta flotante que la EPROM, pero agrega una región de óxido muy delgada
por encima del colector de la celda de memoria de MOSFET. Esta modificación
produce la característica principal de la EEPROM: su capacidad de borrarse
mediante electricidad. A la vez en la EEPROM se pueden programar y borrar bytes
individuales.
Pirámide de ventajas y desventajas de los diferentes tipos de ROM.
Se considera que las ROMs incluyen a todos los dispositivos de memoria semiconductora
no volátil y que se utilizan en aplicaciones en donde se requiere el almacenamiento no
volátil de información, datos o códigos de programa, y en donde los datos almacenados
cambian pocas veces o incluso nunca. Algunas de las áreas de aplicación más comunes
son: Memoria de programa de microcontrolador embebido, transferencia de datos y
portabilidad, memoria de arranque, tablas de datos, convertidor de datos, generador de
funciones y almacenamiento auxiliar.
19
Unidad VI - Microprocesador y lenguaje ensamblador
● Definición microprocesador.
● Ciclo de trabajo de un microprocesador.
● Unidad de control (Instrucciones, microinstrucciones y microórdenes).
● Unidad aritmética lógica.
● Registros.
Definición de microprocesador.
Un microprocesador es un tipo de circuito integrado (IC o chip) que está constituido por una
memoria, una unidad aritmético-lógica, una unidad de control y los dispositivos de E/S.
Además se maneja con una frecuencia y ciclo de reloj.
Un microprocesador "procesa” bits que obtiene de una memoria, los opera y luego
alma cena el resultado de nuevo en memoria. Los microprocesadores actuales manejan de
64 a 32 bits de longitud de palabra, también existen de 16, 8 y 4 bits.
Dentro del microprocesador existen diferentes bus, estos son:
➔ Bus de datos: Son líneas de entrada y salida que indican el dato que se encuentra.
Al igual que en la memoria es la k en la siguiente fórmula: 2𝑛 𝑥 𝑘
➔ Bus de direcciones: Son las líneas de entrada y salida que indican dónde está el
dato que se necesita. Al igual que en la memoria es la n en la siguiente fórmula:
2𝑛 𝑥 𝑘
➔ Bus de control: Es donde se envían operaciones y datos para hacer control de las
lecturas, escrituras y operaciones.
➔ Bus interno: Permite la comunicación entre los componentes internos del µp.
Ciclo de trabajo de un microprocesador.
Un microprocesador realiza una serie de tareas repetitivas denominadas ciclos, los ciclos de
trabajo son:
➔ Ciclo máquina: es el ciclo básico del microprocesador, se divide en dos fases:
- Fase de búsqueda: El µp busca en memoria y transfiere al registro
correspondiente las instrucciones o datos.
- Fase de ejecución: El µp ejecuta o interpreta las instrucciones.
Además, el ciclo de máquina trabaja en conjunto con el ciclo de reloj.
➔ Ciclo de instrucción: Para que la ejecución de una instrucción sea completa se
necesita más de un ciclo máquina, por esto el ciclo de instrucción es la cantidad de
CM que se necesitan para completar una instrucción.
20
Unidad de control.
La unidad de control es el bloque que genera todas las señales de control. Realiza
funciones como el proceso de lectura, interpretación y ejecución de una instrucción para
esto decodifica las instrucciones, genera una secuencia de microinstrucciones (fases de la
ejecución de una instrucción) y microórdenes (tareas básicas en las que se descompone
una microinstrucción) todo esto a través del bus de control.
Además opera en conjunto con el bus de datos y el registro de datos del microprocesador.
Unidad aritmética-lógica.
Es el órgano operativo del microprocesador, realiza operaciones aritméticas (como la suma,
resta y multiplicación), operaciones lógicas (como AND, OR y OR exclusiva) y los
desplazamientos y rotaciones de bits (hacia derecha o izquierda). Opera con datos de 8 bits
(1 byte) y tiene dos vías para el acceso de datos: Acceso directodesde el bus interno del µp
y acceso al acumulador por el cual trabaja habitualmente.
Registros.
Internos
➔ Registro de instrucciones (RI): Es un registro temporal que almacena el código de
operación, es decir, una parte de una instrucción hasta que la unidad de control
pueda procesarlo.
➔ Decodificador de instrucciones (DI): Se encarga de interpretar y ejecutar las
instrucciones que llegan, extrayendo el código de operación de la instrucción.
➔ Acumulador (ACC): Es el registro principal del microprocesador y a él están
dirigidas la mayor parte de las operaciones de la UAL.
➔ Contador de programa (CP): Almacenan la próxima dirección de trabajo del
microprocesador en la memoria. Puede ser de dos tipos: Por incrementación o por
carga.
➔ Registro índice (IX): Es un registro usado para direccionar los datos de proceso del
microprocesador hacia o desde la memoria RAM.
➔ Registro de estado (RP): Sirve para almacenar en cada uno de sus bits
indicaciones sobre los resultados de la última operación realizada por la UAL o sobre
las órdenes del microprocesador. Sus datos están a disposición de la UC y UAL.
Dentro del registro de estado existen diferentes tipos de bit, por ejemplo: Bit de
signo, bit de modo decimal, bit de break, bit de paridad, entre otros.
➔ Registros auxiliares: Se utilizan para almacenar datos y resultados intermedios
dentro de la CPU, no están en todos los microprocesadores.
De comunicación
➔ Registro de datos: Es una unidad para el almacenamiento de los datos que llegan
a la CPU o que parten de ella a través del bus de datos. Establece una
comunicación bidireccional entre el bus de datos del sistema y el bus interno del
microprocesador.
➔ Registro de direcciones: Almacena las direcciones que el microprocesador envía
en el bus de direcciones y separa a las unidades internas del citado bus por medio
de un conjunto de buffers. Posee una capacidad de 16 bits (2 bytes).
21
Diagrama simplificado de un microprocesador de 8 bits:
Diagrama simplificado de la unidad aritmética-lógica.
Diagrama de funcionamiento de microprocesador con memorias:
22

Continuar navegando