unidad aritmética lógica (alu) -...

69
Procesadores Dr. Andrés David García García Departamento de Mecatrónica Campus Estado de México

Upload: truongkiet

Post on 19-Sep-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Procesadores

Dr. Andrés David García García

Departamento de Mecatrónica

Campus Estado de México

Page 2: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de computadoras

TE 1010

2

RAM

ROM CPU

I/O

I/O

I/O

Instrucciones

Datos

Page 3: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de computadoras

➢Arquitectura interna de una computadora:

Memoria

ROM

Memoria

RAMTeclado Pantalla

/MWTC

/MRTC

/IOWC

/IORC

Bus de direcciones

CPU

Bus de datos

TE 1010

3

Page 4: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de computadoras

➢Un sistema a base de una CPU cuenta con 2 tipos debuses:➢Bus de datos: por el cual se realiza el intercambio de palabras

de información.➢Bus de direcciones: que permite seleccionar el contenido del

mapa de memoria.

➢Por medio de estos buses se controlan los elementos dememoria y los sistemas de entrada/salida o periféricos.

TE 1010 4

Page 5: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de computadoras➢Un microprocesador ejecuta una serie de instrucciones de

forma secuencial.

➢Estas instrucciones se escriben en un lenguaje llamado“lenguaje ensamblador”, el cual puede ser interpretado por elhumano.

TE 1010 5

Visual C++

C++

JAVA

C

Assembler

HEX

ALTO NIVEL

BAJO NIVEL

Page 6: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de computadoras

➢El lenguaje Ensamblador permite la construcción de códigossecuenciales de tareas reducidas (RISC) lo más cercano posibleal código de ejecución del procesador:

LOAD A mem; carga el valor contenido en el registro A en la; dirección de memoria mem.

CON B const; carga el valor de la constante const en el registro B.ADD A,B; Suma el valor del registro A con el valor del registro B

; y almacena ese valor en otro registro.SUB A,B; Efectúa la resta entre los valores contenidos en los registros

; A y B.

➢Mediante un programa llamado propiamente “ensamblador”se traduce a un lenguaje máquina que el CPU entiende:

:A990456EA060B03201FF;

TE 1010 6

Page 7: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una CPU

TE 1010 7

Page 8: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una CPU

TE 1010 8

Codificador: Interpreta el código Máquina

Registro: Almacena la instrucción que

mientras se ejecuta

ALU: Unidad Aritmética Lógica.

Requiere saber en cada momento

lo que va a hacer

✓ La CPU no piensa por sí misma, hay que decirle qué hacer !!

Page 9: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Unidad Aritmética Lógica: ALU

Una ALU (Unidad Aritmética-Lógica) es un circuito que permite, como su nombre lo indica, realizar operaciones lógicas y aritméticas.

Además de los operadores lógicos y aritméticos, la ALU cuenta con una serie de registros para almacenar los datos, y bits de información sobre los resultados, también llamados banderas.

Las banderas más comunes son: Carry, AuxiliaryCarry, Borrow, Overflow, Parity, Zero.

Page 10: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

La ALU

El símbolo de una ALU:

ALU

A B

C

Banderas

Page 11: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

La ALU

El circuito ALU es simplemente un operador, es decir, sólo realiza operaciones.

La ALU no toma decisiones.

Las entradas deben contener tanto la magnitud como el signo que corresponda a la operación.

La ALU requiere de un mecanismo de control que le permita saber el tipo de operación a realizar.

Page 12: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Diseño de una ALU

Una forma de construiruna ALU simple esmediante una célula detipo “bit-slice”.

Esta célula permiterealizar la suma óalguna operación lógicaentre 2 bits.

12

C[1] FA

A[0

]

B[0]

S[0]

NA

NB

Cin

A and B

/B

/A

A xor B; [A+B]

A or B

ALU Bit Slice

Señales de control

MUX

Page 13: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Diseño de una ALU

En principio, la célula basadaen un Full Adder permiterealizar operaciones deSUMA, RESTA, AND, OR, XOR yNOT.

Las funciones AND y XOR setoman de las salidas de Carry-Out y Suma Respectivamente.

Esta arquitectura tiene lalimitante que, para lasfunciones AND y XOR, serequiere de que tanto A comoB no estén negados, y que elCarry-In sea ‘0’.

13

C[1] FA

A[0

]

B[0]

S[0]

NA

NB

Cin

A and B

/B

/A

A xor B; [A+B]

A or B

ALU Bit Slice

Señales de control

MUX

Page 14: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Diseño de una ALU

Si A, o B están negadas, o si el Carry-in es ‘1’. Entonces las salidas de Carry-Out y deSuma no pueden ser utilizadas para generar las funciones AND y XORrespectivamente:

14

C[1] FA

A[0

]

B[0]

S[0]

NA

NB

Cin

A and B

/B

/A

A xor B; [A+B]

A or B

ALU Bit Slice

Señales de control

MUX

Solución: Dividir el Full

Adder en dos Half Adder.

A

B S

Full Adder

Cin

Co

A

B

A

B

S

Co

S

Co

Page 15: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Diseño de una ALU

La célula bit-slice quedaría de lasiguiente forma:

15

C[1]HA

A[0

]

B[0]

S[0]

NA

NB

Cin

A and B

/B

/A

A xor B

A or B

ALU Bit Slice 2

Señales de control

MUX

HA

A + B

Full Adder

La función AND proviene

del CarryOut del primer HA

La función XOR proviene de

la Suma del primer HA

Page 16: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Diseño de una ALU

Varias células bit-slice permiten construir una ALU más compleja:

16

ALUBit Slice

A[0]

B[0]

Cin

ControlC[1]

S[0]

ALUALUALUALUA

[3]

B[3]

A[2

]

B[2

]

A[1

]

B[1]

A[0

]

B[0]

S[0]

S[1]

S[2]

S[3]

Co

C[3] C[2] C[1]

ALU 4 bits

C[1]

Control

Célula ALU

ALU en arquitectura paralela

de tipo Carry Ripple

¿Qué debemos agregar para obtener los bits de Overflow, Negativo, Zero?

Page 17: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

La ALU

17

Otro tipo de célula que se puede emplear es a base de multiplexores:

Page 18: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

La ALU

Partes de la ALU:

Sumador/restador rápidoOperadores lógicos (AND, OR, XOR, NOT)Un acumulador y un registro auxiliarUn registro de salidaSeñales de control que indiquen la operación a

realizarRegistro de banderas de estatus

Page 19: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

La ALU

La ALU deberá contar con un circuito de control que le permita:

Identificar la operación a realizar

Administrar los recursos internos de la ALU que requiera la operación

Generar las banderas de estatus

Page 20: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Microprocesador

Es el corazón de toda computadora, así como de otros equiposelectrónicos que requieren de una central de procesamiento dedatos.

Al microprocesador se le conoce también como CPU (CentralProcessing Unit).

La CPU es un elemento capaz de realizar operaciones lógicas yaritméticas además de poder auxiliar en la toma de decisiones.

También permite el intercambio de datos entre localidades dememorias y/o periféricos.

20

Page 21: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Microprocesador

Un Microprocesador, como su nombre lo indica es un elemento muypequeño que puede procesar información.

Este elemento se construye mediante procesos de alta integración oVLSI.

21

Page 22: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

¿Dónde podemos encontrarlos?

Existen una gran variedad de aplicaciones a base deprocesadores:

22

Page 23: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Componentes:

Los bloques funcionales básicos son: la unidad de procesamiento central (CPU), la memoria principal, y el procesador de Entrada - Salida.

La CPU es el componente mas importante ya que permite el procesamiento de la información, la gestión de la memoria y de los puertos de comunicación.

Page 24: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Unidad de procesamiento central:

Es la responsable de la interpretación y ejecución de las instrucciones contenidas en la memoria principal.

El direccionamiento a la memoria se realiza por medio del bus de direcciones y el bus de datos.

La acción de leer una instrucción y prepararla para su ejecución se llama “ciclo de búsqueda”.

Page 25: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Para completar la instrucción, la CPU: decodifica el código de operación,

genera las señales de control para leer los operandos de entrada de la ALU

Controla la ejecución de la instrucción

La CPU controla también las operaciones de la ALU.

El proceso de realización que especifica una función se denomina “ciclo de ejecución”.

Al proceso completo “ciclo de búsqueda” mas “ciclo de ejecución” se le llama “ciclo máquina”.

Page 26: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

La CPU puede dividirse funcionalmente en 3 subunidades:

➢La unidad de control, dedicada a los ciclos de búsqueda y ejecución, ➢La ALU que desempeña funciones aritméticas como

por ejemplo, suma y resta, y de lógica por ejemplo AND, OR,➢Y un conjunto de registros dedicados al

almacenamiento de datos en la CPU y a ciertas funciones de control

Page 27: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

PC

MAR

MDR

IR

PSW

OR

NOR

AND

NAND

Desplazamiento

Rotación

Reg. a Reg.

Reg. a Mem.

Mem. A reg.

Mem a mem.

Reg. estados y control

Reg. De información

Registros de operación

Operaciones Básicas

Intercambio de datos

Control

Page 28: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

La CPU contiene un conjunto de localidades de almacenamiento temporal de datos de alta velocidad llamada registro. Algunos de los registros están dedicados al control, y solo la unidad de control tiene acceso a ellos. Los registros restantes son los registros de uso general y el programador es el usuario que tiene acceso a ellos.

➢Contador de programa (PC).➢Registro de direcciones de la memoria (MAR).➢Registro de datos (RD).➢Registro de instrucciones (ER).➢Palabra de estado de programa (PSW).

Page 29: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Apuntador de programa (PC): La función del PC consiste en seguir la pista de la instrucción por buscar (capturar) en el siguiente ciclo de maquina, por lo tanto contiene la dirección de la siguiente instrucción por ejecutar.

El PC es modificado dentro del ciclo de búsqueda de la instrucción actual mediante la suma de una constante. El numero que se agrega al PC es la longitud de una instrucción.

Page 30: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Registro de direcciones de la memoria (MAR): funciona como registro de enlace entre la CPU y el registro de direcciones. Cuando se logra el acceso a la memoria la dirección es colocada en el MAR por la unidad de control y ahí permanece hasta que se completa la transacción. El numero de bits que hay en el MAR es igual al del registro de direcciones.

Durante el ciclo de ejecución de una instrucción, el PC y el MAR sirven al mismo fin. Sin embargo, muchas de las instrucciones de la maquina hacen referencia a la memoria y operan con los datos que están en ella (dato). Como la dirección de los datos suele ser diferente de la instrucción siguiente se necesita el MAR.

Page 31: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Registro de datos (RD): la función del RD consiste en proporcionar un área de almacenamiento temporal (memoria intermedia, acumulada o buffer) de datos que se intercambian entre la CPU y la memoria.

Los datos pueden ser instrucciones (obtenidas en el ciclo de ejecución) o datos del operando (obtenidos en el ciclo de ejecución). Debido a su conexión directa con el bus de datos el RD contiene el mismo numero de bit que dicho bus.

Page 32: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Registro de instrucciones (ER): es un registro que conserva el código de operación de la instrucción en todo el ciclo de la maquina.

El código es empleado por la CPU para generar las señales apropiadas que controlan la ejecución de la instrucción. La longitud del ER es igual a la del código de operación.

Page 33: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Palabra de estado de programa (PSW): almacena información pertinente sobre el programa que este ejecutándose. Por ejemplo al completarse una función de la unidad aritmética lógica se modifica un conjunto de bit llamados códigos (señales de condición ó banderas).

El programa puede verificar estos bits en las instrucciones siguientes cambiar en forma condicional su flujo de control según su valor.

Además el PSW contiene bits que hacen posible que la computadora responda a solicitudes de servicio asincrónicas generadas por dispositivos de Entrada-Salida, o condiciones de error interno. Estas señales se denominan interrupciones.

Page 34: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Tipo de instrucciones. Las instrucciones pueden clasificarse en 5 categorías:

Instrucciones de aritmética y lógica.

Instrucciones de movimientos de datos.

Operaciones de datos en bloques.

Instrucciones de control del programa.

Instrucciones de Entrada - Salida.

Page 35: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Instrucciones de Aritmética y Lógica: Operaciones binarias, las cuales requieren dos operandos y producen un

resultado único.

La suma, la resta, la multiplicación y división, son operaciones standard en la mayor parte de las maquinas.

Las operaciones de lógica incluida en el conjunto de instrucciones son las operaciones AND, NAND, NOR, XAND, XOR.

También dentro de las instrucciones de aritmética y lógica se encuentran las operaciones de desplazamiento y las de rotación.

Page 36: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Instrucciones de movimientos de datos: Esta instrucción da por resultados la copia de datos desde una localidad de operando a otra, estas instrucciones requieren información que identifique los operandos fuentes y destinos. En una computadora de uso general, los datos se pueden mover de:

Registro a registro.

Registro a memoria.

Memoria a registro.

Memoria a memoria.

Page 37: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Operaciones de datos en bloques: Son aquellas que se efectúan con un conjunto de operandos y no con un solo operando.

También dentro de este tipo de instrucción se encuentran las de control del programa. Esto hace posible que un programa se adapte a la secuencia inherente al ciclo de maquina de la computadora. En otras palabras, se pueden pasar por alto secciones de instrucciones como resultado de la activación de un código de condiciones o como resultado directo del diseño del programa.

Page 38: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Instrucciones de Entrada – salida: Desde el punto de vista de la programación para el acceso a la memoria o a un periférico simplemente se requiere el mismo conjunto de instrucciones. Estos sistemas se denominan sistemas de Entrada - Salida mapeados por memoria.

El dispositivo se caracteriza como un conjunto de localidades de la memoria que se dividen en dos subcategorias: un conjunto de registro de estado de control y un registro de información.

Page 39: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Registro de estado y control. Contienen información acerca del estado inactivo, ocupado, etc. En estos registros también se almacena información de control (tipo de paridad y la velocidad de transmisión de los datos).

La información contenida en los registros de estado y control se utiliza principalmente para proporcionar una imagen global del hardware.

Registro de información: Constituyen una memoria intermedia para la información que se transfiere entre la CPU y el periférico.

Page 40: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Un sistema operativo es un conjunto de programas que hace posible que el usuario tenga acceso controlado a sus recursos, tales como la CPU, la memoria y los dispositivos de Entrada - Salida.

El sistema operativo asigna tiempo a la CPU, distribuye el espacio disponible en la memoria, asigna y controla dispositivos de Entrada - Salida para cada usuario. Estas funciones se realizan en forma transparente, es decir que el programador escribe el programa como si todo el sistema de la computadora estuviere dedicado a ese programa.

Para ofrecer algunas características del sistema operativo la arquitectura de la maquina debe tener por lo menos 2 modos de operación diferentes: modo de supervisión y modo del usuario.

Page 41: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

En modo del supervisor, la CPU puede ejecutar todas las instrucciones de la maquina. Este es el modo de operación en el cual corren los programas de los distintos sistemas operativos. Todas las peticiones de servicio de los dispositivos periféricos pasan por el sistema operativo ya que las instrucciones de Entrada - Salida, solamente pueden emitirse cuando la maquina se encuentra en modo supervisor.

En modo usuario, la CPU no puede ejecutar todo el conjunto de instrucciones (en particular no se permite la ejecución de las instrucciones de control de la maquina y de Entrada – Salida).

Page 42: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Un sistema a base de una CPU se compone de 2 tipos de memoria: Memoria de programa (ROM) y memoria de datos (RAM).

Page 43: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Page 44: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

La distribución de la memoria dentro de la computadora se suele denominar mapa de memoria y en el es posible observar en que zona se encuentran ubicados los registros y programas del sistema operativo.

Independientemente de la disponibilidad de memoria, el limite real de direccionamiento va a estar dado por el sistema operativo que se esta usando, por ejemplo el sistema operativo D.O.S. independientemente de la memoria instalada puede direccionar como área de trabajo 640 Kb.

Page 45: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Mapa de memoria:

Page 46: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Los dispositivos de Entrada-Salida solo comprenden uno de los cuatro componentes principales de una computadora, sin embargo las ramificaciones de Entrada-Salida extienden esta simple representación y pueden tratarse en varios niveles diferentes. Las propiedades físicas y eléctricas de los dispositivos, la interfaz o controlador con que interactúa el procesador central y el apoyo de software del sistema operativo en uso.

La unidad de Entrada-Salida puede contar en realidad de muchas interfaces o controladores, incluir un procesador de Entrada - Salida de uso especial pero manejado por la CPU o ambas cosas.

Page 47: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

Cuatro clases principales de técnicas se aplican comúnmente en forma individual o combinada para controlar la transferencia de datos de Entrada - Salida:

1.- Entrada – Salida controlada por programa 2.- Entrada – Salida por interrupciones 3.- Acceso directo a memoria (DMA) 4.- Entrada – Salida mapeada por direcciones

Page 48: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una PC

El medio por el cual los dispositivos de E/S tienen acceso al CPU y al resto de los elementos internos es el canal (bus) de Entrada – Salida común.

MemoriaCPU Vídeo Almacenamiento

Dispositivos de

ENTRADA - SALIDA

Page 49: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

RISC y CISC

EDIA/Mecatrónica/ADGG/2014 49

RISC : Reduced Instruction Set Computer. Juego de instrucciones reducido o simplificado Estructura pipeline (Ejecuta una instrucción mientras

decodifica la siguiente). Un ciclo máquina por instrucción.

CISC : Complex Instruction Set Computer. Juego de instrucciones complejo. Estructura tipo pipeline y paralela (ejectura en una sola

instrucción CISC varias RISC). Dos o mas instrucciones por ciclo máquina

Page 50: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura de una CPU

En este canal se interconectan dispositivos de E/S, la CPU y la memoria principal. Las funciones principales del canal de E/S hace posible que múltiples dispositivos:

1) Transfieren información por trayectorias de datos comunes compartiendo y reduciendo la complejidad del hardware.

2) Se agregan o desmontan dispositivos simplemente enchufando o desenchufando sus cables (plug and play).

3) Se enlaza a un mecanismo el canal de E/S empleando especificaciones lógicas, eléctricas y físicas estandarizadas.

Page 51: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura Von Neuman

EDIA/Mecatrónica/ADGG/2014 51

La mayoría de los microprocesadores actuales son basados en esta arquitectura.

La memoria de programa tiene datos e instrucciones mezclados.

Sólo hay un bus para transmitir datos e instrucciones.

Las instrucciones están codificadas en palabras en base hexadecimal.

Page 52: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura Von Neumann

EDIA/Mecatrónica/ADGG/2014 52

CPU

Registros

De

Status

ROM

RAM

EPROM

Puertos E/S

Datos/instrucciones

Direcciones

Page 53: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura Von Neumann

Características principales:

Instrucción

Unidad de control

Trayectoria

de datos

Unidad central de

procesamiento

Entr

ada

Salid

a

Ciclo de

recuperación de

instrucción

Instrucción

Recepción de

datos

Envío de datos

Memoria

Programa

Datos

Instrucción 0

Instrucción 1

Instrucción 2

Instrucción 3

Instrucción 4

Instrucción 5

Dato 0

Dato1

Dato2

Page 54: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura Von Neumann

La velocidad de la máquina bajo este modelo se calcula de la forma siguiente:

tIF es el tiempo de Fetch

tID es el tiempo de decodificación

tEX es el tiempo de ejecución

tS es el tiempo de almacenamiento

SEXIDIFninstruccio ttttt

Page 55: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura Von Neumann

Niveles de lenguajes de programación:

Programa

en lenguaje

de alto

nivel

Lenguaje de

máquina a la

computadora

Lenguaje

ensambla-

dor

F=x+y

G=w-z

Si (f==g)

entonces

resultado=2*

x

Además

resultado=6*

w

Add R3, R2, R5

Sub R7, R18, R7

Beq R3, R7,

Ox60a5

Compilador

Page 56: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura Von Neumann

Operación Fetch o de lectura de programa:

Memoria

Dirección

Salida de datosRegistro de instrucciones (IR)

Contador de programa (PC)

Incremento

+4

Page 57: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura Von Neumann

Arquitectura de la CPU:

Unidad de control

Registro de instrucción

Lógica de controlR

eg

istr

o d

e s

ele

cció

n

de

en

tra

da

Re

gis

tro

de

se

lecció

n

de

sa

lida A

B ALU

Memoria

local

Archivo de registros

Selección

de funciónControl

Page 58: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura Von Neumann

La arquitectura Von Neumann tiene un solo bus de datos e instrucciones:

Page 59: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura Harvard

EDIA/Mecatrónica/ADGG/2014 59

Datos e instrucciones están claramente diferenciados.

Emplean buses y dispositivos de memoria diferentes.

Es mas rápido que la máquina de Von Neumann

Las instrucciones siguen codificadas.

Page 60: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura Harvard

EDIA/Mecatrónica/ADGG/2014 60

EPROM

Deco de

Instrucciones

CPU

Puertos E/S

ROM

RAM

Direcciones

Datos

Instrucciones

Page 61: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura Harvard

El modelo Harvard dispone de dos memorias:

Memoria de datos

Memoria de Programa

Además cada memoria dispone de su respectivo bus, lo que permite, que la CPU pueda acceder de forma independiente y simultánea a la memoria de datos y a la de instrucciones. Como los buses son independientes éstos pueden tener distintos contenidos en la misma dirección.

Page 62: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura Harvard

Arquitectura:

Page 63: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Procesador Segmentado

Procesador segmentado "pipe-line": quiere decir que aplica la técnica de segmentación que permite al procesador realizar simultáneamente la ejecución de una instrucción y la búsqueda de código de la siguiente.

De esta manera, se puede ejecutar una instrucción en un ciclo. (Cada ciclo de instrucción son cuatro ciclos de reloj).

Page 64: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Procesador Segmentado

Cronograma:

Page 65: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Procesador Segmentado

Ciclos de trabajo:

Ejemplo: Búsqueda 1 Ejecuta

1

1. MOVLW

55h

Búsqued

a 2

Ejecuta

2

2 .MOVWF

PORTB

Búsqued

a 3

Ejecuta 3

3. CALL

SUB_1

Busqued

a 4

Salir

4. BSF

PORTA,BIT

3

Busqueda

SUB_1

Ejecuta

SUB_1

Page 66: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura a base de bancos

Arquitectura basada en banco de registros: Implica que todos los elementos del sistema, es decir, temporizadores, puertos de entrada/salida, posiciones de memoria, etc, están implementados físicamente como registros.

En los PIC el manejo del banco de registros, que participan activamente en la ejecución de las instrucciones, es muy interesante al ser ortogonales. En la figura siguiente se muestra como la ALU (Unidad Aritmético-Lógica) efectúa sus operaciones con dos operandos, uno que proviene del registro W (Work), que en otras CPUs recibe el nombre de Acumulador, y el otro que se encuentra en cualquier otro registro o del propio código de instrucción.

Page 67: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura a base de registros

Page 68: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura

A X Md CC

R

SHIFTER CC

logic

shiftout 8

Opcode

ALU

control

ALU

alu

9

Op1 Op2

9

8 8

MUX1 MUX2

A X Md Md0 0

Page 69: Unidad Aritmética Lógica (ALU) - …homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura... · contiene el mismo numero de bit que dicho bus. ... Registro de instrucciones

Arquitectura

alu9

ADDER and logic operations

CinAnd2

Or2

xOr2

complementer complementer

Op1_com Op2_com

Op1 Op2

com1 com2