Story Transcript
TEMA 3: COMPONENTES, ESTRUCTURA Y FUNCIONAMIENTO DE LA UCP 1.− Introducción. 2.− El microprocesador y la UCP. 2.1.− Generalidades. 2.2.− El microprocesador de 8 bits. El Intel 8088. 2.3.− El microprocesador de 16 bits. El Intel 8086/80286. 2.4.− El microprocesador de 32 bits. El Intel 80386/80486 3.− Memoria central de la UCP. 3.1.− Generalidades. 3.2.− Áreas de una memoria. 3.3.− Direccionamiento de la memoria. 3.4.− Unidades de memoria. 4.− Unidad de control. 4.1.− Generalidades. 4.2.− Seguimiento de instrucciones por la UC. Ciclos de instrucción y de ejecución. 4.3.− Registros y componentes de la UC. 4.3.1.− Contador de instrucciones. 4.3.2.− Registro del código de operación. 4.3.3.− Los Flip.flops de la UC. 5.− Unidad Aritmético−Lógica (UAL) 5.1.− Generalidades. 5.2.− Partes de la UAL. 5.2.1.− Circuito semisumador. 5.2.2.− Circuito sumador. 5.2.3.− Circuito complementador.
1
5.2.4.− Registros de la UAL. 6.− Buses. 6.1.− Bus de direcciones. 6.2.− Bus de datos. 1.− Introducción. El ordenador recibe y envía la información a través de los periféricos por medio de los canales. La UCP es la encargada de procesar la información que le llega al ordenador. El intercambio de información se tiene que hacer con los periféricos y la UCP. Todas aquellas unidades de un sistema exceptuando la UCP se denomina periférico, por lo que el ordenador tiene dos partes bien diferenciadas, que son: la UCP (encargada de ejecutar programas y que esta compuesta por la memoria principal, la UAL y la UC) y los periféricos (que pueden ser de entrada, salida, entrada−salida y comunicaciones). 2.− El microprocesador y la UCP. 2.1.− Generalidades. El microprocesador es un circuito integrado a gran escala. Esta formado por la UAL y la UC. El microprocesador lo que hace es procesar ordenes sencilla, para procesar ordenes mayores deberemos construir un programa. Esta conectado a un oscilador (reloj) que genera impulsos igualmente espaciados en el tiempo. Su frecuencia base es de 14,31818 Mhz. El propio microprocesador es el que divide esta frecuencia para implementar un ciclo. El ciclo más frecuente es de 1/3 de la frecuencia base, es decir, 4,77 Mhz. Una instrucción necesita para ejecutarse varios ciclos de máquina. 2.2.− El microprocesador de 8 bits. El Intel 8088. Es el micro en el que están basados los ordenadores personales actuales. Se caracteriza por tener un bus de 8 bits y una velocidad de impulso de reloj de 4,77 Mhz. Otros micros de 8 bits pueden ser: el Z80 de Zilog, el 6800 de Motorola y el 1802 de RCA. Estos micros se incorporan en ordenadores del tipo XT. 2.3.− El microprocesador de 16 bits. El Intel 8086/80286. Otro micro de 16 bits a desacatar es el Motorola 68000 , su arquitectura es diferente pero el resultado es el mismo. El 8086 es uno de los primeros micros de 16 bits con una potencia bruta cercana a 0,2 MIPS, funciona a 8 Mhz. Su capacidad de direccionamiento es de 1 MB. Al igual que el Intel 8088 forma parte de los ordenadores del tipo XT. El micro 80286 es prácticamente igual al anterior a excepción de sus prestaciones ya que tiene una potencia 4 o 5 veces mayor, su potencia bruta es de 1 MIPS, por lo que la velocidad ha aumentado sin modificar el software. Con este micro pasamos de un direccionamiento de 16 MB a otro de 1 GB, a parte permite detectar y eliminar los posibles errores de Software. Otra cosa a tener en cuenta es que los programas escritos en Ensamblador sufren ligeras modificaciones.
2
Forman parte del tipo de ordenadores AT. 2.4.− El microprocesador de 32 bits. El Intel 80386/80486. Los motivos en la carrera de los micros está en el tamaño de las aplicaciones y en la velocidad. Otra de las razones es la de protección ya que estamos trabajando con sistemas operativos complejos, multitarea y/o multiprogramación. Todo esto se alcanzó con el 80286 aunque en los posteriores micros se ha perfeccionado, aumentado en velocidad y direccionamiento. El 80386 direcciona hasta 4GB reales y tiene una potencia bruta de 3 a 4 MIPS. 3.− Memoria central en la UCP. 3.1.− Generalidades. La memoria está compuesta de chips. Lo único que realizan estos chips es almacenar la información hasta que esta es requerida. El número de chips de que consta la memoria es el que determina la capacidad de la misma. Por ejemplo, el 8088 es capaz de direccionar 1 MB o 1024 bytes. Un byte es una secuencia de bits, a la que se considera como la unidad mínima de información direccionable. Dentro de la memoria cada byte se referencia por una dirección numérica de 20 bits, ya que viaja por un bus de 20 bits. El envio de información por el bus se suele hacer en formato hexadecimal, por lo que estos 20 bits se quedan reducidos en 5 dígitos hexadecimales. La dirección inferior es la 00000 (0 en decimal) y la mayor FFFFF (10488576 en decimal). Realmente la memoria no esta dividida, pero funcionalmente si se encuentra dividida. 3.2.− Áreas de memoria. Como ejemplo veamos como se estructura la memoria de un ordenador con un micro 8088. F0000 = Área de ROM fija: ROM−BIOS, BASIS, DIAGNÓSTICOS. E0000 = Área para cartuchos ROM. D0000 = Área para cartuchos ROM. C0000 = Extensiones de BIOS (discos en el XT). B0000 = Memoria de pantalla convencional. A0000 = Extensión de la memoria de pantalla. 90000 = RAM de trabajo hasta 640 K. 80000 = RAM de trabajo hasta 576 K. 70000 = RAM de trabajo hasta 512 K. 60000 = RAM de trabajo hasta 448 K. 50000 = RAM de trabajo hasta 384 K. 40000 = RAM de trabajo hasta 320 K.
3
30000 = RAM de trabajo hasta 256 K. 20000 = RAM de trabajo hasta 192 K. 10000 = RAM de trabajo hasta 128 K. Memoria máxima de PC 00000 = RAM de trabajo hasta 64 K. Usadas por el sistema. Los 10 primeros bloques que totalizan 640 K se reservan para la RAM de trabajo. Todos los ordenadores tienen memoria instalada en el primer bloque de 64 K. El bloque A se reserva para ampliar la memoria de vídeo y se utiliza para la tarjeta gráfica EGA. El bloque B se utiliza para la memoria de vídeo ordinario, esta dividido en dos trozos de 32 K cada uno denominados como B0 y B8. Un monitor monocromo utiliza solo 4 K por lo que se encuentra al principio del área B0, sin embargo un adaptador gráfico de color utiliza 16 K que se encuentran al principio del área B8. Los trozos restantes desde los 4 hasta los 32 y desde los 16 a 32 no se utilizan. el bloque C se dedica a recibir las ampliaciones que son necesarias de programas en ROM. 3.3.− Direccionamiento de la memoria. Con un micro de 16 bits solo se puede direccionar hasta 64 k de memoria, pero ya sabemos que se debe acceder a más de ellas, esto lo logramos con el esquema de direccionamiento de 20 bits utilizado por el microprocesador. Para adaptar los 16 bits al direccionamiento de 20 bits utilizamos un procedimiento. Este consiste en dividir el espacio de memoria direccionable en una número arbitrario de segmentos, cada uno de los cuales contiene como máximo 64 K, cada segmento empieza en una localización cuya dirección es divisible por 16, y que se denomina dirección del segmento. Para acceder a los bytes individuales o a las palabras, se emplea una dirección adicional llamada desplazamiento y offset, estas direcciones son denominadas relativas. Las direcciones se crean y manipulan combinando la dirección del segmento de 16 bits y una dirección relativa de 16 bits. La dirección del segmento se trata como si estuviera desplazada a la izquierda 4 bits. Cuando se añade la dirección relativa, se obtiene una dirección completa de 20 bits. Los 16 bits, compuestos por 2 palabras , reciben el nombre de dirección segmentada. Ejemplo: Dirección segmentada: 10111011101000110000 Dirección relativa: 1011101000110111 Dirección segmentada de 20 bits: 10111011101000110111 Realiza una operación OR, es decir, cuando los dos son 0 será un 0, mientras es un 1. 3.4.− Unidades de memoria. La primera unidad de memoria es el bit (binary digit), es la unidad mínima de información. El cuarteto o nybble es una unidad formada por 4 bits. El octeto o byte, esta formada por 8 bits, también se denomina carácter, es la unidad básica de información direccionable. La palabra varia con el tipo de ordenador, es una unidad que se procesa de una sola vez en el ordenador. Existen palabras de 8,16, 32 y 64 bits. El bloque es un grupo de posiciones de memoria contiguas que no van a tener un tamaño fijo. 4.− Unidad de Control.
4
4.1.− Generalidades. Es la parte de un ordenador que efectúa la recuperación de las intrucciones en la secuencia apropiada, la interpreta y aplica las señales apropiadas a la UAL y a las demás partes implicadas. Una vez seleccionada y analizada la instrucción deberá accionar los circuitos correspondientes de otras unidades, para que se cumplimente la instrucción, a través del secuenciador o reloj. Es la encargada de regular y coordinar todo el sistema. Sus actividades se pueden resumir en las siguientes: a.− Controlar la entrada y salida. b.− Localizar a cada instrucción por su dirección. c.− Buscar y analizar la instrucción. d.− Buscar y procesar el operando. e.− Preparar la siguiente instrucción. 4.2.− Seguimiento de instrucción por la UC. Ciclos de instrucción y ejecución. Lo primero es que la UC ordena leer la palabra cuya dirección indica el CP, para lo que se envía dicha dirección al RDM. Una vez leído el contenido se pasará el mismo al RIM con lo que se finaliza el ciclo de instrucción. A continuación el contenido del RIM pasa al RI y es cuando actúa el codificador−decoficador, analizando el tipo de operación (ciclo de operación), y se incrementa el CP en tantas unidades como ciclos de máquina requiera la instrucción (localiza la dirección de la siguiente instrucción). En este momento se irá transfiriendo el contenido del RI al RDM para obtener la dirección de cada operando (ciclo de dirección o búsqueda), con lo que serán transferidas al RIM por lo que se consume otro nuevo ciclo de memoria, entre tanto toda la información que está recibiendo el RIM está pasando a través de la UC, la cual la irá enviando a la parte de la UAL correspondiente. Una vez que se realiza la operación se pasa el resultado al acumulador para enviarlo luego al RIM, con lo que una vez que se obtiene la dirección donde se almacenará el resultado, la cual esta contenida en el RI, esta se pasa al RDM, con lo que el contenido del RIM se almacenará en la dirección indicada en el RDM, con esto finaliza el ciclo de ejecución. El ordenador alterna entre ciclos de instrucción y ciclos de ejecución. 4.3.− Registros y componentes de la UC. Las partes más interesante que intervienen en la ejecución de una instrucción son: 4.3.1.− Contador de instrucciones (CP). Es de la misma longitud que la parte de dirección de la palabra de instrucción. Consta de una línea puesta a cero y una línea de incrementar o habilitación. Realiza el seguimiento de las instrucciones que se van a utilizar en el programa, con lo que en cada ciclo de instrucción se incrementa a 1, con lo que tenemos la posición de la siguiente instrucción que se va a usar en el programa. Cuando vamos a acceder a la dirección de memoria especificada en el CP, esta dirección deberá transferirse al RDM, a través del cual accederemos a dicha dirección. Esto se realiza al iniciar cada ciclo de instrucción.
5
4.3.2.− Registro del código de operación (RI). Cuando se lee una instrucción de la memoria esta debe codificarse para su interpretación. Dependiendo del tamaño del código de operación así será el tamaño de este registro. 4.3.3.− Los Flip−flop de la unidad de control. Un flip−flop es un circuito combinatorio o secuencial susceptible de dos estados estables y diferenciados, asociados a los estados lógicos 0 y 1.
6