Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porCruz Salgueiro Modificado hace 6 años
1
Universidad Autónoma de Sinaloa Facultad de Informática Culiacán Ingeniería en Telecomunicaciones, Sistemas y Electrónica. Materia: Microprocesadores Horas Teoría: 45 hrs Horas Prácticas: 25 hrs Estudio Independiente: 15 hrs Semestre: 7mo Facilitadora: CRUZ ISABEL BERNAL SALGUEIRO 1
2
2 Contenido Unidad 1 Introducción a los Microprocesadores Unidad 2 Arquitecturas Clásicas y Modernas de Microprocesadores Unidad 3 Arquitectura Interna y Externa del Microprocesador Unidad 4 Lenguaje Ensamblador y Programas Ensambladores Unidad 5 Interfase con Dispositivos de Memoria Unidad 6 Interfase con Puertos de Entrada y Salida Paralelos y Serie Unidad 7 Programación de Microprocesadores Unidad 8 Características de los Microprocesadores Comerciales
3
3 Unidad III Arquitectura Interna y Externa del Microprocesador
4
4 Contenido Unidad III 3.1. Unidades básicas internas de un microprocesador. 3.2. Registros del microprocesador. 3.2.1. Registros de propósito especial (SPR). 3.2.2. Registros de propósito general (GPR). 3.3. Unidades Aritmético Lógicas. 3.3.1. Operaciones básicas. 3.3.1.1. Aritméticas. 3.3.1.2. Lógicas. 3.3.1.3. Rotaciones y corrimientos. 3.3.2. Microprocesadores con ALU’s múltiples. 3.4. Descripción de pines y agrupamiento en buses. 3.4.1. Bus de direcciones. 3.4.2. Bus de datos. 3.4.3. Bus de control. 3.4.4. Bus de alimentaciones. 3.5. Temporización del microprocesador. 3.5.1. Ciclo de reloj (T). 3.5.2. Ciclo de máquina (M). 3.5.3. Ciclo de instrucción (I). 3.6. Proceso de interrupciones. 3.6.1. Interrupciones No Mascarables. 3.6.2. Interrupciones Mascarables. 3.6.3. Vectores de interrupción..
5
5 3.1. Unidades básicas internas de un microprocesador.
6
6
7
7 3.2. Registros del microprocesador. Los registros del procesador se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son direccionables por medio de un nombre. Permiten almacenar información, temporalmente, para facilitar la manipulación de los datos por parte de la CPU.
8
8 Hay ocho categorías principales de los registros de datos integradas en las CPU. Estos incluyen contadores de programa (PC), para almacenar los bits de dirección de instrucción de datos actualmente procesado; registros de instrucción (IR), para el almacenamiento de instrucciones binarias mientras están siendo procesados o decodificados; acumuladores (CA), para el almacenamiento de resultados de cálculos matemáticos por la unidad lógica aritmética de la CPU; dirección de registros de memoria (MAR), para el almacenamiento de ubicaciones de dirección de los bits de datos dentro de la memoria principal de una computadora; búfer de registros de memoria (MBR), para almacenar y retener temporalmente los bits de datos entrantes antes de reenviarlos al microprocesador, estado o bandera de registros (FR), para mantener y actualizar los estados de funcionamiento de los microprocesadores; registros condicionales (CR), para mantener los valores condicionales o lógicos de los datos procesados y registros de propósito general (GPR), para almacenar temporalmente los bits de datos generales o instrucciones. 3.2. Registros del microprocesador.
9
9
10
10 3.2.1. Registros de propósito especial (SPR). Los registros de propósito especifico permiten llevar un récord de estado del procesador en todo momento. Los mas importantes son el contador de programa (PC), el registro de banderas, y el apuntador de pila (SP). El contador de programa es un registro que siempre apunta a la dirección en memoria de programa que se esta ejecutando y su valor es incrementado en 1 en cada ciclo, excepto cuando una instrucción de salto es ejecutada. En resumen, el PC determina el flujo de ejecución de las instrucciones almacenadas en la memoria de programa.
11
11 El registro de estado de banderas, como su nombre lo sugiere, guarda el estado de las diferentes banderas que son modificadas por eventos específicos como operaciones aritmético-lógicas, interrupciones y "overflow" de registros, entre otras. Las banderas mas importantes son la bandera de signo (SF), la bandera de cero (ZF), la bandera de acarreo (CF) y la bandera de interrupción (IF). El apuntador de pila guarda la dirección de memoria mas reciente usada por la pila. La pila es un espacio reservado en memoria usado para guardar el estado del procesador cuando se llaman sub-rutinas o cuando el programa agota los registros de propósito general. 3.2.1. Registros de propósito especial (SPR).
12
12 3.2.2. Registros de propósito general (GPR). Los registros de propósito general AX, BX, CX y DX son los caballos de batalla del sistema. Son únicos en el sentido de que se puede direccionarlos como una palabra o como una parte de un byte. El último byte de la izquierda es la parte “alta”, y el último byte de la derecha es la parte “baja”. Por ejemplo, el registro CX consta de una parte CH (alta) y una parte Cl (baja), y usted puede referirse a cualquier parte por su nombre.
13
13 3.2.2. Registros de propósito general (GPR). Registro AX: El registro AX, el acumulador principal, es utilizado para operaciones que implican entrada/salida y la mayor parte de la aritmética. Por ejemplo, las instrucciones para multiplicar, dividir y traducir suponen el uso del AX. También, algunas operaciones generan código más eficiente si se refieren al AX en lugar de a los otros registros. Registro BX: El BX es conocido como el registro base ya que es el único registro de propósito general que puede ser índice para direccionamiento indexado. También es común emplear el BX para cálculos. Registro CX: El 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, hacia la derecha o hacia la izquierda. El CX también es usado para muchos cálculos. Registro DX: El DX es conocido como registro de datos. Algunas operaciones de entrada/salida requieren uso, y las operaciones de multiplicación y división con cifras grandes suponen al DX y al AX trabajando juntos.
14
14 3.3. Unidades Aritmético Lógicas. La finalidad primordial de la ALU consiste en aceptar datos binarios que están almacenados en la memoria y ejecutar operaciones aritméticas con estos datos, de acuerdo con instrucciones que provienen de la unidad de control.
15
15 3.3.1. Operaciones básicas. La mayoría de las ALU pueden realizar las siguientes operaciones: Operaciones aritméticas de números enteros (adición, sustracción, y a veces multiplicación y división, aunque esto es más complejo). Operaciones lógicas de bits (AND, NOT, OR, XOR, XNOR). Operaciones de desplazamiento de bits (Desplazan o rotan una palabra en un número específico de bits hacia la izquierda o la derecha, con o sin extensión de signo). Los desplazamientos pueden ser interpretados como multiplicaciones o divisiones por 2.
16
16 Las operaciones en aritmética binaria a entera permiten a la CPU realizar cálculos con números enteros positivos y negativos con una representación en complementos a 1 y 2. La mayor parte de las instrucciones aritméticas que se encuentran en cualquier procesador incluyen suma, resta y comparación. Aunque las operaciones aritméticas se efectúan en el sistema binario se puede trabajar con aritmética decimal codificando los dígitos del 0 al 9 en código BCD. Para poder efectuar operaciones aritméticas con estos números, muchos microprocesadores incluyen una instrucción que ajusta el resultado de la operación para obtener el resultado decimal correcto. Para esta operación de ajuste decimal es para la que se emplea el flag de acarreo (suma con acarreo). 3.3.1. Operaciones básicas.
17
17 Suma: la suma es las operación más importante de todas, ya que: – Se emplea para el cálculo de la dirección de la siguiente instrucción – Se utiliza para el cálculo de las direcciones a los operandos – Otras operaciones la emplean: multiplicación, división k 3.3.1.1. Aritméticas. 3.3.1.2. Lógicas. Las operaciones lógicas realizan la operación sobre cada uno de los bits del operando o de los operandos.
18
18 3.3.1.3. Rotaciones y corrimientos. Las instrucciones para corrimiento colocan o mueven números a izquierda o derecha dentro de un registro o localidad de memoria. Los corrimientos lógicos multiplican o dividen datos sin signo y los corrimientos aritméticos multiplican o dividen datos con signo. Un corrimiento a la izquierda siempre multiplica por 2 en cada posición de bits desplazada y un desplazamiento a la derecha siempre divide entre 2 en cada posición de bits desplazada. Hay ocho diferentes instrucciones para corrimiento y rotación. Cada uno recorre o rota un registro de byte, palabra o doble palabra o datos de la memoria. Estas instrucciones tienen dos operandos: el primero es la de los datos desplazados o girados y, el segundo es un contador de corrimiento inmediato o de rotación o CL. Si el segundo operando es CL, el registro CL contiene el contador de los corrimientos o rotaciones.
19
19 3.3.2. Microprocesadores con ALU’s múltiples. Los procesadores fueron inicialmente desarrollados con un solo núcleo. A mediados de la década de 1980s Rockwell International fabricó versiones del 6502 con dos núcleos en un solo chip (es decir, procesadores multinúcleo) como el R65C00, R65C21 y R65C29,12 compartiendo los pins del chip en fases alternativas del reloj. Otros procesadores multicore se desarrollaron a principios del siglo XXI por Intel, AMD y otros. Mientras que las tecnologías de fabricación de CMOS continúan mejorando, reduciendo el tamaño de las puertas sencillas, los límites físicos de los componentes microelectrónicos basados en semiconductores se han convertido en una importante preocupación. Algunos efectos de estas limitaciones físicas pueden ser la elevada disipación de calor y problemas de sincronización de la información.
20
20 Los circuitos electrónicos más complejos son los que están construidos dentro de los chips de microprocesadores modernos. Por lo tanto, estos procesadores tienen dentro de ellos un ALU muy complejo y potente. De hecho, un microprocesador moderno (y los mainframes) puede tener múltiples núcleos, cada núcleo con múltiples unidades de ejecución, cada una de ellas con múltiples ALU. Muchos otros circuitos pueden contener en el interior una unidad aritmético lógica: unidades de procesamiento gráfico como las que están en las GPU modernas, FPU como el viejo coprocesador matemático 80387, y procesadores digitales de señales como los que se encuentran en tarjetas de sonido, lectoras de CD y los televisores de alta definición. Todos éstos tienen en su interior varias ALU potentes y complejas. 3.3.2. Microprocesadores con ALU’s múltiples.
21
21 3.4. Descripción de pines y agrupamiento en buses. 3.4.1. Bus de direcciones. 3.4.2. Bus de datos. 3.4.3. Bus de control. 3.4.4. Bus de alimentaciones.
22
22 Un bus es un grupo común de cables que interconectan componentes en un sistema computacional. Los buses que interconectan las secciones de un sistema computacional transfieren información sobre direcciones, datos y control entre el microprocesador y sus sistemas de memoria y de E/S. En el sistema computacional basado en microprocesador existen tres buses para esta transferencia de información: de dirección, de datos y de control. 3.4. Buses
23
23 3.4. Buses Diagrama de bloques de un sistema computacional, en el que se muestra la estructura del bus de direcciones, el bus de datos y el bus de control.
24
24 3.4.1. Bus de direcciones. Este es un bus unidireccional debido a que la información fluye es una sola dirección, de la CPU a la memoria o a los elementos de entrada y salida. La CPU sola puede colocar niveles lógicos en las n líneas de dirección, con la cual se genera 2n posibles direcciones diferentes. Cada una de estas direcciones corresponde a una localidad de la memoria o dispositivo de E / S. El bus de direcciones solicita a la memoria una posición de memoria, o solicita a los dispositivos de E/S una posición de E/S. Si se direcciona la E/S, el bus de direcciones contiene una dirección de E/S de 16 bits, que puede estar entre 0000H y FFFFH. La dirección de E/S de 16 bits (o número de puerto) selecciona uno de 64 K dispositivos de E/S distintos. Si se direcciona la memoria, el bus de direcciones contiene una dirección de memoria, la cual puede variar en anchura dependiendo de las distintas versiones del microprocesador.
25
25 3.4.2. Bus de datos. El bus de datos transfiere información entre el microprocesador y su espacio de direcciones de memoria y de E/S. Las transferencias de datos varían en tamaño, desde 8 bits hasta 64 bits de ancho en varios miembros de la familia de microprocesadores Intel. Por ejemplo, el 8088 tiene un bus de datos de 8 bits que transfiere 8 bits de datos a la vez. Los microprocesadores 8086, 80286, 80386SL, 80386SX y 80386EX transfieren 16 bits de datos a través de sus buses de datos; los microprocesadores 80386DX, 80486SX y 80486DX transfieren 32 bits de datos; y los microprocesadores del Pentium al Pentium 4 transfieren 64 bits de datos.
26
26 3.4.2. Bus de datos.
27
27 El bus de control tiene líneas que seleccionan la memoria o E/S y hacen que realice una operación de lectura o de escritura. En la mayoría de los sistemas computacionales hay cuatro conexiones del bus de control: MRDC (control de lectura de memoria), MWTC (control de escritura de memoria), IORC (control de lectura de E/S) y IOWC (control de escritura de E/S). La barra superior indica que la señal de control es activa a baja; es decir, está activa cuando aparece un cero lógico en la línea de control. Por ejemplo, cuando IOWC = 0, el microprocesador escribe datos del bus de datos hacia un dispositivo de E/S cuya dirección aparece en el bus de direcciones. 3.4.4. Bus de Control
28
28 El bus de Control utiliza un conjunto de señales que se usan para sincronizar las actividades y transacciones con los periféricos del sistema. Algunas de estas señales, como R / W, son señales que la CPU envía para indicar que tipo de operación se espera en ese momento. Los periféricos también pueden remitir señales de control a la CPU, como son INT, RESET, BUS RQ. Las señales más importantes en el bus de control son las señales de cronómetro, que generan los intervalos de tiempo durante los cuales se realizan las operaciones. Este tipo de señales depende directamente del tipo del microprocesador. 3.4.3. Bus de Control.
29
29 El microprocesador posee un arreglo de elementos metálicos que permiten la conexión eléctrica entre el circuito integrado que conforma el microprocesador y los circuitos de la placa base. Dependiendo de la complejidad y de la potencia, un procesador puede tener desde 8 hasta más de 2000 elementos metálicos en la superficie de su empaque. El montaje del procesador se realiza con la ayuda de un zócalo de CPU soldado sobre la placa base. Generalmente distinguimos tres tipos de conexión: 3.4.4. Bus de Alimentación
30
30 PGA (Pin Grid Array): La conexión se realiza mediante pequeños alambres metálicos repartidos a lo largo de la base del procesador introduciéndose en la placa base mediante unos pequeños agujeros, al introducir el procesador, una palanca anclará los pines para que haga buen contacto y no se suelten. BGA (Ball Grid Array): La conexión se realiza mediante bolas soldadas al procesador que hacen contacto con el zócalo LGA (Land Grid Array): La conexión se realiza mediante superficies de contacto lisas con pequeños pines que incluye la placa base. Entre las conexiones eléctricas están las de alimentación eléctrica de los circuitos dentro del empaque, las señales de reloj, señales relacionadas con datos, direcciones y control; estas funciones están distribuidas en un esquema asociado al zócalo, de manera que varias referencias de procesador y placas base son compatibles entre ellos, permitiendo distintas configuraciones. 3.4.4. Bus de Alimentación
31
31 El microprocesador lee el contenido de una posición de memoria enviando a la memoria una dirección a través del bus de direcciones; posteriormente envía la señal de control de lectura de memoria (MRDC) para hacer que la memoria lea los datos; por último, los datos que lee la memoria se pasan al microprocesador a través del bus de datos. Siempre que ocurre una escritura de memoria, una escritura de E/S o una lectura de E/S se lleva a cabo la misma secuencia, sólo que se emiten distintas señales de control y los datos fluyen del microprocesador a través de su bus de datos en una operación de escritura. 3.4. Conclusión Buses
32
32 3.5. Temporización del microprocesador. La temporización es necesaria para cualquier sistema basado en procesador ya que se requiere de una señal de reloj, sincronización y restablecimiento. En los sistemas digitales donde se procesa información y se tienen que realizar gran cantidad de operaciones es necesario tener un orden, debe haber algo que se encargue de “marcar el paso” y, al igual que en una orquesta, definir el inicio y duración de cada proceso así como la interacción que puedan tener entre si diferentes operaciones. Una computadora personal es un sistema diseñado para trabajar con microprocesadores muy complejos que realizan una gran cantidad de tareas, muchas de las cuales no conocemos por ser de carácter interno pero de igual manera, desde una simple operación de cálculo hasta la más compleja necesitan de una escala de tiempo, algo que sincronice todo el sistema y le permita funcionar de una manera organizada. Para eso surgieron los relojes de sistema, que son los que se encargan de una de las funciones vitales de cualquier computadora, la temporización (timing).
33
33 Las señales de reloj se caracterizan por su precisión y determinan la velocidad de operación de todo el sistema. Por ejemplo: Cuando decimos que un microprocesador trabaja a 3.06Ghz nos estamos refiriendo a la frecuencia de su señal de reloj para el procesamiento de datos y ejecución de programas. Cuando decimos que la velocidad del bus es de 800Mhz se refiere a la frecuencia de la señal de reloj que determina la rapidez con que viaja la información a través de los buses del sistema. Así sucede también con otros elementos como los módulos de memoria RAM que se fabrican para distintas velocidades de bus (DDR2 de 533Mhz, 667Mhz, 800Mhz, 1200Mhz. DDR3 de 1066Mhz, 1333Mhz). 3.5.1. Ciclo de reloj (T).
34
34 Las operaciones de transferencia de datos hacia o desde el 8086 ocupan al menos un ciclo de bus. Cada ciclo de bus consiste en 4 períodos de reloj del sistema (T), T1, T2,T3, T4. Para lograr la precisión y la estabilidad requeridas se utilizan los cristales de cuarzo o resonadores de cuarzo, que son un tipo de componente electrónico que en su interior contiene una lámina de cuarzo cuyas dimensiones garantizan que genere una oscilación eléctrica con una frecuencia fija y muy estable ante cambios externos. Estos cristales de cuarzo se emplean como patrón para los generadores de frecuencias de reloj que veremos más adelante. 3.5.1. Ciclo de reloj (T).
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.