Вы находитесь на странице: 1из 20

Maestra en Tecnologas de Informacin

Arquitectura de Computadoras
septiembre diciembre 2005

Salvador Godoy C.

Sesin #4 Arquitectura y Organizaci Organizacin del Procesador 20 / Septiembre / 2005

Arquitectura y Organizaci Organizacin del Procesador

Ubicaci Ubicacin en el Sistema Complejo

Supuestos fundamentales de operaci operacin


1) Tanto los programas a ejecutar como sus datos se encuentran almacenados almacenados
en la Memoria Principal y codificadas en binario. , (denotada en 2) Cada celda de memoria tiene una Direccin nica, hexadecimal) hexadecimal) y es accesible independientemente de otras celdas.

3) La ejecuci ejecucin de instrucciones debe realizarse de forma Secuencial a menos


que el mismo programa altere la secuencia.

Fetch

Execute

Arquitectura y Organizaci Organizacin

Arquitectura y Organizaci Organizacin

CPU Central Processing Unit : Su funci funcin es Ejecutar los programas almacenados en la Memoria.

Componentes

Unidad

de Control (CU): Emite las se seales para sincronizar la

actividad de los otros componentes.

Unidad

Aritmtica y Lgica (ALU):

Realiza las operaciones

aritm aritmticas y l lgicas sobre registros internos. internos.

Registros:

Palabras de almacenamiento, de longitud fija para

representar n nmeros binarios.

Interconexin

interna:

Un bus de comunicaci comunicacin interno,

tpicamente interinter-construido en la pastilla

Operaci Operacin conjunta

Memoria: de ella lee los programas a ejecutar, los datos a operar y en ella escribe los resultados obtenidos.

Buses:
Procesador

a trav travs del bus env enva y recibe

Datos,

Direcciones y Se Seales de Control

Perifricos: control de

env enva y recibe datos y se seales de estos dispositivos. Los atiende

ejecutando rutinas de atenci atencin a Interrupciones que ellos generan.

Fabricaci Fabricacin

Fabricaci Fabricacin
Cilindros de cristal de Silicio puro con orientaci orientacin espec especfica de part partculas. superficie de cada rebanada. Se a aaden otros elementos como Fsforo y Boro para crear secciones de material tipo-N y material tipo-P. . Para crear los transistores internos se a aaden capas de P y N a la rebanada y se talla el material excedente. La ltima capa los es para Se cortan en rebanadas (Waffers) ) y se pule la (

interconectar Aluminio. .

transisores PoliSilicn o

creados y es de

Fabricaci Fabricacin

Una vez terminada cada rebanada con sus capas de componentes y su capa de conectividad se debe cortar cada Chip en forma individual.

Cada

rebanada

llega

contener

cientos de chips que no deben entrar en contacto con ninguna substancia que contamine los cristales.

Por ltimo, se encapsula el chip en una cubierta de protecci proteccin que permita conectar el chip a otros dispositvos. dispositvos.

Fabricaci Fabricacin

Registros

Registros

Registros de Propsito General : ejecuci ejecucin de un programa.

Para almacenar datos,

apuntadores, etc. Son modificables en cualquier momento de la

Registros de Control de Ejecucin: : Seguir traza del programa que se est est ejecutando y los par parmetros de las instrucciones.

Registros de Status: : Almacenan el estado en que se encuentran los diferentes procesos internos del procesador.

Registros en un Intel 8086

Uso General
EAX EBX ECX EDX
Acumulator Base Counter Data

Apuntadores e Indices
AX BX CX DX ESP EBP ESI EDI SP BP SI Source Index Destination Index DI
Stack Pointer Base Pointer

Segmentos de Memoria
Code Segment Data Segment Stack Segment Extra Segment

SP BP SI DI

FLAGS
OF DF IF SF ZF AF PF CF

CF Carry Flag, PF Parity Flag, AF Auxiliary Carry Flag, Flag, ZF Zero Flag, SF Sign Flag, IF Interrupt enable, Flag, Flag, enable, DF Direction Flag, Flag, OF Overflow Flag

Contexto de un Programa La ejecuci ejecucin de un programa depende fundamentalmente del contenido de los registros. . A l conjunto de valores almacenados en todos los registros en un momento dado se le llama Contexto del programa en ejecuci ejecucin. Cuando un programa invoca una subrutina y cuando el procesador atiende una interrupcin, , es necesario cambiar el contexto del programa en ejecuci ejecucin por el contexto de la rutina que se va a ejectuar. ejectuar. Para preservar el contexto del programa en ejecuci ejecucin y para administrar los cambios sobre l, el procesador maneja una zona de memoria principal como una Pila (Stack) )
UEPS (LIFO)

Cambios de Contexto
Al invocar a una subrutina con parmetros: :

1. El programa principal guarda en la pila los par parmetros


de la subrutina que va a invocar ) introduce a la pila 2. La instrucci instruccin de invocaci invocacin (CALL (CALL) la direcci direccin de regreso.

xt o te n o

SP

3. La subrutina lo primero que hace es guardar el


contexto del programa anterior para poder modificar los registros.

Dir. Dir. de Regreso Par Parmetro #2 Par Parmetro #1

4. Al finalizar la subrutina, restablece el contexto del programa principal principal


sacando de la pila el contexto que ella misma almacen almacen. ) extrae de la pila la direcci 5. La ltima instrucci instruccin de la subrutina (RET (RET) direccin de regreso y salta a dicha direcci direccin.

6. Por ltimo, el programa principal extrae de la pila los par parmetros que
introdujo al inicio del proceso.

Organizaci Organizacin a detalle

Ciclo de Ejecuci Ejecucin

Fetch

Una Interrupcin es una se seal que env enva alg algn dispositivo perif perifrico y con la cual
Execute

solicita al procesador que ejecute alguna rutina.


Fetch

La rutina que el procesador ejecuta en respuesta a la interrupci interrupcin recibe el nombre de Rutina de Atencin (driver). ). La direcci direccin de la celda de memoria donde se encuentra almacenada la rutina de atenci atencin se llama Vector de la Interrupcin. .

Decode

Interrupt Service

Execute

Ciclo de Ejecuci Ejecucin

Fetch: Leer de Memoria la siguiente instrucci instruccin a ejecutar Decode: Separar los componentes de la instrucci instruccin le leda y

distinguir en ella el c cdigo de operaci operacin de la instrucci instruccin y la(s) la(s) referencias a los par parmetros. Execute: Emitir las se seales de control necesarias para que se ejecute la instrucci instruccin solicitada. Interrupt Service: Si alg algn perif perifrico lo solicita, cambiar el flujo de ejecuci ejecucin del programa principal hacia el vector de interrupci interrupcin y comenzar ah ah un nuevo ciclo de Fetch Execute. Execute. regresar el flujo de ejecuci ejecucin al programa principal. Al terminar,

10

Ciclo de Ejecuci Ejecucin

Fetch

Execute

AC Acumulador MBR Memory Buffer Register PC Program Counter MAR Memory Address Register IR Instruction Register IBR Instruction Buffer Register

Microprogramaci Microprogramacin
Cdigo de Operacin

Operando

Fetch: MAR MBR IR,IBR PC PC M[MAR] M[MAR] MBR PC+1 PC+1

Execute: MAR MBR AC MAR PC IBR M[MAR] AC+MBR IBR MAR

11

Interpretaci Interpretacin y Microprogramas Los Procesadores y pueden el tener su ciclo de para instrucciones ejecutar los

Interconstrudo (alambrado por hardware) hardware) o bien, pueden contener Microprogramas hardware necesario microprogramas (Intrprete). ). (
Maurice V. Wilkes The Best way to Design an Automatic Calculating Machine Proceedings Manchester University. Inagural Conference 1951.

Cambiar el conjunto de intrucciones de un procesador posteriormente a su construcci construccin. Aadir nuevas instrucciones para el usuario (paquetes de actualizaci actualizacin). Cargar y descargar diversos Microprogramas para Emular otros procesadores.

Microprogramaci Microprogramacin y las Familias de Computadoras En la d dcada de 1960, IBM crea el concepto de Familia de Computadoras con una Arquitectura comn, , gracias a la Microprogramaci Microprogramacin.

IBM 7094 (1962) IBM 1401 (1961)

IBM System/360 (1964)

12

Microprocesadores y el efecto del Int Intrprete

Motorola M680

Zilog Z80

Motorola M68000

Zilog Z8000

Detalles de velocidad Todo procesador tiene un reloj interno (oscilador) que Sincroniza las acciones que toman lugar dentro del procesador. Frecuencia de Reloj Es la velocidad del oscilador interno del procesador. Se mide en Hertz (Hz) ) 1Hz = 1 oscilaci oscilacin por segundo Mega Hertz (MHz) ) 1MHz = 1,000,000 oscilaciones por segundo Ciclo de Reloj Es el rec recproco de la frecuencia de reloj. El tiempo que toma 1 oscilaci oscilacin. Se mide en Nano Segundos Ej. Si el procesador tiene una frecuencia de reloj de 800 MHz 1/800 000 000 = 1.25 ns

13

Conjunto de Instrucciones

Conjunto de Instrucciones

Cada procesador tiene microprogramado un cierto n nmero de instrucciones que puede realizar. A esos microprogramas se les llama el Conjunto de Instrucciones del procesador. Para representar dichas instrucciones en la memoria, cada procesador establece un formato de representaci representacin. A los lenguajes de programaci programacin que representan 1 a 1 las instrucciones de un procesador se les llama Lenguaje Ensamblador. . Los lenguajes de programaci programacin de alto nivel (de abstracci abstraccin), crean instrucciones m ms complejas a partir de combinaciones de las instrucciones b bsicas de un procesador.

14

Tipos de Lenguajes de Programaci Programacin

Lenguaje de mquina

Todas las instrucciones en binario o en hexadecimal Cada instrucci instruccin del procesador se le

Lenguaje Ensamblador

asigna

un

Nombre

(Nemot (Nemotcnico)

para facilitar su manejo. Lenguaje de Alto Nivel Se usan instrucciones que combinan varias instrucciones del procesador. Cada instrucci instruccin realiza muchas

Lenguaje de 4ta Generacin

operaciones dirigidas a procesos de inform informtica.

Taxonom Taxonoma de las Instrucciones

de Almacenamiento: : Leer o escribir alg algn valor en alguna celda espec Registro-Registro, Registro, RegistroRegistro-Memoria, MemoriaMemoriaespecfica de memoria. (RegistroMemoria) Memoria). LOAD, STORE, etc.

de Movimiento: : Leen o escriben datos de o hacia los dispositivos perif perifricos.


INPUT, OUTPUT, etc.

de Procesamiento: : Todas las operaciones Aritm Aritmticas y L Lgicas.


ADD, SUBSTRACT, MULTIPLY, DIVIDE, etc

de Control: : Revisan condiciones de cero, negativo, overflow, overflow, etc. y determinan los saltos.
TEST, JUMP, BRANCH, etc.

15

Modos de Direccionamiento

Las diversas formas en que una instrucci instruccin hace referencia a sus operandos. Los operandos pueden estar incrustados en pueden estar en alg algn registro de uso general la misma

instruccin, , pueden estar en alguna celda de memoria o bien

1) Modo Inmediato 2) Modo Directo 3) Modo Indirecto 4) Modo Registro Directo 5) Modo Registro Indirecto 6) Modo Impl Implcito

Modos de Direccionamiento
Modo Inmediato

Modo Implcito

Modo Registro directo

Modo Directo

16

Modos de Direccionamiento
Modo Indirecto

Modo Registro indirecto

Modos de Direccionamiento

Modo Indexado

17

CISC vs RISC

CISC versus RISC

CISC : Complex Instruction Set Computer Busca dise disear conjuntos de instrucciones muy John Cocke IBM 801 complejas programas. para darle soporte al modelo de pensamiento de los usuarios y su forma de dise disear

RISC : Reduced Instruction Set Computer Busca reducir a la m mnima expresi expresin posible el conjunto de instrucciones de un procesador para que cada una se ejecute muy r rpidamente.

18

Ejemplo
Sumar al contenido de la direcci direccin apuntada por A3, el elemento del arreglo que comienza en la direcci direccin 100 y cuyo ndice est est en A2. Al final incrementar el valor del apuntador en A3.

CISC: Motoroa M68000 Add (A3)+ , 100(A2)

RISC: MIPS lw lw add sw addi

R4000 $t0, ) $t0, ($s3 ($s3) $t1, $t1, $t2, $t2, $t2, $t2, $s3, $s3, 100($s2 ) 100($s2) $t0, $t0, $t1 100($s3 ) 100($s3) $s3, $s3, 1

CISC versus RISC CISC


Pocos registros Muchos modos de direccionamiento Paso de par parmetros a trav travs de la Memoria principal Instrucciones con duraci duracin de varios ciclos de reloj Microprogramados Gran cantidad de Instrucciones de Mquina Instrucciones en formatos de diversa longitud Variedad de instrucciones que pueden hacer acceso a memoria. Microc Microcdigo muy complejo Muchos registros Muy Pocos modos de direccionamiento Paso de Registros par parmetros a trav travs de

RISC

Instrucciones con duraci duracin de 1 ciclo de reloj Alambrados Pocas Instrucciones de Mquina Instrucciones en formato de longitud fija Slo LOAD y STORE tienen acceso a la memoria Compiladores muy complejos

19

Cmo incrementar la eficiencia?

Paralelismo?

A nivel instrucci instruccin, a

nivel programa o a nivel procesador

Nuevas

tecnolog tecnologas de materiales.

Cmputo molecular y/o cu cuntico

Fin 1 1 parte

20

Вам также может понравиться