Post on 17-Dec-2014
description
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