Arquitectura de Von Neumann

Post on 13-Feb-2017

81 views 0 download

Transcript of Arquitectura de Von Neumann

Microprocesadores y el procesamiento de

datos.Ing. en Tecnología de Desarrollo de Software

Paradigmas TecnológicosArquitectura de Von Neumann

Javier Aguilar Parra.

¿Cómo esta formada una computadora? ¿Cómo funciona un microprocesador?

CPULa Unidad Central de Procesamiento, es el componente principal del ordenador y otros dispositivos programables, que interpreta las instrucciones contenidas en los programas y procesa los datos

Se compone de lo siguiente:· Memoria· Unidad aritmética lógica· Unidad o procesador de control

MEMORIA PRINCIPAL (interna o central).Se almacenan datos y programas, hay dos operaciones que se hacen en la memoria (lee y escribe) entonces se dice que es donde almacena, se lee y se escribe.Es un conjunto de células numeradas y dos registros especiales con los que realiza las transacciones.El registro de dirección que indica el numero de la célula afectada y el de intercambio que contiene la información leída o la que hay que escribir en la célula de cuestión.

UNIDAD ARITMÉTICA LÓGICALa unidad aritmética lógica opera los datos que recibe siguiendo las indicaciones por la unidad de control. Esta unidad puede realizar operaciones aritméticas lógicas.

UNIDAD DE CONTROL La unidad de control es el autentico cerebro que controla y coordina el funcionamiento de la computadora.A raíz de la interpretación de las instrucciones que integran el programa esta unidad genera el conjunto de ordenes elementales necesarias para que se realice la tarea necesitada.

MICROPROCESADOREs el circuito integrado más importante, de tal modo, que se le considera el cerebro de una computadora.

1

2

3

4

5

6

7

8

9

10

11

12

Ciclo de instrucción.

Ciclo de búsqueda.

Ciclo de ejecución.

1.- Bloque de registros de propósito general• Los registros del procesador, se usan para

contener los datos con que se está trabajando puesto que el acceso a los registros es mucho más rápido que los accesos a memoria. Se pueden realizar operaciones aritméticas y lógicas, comparaciones, entre otras. Se pueden hacer estas operaciones con todos los registros excepto los de segmento, el IP, y los flags.

• Aparte del uso general de los registros para hacer cálculos aritméticos y lógicos, existen instrucciones que usan estos registros con un uso particular especializado

2.- Bloque de registros de segmento y registro IP

• Los registros del procesador, se usan para contener los datos con que se está trabajando puesto que el acceso a los registros es mucho más rápido que los accesos a memoria. Se pueden realizar operaciones aritméticas y lógicas, comparaciones, entre otras. Se pueden hacer estas operaciones con todos los registros excepto los de segmento, el IP, y los flags.

• No es posible acceder a una posición de memoria no definida por algún segmento: si es preciso, habrá de moverse alguno.

• El registro IP indica la instrucción actual dentro del segmento de código que se está ejecutando actualmente en la memoria.

3.- Sumador de direcciones• Realiza la suma necesaria para el

direccionamiento indexado, implementamos en la CPU un sumador dedicado sólo a esta tarea, de esta forma no usamos tiempo de la ALU.

4.-Bus de direcciones: • Es un canal del microprocesador donde se

establece la dirección de memoria del dato en tránsito. El bus de dirección consiste en el conjunto de líneas eléctricas necesarias para establecer una dirección.

5.- Queue o cola de instrucciones: • Es una pila donde las instrucciones son

almacenadas antes de que la unidad de ejecución las ejecute.

6.- Unidad de control• Este elemento del microprocesador es el que

se encarga de ejecutar las instrucciones, comprende el conjunto de registros de propósito general, el registro de banderas y la unidad aritmético-lógica.

7.- Interfaz del bus• La mayoría de los buses están basados en

conductores metálicos por los cuales se trasmiten señales eléctricas que son enviadas y recibidas con la ayuda de integrados que poseen una interfaz del bus dado y se encargan de manejar las señales y entregarlas como datos útiles.

8.- Bus de datos interno• Este es un bus bidireccional, pues los datos

pueden fluir hacia o desde la CPU.• Se usa para transmitir otra información

además de los datos• Es decir, el bus de datos es compartido en el

tiempo ó multiplexado.

• Usualmente el computador transmite un caracter por cada pulsación de reloj que controla el bus (bus clock), el cual deriva sus pulsaciones del reloj del sistema (system clock). Algunos computadores lentos necesitan hasta dos pulsaciones de reloj para transmitir un caracter.

9.- Unidad aritmético lógica (ALU)• ALU: La unidad Aritmético-Lógica es un

circuito digital que calcula operaciones aritméticas (suma, resta, multiplicación y división ) y operaciones lógicas (comparación). Es, quizás, la pieza más importante del microprocesador.

10, 11, 12.- Bus de direcciones, datos y control externos• Estos procesadores multiplexan en tiempo el

bus de direcciones, con el bus de datos y control.

• El bus de direcciones es un canal del microprocesador totalmente independiente del bus de datos donde se establece la dirección de memoria del dato en tránsito.

• El bus de datos transmiten los bits de forma aleatoria de manera que por lo general un bus tiene un ancho que es potencia de 2.

• El bus de control gobierna el uso y acceso a las líneas de datos y de direcciones. Mejor dicho, es el que permite que no haya colisión de información en el sistema.

Ciclo de instrucción • Un ciclo de instrucción, también llamado

fetch-and-execute (búsqueda y ejecución) es el período que tarda un microprocesador en ejecutar una instrucción.

• Se divide en dos etapas: Ciclo de búsqueda y ciclo de ejecución.

• Las instrucciones se clasifican, según su función, en: - Instrucciones de transferencia de datos. - Instrucciones de cálculo. - Instrucciones de transferencia del control del programa. - Instrucciones de control.

Ciclo de búsquedaBúsqueda de la instrucción: • Lo primero que realiza el microprocesador en un

ciclo de instrucción, es buscar la instrucción en la memoria principal (RAM).

• El registro apuntador de instrucciones, tiene almacenada la dirección de la próxima instrucción a ejecutar.

• Cuando la instrucción fue hallada, el microprocesador pasa la instrucción de la memoria principal a través del bus de datos al Registro de Datos de Memoria (MDR).

• A continuación, lo registrado allí es colocado en el Registro de Instrucción Actual (CIR), un circuito que guarda la instrucción temporalmente de manera que pueda ser decodificada y ejecutada.

Ciclo de búsquedaDecodificación de la instrucción: • La segunda y última acción comprendida en el

ciclo de búsqueda es decodificar la instrucción. El dato es enviado a una Unidad de Decodificación, que decodifica la instrucción que se va a ejecutar. Es decir, el decodificador traduce la instrucción para saber, justamente, qué instrucción es.

Ciclo de ejecuciónEjecución de la instrucción: • Una vez que la unidad de decodificación sabe

cuál es el significado de la instrucción leída de memoria, se lo comunica a la Unidad de Ejecución. Esta unidad será la encargada de consumar la ejecución y para ello activará las señales necesarias y en un orden determinado. Es decir, es la encargada de dar las órdenes necesarias a las diversas partes del microprocesador para poder ejecutar cada una de las instrucciones.

Ciclo de ejecuciónAlmacenamiento de los resultados:• La última acción que se realiza en el ciclo de

instrucción, es el almacenamiento de los resultados. El resultado generado por la operación es almacenado en la memoria principal (RAM) o enviado a un dispositivo de salida, según la instrucción. Basándose en los resultados de la operación, el contador de programa se incrementa para apuntar a la siguiente instrucción o se actualiza con una dirección diferente donde la próxima instrucción será recogida.