9 oct 2012

CAPITULO III: ESTRUCTURA DEL COMPUTADOR CLASICO



CURSO DE ASSEMBLER DEL MICROPROCESADOR 8086/8088
Cap 3.- Estructura del Computador Clásico

Un computador digital puede entenderse como un sistema que:
  • EXPLORA: Busca secuencialmente las instrucciones de la memoria del sistema, que junto con los datos constituyen un programa.
  • INTERPRETA: Decodifica todo este programa de manera que sea entendible para la maquina.
  • EJECUTA: Genera todas las señales de control necesarias para realizar las operaciones que ordenan las instrucciones.
  • Para ello el sistema dispone de un hardware o sea de una constitución física 
  • Circuitos que elaboran funciones lógicas mas o menos complejas, interconectados sobre tarjetas agrupadas en elementos funcionales de caracteristicas definidas. 
  • Formando racks o armarios, con sus periféricos, teletipos, consolas de visualización  impresoras, perforadoras y lectoras de tarjetas, unidades de disco y cintas magnéticas, etc. 
  •  Cada computador dispone de un conjunto de instrucciones particular que lo caracteriza, simultáneamente a como lo caracteriza su harware. 
  • Este conjunto de instrucciones forma lo que se llama software básico y define completamente al computador desde el punto de vista de la programación. 
  • El software no se limita al conjunto de instrucciones sino que incluye también programas inteligibles por el computador, por tanto escritos de acuerdo con el software básico y que permiten interpretar programas escritos con lenguajes mas evolucionados.
  • Los computadores explicados de esta manera son los llamados computadores de propósito general o programa almacenado.
  • Son lo que se puede hacer realizar prácticamente cualquier trabajo 
  • La estructura de un computador clásico es el que muestra en la Figura 4.

Figura 4.Estructura de un computador clásico


  • El esquema responde básicamente a los preceptos propuestos por Charles Babbage ya en el siglo XIX, quien estableció los principios básicos para la construcción de los computadores modernos en su “maquina analítica”.
  • Aunque la maquina de Babbage era de construcción mecánica y los computadores actuales son electrónicos, las funciones desarrolladas por las diferentes secciones son casi las mismas.
Unidad Central de Proceso
  • No es otra cosa  que la ALU ampliada con otros elementos mas que mejoran sus desempeño; tales como acumuladores, registros de estado o banderas y otros registros rápidos de trabajo. 
Unidades de E/S
  • Son las encargadas de gestionar la transferencia de información desde/hacia los dispositivos de E/S. Estan construidos basicamente por multiplexores y una serie de registros en los que se deposita temporalmente la información en circulación.
Unidades de Acoplamiento
  • Conocidas mas como interfaces, realizan la tarea de adecuar los diferentes formatos de la información con que trabajan los dispositivos de E/S a la que maneja la unidad de proceso y control. 
Dipositivos de E/S o perifericos
  • Hacen que el sistema pueda interactuar con el programador, algunos ejemplos son los teletipos, consolas de visualización, impresoras, perforadoras y lectoras de tarjetas, unidades de disco y cintas magnéticas, etc.
  • La anterior estructura ha sido la primitiva y fue evolucionando, variando no tanto en esencia, sino en forma. 
  • Hasta llegar a la actual estructura mostrada en el siguiente esquema Figura 5. 
  • Puede verse que tanto en uno como en otro esquema las unidades funcionales  son prácticamente las mismas.


 FIGURA 5. Estructura de un Computador Moderno

  • Lo que ha sufrido modificaciones ha sido las interconexiones de las unidades funcionales que modernamente se realizan por intermedio de buses y antes no se realizaban así. 
  • La interconexion de buses ha representado un gran ahorro de interconexiones y una simplificación desde el punto de vista estructural 
  • Puesto que todas la unidades van colgadas de los mismos nodos, su acceso se realiza prácticamente de la misma forma, etc.
  • Esto ha sido posible gracias a la evolución tecnológica que ha permitido obtener sistemas de tipo TRI-STATE, que permiten formar buses, estructuras mas simples y de potencia cada vez mayor. 
  • Un TRI-STATE, como sugiere su nombre, es un dispositivo que presenta tres estados: 
  • Estado de conducción 0
  • Estado de conducción 1
  • Estado de alta impedancia
 Estructura del Computador Moderno
  • Es posible conectar y desconectar cualquier dispositivo, que este conectado al bus del sistema, a través de este dispositivo, llevándolo a su estado de alta impedancia. 
  • El siguiente esquema Figura 6. Se usara como base para toda la explicación de las estructura de un computador digital.


 FIGURA 6. Estructura del computador moderno


  • En el esquema se distinguen los siguientes sub-buses:
  • Bus de alimentación
  • Bus de dirección
  • Bus de datos
  • Bus de control
Y las siguientes unidades funcionales
  • Unidad de memoria
  • Unidad de control
  • Unidad de proceso
  • Controladores del sistema
  • Controladores de dispositivos de E/S o interfaces
  • Dispositivos de E/S
  • Fuente de alimentación 
BUSES
BUS DE ALIMENTACION
  •  Mediante este bus se hace llegar a todos los componentes del sistema la energía eléctrica necesaria para su funcionamiento desde la fuente de alimentación. 
  • La cantidad de lineas y los valores nominales de los voltajes que maneja este bus dependen del sistema.
  • Algunos valores comunes son:  +5 voltios ,   -5 voltios,+12 voltios,   -12 voltios.
BUS DE CONTROL
           El bus de control es portador  de todas las señales necesarias para el control del sistema, tales como: 
  • Señales de termporizacion, impulsos de reloj o tiempos elementales o estados que sincronizan el funcionamiento de las diferentes partes del sistema. 
  • Señales de sentido de los datos, como las ordenes de lectura o escritura. 
  • Señales de ocupación  a travez de las cuales otros dispositivos maestros (dispositivos de E/S, controladores del sistema, etc) se informan, que el bus del sistema esta ocupado, por tanto no pueden acceder a ella. 
  • Interrupciones, solicitudes de diferentes dispositivos para que se interrumpa el proceso en curso y se active una rutina de servicio pertinente al dispositivo solicitante. 
BUS DE DIRECCIONES 
  • La información que transporta este bus, sirve para distinguir o direccionar una localidad de memoria de las miles que tiene la memoria. 
  • Así como también para distinguir uno de los varios ports (puertas lógicas que son la vía de comunicación con los dispositivos externos de E/S) que tiene el sistema. 
  • Esta información nos permite acceder (leer/escribir) de manera controlada y ordenada a las diferentes posiciones de memoria y ports. 
  • Las informaciones del bus de direcciones las proporciona o bien el contador de programa (también llamado puntero de instrucciones) en busca de una instrucción  o bien uno de los registro auxiliares de la unidad de control y proceso en busca de un dato. 
BUS DE DATOS
  • Este bus transporta la información relacionada con las instrucciones o tareas que debe realizar el sistema, y los datos que se han de procesar. Tanto instrucciones como datos se mueven a través de todo el sistemas vía este bus. 
  • Si bien, la información del bus de direcciones permite identificar una determinar la localidad de memoria o un port, el bus de datos conduce el contenido de dicha localidad hacia/desde la unidad de memoria desde/hacia la unidad de control y proceso.
  • La información del bus de datos la utilizan el:
  • acumulador (ACU)
  • los registro auxiliares de trabajo (RAT), 
  • la unidad aritmética lógica (ALU), 
  • el registro de instrucciones (RI) 
  • En cada operación de búsqueda de instrucciones, y el buffer de datos de memoria en las operaciones de Lectura/Escritura de/en memoria.
  • El numero de bits del bus limita la magnitud de los datos que se podrían manejar en cada ciclo de operación y la velocidad con que de manipulan.
UNIDADES FUNCIONALES
FUENTE DE ALIMENTACION
  • Es el dispositivo capaz de entregar al sistema computacional la energía eléctrica suficiente  y adecuada para su correcto funcionamiento.
  • Fundamentalmente sus función consiste en convertir la tensión alterna de la red de distribución de energía  domiciliaria en tensión continua, que es con la que trabaja el sistema. 
  • Los valores de voltajes que se debe entregar dependen del sistema, algunos valores comunes son:+5 voltios ,   -5 voltios, +12 voltios,   -12 voltios.
UNIDAD DE PROCESO
  • Es la encargada de realizar las operaciones aritméticas y lógicas  así como las de transferencias entre  los diferentes registros de esta unidad y la memoria. 
  • Las operaciones se realizan por lo general:
  • entre registros, 
  • registro y memoria,
  • registro o memoria y el acumulador,
  • o entre el dato inmediato del programa y el acumulador o registro.
Esta unidad esta constituido básicamente por: 
La Unidad Aritmética y Lógica (ALU)
  • es un circuito combinacional, recibe información procedente de la memoria o registros, realiza con ellos las operaciones de transferencias, aritméticas y lógicas y devuelve los resultados obtenidos. 
El acumulador (ACU)
  • es un dispositivo secuencial, un registro auxiliar que sirve para almacenar temporalmente datos y resultados intermedios. 
El acumulador (cont.)
  • En algunos procesadores el resultado de toda operación queda siempre en el acumulador, en cambio otros son mas versátiles en este aspecto, estos almacenan en el acumulador un registro  de trabajo o una localidad de memoria. 
El Registro de Banderas
  • Es un registro formado por biestables en el que cada bit es un indicador de estado o bandera (flag).
El Registro de Banderas(cont.)
  • Que se encargan de informar acerca del estado del proceso que se esta ejecutando (p.e. El flag de acarreo CF, el flag de cero ZF, etc) o del estado del sistema (p.e. El flag de interrupciones  IF, etc) 
Los registros auxiliares de trabajo o indice
  • Son registros rápidos en lo que se almacena temporalmente datos, resultados parciales y algunas direcciones. 
UNIDAD DE CONTROL
  • En realidad llega a ser el corazón del computador digital. 
  • Es la encargada de: 
  • rescatar las intrucciones de memoria (fetch), 
  • preservarlas temporalmente, 
  • decodificarlas 
  • y finalmente ejecutarlas.
Contiene en su interior las siguientes partes: 
Base de tiempos
  • Genera los pulsos de reloj que sincronizan los diferentes estados elementales del computador. 
El contador de programa (PC)
  • Llamado tambien puntero de instrucciones; es un contador binario que guarda la dirección de la próxima instrucción a ejecutarse, luego de ejecutarse se incrementa automáticamente direccionando la siguiente instrucción, y asi sucesivamente.
El registro de instrucciones (IR)
  • Guarda temporalmente las direcciones obtenidas de la memoria en la fase de búsqueda de instrucción (fetch). 
El decodificador de instrucciones (ID)
  • Que recibe del IR el código de operación de las instrucciones, la interpreta y la envía a la matriz de control.
La matriz de control (MC)
  • Es el dispositivo secuenciador o generador de microinstrucciones, establece todas las señales:
  • de apertura de las puertas lógicas y relojes de registros, que hacen transferir información de unos a otros registros a través de los buses internos de cada unidad
  • de orden de escritura y lectura, etc. 
  • Por tanto la unidad de control es la encargada de hacer ejecutar las diferentes fases u operaciones de un computador digital.
El puntero de pila o stack (SP)
  • Es la que permite direccionar la pila, básicamente la pila es un dispositivo de memoria de tipo LIFO, es una unidad que permite almacenar información pertinente al control de flujo del programa, como ser: direcciones de retorno de diferentes subrutinas del programa u otro tipo de información de control.
  • Dependiendo del sistema el stack puede estar ubicado o formando parte de la unidad de control o siendo parte de la memoria; en este ultimo caso, el contenido del SP debe salir por el bus de direcciones y direccionar una localidad de memoria en la que se encuentra el tope de la pila.
Unidad de Memoria
  • La unidad de memoria es fundamentalmente el almacén tanto de las instrucciones como datos, cuyo conjunto define un programa. 
  • Básicamente es un circuito digital secuencial que se usa para almacenar una gran cantidad de posiciones binarias. 
  • La memoria en un computador esta formado por un conjunto de celdas direccionables aleatoriamente por el bus de direcciones. Cada posición de memoria tiene un asociado en ella un  numero que lo identifica y viene a ser su dirección, ver Figura 7. 
  • Por lo general, hasta en los sistemas grandes cada posición o localidad de memoria contiene 8 bits, es dicir esta organizado en bytes 

Figura 7. Organización de la memoria
Controladores del Sistema
  • Estos dispositivos liberan a la unidad de control y proceso algunas tareas, son los que permiten al sistema realizar tareas independientemente de la unidad de control y proceso, tales como:
  • Los DMAs (Direct Memory Acces) que posibilitan el acceso directo a memoria independientemente de la unida de control y proceso.
  • Los PICs (Programmable Interrupter Controler) que libera la unidad de control y proceso de la administración de interrupciones.
Controladores de disp. de E/S
  • Llamados también unidades de acoplamiento o interfaces. Un dispositivo de E/S o periférico no se conecta directamente, sino a través de este dispositivo que actúa de interfaz  entres la unidad de control y proceso y del dispositivo de E/S. 
  • Es decir tiene una tarea de compatibilizar algunos parámetros que son diferentes, tal como tiempos, niveles de corriente, formato de serie a paralelo o formato de digital a analógico, etc.
  • Algunos ejemplos son:
  • Controlador de tubos de rayos catodicos
  • Controlador de unidades de disco flexible
DISPOSITIVOS DE E/S
  • Conocidos mayormente como periféricos  son lo que hacen posible el uso practico del ordenador, facilitan las tareas de programación y logran sistemas interactivos.
  • Existe de todos los tipos y preferencias, sin embargo los mas comunes son:
  • El teclado
  • Pantalla de TRC o monitor
  • Unidades de disco duro
  • Unidades de disco flexible
  • Impresoras
  • Etc.
UNIDAD CENTRAL DE PROCESO (CPU) Y EL MICROPROCESADOR 
  • De lo explicado anteriormente se deduce que la unidad de control ordena y dirige la realización de procesos  y la unidad de proceso lo concretiza. 
  • Si en el esquema del ordenador genérico  se unen los bloques correspondientes a la unidad de proceso y control, se obtiene uno solo que recibe el nombre de Unidad Central de Proceso o CPU, tal como se muestra en la Figura 8.

 Figura 8. Unidad Central de Proceso (CPU)
  • La disminución de la complejidad de la CPU, permitieron la realización de la unidad central de proceso en un solo circuito integrado (chip) bajo el nombre genérico de microprocesador. Figura 9.

 Figura 9. Unidad central de proceso (CPU) 
  • En la actualidad la configuración de los microprocesadores puede ser tan compleja y poderosa como un procesador de un gran computador . Revisaremos mas adelante la estructura de algunos de ellos como los 8088, 8086, 80286 y 80386 de Intel Corp. Comprobaremos que en efecto son muy poderosos así como complejos.

No hay comentarios: