Elementos constituyentes de la ejecución de un programa

Documentos relacionados
Arquitectura de Computadores II Clase #4

Arquitectura de Computadores II Clase #3

Organización de Computadoras. Clase 6

CICLOS DEL PROCESADOR

EVOLUCIÓN HISTÓRICA DE LOS µp

Dada la CPU con la estructura interna que se muestra en la figura,

ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Aspectos avanzados de arquitectura de computadoras Pipeline. Facultad de Ingeniería - Universidad de la República Curso 2017

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Estructura del Computador

Arquitectura de Computadores II Clase #3

4.1 Ejecución de instrucciones en el nivel de Microprogramación

Implementación de una unidad procesadora de cuatro bits, como material didáctico

DIAGRAMA A BLOQUES DE UNA COMPUTADORA

Organización de computadoras. Clase 4. Universidad Nacional de Quilmes. Lic. Martínez Federico

Arquitectura de Computadoras Organización del CPU Basadas en las Notas de Teórico Versión 5.1 del Dpto. de Arquitectura-InCo-FIng

Ejercicios del tema 4. El procesador

Tema 4 (II) El procesador

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos

DISEÑO CURRICULAR ARQUITECTURA DEL COMPUTADOR

5. Procesador: camino de datos y control

UNIDAD DE CONTROL MICROPROGRAMADA.

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Unidad I: Organización del Computador. Ing. Marglorie Colina

SISTEMAS OPERATIVOS Arquitectura de computadores

Unidad 5 Unidad central de proceso

Arquitectura del CPU. Organización del Computador 1 Verano 2016

LECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION

Velocidades Típicas de transferencia en Dispositivos I/O

Tema 7 - Registros, contadores y memorias

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

El nivel ISA (II)! Conjunto de Instrucciones

Ing. Carlos Bacalla

Partes de una computadora. Conceptos Generales. Elementos de Computación (CU) Computación (TIG) El Hardware de una computadora

1.2.-Analisis de los componentes

FUNCIONAMIENTO DEL ORDENADOR

TEMA 2: Organización de computadores

UNIDAD 3 ARQUITECTURA DEL Z80. Microprocesadores Otoño 2011

Unidad 4 - Procesamiento paralelo. Arquitectura de computadoras. D o c e n t e : E r n e s t o L e a l. E q u i p o : J e s s i c a F i e r r o

Introducción a la arquitectura de computadores

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

Sección de procesamiento: El camino de datos

Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos

Conceptos de Arquitectura de Computadoras Curso 2015

Diagrama a bloques de una computadora

Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles

Arquitectura (Procesador familia 80 x 86 )

Práctica 7 - Microarquitectura del CPU

Revisión de Conceptos. Estructura de un Computador von Neumann. Arquitectura de Computadores I Introducción

Práctica 4 - Microarquitectura del CPU

Lo que definimos como CPU (Central Process Unit) o Unidad Central de Proceso, está estructurado por tres unidades operativamente diferentes:

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

ESTRUCTURA BÁSICA DE UN ORDENADOR

Estructura de Computadores Tema 1. Introducción a los computadores

Tema 2: Conceptos básicos. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Arquitectura de Computadoras

Entrada y Salida! EC-2721 Arquitectura del Computador I! Entradas/Salidas: Problemas. Entradas salidas: Criterios. Amplia variedad de periféricos!

ENIAC, Primer computador electrónico y su panel de conexiones

Instituto Tecnológico de Morelia

Arquitectura de Computadoras. Clase 4 Segmentación de Instrucciones

1.1 Introducción del Curso. 1.2 Nociones Básicas

ARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN

Ejercicios. Arquitectura de Computadoras. José Garzía

Unidad Nº II Arquitectura de un computador. a gran escala

FUNDAMENTOS DE COMPUTADORES

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas MARCO TEORICO. Estructura Interna

ARQUITECTURA VON NEUMANN

ÍNDICE CAPÍTULO 1 FUNDAMENTOS DE LOS MICROCONTROLADORES

2. Números naturales: sistema de numeración y operaciones básicas

Diseño del procesador MIPS R2000

Convenciones. Introducción. Unidades principales en la implementación. El procesador: camino de datos y control. Tipos de elementos:

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Tema 1 Introducción a los Microprocesadores

Velocidades Típicas de transferencia en Dispositivos I/O

1.2.- EL MICROPROCESADOR.

Unidad 2: Taller de Cómputo. Estructura y Componentes de la Computadora UNIDAD DOS: INTRODUCCIÓN

- La implementación es responsable de: Los ciclos de reloj por instrucción (CPI). La duración del ciclo de reloj.

3 - Arquitectura interna de un up

28/09/2012. Interfaz con Dispositivos de Salida. Interfaz con Dispositivos de Entrada. Port Mapped. Memory mapped. Interfaz con Dispositivos I/O

Unidad IV: Programación de microcontroladores

Arquitectura de Computadores

El Computador y sus Partes INTRODUCCIÓN A LAS TECNOLOGÍAS INFORMÁTICAS

Unidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño

Guía didáctica para el estudiante

INDICE 1. Operación del Computador 2. Sistemas Numéricos 3. Álgebra de Boole y Circuitos Lógicos

PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1

(1) Unidad 1. Sistemas Digitales Basados en Microprocesador SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

Tema: Microprocesadores

Sistemas Informáticos. Estructura Funcional

La Máquina de Acceso Aleatorio (Random Access Machine)

Programación de Sistemas. Unidad 1. Programación de Sistemas y Arquitectura de una Computadora

INTRODUCCIÓN. Comunicación Serial.

Arquitectura de computadoras

Arquitectura de Computadoras. Anexo Clase 8 Buses del Sistema

Qué es un programa informático?

Estructura básica de un ordenador

1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento.

Transcripción:

Micro-Operaciones En la ejecución de un programa en una computadora, se ejecutan instrucciones, que pueden subdividirse en ciclos: Búsqueda/Ejecución Cada ciclo se compone a su vez de una serie de operaciones más sencillas, llamadas microoperaciones Implican movimientos de información a nivel de registros, y son las operaciones más elementales e indivisibles del computador. Elementos constituyentes de la ejecución de un programa

4 Registros básicos: Registro de Direcciones de Memoria (memoria Address registro, MAR) Conectado al bus de direcciones Especifica la dirección en la que se lee o escribe un operando Registro Separador de Memoria (Memory Buffer registro, MBR) Conectado al bus de datos Almacena el dato a escribir o el último dato leído Contador de Programa (Program Counter, PC) Almacena la dirección de la próxima dirección a ser ejecutada Registro de Instrucción (instrucción registro,ir) Almacena la última instrucción captada Secuencia de Búsqueda (Captación) La dirección de la instrucción está en el PC. El valor de la dirección (MAR) se coloca en el bus de direcciones. La Unidad de Control genera un comando READ El resultado (un dato desde la memoria) aparece en el bus de datos El dato se copia al MBR desde el bus de datos. El PC se incrementa en 1 (en paralelo con la búsqueda del dato desde la memoria) El dato (instrución) se mueve del MBR al IR El MBR queda libre para nuevas búsquedas de datos

Secuencia de Búsqueda (simbólica) t1: MAR (PC) (tx = ciclo de reloj) t2: MBR (memoria) PC (PC) +1 t3: IR (MBR) ó: t1: MAR (PC) t2: MBR (memoria) t3: PC (PC) +1 IR (MBR) Reglas para agrupamiento de µ-ops en un mismo ciclo de reloj Debe seguirse la secuencia apropiada MAR (PC) debe preceder a MBR (memoria) Deben evitarse conflictos: No se debe leer ni escribir el mismo registro al mismo tiempo. MBR (memoria) & IR (MBR) no deben hacerse en el mismo ciclo También: PC (PC)+1 involucra una suma Se puede usar la ALU para disminuir la circuitería Pero pueden ser necesarias más microoperaciones

Ciclo indirecto MAR (IR dirección ) - campo de dirección del IR MBR (memoria) IR dirección (MBR dirección ) El MBR contiene una dirección El IR está ahora en el mismo estado en que estaría si se hubiera usado un direccionamiento directo Ciclo de interrupción t1:mbr (PC) t2:mar dirección de salvaguarda PC dirección de la rutina t3:memoria (MBR) Esto es un ciclo mínimo, ya que si el procesador tiene más de un nivel o tipo de interrupciones, pueden ser necesarias más microoperaciones para obtener la dirección de salvaguarda

Ciclo de Ejecución (ADD) Es diferente para cada instrucción P.ej.: ADD R1,X suma el contenido de la posición X al registro R1, dejando el resultado en R1 t1:mar (IR dirección ) t2:mbr (memoria) t3:r1 R1 + (MBR) No hay superposición de micro-operaciones Ciclo de Ejecución (ISZ) ISZ X - incrementar y saltar si cero t1: MAR (IR dirección ) t2: MBR (memoria) t3: MBR (MBR) + 1 t4: memoria (MBR) si (MBR) = 0 entonces PC (PC) + 1 Notas: if es una micro-operación simple Se puede ejecutar al mismo tiempo que el valor actualizador de MBR se coloca en la memoria (t4).

Ciclo de Ejecución (BSA) BSA X Saltar y guardar la dirección La dirección de la instrucción siguiente a BSA se guarda en la posición X La ejecución continúa desde X+1 t1: MAR (IR dirección ) MBR (PC) t2: PC (IR dirección ) memoria (MBR) t3: PC (PC) + 1 Resúmen de un Ciclo de Instrucción Cada fase puede descomponerse en una serie de micro-operaciones elementales P.ej., para los ciclos de búsqueda, indirecto, y de interrupción Para el ciclo de ejecución Hay una secuencia de micro-operaciones para cada código de operación Necesitamos unir las secuencias de microoperaciones Suponemos un nuevo registro de 2 bits: Código de Ciclo de Instrucción (instrucción cycle code, ICC), que determina el estado del procesador en términos de que parte del ciclo se encuentra: 00: Búsqueda 01: Indirecto 10: Ejecucíón 11: Interrupción

Diagrama de flujo del Ciclo de Instrucción Requerimientos funcionales de la Unidad de Control 1) Definir los elementos básicos del procesador 2) Describir las microoperaciones que ejecuta el procesador 3) Determinar las funciones que debe realizar las unidad de control para que se ejecuten las operaciones.

1) Elementos básicos del Procesador ALU Registros Caminos de datos internos Caminos de datos externos Unidad de Control 2) Tipos de Micro-operaciones Transferencia de datos entre registros Transferencia de datos desde un registro a una interfaz externa (p.ej., el bus del sistema) Transferencia de datos desde una interfaz externa a un registro Realizar una operación aritmética o lógica entre registros.

3) Funciones de la Unidad de Control Secuenciamiento Hacer que la CPU realice una serie de microoperaciones en la secuencia correcta, de acuerdo al programa que se esta ejecutando. Ejecución Hacer que se ejecute cada micro-operación Esto se logra mediante la utilización de señales de control. Señales de Control - Entradas Reloj La señal que hace que se ejecute una microoperación (o un conjunto de microoperaciones simultáneas) por ciclo de reloj Registro de Instrucción Código de operación de la instrucción en curso Determina cuales micro-instrucciones se realizan en el ciclo de ejecución Indicadores (Flags) Estado de la CPU Resultado de operaciones previas Señales de control de bus del sistema Interrupciones Reconocimientos

Modelo de una Unidad de Control Señales de Control - Salidas Internas de la CPU Las que provocan movimientos de datos entre registros Las que activan funciones específicas de la ALU Hacia el bus de control Para la memoria Para los módulos de I/O

Ejemplo de Secuencia de Señales de Control - Búsqueda MAR (PC) La Unidad de Control activa la señal para las compuertas entre el PC y el MAR MBR (memoria) Activa las compuertas entre MAR y el bus de direcciones Activa la señal de control de lectura de la memoria Activa las compuertas entre el bus de datos y el MBR Caminos de datos y Señales de Control

Organización Interna Dada la complejidad de las conexiones, lo usual es utilizar un bus interno Las compuertas controlan el movimiento de datos desde y hacia el bus interno Las señales de control manejan la transferencia de datos desde y hacia el bus externo. Es necesario agregar registros temporales (de entrada y de salida) para asegurar una operación apropiada de la ALU CPU con Bus Interno

Implementación Cableada (1) La Unidad de Control es un circuito secuencial, cuyas entradas son: Indicadores (Flags) y líneas del bus de control Cada bit tiene un significado determinado Registro de Instrucción Cada código de operación genera diferentes señales de control para cada instrucción Entoces, debe haber una entrada lógica única para cada código de operación Esta función la realiza un decodificador n entradas binarias y 2 n salidas Implementación Cableada (2) Reloj Provee una secuencia repetitiva de pulsos Permite calcular la duración de cada microoperación Debe ser de una duración suficiente para segurar la propagación de las señal a través de las compuertas u buses Hay señales de control diferentes en unidades de tiempo diferentes dentro de un único ciclo de instrucción. Por lo tanto, se necesita un contador que genere una señal de control diferente para t1, t2, etc.

Unidad de Control con Entradas Decodificadas Problemas del diseño de Lógica Cableada La lógica del secuenciamiento y las microoperaciones resulta muy compleja - Esto dificulta el diseño y el testeo El diseño resulta inflexible. - Esto impide agregar nuevas instrucciones.

Control Micro-programado Usa una secuencia de intrucciones para controlar operaciones complejas Esta secuencia se denomina microprogramación o firmware Implementación Todo lo que una Unidad de Control hace es generar un conjunto de señales de control para cada micro-operación Cada señal de control está activa o inactiva Por lo tanto, se puede representar cada señal de control con un bit El conjunto de bits de todas las señales de control conformará una palabra de control Cada instrucción (código de máquina) tiene una secuencia de palabras de control Se puede adicionar una dirección que especifique la siguiente instrucción (condicionales)

Tipos de Micro-instrucciones Cada micro-instrucción especifica una(o pocas) micro-operaciones a ser realizadas (micro-programación vertical) Cada micro-instrucción especifica varias diferentes micro-operaciones a ser realizadas en paralelo (micro-programación horizontal) Formatos de Microinstrucción típicos

Organización de una Memoria de Control Unidad de Control

Funcionamiento de una Unidad de Control microprogramada Funcionamiento de la Unidad de Control La lógica de secunciamiento envía un comando de lectura a la memoria de control La palabra especificada por el registro de dirección de control es leída en el registro intermedio de control. El registro intermedio de control genera las señales de control y contiene la información de la siguiente dirección La lógica de secuenciamiento carga la nueva dirección en el registro de dirección de control, basada en la información proporcionada por el registro intermedio de control y por los indicadores de la ALU Todo esto sucede en un ciclo de reloj.

Decisión de la Siguiente Dirección Dependiendo de los indicadores (flags) de la ALU y del registro intermedio de control, se decide una de las siguientes tres decisiones: Buscar la siguiente instrucción Se suma 1 al registro de dirección de control Saltar a una nueva rutina según indica una microinstrucción de salto El campo de dirección del registro intermedio de control se carga en el registro de dirección de control Saltar a la rutina de una instrucción de máquina Se carga el registro de dirección de control en función del código de operación almacenado en IR Lectura Requerida Stallings capítulos 14-15