El modelo de Von El modelo de Von NeumannNeumann
Modelo de Von Modelo de Von NeumannNeumann
• ¿ De qué manera se puede ejecutar un algoritmo sobre una máquina ?
• ¿ Cómo hacer el hardware de la manera más general para este propósito ?
• ¿ Cual es la manera de diseñar hardware que pueda ejecutar un algoritmo ?
El modelo de Von El modelo de Von NeumannNeumann
¿ Qué es un algoritmo ?
Un conjunto de instrucciones lógicas.
¿ Qué elementos contiene ?
-Variables (Datos)
-Funciones o procedimientos (Instrucciones)
El modelo de Von El modelo de Von NeumannNeumann
¿ Qué elementos se sugieren ?
-Elementos de almacenamiento.
Memoria
Registros
-Elementos de procesamiento
Unidad central de procesamiento (CPU)
Modelo de Von Modelo de Von NeumannNeumann
Esquema totalmente paralelo.Esquema totalmente paralelo.
Modelo de Von Modelo de Von NeumannNeumann
Esquema pseudo paralelo.Esquema pseudo paralelo.
Modelo de Von Modelo de Von NeumannNeumann
Esquema de Von Neumann.Esquema de Von Neumann.
Modelo de Von Modelo de Von NeumannNeumann
Esquema de bus de sistemaEsquema de bus de sistema**..
Modelo de Von Modelo de Von NeumannNeumann
Esquema de bus de sistema.Esquema de bus de sistema.
Modelo de Von Modelo de Von NeumannNeumann
Otros esquemas.Otros esquemas.
• HarvardHarvard
• PrincetonPrinceton
La memoriaLa memoria
k m bits almacenados. Usualmente k = 2n.
Dirección: Identificador único de localidad (n bits).
Dato: contenido de cada localidad (m bits).
Operaciones básicas:
LOAD
STORE
•••
0000000100100011010001010110
110111101111
00101101
10100010
Interfaz con la memoriaInterfaz con la memoria
¿ Cómo hace la unidad de procesamiento para leer o escribir datos en la memoria ?
MARMAR: Registro de dirección de memoria.
MDRMDR: Registro de datos de memoria.
Procesos de Lectura y escritura en memoria.
Entrada - SalidaEntrada - SalidaSe trata de dispositivos que transfieren datos desde y hacia la memoria del computador.
Cada dispositivo tiene su propia interfaz, usualmente un conjunto de registros como MAR y MDR.
Algunos dispositivos son capaces de escribir directamente en la memoria sin pasar por la unidad de procesamiento (DMA).
Al software encargado de controlar el acceso a un dispositivo se llama driver.
Unidad de Unidad de procesamiento.procesamiento.Se puede dividir a la unidad de procesamiento
en dos partes.
En el datapath o sección de datos se encuentra el hardware sin inteligencia, es decir, la ALU, los registros, etc.
La inteligencia reside en la sección de control, que interpreta las instrucciones y gestiona su ejecución.
Unidad de Unidad de procesamiento.procesamiento.Unidad de procesamiento Unidad de procesamiento
(datapath)(datapath)
Unidades funcionales.
-ALU
-Unidades de propósito especial
Registros.
-Pequeños espacios de almacenamiento.
-Operandos y resultados de las unidades funcionales.
Tamaño de la palabra.
-Se refiere generalmente al número de bits que maneja la ALU.
-Es también el tamaño de los registros.
Unidad de Unidad de procesamiento.procesamiento.Unidad de procesamiento (control)Unidad de procesamiento (control)
Coordina la ejecución de los programas.
Registro de Instrucción (IR): Contiene la instrucción actual.
Contador de programa (PC): Contiene la dirección de la próxima instrucción a ejecutar.
Unidad de control:
-Lee una instrucción de la memoria. La dirección de dicha instrucción se encuentra en el PC.
-Interpreta la instrucción diciéndole a los elementos del datapath qué hacer. La ejecución puede tomar varios ciclos de máquina.
Unidad de Unidad de procesamiento (suite)procesamiento (suite)
Procesamiento de Procesamiento de instruccionesinstrucciones
Decode instructionDecode instruction
Evaluate addressEvaluate address
Fetch operands from memoryFetch operands from memory
Execute operationExecute operation
Store resultStore result
Fetch instruction from memoryFetch instruction from memory
Procesamiento de Procesamiento de instruccionesinstrucciones
Para la CPU, la instrucción es la unidad fundamental de trabajo. Una instrucción debe especificar dos cosas:
-El código de la operación a realizar.
-Los operandos necesarios para tal operación
Las instrucciones se codifican formando una secuencia de bits*, justo como sucede con los datos.
-El tamaño de las instrucciones puede ser fijo o variable.
-La unidad de control en la CPU se encarga de interpretar la instrucción y generar la coordinación necesaria entre el hardware.
A las instrucciones de un computador y sus formatos se les conoce como arquitectura del conjunto de instrucciones (ISA).
Procesamiento de Procesamiento de instrucciones: Fetchinstrucciones: Fetch
Cargar la siguiente instrucción a ejecutar dentro del registro de instrucción.
-Descargar el contenido del PC en el MAR.
-Enviar una señal de lectura a la memoria.
-Leer el contenido del MDR y cargarlo en el registro IR.
El PC debe quedar incrementado.
MIPS: PC PC + 4
EAEA
OPOP
EXEX
SS
FF
DD
Procesamiento de Procesamiento de instrucciones: Fetchinstrucciones: Fetch
EAEA
OPOP
EXEX
SS
FF
DD
Procesamiento de Procesamiento de instrucciones: instrucciones: DecodificaciónDecodificación
EAEA
OPOP
EXEX
SS
FF
DD
Se debe identificar primero el opcode y la función que se pretende realizar con la instrucción. MIPS: campos op y funct.
Deben identificarse además los operandos de la instrucción y el destino d la misma.