Sección de procesamiento: El camino de datos

Documentos relacionados
Diseño del procesador MIPS R2000

Fundamentos de los Computadores Grado en Ingeniería Informática (hasta final del diseño monociclo)

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Sección de procesamiento: Sección de control

Arquitectura del MIPS: Introducción

El repertorio de instrucciones

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

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

Tema 4: Diseño de un microprocesador

Arquitectura de Computadoras. Clase 4 Segmentación de Instrucciones

El procesador. Datapath y control

El procesador: camino de datos y. IEC UTM Moisés E. Ramírez G. control

16/04/2012. Introducción. Construyendo el Datapath. Esquema de implementación Simple. Unidad de Control. Arquitectura de Computadoras Primavera 2012

El procesador. Diseño del control

La Unidad de Control y el Camino de Datos

Aritmética del computador

El procesador. Datapath para las instrucciones de brinco

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

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

Diseño Procesador Monociclo

Diseño de la ruta de datos multiciclo. Procesador Multiciclo. Diseño de la ruta de datos multiciclo. Diseño de la ruta de datos multiciclo

Plataformas de soporte computacional: arquitecturas avanzadas,

ARQUITECTURA VON NEUMANN

Estructura y Tecnología de Computadores. Módulo G. Estructura del procesador. Tema 16. Diseño de la ruta de datos y la unidad de control

Arquitectura de Computadoras I Ingeniería de Sistemas Curso 2017

Organización del Computador I Verano. MIPS (2 de 2) Basado en el capítulo 2 del libro de Patterson y Hennessy

Objetivo: Conocer el esquema básico de un Microprocesador. Arquitectura secuencial

EC - Bibliografía EC -

Unidad 3. Facultad de Ciencias Departamento de Electrónica

Introducción a la arquitectura de computadores

ARQUITECTURA VON NEUMANN

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Carga de la instrucción / Decodificación y carga de registros (Figura 37) Instrucciones de salto condicional (Figura 40)

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR

Tipo de datos. Montse Bóo Cepeda. Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain.

Arquitectura de Computadoras para Ingeniería

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES 1º I.T.I.G. I.T.I.S.

Bibliografía recomendada: Estructura y Diseño de Computadores: Volumen 1 Modelo Modelo Vo Vo n Neumann

Arquitectura t de Computadores Clase 10: Diseño del microprocesador monociclo pt.2

Tema 3. Operaciones aritméticas y lógicas

Segmentación: Mejora del rendimiento. IEC UTM Moisés E. Ramírez G. Segmentación

Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción

Formato de instrucciones

Vista de Alto Nivel del Funcionamiento del Computador Interconectividad

Pipelining. Introducción

Arquitectura de Computadores

PROBLEMAS TEMA 1: Estructuras de interconexión de un computador

ALU. Unidad aritmético-lógica

Arquitectura de Computadoras

TEMA 4 ESTRUCTURA VON-NEUMANN DEL COMPUTADOR DIGITAL

CICLOS DEL PROCESADOR

LABORATORIO DE COMPUTADORAS

UNIDAD 2: Instrucciones: el lenguaje de las computadoras.

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 2 UNIDAD DE CONTROL JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ

Tema 3: Operaciones aritméticas y lógicas

Unidad de Entrada-Salida Software de sistemas Parámetros característicos Ejemplo

Tema: Microprocesadores

Contenidos: Definiciones:

Fundamentos de los Computadores Grado en Ingeniería Informática (desde diseño multiciclo en adelante)

3. Instrucciones: lenguaje de la máquina

Elementos constituyentes de la ejecución de un programa

Tratamiento de Excepciones en MIPS

Arquitectura de Computadores II Clase #3

Tema 1: PROCESADORES SEGMENTADOS

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

MICROPROCESADOR. Multiciclo

Unidad 5 Unidad central de proceso

op rs rt inmediato 6 bits 5 bits 5 bits Tipo J: Salto incondicional op

Estructura y Tecnología de Computadores II (Gestión y Sistemas)

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO311 Estructuras de Computadores

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

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

5. Procesador: camino de datos y control

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

Computadores y Redes

4.5 Microprogramación para simplificar el diseño del control

Conceptos básicos de procesadores

Arquitectura de Computadores. Resumen para Certamen 2 Por Franco Zuccar

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

Tema 3 (III) Fundamentos de la programación en ensamblador

Procesador MIPS - Registros

Fundamentos de los Computadores Grado en Ingeniería Informática

TEMA III: OPERACIONES CON LOS DATOS

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

Tema 3. Operaciones aritméticas y lógicas

Procesador Segmentado

Modelo de von Neumann

INTRUCCIONES: LENGUAJE MAQUINA

Estructura del Computador

Organización de Computadoras. Clase 6

Arquitectura de Computadores

Diseño de la ruta de datos y la unidad de control

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

Qué es Pipelining? Es una técnica de implementación en la que se superpone la ejecución de varias instrucciones.

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Memoria principal e Interconexión

Tema 3. Operaciones aritméticas y lógicas

3. SEGMENTACIÓN DEL CAUCE

UNIDAD 5: Mejora del rendimiento con la segmentación.

Transcripción:

Sección de procesamiento: El camino de datos Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain.

Estructura del curso 1. Evolución y caracterización de los computadores. 2. Arquitectura del MIPS: Introducción. 3. Tipo de datos. 4. El repertorio de instrucciones. 5. Aritmética del computador. 6. El camino de datos. 7. Sección de control. 8. El camino de datos multiciclo. 9. Sección de control multiciclo. 10. Entrada/Salida (I/O). 2

Esquema de contenidos 1. Estructura básica del procesador 2. El ciclo de instrucción 3. Diseño de un procesador sencillo 3

Estructura básica de un procesador CONTROL MEMORIA ALU ENTRADA/ SALIDA PROCESADOR Arquitectura Von Neumann 4

Estructura básica de un procesador El procesador es el que se encarga de ejecutar las instrucciones especificadas por el programa. Funciones básicas: Captar instrucciones. El procesador debe leer instrucciones de la memoria Interpretar instrucciones. La instrucción debe decodificarse para determinar qué acción es necesaria Captar datos. La ejecución puede exigir leer datos de la memoria o de un módulo de E/S Procesar datos. La ejecución de una instrucción puede exigir llevar a cabo alguna operación aritmética o lógica Escribir datos. Los resultados de una ejecución pueden tener que ser escritos en la memoria o en un módulo de E/S 5

Estructura básica de un procesador El procesador se compone de varias partes: 1. Unidad de control 2. Unidad aritmético-lógica 3. Un banco de registros 4. Otros registros internos: El contador de programa (PC) Registro de instrucciones (IR) 5. Buses, multiplexores, memorias 6

Estructura básica de un procesador Señales control del bus Bus direcciones Bus datos Unidad Control Señales de control s Señales de control Registros ALU s (operandos) s (resultados) 7

Metodología de sincronización El camino de datos se basa en transferencias/computaciones entre registros: Elementos combinacionales: Su salida depende únicamente de las entradas Ejemplo: ALU (sumador, multiplexor, desplazador, ) Elementos secuenciales: Operan sobre el estado del sistema. La salida depende de la entrada y del estado. Ejemplo: Memorias y registros La metodología de sincronización define cuándo pueden leerse y escribirse la diferentes señales Asumimos sincronización por flancos 8

Metodología de sincronización Estrategia de sincronización por flancos Lógica Estado 1 Estado 2 combinacional Ciclo de reloj 9

El ciclo de instrucción El procesamiento que requiere una instrucción se denomina ciclo de instrucción. Ciclo básico de instrucción: INICIO Ciclo de captación Captura de la instrucción Ciclo de ejecución Ejecución de la instrucción FIN 10

Diseño del camino de datos Vamos a construir un camino de datos y su unidad de control para dos realizaciones diferentes de un subconjunto del repertorio de instrucciones del MIPS: Instrucciones de acceso a memoria: lw, sw Instrucciones aritmético-lógicas: add, sub, or, slt Instrucción de salto condicional: beq Instrucción de salto incondicional: j PC Dirección Instrucción Memoria de instrucciones s nº de registro nº de registro nº de registro Registros ALU Dirección Memoria de datos s 11

Contador de programa El camino de datos implementa el ciclo completo de instrucción: carga-decodificación-ejecución. Cada instrucción está en una posición de memoria específica. Contador de programa: Almacenamos la dirección de la instrucción en el PC. Tras procesar una instrucción, avanzamos el contador hasta la siguiente instrucción. Elementos para la búsqueda de instrucciones y el incremento del contador de programa: Direcci n de la instrucci n Instrucci n Memoria de instrucciones PC Suma Sumador 12

Contador de programa Suma Sumador 4 Incrementando PC PC Direcci n Instrucci n Memoria de instrucciones 13

Instrucciones aritmético y lógicas TIPO R: Operaciones aritméticas y lógicas TIPO R op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits Campos: op: código de operación. rs: primer registro operando fuente rt: segundo registro operando fuente rd: registro operando destino shamt: tamaño de desplazamiento (shift amount) funct: código de función. 14

Instrucciones aritmético y lógicas Elementos básicos para la realización de instrucciones tipo R Control de la ALU Numero de registro 5 5 5 lectura 1 lectura 2 escritura a escribir REGISTROS le do 1 le do 2 3 s ALU Cero Resultado de la ALU EscribirReg 15

Instrucciones aritmético y lógicas Operaciones tipo R: Involucran tres registros: dos de lectura y uno de escritura. Usan la ALU para realizar operaciones Control de la ALU Instrucci n lectura 1 lectura 2 escritura a escribir REGISTROS le do 1 le do 2 ALU 3 Cero Resultado de la ALU EscribirReg 16

Instrucciones de carga y almacenamiento Ejemplo: lw $t1, offset($t2) Dirección almacenada en $t2 + offset lw: Lectura memoria, escritura en registro $t1 Computación de la dirección: Extensión del signo del offset (16-bits) a una palabra de 32 bits con signo Requerido hardware para la extensión de signo 17

Instrucciones de carga y almacenamiento Load: realiza un acceso al banco de registros, calcula la dirección de memoria, lee de memoria y escribe en el banco de registros Store: realiza un acceso al banco de registros, calcula la dirección de memoria, lee del banco de registros y escribe en memoria. Elementos para la realización de loads y stores, además del banco de registros y la ALU EscribirMem 16 Entensi n 32 de signo Direcci n ledo a escribir Memoria de datos 1101 0011 1111 1111 1111 1111 1101 0011 LeerMem 18

Instrucciones de carga y almacenamiento Control de la ALU Instrucci n lectura 1 lectura 2 escritura a escribir REGISTROS EscribirReg le do 1 le do 2 ALU 3 Cero Resultado de la ALU Direcci n a escribir EscribirMem le do Memoria de datos 16 Entensi n 32 de signo LeerMem 19

Salto condicional Ejemplo: beq $t1, $t2, offset Se evalúa si dos registros contienen el mismo valor ($t1, $t2) El salto es relativo. El offset es con signo y de 16 bits y tiene que realizarse una extensión de signo. Dirección de salto: La dirección base es la siguiente a la instrucción del salto (PC+4) Hacer un desplazamiento de 2 posiciones a la izquierda del offset (sólo se direccionan palabras completas) Suma el offset desplazado, con extensión de signo, al PC incrementado (PC+4) 20

Salto condicional PC + 4 del camino de datos de instrucciones Desp. 2 bits a la izq. Resultado Sumador Control de la ALU Destino de salto Instrucci n lectura 1 lectura 2 escritura a escribir REGISTROS le do 1 le do 2 ALU 3 Cero Decidir si se hace el salto EscribirReg 16 Entensi n 32 de signo 21

Diseño del camino de datos Para construir el camino de datos hemos de combinar los elementos explicados anteriormente que permiten implementar: Instrucciones de acceso a memoria: lw, sw Instrucciones aritmético-lógicas: add, sub, or, slt Instrucción de salto condicional: beq Instrucción de salto incondicional: j Reutilización del hardware: hardware compartido selecciona los datos mediante multiplexores Parte del hardware no se podrá reutilizar y habrá que replicarlo 22

Diseño del camino de datos Camino de datos para instrucciones de memoria y aritmético-lógicas Control de la ALU Instrucci n lectura 1 lectura 2 escritura a escribir REGISTROS EscribirReg le do 1 le do 2 Fuente ALU M U X ALU 3 Cero Resultado de la ALU Direcci n a escribir EscribirMem le do Memoria de datos Mem2reg M U X 16 Entensi n 32 de signo LeerMem 23

Diseño del camino de datos Incorporando contador de programa 4 Suma Sumador Control de la ALU PC Direcci n Instrucci n Memoria de instrucciones lectura 1 lectura 2 escritura a escribir REGISTROS EscribirReg le do 1 le do 2 Fuente ALU MU X ALU 3 Cero Resultado de la ALU Direcci n a escribir EscribirMem ledo Memoria de datos Mem2reg MU X 16 Entensi n 32 de signo LeerMem 24

Diseño del camino de datos Añadimos saltos condicionales Origen PC 4 Suma Sumador Desp. 2 bits a la izq. Suma Sumador MU X Control de la ALU PC Direcci n Instrucci n Memoria de instrucciones lectura 1 lectura 2 escritura a escribir REGISTROS EscribirReg le do 1 le do 2 Fuente ALU MU X ALU 3 Cero Resultado de la ALU Direcci n a escribir EscribirMem le do Memoria de datos Mem2reg MU X 16 Entensi n 32 de signo LeerMem 25