Arquitectura de Von Neumann

Slides:



Advertisements
Presentaciones similares
Arquitectura RISC & CISC y DSP
Advertisements

El modelo de Von Neumann
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
A REA DE TECNOLOGIA ELECTRONICA U NIVERSIDAD DE O VIEDO LECCION 5 – ARQUITECTURA INTERNA DE LOS PIC - 1F.F. LINERA ARQUITECTURA BASICA. CARACTERISTICA.
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
Fernando Escribano Pro 1º de Bachillerato
ORGANIZACIÓN COMPUTACIONAL
ARQUITECTURA DE COMPUTADORES - VON NEUMANN MODEL
PROCESADORES SUPERESCALARES
Computación PROGRAMACIÓN.
Sistemas Operativos Funcionamiento general de una computadora bajo el control de un programa.
ARQUITECTURA INTEL FORMATOS DE INSTRUCCIÓN
Diego Esteban Moreno Germán Aguado Llorente Félix Huete García.
El nivel de la Microprogramación
Algorítmo de Mapeo Directo
Arquitectura de Conjunto de Instrucciones (ISA)
Mejoras a las Máquinas Von Neumann
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
ISA (Instruction Set Architecture)
TRADUCTOR DE UN PROGRAMA

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
EL MICROPROCESADOR.
MICRO de 8 bits Funcionamiento interno de un microprocesador de 8 bits. Para comprender mejor el funcionamiento, interno de un microprocesador , se propone.
P(C) = m * nMAXIMO GRADO DE PARALELISMO WSBS ha sido llamado el procesamiento en serie de bits, ya que se procesa un bit por vez (n = m = 1). Es el procesamiento.
INTRODUCCIÓN A LA COMPUTACIÓN 8va Semana – 15va Sesión Miércoles 20 de Abril del 2005 Juan José Montero Román
Arquitectura de ordenadores.
Procesador Introducción - Funcionamiento - Memoria caché
Estructura y Tecnología de Ordenadores Noviembre 2004.
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.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
Overview Sistemas Computacionales
TEMA 2: Organización de computadores
MICROCONTROLADORES NOCIONES BÁSICAS COMPUTO II. ¿QUÉ ES UN MICROCONTROLADOR? MICROCONTROLADOR = MICROPROCESADOR + MEMORIA + PERIFERICOS.
Diseño de la Unidad de Control Multiciclo: Microprogramación
Nombre: Cristian Achina Curso: 4to «A» Fecha:
Ing. María Rosa Dámaso Ríos1 MEMORIA PRINCIPAL Y SECUNDARIA Quinta Semana.
“Organización y Arquitectura de Computadores” William Stallings
La Unidad Central de Proceso o CPU
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.
Organización del Computador I Verano Control Multiciclo Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Organización de la Computadora
Principio unidad 1.
E.A.P. “INGENIERÍA DE SISTEMAS” UNIVERSIDAD PERUANA UNION.
PROCESAMIENTO DE DATOS. Entrada MemorizaciónProcesamiento Salida.
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.
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
1 Unidades funcionales de un ordenador Procesadores Memorias Dispositivos de E/S
ARQUITECTURA DEL COMPUTADOR INTEGRANTES: CASTRO MYCHAEL ALVEAR NELSON FLORES DANILO RODRIGUEZ CARLOS IZQUIERDO HARRY INTEGRANTES: CASTRO MYCHAEL ALVEAR.
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
Máquinas de estado con VHDL
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.
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
Circuitos Combinacionales I
Arquitectura básica de la computadora
CAPITULO V Arquitectura de Von Neumann
Arquitectura de Computadoras (Taller) Semestre II de 2008.
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.
Estructura y funcionamiento de un sistema de cómputo
Transcripción de la presentación:

Arquitectura de Von Neumann

Arquitectura de Von Neumann Unidad de Control ULA Registradores Bus de direcciones Bus de Datos Bus de control Memoria Procesador

Arquitectura de Von Neumann El procesador está compuesto: a) Unidad de Control b) Unidad Lógica Aritmética (ULA/ALU) c) Tres registros básicos (puede tener muchos más): Registro de Instrucción Registro de direcciones o Contador de Programa (PC) Acumulador

Ciclo de Instrucción La ejecución de una Instrucción puede ser dividida en cinco partes: Ciclo de lectura. Ciclo de decodificación. Ciclo de cálculo de direcciones (de los operandos). Ciclo de Ejecución. Ciclo de Escritura .

Ciclo de Lectura En el ciclo de lectura el procesador realiza las siguientes tareas: La Unidad de Control calcula la dirección de la próxima instrucción (la que va ser ejecutada) y la coloca en el PC. La unidad de control coloca el contenido del PC en el bus de direcciones. La Unidad de control envía una señal de control (por el bus de control) informando que la operación es de lectura a la memoria. Se hace la lectura de la memoria y se coloca el contenido de la palabra solicitada en el bus de datos. la memoria envía una señal de control (por el bus de control) informando que la información ya esta en el bus de datos. La unidad de control carga la información que se encuentra en el bus de datos en el registro de instrucción. En este punto termina el ciclo de lectura

Ciclo de Decodificación Decodificar significa interpretar o determinar la semántica de la instrucción. La unidad de control debe interpretar la instrucción que se encuentra en el registro de instrucción. En este sentido, debe conocer la semántica de cada instrucción de todo el conjunto de instrucciones ofrecido por la arquitectura El diseñador coloca el conocimiento sobre la semántica de las instrucciones en la unidad de control. De la misma manera, el diseñador coloca la unidad de control el conocimiento de como una instrucción debe ser ejecutada. En la verdad, lo que es decodificado (o interpretado) es el OPCODE de la instrucción. En la ejecución de una instrucción, la unidad de control envía las señales de control necesarias (y en orden correcto) para que la instrucción sea ejecutada correctamente.

Ciclo de Cálculo de dirección La unidad de control necesita saber donde están los operandos que serán usados en la ejecución de la instrucción. En el caso de la instrucción SUM #13, el primer operando está en el acumulador y el segundo está en el byte que sigue a la instrucción. Este operado requiere ser traído para el procesador mediante una operación de lectura. El cálculo de las direcciones depende de la arquitectura y del modo de direccionamiento del conjunto de instrucciones.

Ciclo de Ejecución Tomemos el caso del ciclo de ejecución para la instrucción siguiente:  SUM A, #13 Semántica: sumar al contenido del acumulador el valor especificado en el segundo byte de la instrucción (en este caso: 13) El procesador carga el contenido del acumulador en una de las entradas de la ULA. El procesador carga el valor de 13 (en binario) en la otra entrada de la ULA El procesador indica a ULA que la operación va ser la suma La ULA realiza la operación y la unidad de control direcciona el resultado para el acumulador.

Ciclo de Escritura En el ciclo de escritura la Unidad de Control ejecuta las siguientes tareas: La Unidad de Control calcula la dirección (si fuera necesario) de la posición de la memoria donde será copiado el resultado de la instrucción. La dirección es cargada en el bus de direcciones. La Unidad de Control coloca la información del resultado en el bus de datos La Unidad de Control envía una señal de control indicando que la operación es de escritura. La memoria realiza la operación de escritura en la posición respectiva de memoria.

Recapitulando… Bus de direcciones Unidad de Control Bus de Datos ULA Registradores Bus de direcciones Bus de Datos Bus de Control La arquitectura está formada por el procesador, memoria, buses y por el Conjunto de Instrucciones, y este es determinado por el diseñador !

SUM = 10101101 (código de la instrucción en binario) Bus de direcciones SUM 13 Unidad de Controle Bus de Datos ULA Registradores Bus de Control Toda Instrucción tiene un código en binario. Ejemplo: SUM = 10101101 (código de la instrucción en binario) El código de la instrucción en binario es denominado OPCODE (Código de operación). En este caso, el OPCODE ocupa un byte y el operando ocupa otro o byte. La instrucción completa ocupa dos bytes

Modos de direccionamiento En la instrucción SUM #13 un operando es el contenido del acumulador y el otro operando está incluido en la propia instrucción En este caso, el segundo byte de la instrucción contiene el segundo operando de la instrucción. Observe que el primer operando ya está en el acumulador y solo requiere ser cargado en este registrador para la ULA El segundo operando está en la memoria (luego debe ser traído mediante una operación típica de lectura) La manera como son obtenidos los operandos de una instrucción es denominada el Modo de direccionamiento. Está instrucción tiene un modo de direccionamiento para el primer operando y otro modo para el segundo operando.

Modos más comunes de Direccionamiento

Limitaciones del Modelo de Von Neumann “El embotellamiento de Von Neumann !” Unidade de Controle ULA Registradores Bus de direcciones Bus de Datos Bus de Control 13 SUM El problema del tráfico en le bus de datos

Limitaciones del Modelo de Von Neumann Aún no hemos hablado sobre el problema de las limitaciones del Modelo de Von Neumann ! Los buses pueden ser vistos como canales de comunicación. Específicamente, el bus de datos soporta el transito de las instrucciones y de los datos. Además, el bus de datos es bidireccional que sucede en una avenida donde se duplica el flujo de carros por unidad de tiempo ?.

Limitaciones del Modelo de Von Neumann Debe ser observado que esto es una limitación del modelo computacional. Podemos mejorar el canal: eje: aumentando el ancho de banda (por ejemplo, pasando de 32 bits a 64 bits) Entretanto, el nuevo canal volverá a tene una limitación de la misma naturaleza!!!

“Embotellamiento de Von Neumann” La expresión embotellamiento de Von Neumann parece haber sido usada por primera vez por Backus (1978), en 1977 Sucedió cuando daba una conferencia cuando recibió el primio Turing de la ACM, intitulada “Can programming be liberated from the von Neumann style? A functionl style and íts algebra of proqrams” Backus critica el hecho de que más de 30 años después de la la introducción de las arquitecturas de Von Neumann aún son dominantes

“Embotellamiento de Von Neumann” Podemos resumir el problema del embotellamiento de Von Neumann en dos dos términos a) el canal de comunicación (bus) entre el procesador y la memoria tiene capacidad limitada b) ejecución del programa es secuencial !

Como resolver el problema? en la verdad, solo podemos “aliviar” el problema del embotellamiento de Von Neumann Esto sucede, debido a que son limitaciones intrínsecas del modelo En el primer punto, podemos aumentar el ancho de la banda del canal. Estas ha sido las tendencias en desarrollo de los procesadores ! a) aumentando el tamaño (en bits) del bus b) usando fibras ópticas para implementar el bus.

Como resolver el problema? En el segundo punto podemos usar Paralelismo Podemos dividir el programa en vários subprogramas Estos subprogramas deben ser independientes entre sí Desta manera, pueden ser ejecutados en paralelo (en processadores independientes) Desafortunademente no siempre se puede usar paralelismo!!! Los programas tienen un grado de paralelismo.... Esta ha sido otra tendencia en desarrollo de los computadores….

El problema de usar paralelismo ! Supongamos este trecho de programa: 1a instrucción: a = b + c 2a instrucción: d = a * d 3a instrucción: z = a + d Si tuvieramos 3 procesadores, solo uno podrá trabajar ! Los otros 2 procesadores quedarán de “brazos cruzados” Esto sucede por la denominada “Dependencia de Datos !” Este programa solo puede ser ejecutado secuencialmente!!!

El problema de usar paralelismo Un programa ejecutado en paralelo (usando vários procesadores) debe dar el mismo resultado que si es ejecutado secuencialmente ! Esto es, la integridad secuencial del programa debe ser mantenida cuando es ejecutado usando varios procesadores !

El problema del gap entre procesador y las Memórias 1000 Proc 60%/yr. (2X/1.5 ano) Ley de Moore 100 Processador-memoria “gap”de desempeño: (crece 50% / year) Desempeño 10 DRAM 9%/yr. (2X/10 ano) 1 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 Año Esto muestra el drama: el desempeño de los procesadores avanza mas rápido que el desempeño de la memórias !

Cual ha sido una forma de resolver el problema ! Bus de Datos Bus de didrecciones SUM Unidad de Control ULA Registradores 13 Memoria Cache Bus de Control