Descarga la aplicación para disfrutar aún más
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
Compartir