Estructura de Computadores



Documentos relacionados
Tema 4 (II) El procesador

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

Tema 4 (I) El procesador

Tema 4 (II) El procesador

Ejercicio 1. Considere el siguiente fragmento en ensamblador:

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad de Control. Escuela Superior de Informática Universidad de Castilla-La Mancha

Ejercicios del tema 4. El procesador

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León

Entorno de Ejecución del Procesador Intel Pentium

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

Arquitectura basica de un computador

Arquitectura Von Neumann

La Unidad Procesadora.

Capítulo 5 El procesador

Sistemas de Computadoras Índice

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel.

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Ejercicios del tema 4. El procesador

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:


Tema 4. La Unidad de Control

Fundamentos de Computadores I

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

Arquitecturas CISC y RISC

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

TEMA 4. Unidades Funcionales del Computador

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

18. Camino de datos y unidad de control

Clase 20: Arquitectura Von Neuman

Tema 2: Implementación del núcleo de un Sistema Operativo

Tema 7: Esquema del Funcionamiento de una Computadora. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

La memoria principal. Los subsistemas de E/S. Los buses del sistema

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A

INTRODUCCIÓN. Definiciones ORDENADOR (RAE 1992): En esta asignatura computador y ordenador tiene el mismo significado

Estructura de Datos. Unidad I Tipos de Datos

Arquitecturas RISC. Arquitectura de Computadoras y Técnicas Digitales - Mag. Marcelo Tosini Facultad de Ciencias Exactas - UNCPBA

Pipelining o Segmentación de Instrucciones

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES

MICROPROCESADORES PARTES DE UN MICROPROCESADOR

Análisis general de un Microprocesador

Tema 1. Introducción a los computadores

Tema 4: Diseño de un microprocesador

EL MICROPROCESADOR INTRODUCCION

Ensamblador. Interrupciones. Dentro de una computadora existen dos clases de interrupciones:

Mod. I, Unid. 1, Obj. 1 Criterio de Dominio 1/1

2 Sea una unidad de disco duro de brazo móvil con las siguientes características:

DESCRIPCION DEL SITEMA MASTER.

Entrada salida y comunicación

Arquitecturas de computadoras

OPERADORES: Maquinaria para realizar las instrucciones. Capítulo Tercero Fundamentos de Computadores Ingeniería de Telecomunicación

Tema 2. Diseño del repertorio de instrucciones

Convivencia. Gestión del Sistema de Entrada/Salida

PROBLEMAS DE FUNDAMENTOS DE TECNOLOGÍA DE COMPUTADORES T5. MEMORIAS

Hardware: componentes físicos (UCP, discos, impresora, circuitos de E/S,...) Software: componentes lógicos (lo que no es hardware)

Introducción a la arquitectura de computadores

INTRODUCCIÓN. Interrupciones.

CONCEPTOS FUNDAMENTALES.

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.

SCT Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A.

COMPUTADORES SEGMENTADOS (DLX)

Hardware: dentro de la caja. Introducción a la Informática

Microcontroladores PIC de Microchip: generalidades


Tema 3. Introducción a la configuración de un PC

Presentación de la materia Historia de las computadoras

6-REGISTROS DEL 8086 Y DEL 80286

Automatización digital de procesos. Tema B

La informática es el conjunto de técnicas y conocimientos necesarios para el tratamiento automático de la información mediante el ordenador.

Arquitectura de Computadores

Microarquitectura: DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE MICROARQUITECTURA: FLUJO DE DATOS Y CONTROL DEL MICROPROCESADOR

INTRODUCCIÓN A LOS MICROPROCESADORES

Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato

Organización Básica de un Computador y Lenguaje de Máquina

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

Estructura de Computadores

Organización de Computadoras. Turno Recursantes Clase 8

1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5.

Arquitectura de Computadores

Arquitectura de Computadoras. Clase 5 Posibles soluciones a atascos

Arquitectura Segmentada: Conceptos básicosb

Test: Conteste exclusivamente en HOJA DE LECTURA ÓPTICA. No olvide marcar que su tipo de examen es A.

Procesadores segmentados. El DLX.

TRAB. PRÁCTICO Nº 3: UNIDAD CENTRAL DE PROCESAMIENTO (C.P.U.)

UNIDAD 4: El procesador: Camino de los datos y Control.

Introducción a los Sistemas Operativos

MICROPROCESADOR RISC SINTETIZABLE EN FPGA PARA FINES DOCENTES

Plataformas de soporte computacional: arquitecturas avanzadas,

Tema 2. La Información y su representación

ENTORNO DE TRABAJO PARA LA SIMULACIÓN HARDWARE DE UNA COMPUTADORA SENCILLA

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA

TEMA III - Interrupciones en Sistemas en Tiempo Real

INFORMÁTICA BÁSICA 1ª PARTE (DURACIÓN TOTAL DEL EXAMEN: 2 HORAS Y 15 MINUTOS)

Transcripción:

Estructura de Computadores Tema 4. El procesador Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID

Contenido Elementos de un computador Organización del procesador Registros ALU Unidad de control Interconexión de los elementos La unidad de control Ejecución de instrucciones Modos de ejecución Arranque de un computador Interrupciones Diseño de la unidad de control Prestaciones y paralelismo ARCOS Estructura de Computadores 2

Componentes de un computador 3 Procesador Memoria Principal Bus Módulo E/S Módulo E/S Módulo E/S Periférico Periférico Periférico ARCOS Estructura de Computadores 3

Interconexión 4 Procesador Memoria Principal Bus de datos Bus de direcc. Bus de control Módulo E/S Módulo E/S Módulo E/S Periférico Periférico Periférico ARCOS Estructura de Computadores 4

La placa base ARCOS Estructura de Computadores 5

Componentes del procesador 6 Banco de registros Unidad aritmético-lógica Unidad de control Memoria caché ARCOS Estructura de Computadores 6

Registros n Elemento que almacena un conjunto de bits Registro carga n Puede existir otra señal para poner el registro a cero ARCOS Estructura de Computadores 7

Registros 8 n Registro carga Puede existir otra señal para poner el registro a cero n Entrada Carga Contenido Salida ARCOS Estructura de Computadores 8

Tipos de registros Visibles al programador Registros no visibles Registros temporales Registros de control y estado Contador de programa, PC Registro de instrucción, RI Registro de direcciones de memoria, MAR Registro de datos de memoria, MBR Registro de estado, RE ARCOS Estructura de Computadores 9

Banco de registros 10 Agrupación de registros. Típicamente un número de registros potencia de 2. n registros log 2 n bits para seleccionar. k bits de selección 2 k registros. Elemento fundamental de almacenamiento. Acceso muy rápido. ARCOS Estructura de Computadores 10

Banco de registros 11 A n B n RA RB RC k k k 0 1 SC 2 k -1 E n ARCOS Estructura de Computadores 11

Banco de registros 12 A n B n RA RB k k 0 1 Con 32 registros, k=5 RC k SC 2 k -1 E n ARCOS Estructura de Computadores 12

13 Banco de registros A n B Qué valor tiene que tener RA para sacar por A el contenido del registro 14? n RA RB RC k k k 0 1 SC 2 k -1 E n ARCOS Estructura de Computadores 13

Esquema para lectura A B RA k 0 1 2 k -1 M U X RB k M U X ARCOS Estructura de Computadores 14

Unidad aritmético lógica 15 A B n n OP p 2 p operaciones aritméticas y lógicas distintas n R Registro de Estado Acarreo Desbordamiento Cero Positivo Negativo ARCOS Estructura de Computadores 15

Unidad de control 16 Resto de procesador Unidad de control Señales de control Señal de reloj Valor de cada señal de control para cada ciclo de reloj ARCOS Estructura de Computadores 16

Acceso a la memoria 17 L E Memoria n ADDR Dirección n DATA Dato ARCOS Estructura de Computadores 17

Búfer triestado 18 E S E C S 0 0 Z 0 0 Z C 0 1 0 1 1 1 ARCOS Estructura de Computadores 18

Acceso a un bus 19 CA CB CC RA RB RC TA TB TC Bus ARCOS Estructura de Computadores 19

Ejemplo Qué señales de control hay que activar para cargar el contenido de RA en RB? CA CB CC RA RB RC TA TB TC Bus ARCOS Estructura de Computadores 20

Camino de datos (RB RA) 21 CA CB CC RA RB RC TA TB TC Bus Situación con todas las señales desactivadas ARCOS Estructura de Computadores 21

Camino de datos (RB RA) 22 CA CB CC RA RB RC TA TB TC Bus ARCOS Estructura de Computadores 22

23 Estructura de un computador y procesador basado en bus ARCOS Estructura de Computadores 23

Otros registros PC: contador de programa RI: registro de instrucción SP: puntero de pila MAR: registro de direcciones de memoria MBR: registro de datos de memoria RE: registro de estado Registros transparentes al usuario: RT1, RT2, RT3. ARCOS Estructura de Computadores 24

Características 25 Computador de 32 bits La memoria se direcciona por bytes Un ciclo de lectura y escritura Banco de 32 registros visibles R0..R31 Asumir como en el MIPS R0 = 0 y SP = R29 Registros temporales RT1, RT2, RT3: no visibles Otros registros de control y estado MAR, MBR, PC, RE, RI ARCOS Estructura de Computadores 25

Señales de control Memoria principal L E Bus de direcciones Bus de datos Bus de control Procesador Td Ta 4 Señales de control Bus Interno C1 RA RB RC SC C2 MAR MBR PC C4 C6 C3 C5 RI T3 T4 T8 A T1 Banco de Registros T2 B C9 MA Cod. OP 0 RT1 MUX A + C10 ALU RT2 1 0 1 MB MUX B T5 T6 RE T7 Unidad de Control C7 C8 Señales de interrupción E C11 RT3 ARCOS Estructura de Computadores 26

Señales de control Señales de acceso a memoria Señales de carga en registros Señales de control de las puertas triestado Señales de selección de los MUX Señales de control del banco de registros (RA, RB, RC y SC) ARCOS Estructura de Computadores 27

Unidad de control Funciones básicas Lectura de instrucciones de la memoria Decodificación Ejecución de instrucciones Arranque Lectura de la instrucción Decodifación Ejecución de la instrucción Parada ARCOS Estructura de Computadores 28

Lenguaje nivel RT Lenguaje de nivel de transferencia de registros. Registro1 Registro2 Especifica lo que ocurre en el computador mediante transferencias de datos entre registros. ARCOS Estructura de Computadores 29

Operaciones elementales Operaciones de transferencia MAR PC Operaciones de proceso R1 R2 + RT2 Lenguaje RT Lenguaje de nivel de transferencia de registros. Especifica lo que ocurre en el computador mediante transferencias de datos entre registros. ARCOS Estructura de Computadores 30

Señales de control 31 Especificación de las señales de control activas en cada ciclo de reloj. Se puede generar a partir del nivel RT. Op. Elemental Señales de control activadas (resto 0) MAR PC T4, C1 R1 R2 + RT1 RB = 00011 (R2) MA = 1 MB = 0 Cod Op. = SUMA T5 RC = 00001 (R1) SC ARCOS Estructura de Computadores 31

Reloj Un computador es un elemento síncrono Controla el funcionamiento ciclo El reloj temporiza las operaciones En un ciclo de reloj se ejecutan una o más operaciones elementales siempre que no haya conflicto Durante el ciclo se mantienen activadas las señales de control necesarias En un mismo ciclo se puede realizar MAR PC y RT3 RT2 + RT1 En un mismo ciclo no se puede realizar MAR PC y R1 RT3 por qué? ARCOS Estructura de Computadores 32

Ejercicio Cuál es la duración del ciclo de un computador con una frecuencia de reloj de 1 GHz? ARCOS Estructura de Computadores 33

Fases de la ejecución de instrucciones 34 Lectura de la instrucción, captación o fetch Leer la instrucción almacenada en la dirección de memoria indicada por PC y llevarla a RI. Incremento del PC Decodificación Análisis de la instrucción en RI para determinar: La operación a realizar. Direccionamiento a aplicar. Señales de control a activar Ejecución Generación de las señales de control en cada ciclo de reloj. ARCOS Estructura de Computadores 34

Ejemplo: Lectura de la instrucción 35 C1: MAR PC C2: PC PC + 4 C3: MBR MP C4: RI MBR C1: MAR PC C2: PC PC + 4, MBR MP C3: RI MBR Posibilidad de operaciones simultáneas ARCOS Estructura de Computadores 35

Lectura de la instrucción (c1) 36 C1: MAR PC C2: PC PC + 4, MBR MP C3: RI MBR ARCOS Estructura de Computadores 36

Lectura de la instrucción (c2) 37 C1: MAR PC C2: PC PC + 4, MBR MP C3: RI MBR ARCOS Estructura de Computadores 37

Lectura de la instrucción (c3) 38 C1: MAR PC C2: PC PC + 4, MBR MP C3: RI MBR ARCOS Estructura de Computadores 38

Señales de control del ciclo de fetch 39 Especificación de las señales de control activas en cada ciclo de reloj. Se puede generar a partir del nivel RT. C1: MAR PC C2: PC PC + 4, MBR MP C3: RI MBR C1: T4, C1 C2: C4, Td, L, C2, C3: T3, C6 ARCOS Estructura de Computadores 39

Ejecución completa de lw $reg, dir C1: MAR PC C2: PC PC + 4, MBR MP C3: RI MBR C4: Decodificación C5: MAR RI(dir) C6: MBR MP C7: $Reg MBR ARCOS Estructura de Computadores 40

41 Ejercicio: operaciones elementales para otras instrucciones Instrucciones que caben en una palabra: sw $reg, dir add $rd, $ro1, $ro2 addi $rd, $ro1, inm lw $reg1, desp($reg2) j dir jal dir jr $reg beq $ro1, $ro2, desp Instrucciones que ocupan varias palabras: addm R1, dir R1 R1 + MP[dir] ARCOS Estructura de Computadores 41

Modos de ejecución Modo usuario El procesador no puede ejecutar instrucciones privilegiadas (ejemplo: instrucciones de E/S, de habilitación de interrupciones, ) Si un proceso de usuario ejecuta una instrucción privilegiada se produce una interrupción Modo núcleo Reservado al sistema operativo El procesador puede ejecutar todo el repertorio de instrucciones Se indica con un bit situado en el registro de estado ARCOS Estructura de Computadores 42

Interrupciones Señal que llega a la unidad de control y que rompe la secuencia normal de ejecución Causas: Cuando ocurre un error en la ejecución de la instrucción (división por cero, ) Ejecución de una instrucción ilegal Acceso a una posición de memoria ilegal Cuando un periférico solicita la atención del procesador El reloj. Interrupciones de reloj Cuando se genera una interrupción se detiene el programa actual y se transfiere la ejecución a otro programa que atiende la interrupción ARCOS Estructura de Computadores 43

Clasificación de las interrupciones Excepciones hardware síncronas División por cero, acceso a una posición de memoria ilegal, Excepciones hardware asíncronas Fallos o errores en el HW Interrupciones externas Periféricos, interrupción del reloj Llamadas al sistema Instrucciones máquina especiales que generan una interrupción para activar al sistema operativo ARCOS Estructura de Computadores 44

Tratamiento de las interrupciones Interrupciones inhabilitadas Arranque Lectura de la instrucción Ejecución de la instrucción Ciclo de reconocimiento de la interrupción Interrupciones habilitadas Parada ARCOS Estructura de Computadores 45

Ciclo de reconocimiento de la interrupción Durante este ciclo la Unidad de control realiza los siguientes pasos: Comprueba se hay activada una señal de interrupción. Si está activada: Salva el contador de programa y el registro de estado Pasa de modo usuario a modo núcleo Obtiene la dirección de la rutina de tratamiento de la interrupción Almacena en el contador de programa la dirección obtenida (de esta forma la siguiente instrucción será la de la rutina de tratamiento) ARCOS Estructura de Computadores 46

Rutina de tratamiento de la interrupción Forma parte del código del sistema operativo Salva el resto de registros del procesador Atiende la interrupción Restaura los registros del procesador utilizados por el programa interrumpido Ejecuta una instrucción máquina especial: RETI Restaura el registro de estado del programa interrumpido (fijando de nuevo el modo del procesador a modo núcleo) Restaura el contador de programa (de forma que la siguiente instrucción es la del programa interrumpido). ARCOS Estructura de Computadores 47

Interrupciones vectorizadas Memoria del sistema operativo Elemento que interrumpe INT vector Unidad de Control vector Rutina de tratamiento de la interrupción ARCOS Estructura de Computadores 48

Diseño de la unidad de control RI CO RE Señales de interrupción Unidad de Control Señales de control Señal de reloj Cada una de las señales de control es función del valor de: El contenido del RI El contenido de RE El momento del tiempo ARCOS Estructura de Computadores 49

Diseño de la unidad de control Para cada instrucción máquina: Definir el comportamiento en lenguaje RT en cada ciclo de reloj Traducir el comportamiento a valores de cada señal de control en cada ciclo de reloj Diseñar un circuito que genere el valor de cada señal de control en cada ciclo de reloj ARCOS Estructura de Computadores 50

Ejemplo de máquina de estados MAR PC PC PC + 4 MBR MP 2 1 lectura add r1, r2 lw r1, dir bz dir sw r1 R1 R1 + R2 3 CO = 11 AND z =0 (bz) 4 CO = 00 (add) RI MBR CO = 01 (lw) CO = 10 5 (sw) 8 CO = 11 AND z =1 (bz) 11 R1 R1 + R2 MAR RI(direccion) MAR RI(direccion) PC RI(direccion) 6 lectura 9 MBR MP MBR R1 7 10 escritura R1 MBR MP MBR ARCOS Estructura de Computadores 51

Técnicas de control Unidad de control cableada Unidad de control microprogramada ARCOS Estructura de Computadores 52

Unidad de control cableada Construcción mediante puertas lógicas utilizando métodos de diseño Características: Laborioso y costos diseño y puesta a punto del circuito Difícil de modificar Rediseño completo Muy rápida ARCOS Estructura de Computadores 53

Unidad de control microprogramada RI RE Señales de interrupción CO Señal de reloj Secuenciador de la memoria de control C1 C2 C3 C4 R5 C6 C7 C8 C9 C10 C11 Td Ta T1 T2 T3 T4 T5 T6 T7 T8 RA4 RA3 RA2 Ra1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 Memoria de Control RB4 Rb3 RB2 RB1 RB0 RC4 RC3 RC2 RC1 RC0 SC L E Cop3 Cop2 Cop1 Cop0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Microinstrucci\on Señales de control ARCOS Estructura de Computadores 54

Unidad de control microprogamada Utiliza una memoria de control donde se almacena el valor de cada señal de control en cada ciclo de reloj Características: Fácil modificación Facilidad para incorporar instrucciones complejas Hardware más simple ARCOS Estructura de Computadores 55

Microinstrucciones Cada palabra de la memoria de control define el valor de cada señal de control en un periodo Microinstrucción Una microinstrucción tiene un bit por cada señal de control del procesador ARCOS Estructura de Computadores 56

Microcódigo y microprograma Microprograma: conjunto de microinstrucciones que permite ejecuta una instrucción Microcódigo (firmware): conjunto de microprogramas de una máquina ARCOS Estructura de Computadores 57

Arranque de un computador El Reset carga valores predefinidos en registros PC dirección de arranque del programa iniciador (memoria ROM) Se ejecuta el programa iniciador Test del sistema Carga en memoria el cargador del sistema operativo PC dirección del programa cargador del sistema operativo Se ejecuta el programa cargador del SO que carga el resto del sistema operativo Se pasa a ejecutar el sistema operativo ARCOS Estructura de Computadores 58

Modelo de procesador basado en camino de datos (sin bus) PC +4 Memoria Instrucciones Banco de registros Memoria Datos ARCOS Estructura de Computadores 59

Tiempo de ejecución de un programa = _ + _ N es el número de instrucciones máquina del programa CPI es el número medio de ciclos de reloj necesario para ejecutar una instrucción t ciclo_cpi es el tiempo que dura el ciclo de reloj del procesador AMI es el número medio de accesos a memoria por instrucción t ciclo_mem es el tiempo de acceso a memoria ARCOS Estructura de Computadores 60

Paralelismo a nivel de instrucción Procesamiento concurrente de varias instrucciones Procesadores segmentados: utilizan técnicas de pipeline para procesar varias instrucciones simultáneamente Procesadores superescalares: procesador segmentado que puede ejecutar varias instrucciones en paralelo cada una de ellas en una unidad segmentada diferente Procesadores multicore: procesador que combina dos o más procesadores independientes en un solo empaquetado ARCOS Estructura de Computadores 61

Segmentación de instrucciones. Pipeline Etapas de ejecución de una instrucción LI: Lectura de la instrucción, incremento del PC D: Decodifcación LO: Lectura de operandos EJ: Ejecución de la instrucción EO: Escritura de operandos ARCOS Estructura de Computadores 62

Ejecución sin pipeline Time LI D LO EJ EO LI D LO EJ EO Si cada fase dura N ciclos de reloj, se ejecuta una instruccón cada 5 N ciclos ARCOS Estructura de Computadores 63

Ejecución con pipeline Time LI D LO EJ EO LI D LO EJ EO LI D LO EJ EO LI D LO EJ EO Si cada fase dura N ciclos de reloj, se ejecuta una instruccón cada N ciclos ARCOS Estructura de Computadores 64

Superescalar Tiempo LI D LO EJ EO LI D LO EJ EO LI D LO EJ EO LI D LO EJ EO LI D LO EJ EO LI D LO EJ EO LI D LO EJ EO LI D LO EJ EO Pipeline con varias unidades funcionales en paralelo ARCOS Estructura de Computadores 65

Multicores Múltiples procesadores en el mismo circuito ARCOS Estructura de Computadores 66