Multiplexores, Circuitos y Arquitectura de Computadoras
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 23,88 KB
El Multiplexor (MUX)
El multiplexor (MUX) es un circuito combinacional que tiene varios canales de datos de entrada y un canal de salida. Solo un canal de la entrada pasará a la salida, el cual es escogido mediante señales de control.
Multiplexor de 4 canales
Si utiliza un multiplexor de 4 canales de entrada:

Una de las cuatro canales de entrada será escogido para pasar a la salida, lo cual se logra con ayuda de las señales de control o selección.
La cantidad de líneas de control que debe tener el multiplexor depende del número de canales de entrada. En este caso, se utiliza la siguiente fórmula:
Número de canales de entrada = 2n
donde n es el número de líneas de selección.
- Para un multiplexor de 4 canales de entrada, n = 2
- Si la cantidad de canales de entrada fuese 8, las líneas de control serían 3. La fórmula: 8 = 2n, n = 3
- Si la cantidad de canales de entrada fuese 16, las líneas de control serían 4. La fórmula: 16 = 2n, n = 4
- Si solo hay 6 canales de entrada, se utiliza un multiplexor de 3 líneas de control (con dos líneas de control no es suficiente, pues solo llega hasta 4)
- Si hubiesen 13 canales de entrada, se utiliza un multiplexor de 4 líneas
- Si hubiesen solo 2 canales de entrada, sería necesario un multiplexor con una línea de selección.
Normalmente se utilizan multiplexores con canales de entrada y salida de 1 bit.
Sumador Completo
Un sumador completo es un circuito combinacional que forma la suma aritmética de tres bits de entrada. Consta de tres entradas y dos salidas. Dos de las variables de entrada, que se indican por A y B, representan los dos bits significativos que se van a sumar. La tercera entrada, Cinc, representa el acarreo que se lleva de la posición previa menos significativa. Son necesarias dos salidas debido a que la suma aritmética de tres dígitos binarios varía en valor de 0 a 3, y el 2 o 3 binarios requieren 2 dígitos. Las dos salidas se denotan por los símbolos S para la suma y C para el acarreo que se lleva. La variable S da el valor del bit menos significativo de la suma. La variable binaria C da el acarreo de salida. La tabla de verdad del sumador completo es como sigue:
A | B | Cinc | C | S |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 | 1 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 1 |
1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 1 | 0 |
1 | 1 | 1 | 1 | 1 |
UAL
En la UAL se realizan las operaciones básicas (suma, resta, división, multiplicación), el manejo lógico y genera los resultados. La UC (unidad de control) es la encargada de enviarle las instrucciones.
Operaciones
0+0=0 1+0=1 0+1=1 1+1=0 resto 1. Operaciones: suma, AND, NOT, OR.
Circuitos Combinacionales vs Secuenciales
Circuitos Combinacionales
Un circuito combinacional es un circuito cuya salida es función exclusivamente del estado de sus entradas. Está compuesto por puertas lógicas y no deben presentar realimentación, es decir, ninguna salida de ningún componente debe usarse como entrada del circuito.
A--------|-------|------A.B B--------| |-------not c C--------|_______|---AorC y AorA(es una salida aparte)
Circuitos Secuenciales
El comportamiento de un circuito secuencial se determina mediante las entradas, las salidas y los estados de sus flip-flops. Tanto las salidas como el estado siguiente son función de las entradas y del estado presente. El análisis de los circuitos secuenciales consiste en obtener una tabla o un diagrama de las secuencias de tiempo de las entradas, salidas y estados internos.
A--------|-------|-------- | |------- *-------- |_______|---|salida realimentacion*
Circuitos Secuenciales Biestables Flip-Flop
Son los que funcionan en sincronismo con una señal de reloj. A estos también se les llama circuitos secuenciales sincronizados, y son el tipo de circuito más utilizado en la práctica, ya que son relativamente sencillos de diseñar. Un circuito secuencial síncrono emplea señales que afectan los elementos de almacenamiento solo a instantes discretos de tiempo. La sincronización se logra por medio de un dispositivo de sincronía, llamado generador de reloj, que produce un tren periódico de pulsos de reloj, a intervalos fijos.
Esto significa que en los biestables síncronos, la tabla de transición solo se cumple cuando se activa la señal de reloj. Si la señal de reloj no se activa, no se produce ninguna transición. Por tanto, aunque en las entradas haya una combinación de señales que conduzcan a una transición de estado, ésta no se producirá hasta que se active la señal de reloj, y no volverá a producirse una nueva transición hasta que se active de nuevo la señal de reloj.
Tipos de Flip-Flop
Biestable R-S (Latch)
El único biestable que tiene sentido como asíncrono es el R-S. Los demás requieren reloj para un correcto funcionamiento. Este biestable tiene dos entradas:
- R (Reset): permite poner a 0 el estado del biestable.
- S (Set): permite ponerlo a 1.
Tiene dos salidas complementarias: Q y Q'.
Biestable J-K
El flip-flop J-K es uno de los más ampliamente utilizados. Las denominaciones J y K de sus entradas no tienen ningún significado conocido, excepto el hecho de que son dos letras consecutivas del alfabeto. Es similar al R-S, pero elimina la indeterminación que se presenta cuando las dos entradas son "1". En este caso, para esa combinación el estado cambia de valor, es decir, si tenía el valor "0" pasa a valor "1" y viceversa. La razón de utilizar el biestable R-S es porque es mucho más simple y económico que el biestable J-K. Hay muchos casos en que tenemos la certeza de que el circuito conectado al biestable no podrá activar simultáneamente las dos entradas a la vez ("1").
Biestable D (Datos)
Solo tiene una entrada D, y su funcionamiento es tal, que el estado siguiente Q(t+1) es la entrada D, independientemente del estado actual del biestable Q(t). Puede observarse que el nuevo estado coincide siempre con la entrada D. Si lo definimos así, esto no es un biestable, ya que no almacena ninguna información. Lo que ocurre es que este biestable no tiene sentido como asíncrono. El biestable D síncrono es un elemento típico de almacenamiento gobernado por la señal de reloj. La señal lógica que haya en la entrada D, no modificará el estado Q hasta que se active la señal de reloj. Esto constituye una memoria elemental de 1 bit, ya que el valor presente en la entrada D, queda almacenado al llegar la señal de reloj. Para cambiar el contenido de esta celdilla de memoria, no hay más que colocar el nuevo valor en la entrada D y activar la señal de reloj, momento en el cual el nuevo valor queda almacenado en el biestable.
Biestable T
Tiene una única entrada T. Si esta entrada está inactiva ("0"), el estado no cambia. Si T está activa ("1"), el estado cambia.
Memorias
Memoria Primaria
La memoria es la parte de la computadora en la que se almacenan programas y datos. Sin una memoria en la cual los procesadores puedan leer y escribir información, no existirían las computadoras digitales de programa almacenado. Las memorias consisten en varias celdas, cada una de las cuales puede almacenar un elemento de información. Cada celda tiene un número, su dirección, con el cual los programas pueden referirse a ella. Si un programa tiene n celdas, tendrán direcciones de 0 a n-1. Todas las celdas de una memoria contienen el mismo número de bits. Si una celda consta de k bits, podrá contener cualquiera de 2k combinaciones de bits distintas. La importancia de la celda es que es la unidad direccionable más pequeña. Los bytes se agrupan en palabras.
Memoria Caché
Las palabras de mayor uso se mantienen en el caché. Cuando la CPU necesita una palabra, primero la busca en el caché. Solo si la palabra no está ahí recurre a la memoria principal. Si una fracción sustancial de las palabras está en el caché, el tiempo de acceso promedio puede reducirse considerablemente. El caché se encuentra lógicamente entre la CPU y la memoria principal.
Clasificación RAM/ROM
RAM (Random Access Memory)
La memoria de acceso aleatorio (RAM) se utiliza como memoria de trabajo para el sistema operativo, los programas y la mayoría del software. Es allí donde se cargan todas las instrucciones que ejecutan el procesador y otras unidades de cómputo. Se denominan «de acceso aleatorio» porque se puede leer o escribir en una posición de memoria con un tiempo de espera igual para cualquier posición, no siendo necesario seguir un orden para acceder a la información de la manera más rápida posible. Puedo leer cualquier posición de la memoria en cualquier momento. Es una memoria volátil: necesita energía para mantener los datos. Tiempo de acceso: tiempo en el que efectivamente se puede acceder a una celda de la memoria. Encontrar la celda. Tiempo de lectura: leer de la celda. Generalmente, la lectura es más rápida que la escritura. Tiempo de escritura: escribir en una celda. El tiempo de lectura y escritura determinan la velocidad de operación (se busca que se tarde lo menos posible). Depende la tecnología de la memoria RAM.
Tipos de Memoria RAM
- SRAM (Static RAM): estas memorias tienen la propiedad de que su contenido se conserva en tanto se sigue alimentando el circuito: segundos, minutos, horas y hasta días. Las RAM estáticas son muy rápidas (un tiempo de acceso típico es de unos cuantos nanosegundos). Se construye con circuitos similares a los flip-flops.
- DRAM (Dynamic RAM): es una matriz de celdas. Cada bit de una RAM dinámica debe refrescarse (cargarse de nuevo) cada pocos milisegundos para evitar que los datos se pierdan.
- SDRAM (Synchronous DRAM): es un híbrido de RAM estática y dinámica y es controlado por un solo reloj sincrónico. DDR (Dual Data Rate)
Operación en memoria. Búsqueda por direcciones. Operación de control: lectura o escritura. Se lee o escribe – de memoria a UAL es lectura – de UAL a memoria es escritura.
ROM (Read Only Memory)
La memoria de solo lectura (ROM) es un medio de almacenamiento utilizado en ordenadores y dispositivos electrónicos, que permite solo la lectura de la información y no su escritura, independientemente de la presencia o no de una fuente de energía. Como la ROM no puede ser modificada, solo resulta apropiada para almacenar datos que no necesiten ser modificados durante la vida de este dispositivo. Con este fin, la ROM se ha utilizado en muchos ordenadores para guardar tablas de consulta, utilizadas para la evaluación de funciones matemáticas y lógicas. Datos almacenados de forma permanente y, por lo tanto, su contenido no puede ser modificado de ninguna forma. Mantiene en memoria a pesar de perder energía. No puede ser alterada la información. La BIOS (Basic Input Output System), o el sistema de arranque oportuno del PC normalmente se encuentran en una memoria ROM.
- BIOS: El Sistema Básico de Entrada/Salida (BIOS) es un programa informático inscrito en componentes electrónicos de memoria Flash existentes en la placa base. Este programa controla el funcionamiento de la placa base y de dichos componentes. Se encarga de realizar las funciones básicas de manejo y configuración del ordenador.
- PROM: PROM es el acrónimo en inglés de programmable read-only memory, que significa «memoria de solo lectura programable». La memoria puede ser programada (pueden ser escritos los datos) una sola vez a través de un dispositivo especial, un programador PROM.
- EPROM: EPROM son las siglas de Erasable Programmable Read-Only Memory (ROM programable borrable). Una vez programada, una EPROM se puede borrar solamente mediante exposición a una fuerte luz ultravioleta. Las EPROM se reconocen fácilmente por una ventana transparente en la parte alta del encapsulado, a través de la cual se puede ver el chip de silicio y que admite la luz ultravioleta durante el borrado. Las EPROM pueden reutilizarse.
- EEPROM: EEPROM o E²PROM son las siglas de Electrically Erasable Programmable Read-Only Memory (ROM programable y borrada eléctricamente). Es un tipo de memoria ROM que puede ser programada, borrada y reprogramada eléctricamente, a diferencia de la EPROM que ha de borrarse mediante un aparato que emite rayos ultravioleta.
- FLASH: La memoria flash —derivada de la memoria EEPROM— permite la lectura y escritura de múltiples posiciones de memoria en la misma operación. Gracias a ello, la tecnología flash, siempre mediante impulsos eléctricos, permite velocidades de funcionamiento muy superiores frente a la tecnología EEPROM.
Clasificación de Instrucciones
Operaciones Diádicas
Son las que combinan dos operandos para producir un resultado. Otro grupo de operaciones diádicas incluye las operaciones booleanas (AND, OR, NOT, OR EXCLUSIVO, NOR y NAND). Incluye las operaciones aritméticas, incluida la negación.
Operaciones Monádicas
Tienen un operando y producen un resultado. Dado que se tiene que especificar una dirección menos que en las diádicas, las instrucciones a veces son más cortas, aunque en muchos casos también hay que especificar otra información. Las instrucciones para desplazar o someter a rotación el contenido de una palabra o bytes son instrucciones monádicas. Operaciones INC, CLR. Operaciones lógicas y el desplazamiento.
Modos de Direccionamiento
- Direccionamiento Inmediato: La forma más sencilla de un operando es que la parte de dirección de la instrucción contenga el operando mismo en lugar de una dirección u otra información que describa la ubicación del operando. Se obtiene automáticamente de la memoria al mismo tiempo que se obtiene la instrucción misma, por tanto, está disponible inmediatamente para usarse. No requiere una referencia extra a la memoria para obtener el operando.
MOV BX, C5D4
- Direccionamiento Directo:
- Para especificar un operando en la memoria sencillamente se da su dirección completa.
- La instrucción contiene la dirección donde está el dato.
MOV BX, [2000]
2000
D42001 C
- Direccionamiento Indirecto: No todos los procesadores lo aceptan. Instrucciones anidadas que se resuelven de adentro hacia afuera.
MOV BX, [[0300]]
0300 00301 20
- Direccionamiento Indexado:
- Índice que contiene la dirección donde está el dato (indirecta).
MOV SI, 2000
- Source Index
MOV BX, [SI]
Los registros de propósito general son el AX, BX, CX, y DX, de 16 bits. Cada uno de ellos se divide en dos registros de 8 bits, llamados AH y AL, BH y BL, CH y CL, y, DH y DL, H significando High (alto) y L significando Low (bajo), indicando la parte alta o la parte baja del registro correspondiente de 16 bits. Un programa podía usar tanto los registros de 16 bits como los registros de 8 bits. Aparte del uso general de los registros para hacer cálculos aritméticos y lógicos, existen instrucciones que usan estos registros con un uso particular especializado, como se indica a continuación:
- Registro AX: El registro AX es el registro acumulador, es utilizado para operaciones que implican entrada/salida, y multiplicación y división (estas dos últimas en conjunto con el registro DX)
- Registro BX: El registro BX es el registro base, y es el único registro de propósito general que puede ser un índice para direccionamiento indexado
- Registro CX: El registro CX es conocido como el registro contador. Puede contener un valor para controlar el número de veces que un ciclo se repite o un valor para corrimiento de bits
- Registro DX: El registro DX es el registro de datos. En algunas operaciones se indica mediante este registro el número de puerto de entrada/salida, y en las operaciones de multiplicación y división de 16 bits se utiliza junto con el acumulador AX
Buses
Dentro de la tarjeta madre a veces hay dos buses, uno de alta velocidad y uno de baja velocidad. Cada dispositivo de E/S consta de dos partes: una que contiene casi todos los circuitos electrónicos, llamada controlador, y una que contiene el dispositivo de E/S propiamente dicho. La tarea de un controlador es dominar su dispositivo de E/S y manejar su acceso al bus. Un controlador que lee datos de la memoria o los escribe en ella sin intervención de la CPU está efectuando un DMA, acceso directo a la memoria. Una vez completada la transferencia el controlador, normalmente, genera una interrupción que obliga a la CPU a dejar de ejecutar su programa actual y comenzar a ejecutar un procedimiento especial llamado manejador de interrupciones. El bus no solo es utilizado por los controladores de E/S, sino también por la CPU para obtener instrucciones y datos. Si la CPU y un controlador de E/S quieren usar el bus al mismo tiempo, un chip llamado árbitro de bus decide quién tendrá el acceso.
Tipos de Buses
- Bus ISA (Arquitectura estándar de la industria): Es un bus de 16 bits que contiene 36 líneas. Es básicamente el bus de la PC/AT a 8.33 MHz. La ventaja de este bus es que mantiene la compatibilidad con las máquinas y las tarjetas existentes.
- Bus PCI (Interconexión de componentes periféricos): El bus PCI opera hasta 66 MHz y puede manejar transferencias de 64 bits, para un ancho de banda total de 528 MB/s. Con este tipo de capacidad es posible tener video de pantalla completa y pleno movimiento. Aún tiene dos problemas. Primero, no es lo bastante bueno como para ser bus de memoria. Segundo, no es compatible con todas las viejas tarjetas ISA que todavía existen. La solución que ideó Intel fue diseñar computadoras con tres o más buses. Dos componentes clave de esta arquitectura son los dos chips de puente. El puente PCI conecta la CPU, la memoria y el bus PCI. El puente ISA conecta el bus PCI al bus ISA y también apoya uno o dos discos IDE. Es asincrónico. Todas las transacciones se efectúan entre un amo, llamado iniciador, y un esclavo, llamado objetivo.
- Bus USB (Bus Serial Universal): Los objetivos principales del USB son:
- Los usuarios no deben tener que ajustar interruptores ni puenteadores en las tarjetas o dispositivos.
- Los usuarios no deben tener que abrir la caja para instalar dispositivos de E/S.
- Solo debe haber un tipo de cable.
- Los dispositivos de E/S deberán obtener su energía del cable.
- Se deberán poder conectar hasta 127 dispositivos.
- El sistema deberá apoyar dispositivos de tiempo real.
- Los dispositivos deberán poder instalarse mientras la computadora está funcionando.
- No se deberá requerir reiniciar después de instalar un nuevo dispositivo.
- El nuevo bus y sus dispositivos de E/S deberán ser de bajo costo.
Un sistema USB consiste en un eje raíz que se conecta al bus principal. Este eje tiene zócalos para cables que se pueden conectar a dispositivos de E/S o a ejes de expansión. El cable consta de cuatro hilos: dos para datos, uno para alimentación y uno para tierra. Cuando se conecta un nuevo dispositivo, el eje raíz detecta este suceso e interrumpe el sistema operativo. Luego éste consulta al dispositivo para averiguar qué es y qué ancho de banda de USB necesita. Si el sistema operativo decide que hay suficiente ancho de banda para el dispositivo, asignan a éste una dirección única y coloca esta dirección y otra información en los registros de configuración dentro del dispositivo.
Calcular ancho de banda dada la frecuencia del reloj y la data: Data Bit / 8 * Clock Bus = MB/SEC
Técnica de transmisión -> Multiplicador x 2 (dibit): transmito por cada ciclo de reloj 2 bits en lugar de 1 (sin modificar la frecuencia y los datos).
Celda Básica
La celda de memoria es la unidad básica de cualquier memoria, capaz de almacenar un bit en los sistemas digitales. Una celda de memoria es un registro compuesto de n a n-1 celdas. El tamaño de la celda coincide con el bus de datos. La cantidad de bits del bus de direcciones me dice la cantidad de celdas.
Representar una pastilla (chip) de memoria de la siguiente estructura: 64 ki x 8
- 64 x 1024 = 65536 – cantidad de celdas direccionables (direcciones).
- 8 – tamaño de la celda en bits (datos).
- ¿Cuántas líneas de dirección y sus nombres?
- 65536 = 216 - 16 líneas – A0 a A15
- ¿Cuántos bytes puede guardar?
- 64 kbytes
- ¿Qué tamaño de celda tiene?
- 8 bits
- ¿Cuántas celdas básicas hay?
- 64 ki
- ¿Cuántos bits se pueden almacenar?
- 64k * 8 = 512 kib
- ¿Qué tamaño tiene el bus de datos y cómo se llama cada línea?
- 8 – D0 a D7
- ¿Cuántas líneas de control hay y cómo se llaman?
- RW negado – cuando vale 0 escribe, y cuando vale 1 lee
- Chip Select (CS)
- ¿Cuántas líneas de alimentación hay y cómo se llaman?
- 2 – Una positiva y una negativa (GND y VCC).
Representar una pastilla (chip) de memoria de la siguiente estructura: 32 mega x 16
- 32 x 1024 x 1024 = 33,554,432 – cantidad de celdas direccionables (direcciones).
- 16 – tamaño de la celda en bits (datos).
- ¿Cuántas líneas de dirección y sus nombres?
- 33,554,432 = 225 - 25 líneas – A0 a A24
- ¿Cuántos bytes puede guardar?
- Cada celda guarda 2 bytes -> 64 mega
- ¿Qué tamaño de celda tiene?
- 16 bits
- ¿Cuántas celdas básicas hay?
- 32 megabits
- ¿Cuántos bits se pueden almacenar?
- 512 megabits
- ¿Qué tamaño tiene el bus de datos y cómo se llama cada línea?
- 16 – D0 a D15
- ¿Cuántas líneas de control hay y cómo se llaman?
- RW negado – cuando vale 0 escribe, y cuando vale 1 lee
- Chip Select (CS)
- ¿Cuántas líneas de alimentación hay y cómo se llaman?
- 2 – Una positiva y una negativa (GND y VCC).