El nivel de la Microprogramación

Slides:



Advertisements
Presentaciones similares
El modelo de Von Neumann
Advertisements

DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
Microprocesadores Componentes básicos..
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
Ing. María Rosa Dámaso Ríos CPU(cuarta semana)
Fernando Escribano Pro 1º de Bachillerato
Integrantes: Milagros Alvarado Diana Rodríguez Carlos Evies TECNOLOGIA DE HARDWARE.
ORGANIZACIÓN COMPUTACIONAL
ARQUITECTURA DE COMPUTADORES - VON NEUMANN MODEL
Computación PROGRAMACIÓN.
PERCY CHUMBE BUENDIA. KIZZY GUTIERREZ VALVERDE. RUTH NOEMY APAZA JARA.
Arquitectura de Computadores
ARQUITECTURA INTEL FORMATOS DE INSTRUCCIÓN
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
El procesador: la ruta de datos y el control (II Parte)
NIVEL DE LENGUAJES ORIENTADOS A PROBLEMAS NIVEL DE LENGUAJE ENSAMBLADOR NIVEL DE MAQUINA DEL SISTEMA OPERATIVO NIVEL DE MICROPROGRAMACIÓN NIVEL DE LÓGICA.
Circuitos Combinacionales Comunes
Composición Interna de un Procesador
Computadora Digital Arquitectura de John Von Neumann
Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
Arquitectura del Computador

ARQUITECTURA DE LOS MICROPROCESADORES DE 8 BITS
MICRO Y MACRO ARQUITECTURA
Unidad 2: Organización del CPU
Introducción a la Ingeniería en Sistemas
Operación de Micros e Interfaces
Alumno: Israel Espinosa Jiménez Matricula: Licenciatura: TIC Asignatura: Arquitectura de Computadoras Cuatrimestre: 4 Página 1 de 9.
Arquitectura de Computadoras
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Overview Sistemas Computacionales
Universidad Tecnológica de la Selva Ing. Emmanuel Gordillo Espinoza.
Asignación de Espacio No Contiguo
Conceptos Arquitectónicos del computador
MÁQUINAS MULTINIVEL NIVEL 5 Lenguajes de alto nivel
TEMA 2: Organización de computadores
Funcionamiento de la CPU
Microcomputadores Prof: Tatiana Marín R.. Lenguaje máquina = lenguaje binario InstrucciónLenguaje máquina (binario)OP ( hex)Nemónico Restar F0SUB.
Diseño de la Unidad de Control Multiciclo: Microprogramación
LOS MICROPROCESADORES
¿Qué unidades conforman el procesador?
Arquitectura de Von Neumann
Nombre: Cristian Achina Curso: 4to «A» Fecha:
Arquitectura del Computador Puerto Ordaz, Noviembre del 2011
“Organización y Arquitectura de Computadores” William Stallings
Tema 7: UNIDAD CENTRAL DE PROCESOS (CPU) Cáceres Pari Ángel Raúl
Capítulo 4 CPU y la memoria.
Informática Clase Arquitectura de la Computadora.
1.1 Introducción A Los Sistemas Informáticos
ALMACENAMIENTO DE DATOS. Son componentes que leen o escriben datos en medios o soportes de almacenamiento, y juntos conforman lamemoria o almacenamiento.
Principio unidad 1.
PROCESADORES.
Alumno: Gerardo Mario Valdés Ortega
INTEGRANTES: JOSE ESTEVEZ _HUGO ANDRADE CURSO: 5TO “B”
El procesador es el cerebro del computador que se encarga de organizar, procesar la información ejecutar cálculos y en general realizar muchos procesos.
LA CPU Ing. Manuel Andrés Belalcázar S. Corporación Universitaria Autónoma del Cauca.
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
José Alvarado – Cristian Anzola
1 Unidades funcionales de un ordenador Procesadores Memorias Dispositivos de E/S
Republica Bolivariana de Venezuela Universidad Alonso de Ojeda Facultad de Ingeniería Escuela de Computación Ing. Prof. Leonel Sequera Entrada y Salidas.
Universidad Metropolitana Introducción a la Computación Universidad Metropolitana Introducción a la Computación Septiembre, 2007 Arquitectura Von Newman.
Santiago Restrepo Rodríguez
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
El microprocesador y su arquitectura
El Computador. Computador. Máquina compuesta de elementos físicos (en su mayoría de origen electrónico) capaz de aceptar unos datos de entrada, realizar.
Gestión de Memoria – Parte 2
Cetina Luna Luis Antonio Irma Lizette Espinosa Negrete Omar Alberto Herrera Caamal Rigoberto Lizarraga Hernandez.
CAPITULO V Arquitectura de Von Neumann
Unidad de Control Ubicación: Es uno de los tres bloques funcionales principales en los que se divide una unidad central de procesamiento (CPU). Realizar.
Transcripción de la presentación:

El nivel de la Microprogramación Para cada instrucción de un circuito específico. Uno para dividir, sumar, etc.... E V O L U C I Ó N Las instrucciones son realizadas paso a paso por un Intérprete que se ejecuta en el nivel de multiprogramación (Máquina Multinivel) Máquina Física Nivel n PROCESAMIENTO DE DATOS I

El nivel de la Microprogramación Ejecutar Intérpretes de otras máquinas virtuales Cómo es esto posible? Escribiendo programas que controlen los registros, buses, unidades aritméticas y lógicas, memorias y otros componentes del Hardware de las máquinas. PROCESAMIENTO DE DATOS I

Conceptos... REGISTROS Dispositivo capaz almacenar información. Es una forma de memoria, pero se diferencia de la tradicional porque residen dentro del procesador (velocidad R/W). El grupo de N Registros de una máquina, se denomina memoria local o de anotaciones. Los registros almacenan información representada por BITS. Su tamaño está en en proporción a la cantidad de bits que puede almacenar. 1 1 2 3 Nro. Registro PROCESAMIENTO DE DATOS I

Conceptos... BUSES Grupo de alambres usados para transmitir señales en paralelo, no seriales. Con un BUS podemos copiar el contenido de un registro a otro. Según la dirección pueden ser: UNIDIRECCIONAL (registros fuente o destino) ó BIDIRECCIONAL NO SIMULTÁNEA (registros fuente y destino a la vez) Un bus que puede conectarse y desconectarse eléctricamente de los buses a los que están conectados físicamente se denomina TRIESTADO PROCESAMIENTO DE DATOS I

Conceptos... Registro de 8 bits que recibe datos de un bus de entrada y entrega datos a un bus de salida. Para ello usa señales de control como CK que activa la carga de registro y DE que habilita la salida de los datos del registro. Cuando CK está desactivada, el contenido del registro no es afectado por las señales del bus. Cuando DE está activo, el contenido de registro pasa al bus de salida. Qué sucedería si existiese otro registro R conectado al bus de salida de nuestro registro. Cómo transferiríamos información de un registro a otro. La mayoría de las computadoras tiene 3 buses, de datos, de dirección y de control. PROCESAMIENTO DE DATOS I

Conceptos... BUS PROCESAMIENTO DE DATOS I

Conceptos... PROCESAMIENTO DE DATOS I

Conceptos... MULTIPLEXORES Y DECODIFICADORES Multiplexor: 2n entradas de datos (líneas o buses) y una salida de idéntica estructura que la entrada. Además de una entrada de control de n bits que encamina una de las entradas a la salida. El mecanismo que encamina su única entrada a una de sus 2n salidas según su línea de control se llama Demultiplexor. Decodificador: tiene n líneas de entrada y 2nde salida. Siempre tiene una sola salida activada (1) y las demás en 0 (desactivada). Su inverso es el Codificador. PROCESAMIENTO DE DATOS I

Conceptos... PROCESAMIENTO DE DATOS I

Conceptos... UNIDADES ARITMÉTICAS Y LÓGICAS REGISTROS DE CORRIMIENTO ALU: Toma dos entradas de n bits y produce su suma como salida. Además de algunas entradas y salidas de control. F0 y F1 determinan qué función deberá realizar (control de entrada). N si la salida es negativa y Z si es cero (control de salida). Registro de Corrimiento: puede desplazar su entrada un bit a la I/D. PROCESAMIENTO DE DATOS I

Conceptos... PROCESAMIENTO DE DATOS I

Conceptos... RELOJES Es un dispositivo que emite una secuencia periódica de impulsos. Estos impulsos definen los ciclos de máquina. En cada ciclo tiene lugar alguna actividad básica, como sería una microinstrucción. Un ciclo dividido, recibe el nombre de subciclo y se justifica ante la necesidad de identificar la ejecución de las partes de una microinstrucción. En un reloj de 4 salidas, la principal es la de arriba, las restantes se derivan de ella al someterlas a retardos. PROCESAMIENTO DE DATOS I

Conceptos... PROCESAMIENTO DE DATOS I

Una Microarquitectura Típica Cómo se interconectan los componentes básicos (anteriormente mencionados) La ruta de datos Microinstrucciones Cronología de las microinstrucciones Secuenciamiento de las microinstrucciones PROCESAMIENTO DE DATOS I

La Ruta de Datos I Es la parte de la CPU que contiene a la ALU, sus entradas y sus salidas. En nuestro caso tenemos 16 registros idénticos de 16 bits (PC, AC, SP...) que conforman la memoria de anotaciones. Cada registro puede sacar su contenido de los buses A o B o a ambos y tomarlo de un tercero C. Los buses A y B alimentan a la ALU. Esta puede realizar las siguientes funciones: A + B, A AND B, A, NOT A. Las entradas de control de la ALU F0 y F1 indican la operación a realizar. Las salidas de control (bits de estado) son N para indicar si es negativo el resultado (se coloca en 1) y Z para indicar si el resultado es 0 (se coloca en 1). PROCESAMIENTO DE DATOS I

La Ruta de Datos II La salida de la ALU pasa por un registro de corrimiento que puede desplazar un bit a la I/D o bien no realizar ningún desplazamiento. Los buses A y B no están conectados directamente a la ALU, existen 2 registros buffer intermedios. Esto se debe a que la ALU calcula continuamente la salida en función de las entradas y el código en función, con lo cual si no existiesen un cálculo del tipo A = A + B, generaría problemas. Quienes son los encargados de controlar los buffers son L0 y L1. Los registros MAR y MBR, nos permiten la comunicación con la memoria. MAR puede cargarse a partir de B, en paralelo con una operación de la ALU. La línea M0 controla la carga de MAR. PROCESAMIENTO DE DATOS I

La Ruta de Datos III En las operaciones de escritura se puede cargar el MBR con la salida del registro de corrimiento, en paralelo con el almacenamiento en la memoria de anotaciones o M1 controla la carga del MBR a partir de la salida del registro de corrimiento, M2 y M3 controlan las lecturas y escrituras de memoria. AMUX, es un multiplexor que con la línea A0, permite seleccionar si la entrada de la ALU será el contenido del bus A o el contenido del registro MBR. PROCESAMIENTO DE DATOS I

La Ruta de Datos RUTA DE DATOS PROCESAMIENTO DE DATOS I

La Ruta de Datos PROCESAMIENTO DE DATOS I

Microinstrucciones Para controlar la trayectoria de los datos, son necesarias: 16 para controlar la carga del bus A de registros internos 16 para controlar la carga del bus B de registros internos 16 para controlar la carga de la memoria local, bus C 2 para controlar los buffers A y B 2 para controlar las funciones de la ALU 2 para controlar el registro de corrimiento 4 para controlar MAR y MBR 2 para indicar si es R/W de memoria 1 controlar AMUX En total, son 61 señales para realizar un ciclo en la Ruta de Datos PROCESAMIENTO DE DATOS I

Registro de Control de 61 bits = señales de control Microinstrucciones Un CICLO es: Inicializar los buses A y B Almacenarlos en los buffers Pasarlos por la ALU y el Registro de Corrimiento Almacenar su resultado en memoria interna o MBR Cargarse el MAR Registro de Control de 61 bits = señales de control PROCESAMIENTO DE DATOS I

Microinstrucciones PROCESAMIENTO DE DATOS I

Microinstrucciones AMUX: 0 entra de Buffer A, 1 entra de MBR ALU: 0 = A+B, 1=A AND B, 2=A, 3=NOT A SH: Registro de corrimiento, 0=nada, 1=derecha, 2=izquierda MBR: Carga desde el Reg. de Corrimien., 0=no carga, 1=carga MAR: Carga del MAR a partir de B, 0=no carga, 1=carga RD: Petición de lectura de memoria. 0=no pide, 1=carga el MBR de Memoria WR: Petición de escritura de memoria, 0=no pide, 1=escribe el MBR en Memoria. ENC: Control de almacenamiento en registros de memoria interna, 0=no almacena, 1=almacena A,B: Selecciona la fuente del Bus, 0=PC, 1=AC, etc. C: Selecciona el registro donde almacenar. Si ENC=1 => 0=PC PROCESAMIENTO DE DATOS I

Cronología de las Microinstrucciones El orden en que se ejecutan las órdenes para controlar la Ruta de Datos, se llama cronología. Para ello utilizaremos un reloj de 4 fases o subciclos. Carga de la microinstrucción en el MIR (Reg. de Mic.) Salida del contenido de los registros a los Buses A y B y su captura por los registros A y B Una vez que se estabilizan las entradas a la ALU, se genera la salida estable de ALU (Operación elegida) y se carga el MAR si es necesario Una vez estabilizada la salida del Registro de Corrimiento, se almacena el bus C en la memoria de anotaciones y el MBR si es necesario PROCESAMIENTO DE DATOS I

Cronología de las Microinstrucciones En el diagrama de bloques, se observa a la Izquierda la Ruta de Datos y a la derecha la sección de control Memoria de control: almacenamiento de las microinstrucciones. Puede ser R, R/W. En nuestro ejemplo: Microinstrucciones de 32 bits Espacio de direcciones de 256 palabras MPC: cumple la función de MAR MIR: cumple la función de MBR PROCESAMIENTO DE DATOS I

Cronología de las Microinstrucciones PROCESAMIENTO DE DATOS I

Secuenciamiento de las Microinstrucciones Cómo se extrae la siguiente microinstrucción? Secuencia inmediata Saltos condicionales Saltos Condicionales ADDR: dirección del sucesor potencial COND: si se extrae de Secuencia inmediata (MPC + 1) o de ADDR MMUX: es un multiplexor que encamina a MPC+1 o ADDR al MPC COND: 0=MPC+1, 1=Jump ADDR si N es 1, 2=Jump ADDR si Z=1, 3=Jump ADDR incondicionalmente. PROCESAMIENTO DE DATOS I

Arquitectura de Nivel 2-3 Macroarquitectura Arquitectura de Nivel 2-3 Arquitectura del Nivel de máquina convencional que deberá ser soportado por el intérprete que se ejecuta en la máquina de nivel 0 * Pilas * Juego de Macroinstrucciones PROCESAMIENTO DE DATOS I

Pilas Definición Componentes (SP) Operaciones PUSH POP Aplicaciones Direccionamiento Variables locales Recursividad Etc. PROCESAMIENTO DE DATOS I

El Juego de Macroinstrucciones 4096 palabras de 16 bits Registros: Program Counter (PC) Stack Pointer (SP) Acumulator (AC) Modos de Direccionamiento Directo Indirecto Local Desplazamiento PROCESAMIENTO DE DATOS I

El Juego de Macroinstrucciones PROCESAMIENTO DE DATOS I

Procesamiento PIPELINE Conformar un Hardware con varias unidades funcionales para después unirlas para que trabajen en línea o en forma escalonada Obtenemos así un promedio de ejecución de una instrucción por ciclo y no una instrucción cada 5 ciclos PROCESAMIENTO DE DATOS I

Procesamiento PIPELINE Observaciones: Los saltos condicionales (ver B en diagrama), alteran la línea de procesamiento, pueden ser: - Condicionales - Incondicionales - Iterativos PROCESAMIENTO DE DATOS I

Tiempo medio de Acceso es Memoria CACHÉ Memoria pequeña y rápida, bajo el control del microprograma. C: Tiempo de acceso a caché M: Tiempo de acceso a memoria H: Proporción de aciertos Tiempo medio de Acceso es C+(1-H)M Proporción de Fallas 1-H Se basa en el principio de localidad, en donde las referencias a las memorias realizadas en un intervalo de tiempo corto, tienden a usar solo una fracción de la memoria total. PROCESAMIENTO DE DATOS I

Memoria CACHÉ Memoria Caché ASOCIATIVA: cada renglón contiene el número de bloque y su entrada PROCESAMIENTO DE DATOS I

Memoria CACHÉ Memoria Caché de MAPEO DIRECTO: Calcula el número de renglón de la dirección A como (A/4) módulo 1024 PROCESAMIENTO DE DATOS I

Memoria CACHÉ Memoria Caché ASOCIATIVA AGRUPADA: Combinación de las dos anteriores. PROCESAMIENTO DE DATOS I

Ejemplo: Microarquitectura INTEL 8088 PROCESAMIENTO DE DATOS I