ORGANIZACIÓN COMPUTACIONAL

Slides:



Advertisements
Presentaciones similares
EJECUCIÓN DE INSTRUCCIONES(1)
Advertisements

Equipo #3 Unidad III: ALU Efraín Corral Eduardo Castillo Elías Alarcón
El modelo de Von Neumann
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
Microprocesadores Componentes básicos..
Ing. María Rosa Dámaso Ríos CPU(cuarta semana)
Fernando Escribano Pro 1º de Bachillerato
ARQUITECTURA DE COMPUTADORES - VON NEUMANN MODEL
TEMA 2 Arquitectura de un Ordenador
El Microprocesador.
Computación PROGRAMACIÓN.
Tema: Microprocesadores
Sistemas Operativos Funcionamiento general de una computadora bajo el control de un programa.
LECCIÓN 10. INTRODUCCIÓN AL CONTROL MICROPROGRAMADO
ARQUITECTURA INTEL FORMATOS DE INSTRUCCIÓN
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
El procesador: la ruta de datos y el control (II Parte)
Unidad aritmético-lógica
El nivel de la Microprogramación
Arquitectura de Conjunto de Instrucciones (ISA)
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)

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
Instrucciones: FORMATO DE INSTRUCCIONES
REGISTROS DE DESPLAZAMIENTO
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
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.
Conceptos Arquitectónicos del computador
TEMA 2: Organización de computadores
Funcionamiento de la CPU
Unidad I: Registros e Interrupciones Facilitador: Ing. Eduardo Brando.
Unidad aritmético lógica
Arquitectura de Von Neumann
Nombre: Cristian Achina Curso: 4to «A» Fecha:
Datapath para las instrucciones de carga y almacenamiento (load/store)
“Organización y Arquitectura de Computadores” William Stallings
Organización del Computador I Verano Aritmética (3 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Capítulo 4 CPU y la memoria.
Informática Clase Arquitectura de la Computadora.
Organización de la Computadora
introducción al Lenguaje Ensamblador
Modos de direccionamiento
Principio unidad 1.
E.A.P. “INGENIERÍA DE SISTEMAS” UNIVERSIDAD PERUANA UNION.
INTEGRANTES: JOSE ESTEVEZ _HUGO ANDRADE CURSO: 5TO “B”
LA CPU Ing. Manuel Andrés Belalcázar S. Corporación Universitaria Autónoma del Cauca.
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
ARQUITECTURA DE COMPUTADORES
José Alvarado – Cristian Anzola
1 Unidades funcionales de un ordenador Procesadores Memorias Dispositivos de E/S
Curso: Fundamentos de Computación
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.
El microprocesador y su arquitectura
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
Circuitos Combinacionales I
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:

ORGANIZACIÓN COMPUTACIONAL UNIDAD DE CONTROL EJECUCIÓN DE INSTRUCCIONES

FORMATO DE INSTRUCCIONES El código binario de cada instrucción se debe interpretar para diferenciar entre los diferentes campos que contiene la instrucción: Código de operación Modo de direccionamiento Etc. El formato de la instrucción indica los campos y el tamaño de los mismos para cada instrucción

FORMATO DE INSTRUCCIONES Los dos campos básicos en un formato son: El código de operación (CO) que indica la operación a realizar El campo de dirección (CD) que determina la dirección de un dato, resultado o instrucción a la que hay que bifurcar. El campo de dirección, dependiendo del tipo de direccionamiento, se divide en subcampos.

FORMATO DE INSTRUCCIONES Campo de código de operación (CO): Especifica la operación que realiza cada instrucción. El número de instrucciones que constituyen el repertorio del computador vendrá limitado por la longitud de este campo. El código de operación implica normalmente el tipo de operando. Cuando las instrucciones pueden tener mas de un formato, el código de operación, que siempre es el primer campo del formato, debe indicar el formato de la instrucción actual.

FORMATO DE INSTRUCCIONES Campo de dirección (CD): Las instrucciones pueden contener varios campos de dirección para indicar las posiciones de memoria o los registros internos donde se encuentran sus operandos, así como la posición del resultado. Cada instrucción puede tener un número diferente de operandos. Hay instrucciones sin operandos: HALT NOP Hay instrucciones son un solo operando Instrucciones de salto incondicional Llamadas a subrutinas

FORMATO DE INSTRUCCIONES Campo de dirección (CD) Hay instrucciones de dos operandos: Instrucciones de operaciones aritméticas lógicas diádicas que guardan el resultado en uno de los operandos origen Hay instrucciones de tres operandos Instrucciones de operaciones aritméticas lógicas diádicas que guardan el resultado en un lugar distinto de cualquiera de los dos operandos origen

FORMATO DE INSTRUCCIONES Campo de dirección (CD) El campo de dirección puede dividirse a su vez en subcampos. Código de operación CO Código de dirección 1 CD1 Modo de direccionamiento MD Campo de registro CR Desplazamiento, Inmediato, Dirección absoluta D Subcampos en el campo de direcciones

FORMATO DE INSTRUCCIONES Campo de dirección (CD) Los subcampos más significativos contenidos en el campo de direcciones son: Modo de direccionamiento (MD): Se codifica el modo de direccionamiento a emplar para localizar el dato. Campo de registro (CR): Especifica un registro de la CPU Campo de dirección (D): Dependiendo del modo de direccionamiento empleado, contiene la dirección absoluta , el desplazamiento relativo, el operando inmediato, etc.

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Estructura de un computador elemental Von Neumann

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Son celdas de memoria internas a la CPU que guardan datos provenientes de la memoria, resultados parciales de operaciones o información sobre el estado actual de la CPU. Cada procesador tiene un número limitado de registros internos.

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Es importante tener en cuenta el tamaño de los registros internos de datos pues indica el número máximo de bits que puede tener un operando, y con cuantos bits la CPU puede realizar operaciones en paralelo. A este valor se le llama Longitud de palabra del procesador

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos mas usuales: Los Registros internos mas usuales son: Registro de instrucción (IR) Registros de propósito general (AC) Registros de estado Contador de programa (PC) Registros de interfaz con el bus (MAR, MDR)

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Registro de instrucción (IR): Almacena la instrucción a ejecutar una vez que la CPU la ha leído de memoria. Por ejemplo: 16 bits 4 bits para CO 12 bits para CD

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Registro de instrucción (IR): Las señales de control que maneja el IR son: Para leer las instrucciones de memoria se usan dos señales: la primera es la IR-C1 que carga los 8 bits más bajos del registro (IR[7:0]), y la segunda IR-C2 carga los 8 bits más altos (IR[15:8]) Una vez hecha la lectura, para habilitar la salida al bus de direcciones del contenido del campo CD (IR[4:15])se usa la señal IR-E

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Registros de propósito general (AC): Son varios registros que sirven para almacenar datos o resultados intermedios. En el ejemplo, hay un único registro llamado Acumulador (AC) que además de actuar como operando, almacena el resultado de la última operación realizada por la ALU Para su trabajo, el AC dispone de dos señales de control: una para cargar el AC con el dato (AC-C), y la otra para habilitar la salida del dato al bus interno (AC-E)

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Registros de estado: Almacena en sus bits o “flags” información sobre resultados de operaciones anteriores. Los mas frecuentes son: Z (cero): Almacena “1” cuando el resultado de la ultimaoperación realizada en la ALU fue cero N (negativo): Almacena “1” cuando el resultado de la ultima operación realizada en la ALU fue menor que cero C (acarreo): Almacena “1” cuando el resultado de la ultima operación realizada en la ALU produjo un acarreo en el último bit

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Registros de estado: CP (acarreo parcial): Almacena “1” cuando el resultado de la ultima operación de la ALU produjo acarreo entre el 4to y 5to bit P (paridad): Almacena “1” cuando el resultado de la ultima operación realizada en la ALU produjo un número par de “1” O (desbordamiento) Z (cero): Almacena “1” cuando el resultado de la ultima operación realizada en la ALU y almacenado en el AC es incorrecto. Ello debido a que el resultado no se puede representar con los bits que tiene el AC

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Contador de programa (PC): Contiene la dirección de memoria de la próxima instrucción a ejecutarse Debe ser actualizado por la UC cada vez que se carga una instrucción En el ejemplo, el tamaño del PC es de 12 bits y se incrementa 2 veces en cada lectura de instrucción ya que las instrucciones completas son de 16 bits y ocupan 2 posiciones de memoria de 8 bits cada una Como el PC es un contador, se debe activar la señal PC-INC para incrementar su valor

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Contador de programa (PC): Son registros que almacenan datos que el procesador envía o captura del bus externo de direcciones o del de datos. Usualmente son dos: MAR (Registro de Almacenamiento de Dirección), almacena la dirección que se pretende poner en el bus externo de direcciones. Como solo debe llevar dicha dirección, la transferencia es unidireccional, usando para ello dos señales de control: MAR-C, que permite tomar la información de la dirección, y MAR-E que es una señal de habilitación triestado para depositar la dirección en el bus externo

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Registros de interfaz con el bus (MAR, MDR): MDR ( Registro de Almacenamiento de Dato), contiene el dato que el procesador va a enviar o a leer del bus externo de datos. Esta transferencia es bidireccional ya que los datos provienen del bus interno de datos hacia el externo (escritura en memoria) y viceversa (lectura de memoria). De acuerdo a ello, en el MDR existen 4 señales de control: Las dos primeras son señales de carga, una para los datos procedentes del bus de datos interno (MDR-CI) y la otra para los datos procedentes del bus externo (MDR-CE). Las otras dos señales permiten la habilitación interna (MDREI) y la habilitación externa (MDR-EE)

Estructura de un computador elemental Von Neumann

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL La ALU : Es la encargada de realizar todas las operaciones aritmético-lógicas En el ejemplo, se tiene una ALU de dos entradas: la entrada A recibe los datos del AC, y la entrada B recibe los datos del MDR Antes de realizar una operación se debe cargar el MDR con uno de los operandos y habilitar la salida de datos de este registro al bus interno de datos. El otro operando debe estar almacenado en el AC

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL La ALU : La ALU recibe señales de control sobre el tipo de operación que debe realizar (OP). En el ejemplo, estas operaciones son 6: OP(001)=A+B OP(010)=A+1 OP(011)=A-B OP(100)=A and B OP(101)=A or B OP(110)=B Como son 6 operaciones se codifican usando 3 líneas de operación, por tanto las entradas serán OP[3:1]

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL La UC : Su función es el gobierno del computador Lee la instrucción desde memoria, la decodifica y la ejecuta Debe activar todas las señales de control necesarias para: Realizar la transferencia entre registros. Tener en cuenta: En cada transferencia de datos, solo puede haber un registro origen, por lo que no deben activarse las salidas triestado de dos registros a la vez En el registro destino, la señal de carga será activa por flanco. Esta señal se activa a la mitad del periodo de la señal de reloj para permitir que los datos provenientes de otro registro estén estables en el bus Generar las señales de operación de la ALU

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL LA MEMORIA PRINCIPAL : Almacenamiento de datos e instrucciones a través de las líneas de dirección Necesita de por lo menos 3 señales de control: CS: Selección de la memoria, RD: Orden de lectura y WR: Orden de escritura Para realizar un ciclo de lectura de memoria, se sigue el siguiente proceso: a. La UC debe llevar la dirección de memoria al registro MAR b. Se activa el bus de direcciones externo que conecta con la memoria

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL LA MEMORIA PRINCIPAL : c. El procesador activa las señales CS y RD y espera a que la memoria deposite los datos en el bus. Este periodo de espera es el tiempo de acceso de memoria (tiempo que necesita la memoria para leer o escribir datos, medido desde la activación de las señales de control) y es de medio periodo del reloj general, en el ejemplo d. La UC activa la señal de carga en el MDR. Esto se cumple tanto para datos como para instrucciones. El ciclo de escritura se realiza de manera análoga, diferenciándose solo en la habilitación de la señal WR en vez de RD

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Operaciones con registros : Las operaciones básicas son: Carga: Almacena un nuevo valor en el registro. Para ello, debe ponerse el nuevo valor en la entrada y luego activar la señal de carga del registro ● Lectura: Permite la salida del dato contenido en el registro. Generalmente los registros comparten un bus para realizar la transferencia, pero solo uno de ellos podrá usar el bus en un momento. La señal de salida o habilitación actuará sobre los buffer triestado para conectar el registro al bus y permitir que los datos contenidos en el registro pasen al bus

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Operaciones con registros : Reset: Inicializa el valor contenido en el registro a un valor conocido Incremento: aumenta su contenido en forma autónoma (contador) Desplazamiento: Mueve sus bits uno a uno de izquierda a derecha y viceversa

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Instrucciones: Consiste en la implementación del repertorio de instrucciones. Todas las instrucciones tienen 4 bits para el código de operación y 12 para el código de dirección, lo que permite direccionar 4 KB

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Instrucciones: Las instrucciones básicas son: Instrucciones aritméticas y lógicas: Definidas por la ALU Instrucciones de transferencia: Copian el contenido del AC a memoria (STORE) o leen el dato desde memoria al AC (LOAD) Instrucciones de salto: Representan los saltos incondicionales o condicionales (de acuerdo al resultado del registro de estado) Otras instrucciones: No hacer nada, de paro del procesador

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Instrucciones : Instrucciones aritméticas y lógicas: ADD CD: suma los dos operandos y guarda el resultado en el AC INC AC: Incrementa el valor del acumulador en en una unidad SUB CD: Resta los dos operandos y almacena el resultado en AC AND CD: instrucción lógica and bit a bit de los operandos almacenando el resultado en AC. OR CD: instrucción lógica or bit a bit de los operandos almacenando el resultado en AC.

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Instrucciones : Instrucciones de transferencia de datos: LW CD: Lee el valor contenido en en la posición de memoria CD y lo almacena en AC SW CD: Escribe el valor contenido en AC en la posición de memoria indicada por CD

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Instrucciones : Instrucciones de salto: JMP CD: (salto incondicional) La próxima instrucción a ejecutar es la contenida en memoria en la posición CD JM- CD: (salto condicional) Dependiendo del valor del indicador de estado correspondiente se rompe la secuencia de ejecución de la instrucción. JMZ CD : Indicador de cero JMN CD : Indicador de negativo JMC CD : Indicador de acarreo JMO CD : Indicador de desbordamiento JMP CD : Indicador de paridad JMCP CD : Indicador de acarreo parcial

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Instrucciones : Otras Instrucciones : NOP: Instrucción que indica no hacer nada STP: Instrucción de paro del procesador.

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Ejecución de la instrucción: ADD (456) // AC ← AC + M(456) La instrucción consta de 16 bits Como la longitud de palabra del bus de datos es de 8 bits, se necesitan dos lecturas. Para empezar a ejecutar la instrucción se supone que inicialmente el PC contiene la dirección de dicha instrucción. La ejecución se divide en 4 fases, cada una tiene un determinado número de periodos de reloj y en cada una de ellas se realizan unas determinadas operaciones básicas mediante la activación de las correspondientes señales de control.

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Ejecución de la instrucción: ADD (456) // AC ← AC + M(456) MAR ← PC: Transfiere la dirección del 1er byte de la instrucción al registro MAR PC ← PC + 1: Se incrementa PC para apuntar a la siguiente posición de memoria MDR ← M (MAR): Se ejecuta una lectura de memoria cargando el MDR con la parte baja de la instrucción IR ← MDR: Se transfieren los 8 bits de la parte baja de la instrucción que están en el MDR a los 8 bits menos significativos del IR (IR[0:7])

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Ejecución de la instrucción: ADD (456) // AC ← AC + M(456) MAR ← PC: Transfiere la dirección del 2do byte de la instrucción al registro MAR PC ← PC + 1: Se incrementa PC para apuntar a la siguiente posición de memoria MDR ← M (MAR): Se ejecuta una lectura de memoria cargando el MDR con la parte alta de la instrucción IR ← MDR: Se transfieren los 8 bits de la parte alta de la instrucción que están en el MDR a los 8 bits más significativos del IR (IR[8:15])

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Ejecución de la instrucción: ADD (456) // AC ← AC + M(456) MAR ← IR: [4:15] Se transfiere la dirección del dato al registro MAR para iniciar la lectura del mismo en la memoria MDR ← M (MAR): Se realiza la lectura de la posición de memoria cuya dirección está contenida en el Campo de Dirección de IR en los bits IR[4:15 AC ← AC + MDR: Una vez el dato esté en el MDR se conecta el registro con la entrada B de la ALU mediante la señal de habilitación MDR-EI y se activan las señales OP con el código de suma. Cuando termina dicha operación, que tiene un retraso de medio ciclo de reloj, se activa la señal de carga de AC

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL La ALU: Está compuesta por diversos circuitos especializados en realizar una transformación particular de los datos (operaciones aritméticas y lógicas). Puede disponer de varias unidades: Unidad de suma/resta de enteros Unidad de multiplicación de enteros Unidad de división de enteros Unidad de división de flotantes Etc.

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Los módulos en los que se puede dividir la ALU se clasifican en función de diversos parámetros: Módulo secuencial o combinacional Números de operandos del módulo Incorporación del paralelismo del módulo Operación aritmético o lógica Integración en la CPU

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Un ejemplo del módulo de ALU es el sumador elemetal de 1 bit. Si se conectan 8 sumadores elementales se tiene un sumador paralelo. Si la unidad de control suministra de manera secuencial los bits a una sola unidad de suma elemental y almacena el resultado parcial en un registro, se trata de un sumador serie.

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Si Cout Ai Bi Cin Sumador elemental de 1 bit

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL La principal ventaja es que es más pequeño. La desventaja es que es más lento. Σ a i b i Cin i Cout i S i Σ a i b i Cin i Cout i S i

ARQUITECTURA DE UN COMPUTADOR ELEMENTAL b0 bi ai bi ai ai bi ai bi ai ai bi ai bi bi ai Σ Σ Σ Σ Σ Σ Σ Σ Si Si Si Si Si Si Si Si Sumador combinacional paralelo