Es impresionante saber acerca del funcionamiento de los componentes de una computadora, la forma lógica en que se relacionan para asi poder llevar a cabo funciones y operaciones específicas para llegar a un fin común. Gracias a los circuitos lógicos podemos simplificar operaciones que realiza el procesador.
APRENDIZAJE OBTENIDO DURANTE EL CURSO
Es impresionante saber acerca del funcionamiento de los componentes de una computadora, la forma lógica en que se relacionan para asi poder llevar a cabo funciones y operaciones específicas para llegar a un fin común. Gracias a los circuitos lógicos podemos simplificar operaciones que realiza el procesador.
REGISTROS
Los registros se miden generalmente por el número de bits que almacenan; por ejemplo, un "registro de 8 bits" o un "registro de 32 bits". Los registros generalmente se implementan en un banco de registros, pero antiguamente se usaban biestables individuales, memoria SRAM o formas aún más primitivas.
El término es usado generalmente para referirse al grupo de registros que pueden ser directamente indexados como operandos de una instrucción, como está definido en el conjunto de instrucciones. Sin embargo, los microprocesadores tienen además muchos otros registros que son usados con un propósito específico, como el contador de programa. Por ejemplo, en la arquitectura IA32, el conjunto de instrucciones define 8 registros de 32 bits.
TIPOS DE REGISTROS
Los registros de datos son usados para guardar números enteros. En algunas computadoras antiguas, existía un único registro donde se guardaba toda la información, llamado acumulador.
Los registros de memoria son usados para guardar exclusivamente direcciones de memoria. Eran muy usados en la arquitectura Harvard, ya que muchas veces las direcciones tenían un tamaño de palabra distinto que los datos.
Los registros de propósito general pueden guardar tanto datos como direcciones. Son fundamentales en la arquitectura de von Neumann. La mayor parte de las computadoras modernas usa GPR.
- Los registros de coma flotante son usados para guardar datos en formato de coma flotante.
- Los registros constantes tienen valores creados por hardware de sólo lectura. Por ejemplo, en MIPS el registro $zero siempre vale 0.
- Los registros de propósito específico guardan información específica del estado del sistema, como el puntero de pila o el registro de estado.
MEMORIAS
Es uno de los componentes fundamentales de todas las computadoras modernas que, acoplados a una Unidad Central de Proceso (CPU por su acrónimo en inglés, Central Processing Unit), implementa lo fundamental del modelo de computadora de Von Neumann, usado desde los años 1940.En la actualidad, memoria suele referirse a una forma de almacenamiento de estado sólido conocido como Memoria RAM (memoria de acceso aleatorio, RAM por sus siglas en inglés Random Access Memory) y otras veces se refiere a otras formas de almacenamiento rápido pero temporal. De forma similar, se refiere a formas de almacenamiento masivo como discos ópticos y tipos de almacenamiento magnético como discos duros y otros tipos de almacenamiento más lentos que las memorias RAM, pero de naturaleza más permanente.
Estas distinciones contemporáneas son de ayuda porque son fundamentales para la arquitectura de computadores en general. Además, se refleja una diferencia técnica importante y significativa entre memoria y dispositivos de almacenamiento masivo, que se ha ido diluyendo por el uso histórico de los términos "almacenamiento primario" (a veces "almacenamiento principal"), para memorias de acceso aleatorio, y "almacenamiento secundario" para dispositivos de almacenamiento masivo. Esto se explica en las siguientes secciones, en las que el término tradicional "almacenamiento" se usa como subtítulo por conveniencia.
PROPÓSITOS DE ALMACENAMIENTO
Los componentes fundamentales de las computadoras de propósito general son la unidad aritmético-lógica, la unidad de control, espacio de almacenamiento y los dispositivos de entrada/salida. Si se elimina el almacenamiento, el aparato sería una simple calculadora en lugar de un computadora. La habilidad para almacenar las instrucciones que forman un programa de computadora y la información que manipulan las instrucciones es lo que hace versátiles a las computadoras diseñadas según la arquitectura de programas almacenados.
Una computadora digital representa toda la información usando el sistema binario. Texto, números, imágenes, sonido y casi cualquier otra forma de información puede ser transformada en una sucesión de bits, o dígitos binarios, cada uno de los cuales tiene un valor de 1 ó 0. La unidad de almacenamiento más común es el byte, igual a 8 bits. Una determinada información puede ser manipulada por cualquier computadora cuyo espacio de almacenamiento es suficientemente grande como para que quepa el dato correspondiente o la representación binaria de la información.
MEMORIA CACHE
Es un tipo especial de memoria interna usada en muchas unidades centrales de proceso para mejorar su eficiencia o rendimiento. Parte de la información de la memoria principal se duplica en la memoria caché.
Comparada con los registros, la caché es ligeramente más lenta pero de mayor capacidad. Sin embargo, es más rápida, aunque de mucha menor capacidad que la memoria principal. También es de uso común la memoria caché multi-nivel - la "caché primaria" que es más pequeña, rápida y cercana al dispositivo de procesamiento; la "caché secundaria" que es más grande y lenta, pero más rápida y mucho más pequeña que la memoria principal.
MEMORIA PRINCIPAL
Memoria RAM, se compone de uno o más chips y se utiliza como memoria de trabajo para programas y datos. Es un tipo de memoria temporal que pierde sus datos cuando se queda sin energía (por ejemplo, al apagar la computadora), por lo cual es una memoria volátil. Esto es cierto desde el punto de vista teórico: Científicos de la Universidad de Princeton han descubierto que una destrucción gradual de los datos almacenados en la memoria RAM que oscila entre unos segundos y varios minutos, siendo inversamente proporcional a la temperatura.Se utiliza normalmente como memoria temporal para almacenar resultados intermedios y datos similares no permanentes. Se dicen "de acceso aleatorio" o "de acceso directo" porque los diferentes accesos son independientes entre sí.
En general, las RAMs se dividen en estáticas y dinámicas. Una memoria RAM estática mantiene su contenido inalterado mientras esté alimentada. En cambio en una memoria RAM dinámica la lectura es destructiva, es decir que la información se pierde al leerla, para evitarlo hay que restaurar la información contenida en sus celdas, operación denominada refresco.Además, las memorias se agrupan en módulos, que se conectan a la placa base de la computadora. Según los tipos de conectores que lleven los módulos, se clasifican en módulos SIMM (Single In-line Memory Module), con 30 ó 72 contactos, módulos DIMM (Dual In-line Memory Module), con 168 contactos (SDR SDRAM), con 184 contactos (DDR SDRAM), con 240 contactos (DDR2 SDRAM) y módulos RIMM (RAMBUS In-line Memory Module) con 184 contactos.
DISCOS MAGNÉTICOS (DISCOS DUROS)
Un disco magnético (rígido o flexible) es sinónimo de soporte de almacenamiento externo, complemento auxiliar de la memoria principal RAM de una computadora (memoria electrónica interna de capacidad limitada, un millón de veces más rápida de acceder que un disco, pero volátil).
1. Tiene capacidad para almacenar masivamente grandes cantidades de información en reducidos espacios con el consiguiente bajo costo relativo por byte almacenado.
2. Es memoria "no volátil": guarda largo tiempo los bits almacenados aunque se retire el suministro de energía eléctrica, propiedad que la memoria principal carece.
3. Permite acceder en pocos segundos, casi directamente, al lugar donde se halla un bloque de datos a leer o escribir, sin necesidad de búsqueda en todos los bloques de datos que le preceden, como ocurre en una cinta magnética.
La información residente en un disco está agrupada y clasificada constituyendo archivos o ficheros ('files"), como quiera llamarse, identificables por su nombre. Un archivo puede contener datos o programas.
Con la tecnología actual de los sistemas de computación, gran parte de los procesos de Entrada y Salida de datos tienen como origen y destino los discos magnéticos. Esto se manifiesta en que:
* La mayoría de los programas están almacenados en disco, constituyendo archivos "ejecutables". Cuando se necesita un programa, una copia de éste pasa a memoria principal, para ser ejecutado.
* Generalmente pasa de disco a memoria una copia del archivo de datos que procesará un programa. Los resultados obtenidos van de memoria a disco, formando parte de dicho archivo o de otro.
* El disco sirve también para simular una "memoria virtual", de mucho mayor capacidad que la memoria principal existente.Comúnmente, los disquetes son usados para copias de resguardo ('backup"), y para transportar archivos de programas o de datos.Los discos rígidos y disquetes so medios de almacenamiento externos. Para ser leídos o escritos deben insertarse en el periférico "unidad de disco"' ("disk drive") que para los disquetes se denomina "disquetera".
FLIP FLOPS
- Asíncronos: sólo tienen entradas de control. El más empleado es el biestable RS.
- Síncronos: además de las entradas de control posee una entrada de sincronismo o de reloj. Si las entradas de control dependen de la de sincronismo se denominan síncronas y en caso contrario asíncronas. Por lo general, las entradas de control asíncronas prevalecen sobre las síncronas.
La entrada de sincronismo puede ser activada por nivel (alto o bajo) o por flanco (de subida o de bajada). Dentro de los biestables síncronos activados por nivel están los tipos RS y D, y dentro de los activos por flancos los tipos JK, T y D.
R: el borrado (reset en inglés), puesta a 0 ó nivel bajo de la salida.
S: el grabado (set en inglés), puesta a 1 ó nivel alto de la salida.
Si no se activa ninguna de las entradas, el biestable permanece en el estado que poseía tras la última operación de borrado o grabado. En ningún caso deberían activarse ambas entradas a la vez, ya que esto provoca que las salidas directa (Q) y negada (Q') queden con el mismo valor: a bajo, si la báscula está construida con puertas NO-O (NOR), o a alto, si con puertas NO-Y (NAND). El problema de que ambas salidas queden al mismo estado está en que al desactivar ambas entradas no se podrá determinar el estado en el que quedaría la salida. Por eso, en las tablas de verdad, la activación de ambas entradas se contempla como caso no deseado (N. D.).
FLIP FLOP JK:
Dispositivo de almacenamiento temporal de dos estados (alto y bajo), cuyas entradas principales, J y K, a las que debe el nombre, permiten al ser activadas:
K: El borrado (reset en inglés), puesta a 0 ó nivel bajo de la salida.
Si no se activa ninguna de las entradas, el biestable permanece en el estado que poseía tras la última operación de borrado o grabado. A diferencia del biestable RS, en el caso de activarse ambas entradas a la vez, la salida adquirirá el estado contrario al que tenía.
FLIP FLOP D:
Dispositivo de almacenamiento temporal de dos estados (alto y bajo), cuya salida adquiere el valor de la entrada D cuando se activa la entrada de sincronismo, C. En función del modo de activación de dicha entrada de sincronismo, existen dos tipos de biestables D:
Activo por nivel (alto o bajo), también denominado registro o cerrojo (latch en inglés).
Activo por flanco (de subida o de bajada).
METODOLOGÍA BÁSICA PARA RESOLVER PROBLEMAS CON CIRCUITOS LÓGICOS COMBINACIONALES
2. Determinar el diagrama de bloques
3. Algoritmo
4. Algoritmo incluyendo tiempos y nomenclaturas
5. Carta de estado con nomenclatura no binaria
6. Carta de estados analítica con nomenclatura binaria, incluyendo flip flops
7. Mapas de Karnaugh, obtención de funciones
8. Construir circuito
DECODIFICADOR
MULTIPLEXOR
COMPUERTAS LÓGICAS
Es el complemento de la función AND, como se indica por el símbolo gráfico, que consiste en una compuerta AND seguida por un pequeño círculo (quiere decir que invierte la señal).La designación NAND se deriva de la abreviación NOT - AND. Una designación más adecuada habría sido AND invertido puesto que es la función AND la que se ha invertido.Las compuertas NAND pueden tener más de dos entradas, y la salida es siempre el complemento de la función AND.
La compuerta NOR es el complemento de la compuerta OR y utiliza el símbolo de la compuerta OR seguido de un círculo pequeño (quiere decir que invierte la señal). Las compuertas NOR pueden tener más de dos entradas, y la salida es siempre el complemento de la función OR.
ÁLGEBRA DE BOOLE
Específicamente, el álgebra de Boole fue un intento de utilizar las técnicas algebraicas para tratar expresiones de la lógica proposicional. En la actualidad, el álgebra de Boole se aplica de forma generalizada en el ámbito del diseño electrónico.
REPRESENTACIÓN
Existen distintas formas de representar una función lógica, entre las que podemos destacar las siguientes:
- Algebraica
- Por tabla de verdad
- Numérica
- Gráfica
Ejemplo con distintas formas en las que se puede expresar algebraicamente una misma función de tres variables.
a) F = [(A + BC’)’ + ABC]’ + AB’C
b) F = A’BC’ + AB’C’ + AB’C + ABC’
c) F = (A + B + C)(A + B + C’)(A + B’ + C’)(A’ + B’ + C’)
d) F = BC’ + AB’
e) F = (A + B)(B’ + C’)
f) F = [(BC’)’ · (AB’)’]’
g) F = [(A + B)’ + (B’ + C’)’]’
La expresión a) puede proceder de un problema lógico planteado o del paso de unas especificaciones a lenguaje algebraico. Las formas b) y c) reciben el nombre expresiones canónicas de suma de productos (sum-of-products, SOP, en inglés), la b), y de productos de sumas (product-of-sums, POS, en inglés), la c); su característica principal es la aparición de cada una de las variables (A, B y C) en cada uno de los sumandos o productos. Las d) y e) son funciones simplificadas, esto es, reducidas a su mínima expresión. Las dos últimas expresiones tienen la particularidad de que exclusivamente utiliza funciones NO-Y, la f), o funciones NO-O, la g).
b) TABLA DE VERDAD
Una tabla de verdad contiene todos los valores posibles de una función lógica dependiendo del valor de sus variables. El número de combinaciones posibles para una función de n variables vendrá dado por 2n. Una función lógica puede representarse algebraicamente de distintas formas como acabamos de ver, pero sólo tiene una tabla de verdad.
F = A’BC’ + AB’C’ + AB’C + ABC’
nos indica que será 1 cuando lo sea uno de sus sumandos, lo que significa que tendrá por lo tanto cuatro combinaciones que lo serán (010 para A’BC’, 100 para AB’C’, 101 para AB’C y 110 para ABC’) siendo el resto de combiaciones 0. Con la función canónica de producto de sumas se puede razonar de forma análoga, pero en este caso observando que la función será 0 cuando lo sea uno de sus productos. También es fácil obtener la tabla de verdad a partir de la función simplificada, pero no así a la inversa.
La representación numérica es una forma simplificada de representar las expresiones canónicas. Si consideramos el criterio de sustituir una variable sin negar por un 1 y una negada por un 0, podremos representar el término, ya sea una suma o un producto, por un número decimal equivalente al valor binario de la combinación. Por ejemplo, los siguientes términos canónicos se representarán del siguiente modo (observe que se toma el orden de A a D como de mayor a menor peso):
AB’CD = 10112 = 1110
A’ + B + C’ + D’ = 01002 = 410
Para representar una función canónica en suma de productos utilizaremos el símbolo Σn (sigma) y en producto de sumas Πn (pi), donde n indicará el número de variables. Así, la representación numérica correspondiente a la tabla de verdad del punto anterior quedará como:
F = Σ3(2, 4, 5, 6) = Π3(0, 1, 3, 7)
Matemáticamente se demuestra, que para todo término i de una función, se cumple la siguiente ecuación:
F = [Σn(i)]' = Πn(2n-1-i )
A modo de ejemplo se puede utilizar esta igualdad para obtener el producto de sumas a partir de la suma de productos del ejemplo anterior:
F = Σ3(2, 4, 5, 6) = [Σ3(2, 4, 5, 6)]' ' = [Σ3(0, 1, 3, 7)]' = Π3(0, 4, 6, 7)
d) GRÁFICA
La representación gráfica es la que se utiliza en circuitos y esquemas electrónicos. En la siguiente figura se representan gráficamente dos funciones algebraicas, una con símbolos no normalizados, superior, y la otra con normalizados, inferior.
SIMPLIFICACIÓN
Por simplificación de una función lógica se entiende la obtención de su mínima expresión. A la hora de implementar físicamente una función lógica se suele simplificar para reducir así la compejidad del circuiuto.
- MAPAS DE KARNAUGH
Este método consiste en formar diagramas de 2n cuadros, siendo n el número de variables. Cada cuadro representa una de las diferentes combinaciones posibles y se disponen de tal forma que se puede pasar de un cuadro a otro en las direcciones horizontal o vertical, cambiando únicamente una variable, ya sea en forma negada o directa.
Este método se emplea fundamentalmente para simplificar funciones de hasta cuatro variables. Para un número superior utilizan otros métodos como el numérico. A continuación pueden observarse los diagramas, también llamados mapas de Karnaugh, para dos, tres y cuatro variables.
Es una práctica común numerar cada celda con el número decimal correspondiente al término canónico que albergue, para facilitar el trabajo a la hora de plasmar una función canónica.
Para simplificar una función lógica por el método de Karnaugh se seguirán los siguientes pasos:
1º) Se dibuja el diagrama correspondiente al número de variables de la función a simplificar.
2º) Se coloca un 1 en los cuadros correspondientes a los términos canónicos que forman parte de la función.
3º) Se agrupan mediante lazos los unos de casillas adyacentes siguiendo estrictamente las siguientes reglas:
a) Dos casillas son adyacentes cuando se diferencian únicamente en el estado de una sola variable.
b) Cada lazo debe contener el mayor número de unos posible, siempre que dicho número sea potencia de dos (1, 2, 4, etc.)
c) Los lazos pueden quedar superpuestos y no importa que haya cuadrículas que pertenezcan a dos o más lazos diferentes.
d) Se debe tratar de conseguir el menor número de lazos con el mayor número de unos posible.
4º) La función simplificada tendrá tantos términos como lazos posea el diagrama. Cada término se obtiene eliminando la o las variables que cambien de estado en el mismo lazo.
A modo de ejemplo se realizan dos simplificaciones de una misma función a partir de sus dos formas canónicas:
F = Σ3(0,2,3,4,7) = Π3(1,2,6)
- POSTULADOS DE HUNTINGTON
1. Conjunto cerrado con respecto a los operadores binarios
2. Existen elemntos identidad para los operadores binarios
3. Existe un elemento identidad
4. Conmutatividad
5. Distributividad
6. Complemento, para cada elemento B existe un elemento denominado complemento
7. Existencia de los elementos del conjunto B
8. Dualidad, cualquier proposición booleana tiene una dual que se obtiene al cambiar 1 por 0 y + por ( ) e inversamente
- Teorema de Asociatividad
a+(b+c) = (a+b)+c
a . (b . c) = (a . b) . c
- Teorema de absorción
x+xy = x
x . xy = x
- Teorema de Morgan
El complemento de la suma es igual al producto de los complementos
- Teorema de adyacencia
- Diagramas de Venn
CODIFICACIÓN
Su característica es que entre una combinación de dígitos y la siguiente, sea ésta anterior o posterior, sólo hay una diferencia de un dígito.
OPERACIONES CON COMPLEMENTO
1. Dígitos extremos de la derecha si es 0 mantiene en 0 todos los 0 de las derecha se mantienen
2. El siguiente dígito complemento a r
3. Los restantes dígitos se complementan a r-1
RESTA CON COMPLEMENTO A R
1. Obtenemos el complemento a r del sustraendo
2. Si existe el acarreo lo ignoramos
RESTA CON COMPLEMENTO A R-1
1. Obtener el compelemento del sustraendo
2. Sumar al minuendo
3. Si existe acarreo sumamos en uno. Si no existe acarreo cambaimos signo y obtenemos complemento
700-427 -> 700-572= acarreo->1272+001=273
427-700 -> 427-299= no hay acarreo->726=-273
PROCESO DE RESTA EN UN MICROPROCESADOR
1. Obtenemos complemento (inversor)
2. Se realiza la suma (sumador)
3. Obtenemos complemento (inversor)
SISTEMAS NUMÉRICOS
Su origen lo encontramos en la India y fue introducido en España por los árabes. Su base es 10.Emplea 10 caracteres o dígitos diferentes para indicar una determinada cantidad: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. El valor de cada símbolo depende de su posición dentro de la cantidad a la que pertenece.
Es el sistema digital por excelencia, aunque no el único, debido a su sencillez. Su base es 2. Emplea 2 caracteres: 0 y 1. Estos valores reciben el nombre de bits (dígitos binarios). Así, podemos decir que la cantidad 10011 está formada por 5 bits.
Posee ocho símbolos: 0, 1, 2, 3, 4, 5, 6, 7. Su base es 8.Este sistema tiene una peculiaridad que lo hace muy interesante y es que la conversión al sistema binario resulta muy sencilla ya que, 8 = 23 . Así, para convertir un número de base 8 a binario se sustituye cada cifra por su equivalente binario
Está compuesto por 16 símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Su base es 16. Es uno de los sistemas más utilizados en electrónica, ya que además de simplificar la escritura de los números binarios, todos los números del sistema se pueden expresar en cuatro bits binarios al ser 16 = 24. La conversión de un número hexadecimal a uno binario es muy sencilla al igual que en el sistema octal
DESCRIPCIÓN DEL MODELO DE VON NEWMAN
Los ordenadores con arquitectura Von Neumann constan de cinco partes: La unidad aritmético-lógica o ALU, la unidad de control, la memoria, un dispositivo de entrada/salida y el bus de datos que proporciona un medio de transporte de los datos entre las distintas partes
Un ordenador con arquitectura Von Newman realiza o emula los siguientes pasos secuencialmente:
1.- Obtiene la siguiente instrucción desde la memoria en la dirección indicada por el contador de programa y la guarda en el registro de instrucción.
2.- Aumenta el contador de programa en la longitud de la instrucción para apuntar a la siguiente.
3.- Descodifica la instrucción mediante la unidad de control. Ésta se encarga de coordinar el resto de componentes del ordenador para realizar una función determinada.
4.- Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del programa, permitiendo así operaciones repetitivas. El contador puede cambiar también cuando se cumpla una cierta condición aritmética, haciendo que el ordenador pueda 'tomar decisiones', que pueden alcanzar cualquier grado de complejidad, mediante la aritmética y lógica anteriores.
5.- Vuelve al paso 1