Arquitectura de Computadores (II Bimestre)

Preview:

DESCRIPTION

Universidad Técnica Particular de Loja Ciencias de la Computación Arquitectura de Computadores II Bimestre Abril-Agosto 2007 Ponente: Ing. Marcia Contento

Citation preview

ESCUELA:

PONENTE:

BIMESTRE:

ARQUITECTURA DE COMPUTADORES

CICLO:

CIENCIAS DE LA COMPUTACIÓN

II BIMESTRE

Ing. Marcia Contento

ABRIL – AGOSTO 2007

Contenidos:

1. Aritmética del Computador2. Repertorio de Instrucciones3. Unidad de Control4. Unidad Aritmético Lógica

Bibliografía ・ Organización y Arquitectura de Computadores, William Stalling

Objetivos

• Conocer la organización del procesador• Formas de representación de datos • Conocer los registros que componen la memoria interna

del procesador

Introducción

El funcionamiento de la CPU esta determinado por las instrucciones que ejecuta(instrucciones máquina o instrucciones de computador). El conjunto de instrucciones se determina “repertorio de instrucciones”

Repertorio de Instrucciones

• Conjunto de instrucciones que son entendidos por CPU• Códigos máquina• Binarias• Generalmente representadas en código ensamblador

Representación de números

• Representación de Enteros (coma fija)– Signo-magnitud– Complemento a dos– Operaciones

• Representación en Coma Flotante– Operaciones

Elementos de una instrucción

• Código de operación• Referencia de datos fuente• Referencia al operando resultado• Referencia a la siguiente instrucción

• Resultados• Memoria principal o virtual• Registro de la CPU• Dispositivo de E/S

Representación de Instrucciones

• Representación simbólica • ADD Sumar• SUB restar• MPY Multiplicar• DIV Dividir• LOAD Cargar datos a memoria

• Operaciones ADD A,B

Tipos de instrucciones

• De procesamiento de datos• De almacenamiento de datos• De transferencia de datos• De Control

Número de direcciones

• 3 direcciones– 1er operando, 2do

operando, resultado– a = b + c;– Siguiente instrucción

(generalmente implícito)

– No muy comun

• 2 direcciones– Doble acción

Operando y resultado– a = a + b– Reduce el tamaño de

la instrucción– Requiere instrucciones

adicionales

Número de direcciones

• 1 dirección– Segunda dirección

implicita– AC– Comun

• 0 (cero) direción– Todas las direcciones

implícitas– Usa una pila– e.g. push a– push b– add– pop c

– c = a + b

Cuantas direcciones

• Mas direcciones– Instrucciones mas complejas– Mas registros

• Operaciones mas rápidas– Pocas instrucciones por programa

• Menos direcciones– Instrucciones menos complejas– Mas instrucciones por programa– Faster captación o ejecución de instrucciones

Diseño de Instrucciones

• Repertorio de operaciones• Tipos de datos• Formato de instrucciones

• Registros • Direccionamiento

Cuantas,que,cuánCuantas,que,cuán

Longuitud,#dir,tamaño camposLonguitud,#dir,tamaño campos

Cuantos registros de la CPUCuantos registros de la CPU

Modo o modos, para Modo o modos, para

especificar la direcciónespecificar la dirección

de un operandode un operando

Tipos de operandos

• Números– Enteros , como flotante

• Caracteres– ASCII…

• Datos Lógicos– Bits, flags

Tipos de operaciones

• Transferencia de datos• Aritméticas• Lógicas• Conversión• Entrada/Salida• Control del sistema• Control de flujo

Transferencia de datos

La instrucción de transferencia debe especificar varias cosas:– Posiciones de los operandos fuente y destino– Longitud de los datos a transferir– Modo de direccionamiento para cada operando

Aritméticas

Las operaciones aritméticas básicas son: suma , resta, multiplicación y división; pero hay operaciones que requieren un solo operando:– Absolute– Negative– Increment– Derement

Lógicas

• Se basan en operaciones boleanas.• En este caso se aplican operando básicos como, AND,

OR, XOR, EQUAL.• Además se incluyen operaciones de desplazamiento y

rotación tales como.– Desplazamiento lógico a la derecha– Desplazamiento lógico a la izquierda– Desplazamiento aritmético a la derecha– Desplazamiento aritmético a la izquierda– Rotación a la derecha– Rotación a la izquierda

ConversiónInstrucciones de conversión son aquellas que cambian el formato u operan sobre el formato de los datos. Un ejemplo común es el de convertir un decimal a binario.

Entrada/SalidaComo ya los revisamos antes teníamos varios tipos de entradas salidas: entrada/salida programada aisladas, entradas/salidas programadas asignadas en memoria, DMA y procesador de E/S. revisar capitulo de E/S

Control del sistema

Llamadas instrucciones privilegiadas, que se ejecutan solo cuando el procesador está en un estado privilegiado o está ejecutando un programa en una zona privilegiada. Por lo general las usan el sistema operativo.

Control de flujo

• Algunas razones para el uso de funciones de control de flujo:

– Para ejecutar instrucciones mas de una vez– Para la toma de decisiones– Ejecución de programas largos

• Operaciones de control de flujo:

– Instrucciones de bifurcación– Instrucciones de salto implícito– Instrucciones de llamada a procedimiento

CPU

• Los objetivos de la CPU son– Captar instrucciones– Interpretar instrucción– Captar datos– Procesar datos– Escribir datos

Visión del procesador

General Interna

Registros

• Registros visibles al usuario

• Uso general

• Datos

• Direcciones

• Código de condición

• Registros de control y estado

• Contador de programa

• Registro de instrucción

• Registro de dirección de memoria

• Registro intermedio de memoria.

Otros• PSW

Ciclo de Instrucción

Subciclos asociados al ciclo de instrucción:

– Captación

– Ejecución

– Interrupción

– Ciclo Indirecto

– Flujo de Datos

Microinstrucciones

• Las microoperaciones son las operaciones funcionales o atómicas de la CPU y la unidad de control, controla el funcionamiento de la CPU.

TIPOS

• Transferencia de datos entre registros

• Transferencia de datos de un registro a una interfaz externa

• Transferencia de datos de una interfaz externa a un registro

• Hacer operaciones aritméticas o lógicas

Flujo de datos, ciclo captación

Microinstrucciones-Captación

tx = unidad de tiempo/ciclo de reloj)

()= denota “el contenido de”

• t1: MAR <- (PC)• t2: MBR <- (memoria)

PC <- (PC) +1• t3: IR <- (MBR)

• t1: MAR <- (PC)• t2: MBR <- (memoria)• t3: PC <- (PC) +1

IR <- (MBR)

Flujo de datos, ciclo indirecto

Microinstrucciones-Indirecto

• t1:MAR <- (IRdirección) - campo dirección de IR• t2:MBR <- (memoria)• t3:IR<- (MBRdirección)

Flujo de datos, ciclo interrupción

Microinstrucciones-instrucciones

• t1:MBR <-(PC)• t2:MAR<-dirección de salvaguarda(regreso)

PC <- dirección de la rutina• t3: memoria <- (MBR)

Flujo de datos (Ejecución)

• Puede tomar varias formas• Depende de la instrucción que se está ejecutando• Puede incluir

– Lectura/Escritura de la memoria– Entrada/Salida– Transferencias de registros– Operaciones en la ALU

Microinstrucciones-ejecución

– t1: MAR <- (IRdirección)– t2: MBR <- (memoria)– t3: R1 <- R1 + (MBR)

Diagrama de flujo de ciclo de instrucción

Recommended