organizacion y diseño basico de computadoras

44
Unidad 2 Organización y diseño básico de computadoras

Upload: eloibs

Post on 24-Oct-2014

253 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Organizacion y Diseño Basico de Computadoras

Unidad 2

Organización y diseño básico de computadoras

Page 2: Organizacion y Diseño Basico de Computadoras

Temario● códigos de instrucción

● Registros de la computadora

● Instrucciones de la computadora

● Temporización y control

● Ciclo de instrucción

● Instrucciones de referencia a memoria

● Entrada­salida e interrupción

● Descripción completa de una computadora basica

● Diseño de una computadora básica

● Diseño de un acumulador lógico

Page 3: Organizacion y Diseño Basico de Computadoras

Organización y arquitectura

● La organización de una computadora se define mediante sus registros internos, la estructura de temporización y control y la secuencia de microoperaciones que ejecuta sobre los datos almacenados es sus registros

● La arquitectura de una computadora es el conjunto de registros e instrucciones que debe conocer un programador para utilizarla

Page 4: Organizacion y Diseño Basico de Computadoras

Programa e instrucción● Programa: conjunto de instrucciones que 

especifican las operaciones, operandos, y la secuencia mediante la cual tiene que ocurrir el procesamiento

● Instrucción: es un código binario que especifica una secuencia de microoperaciones para la computadora

● Usualmente se forma por dos campos:– código de operación

– operandos

Page 5: Organizacion y Diseño Basico de Computadoras

Organización de un programa almacenado

Código de operación

Dirección del operando

012  1115

Operando binario

015

Instrucciones(Programa)

 Operandos(Datos)

Memoria de 4096 x 16

Registro del procesador(Acumulador o AC)

015

Page 6: Organizacion y Diseño Basico de Computadoras

Operandos

● Formato de 3 operandos

a=b+c     suma a,b,c● Formato de dos operendos

a=a+b      suma a,b● Formato de un operando

AC=AC+a     suma a

Page 7: Organizacion y Diseño Basico de Computadoras

Modos de direccionamiento

● Modo de direccionamiento: es la forma en como se obtienen los operandos de una instrucción

● Modo de direccionamiento Inmediato: el operando es una constante y se almacena inmediatamente después del código de operación, en la segunda parte del código de instrucción

● Modo de direccionamiento directo: el operando se encuentra en memoria y su dirección se encuentra inmediatamente después del código de operación.

● Modo de direccionamiento indirecto: el operando esta almacenado en memoria y su dirección se almacena en otra dirección de memoria cuya dirección se encuentra inmediatamente después del código de operación.

Page 8: Organizacion y Diseño Basico de Computadoras

SUMA 300

012  1115      14

I

Formato de instrucción

AC

+

Operando

SUMA 457I

AC

+

Operando

1350

Código de operación

Dirección del operando

I

22

457

35

300

1350

direccionamiento indirectodireccionamiento directo

Page 9: Organizacion y Diseño Basico de Computadoras

Registros de la computadora

Símbolo Tamaño Nombre Función

DR 16 Registro de datos

AR 12

AC 16 Acumulador Registro del procesador

IR 16 Contiene el código de instrucción 

PC 12

TR 16 Registro temporal Contiene datos temporales

INPR 8 Registro de entradaContiene el carácter de entrada

Contiene el operando de la memoria

Registro de dirección

Contiene la direción para la memoria

Registro de instrucciónContador de programa

Contiene la direción de la instrucción

Page 10: Organizacion y Diseño Basico de Computadoras

Registros y memoria

PC

AR

11 0

11 0

AC

DR

15 0

15 0

INPROUTR7 07 0

IR

TR

15 0

15 0

Memoria de 4096 x 16

Page 11: Organizacion y Diseño Basico de Computadoras

Bus de datos de la computadora

Page 12: Organizacion y Diseño Basico de Computadoras

Formatos de instrucción de la computadora básica

Instrucción de entrada y salida

012  1115

1111 Operación de I/O

Instrucción de referencia a memoria

012  1115      14

Código de operación Dirección del operandoI

Instrucción de referencia a registro

012  1115

0111 Operación de registro

Page 13: Organizacion y Diseño Basico de Computadoras

Instrucciones de la computadora básica

Código Hexadecimal

Símbolo I=0 I=1 Descripción

AND 0XXX 8XXX

ADD 1XXX 9XXX Sumar la palabra de memoria a ACLDA 2XXX AXXX Cargar la palabra de memoria a ACSTA 3XXX BXXX Almacenar el contenido de AC en la memoriaBUN 4XXX CXXX Brincar en forma incondicional

Aplicar la función and de la palabra de memoria a AC

Page 14: Organizacion y Diseño Basico de Computadoras

Instrucciones de la computadora básica (2)

Símbolo Descripción

CLA 7800 Borra ACCLE 7400 Borra ECMA 7200 Complementa ACCME 7100 Complementa ECIR 7080 Rotar AC y E a la derechaCIL 7040 Rotar AC y E a la izquierdaINC 7020 Incrementar ACSPA 7010 Omitir la siguiente instrucción si AC es positivoSNA 7008 Omitir la siguiente instrucción si AC es negativoSZA 7004 Omitir la siguiente instrucción si AC es ceroSZE 7002 Omitir la siguiente instrucción si E es cero

Código Hexadecimal

Page 15: Organizacion y Diseño Basico de Computadoras

Instrucciones de la computadora básica (3)

Símbolo Descripción

INP F800 Introducir un carácter en ACOUT F400 Sacar un carácter desde ACSKI F200 Omitir si la bandera de entrada esta puestaSKO F100 Omitir si la bandera de salida esta puestaION F080 Habilitar interrupción

Código Hexadecimal

● El conjunto de instrucciones es completo, pero esta lejos de ser óptimo, ya que faltan operaciones como la OR, XOR, resta, multiplicación, etc.

Page 16: Organizacion y Diseño Basico de Computadoras

Control cableado y microprogramado

● Control cableado: la lógica de control se logra mediante compuertas, flip flops y otros circuitos digitales

● Es más rápido pero menos flexible● Control microprogramado: la información de 

control esta almacenada en una memoria.● Se puede modificar la operación de una o 

más instrucciones modificando la memoria de control

Page 17: Organizacion y Diseño Basico de Computadoras

Unidad de control

Page 18: Organizacion y Diseño Basico de Computadoras
Page 19: Organizacion y Diseño Basico de Computadoras

Ciclo de instrucción

● Buscar una instrucción de memoria(Buscar = Fetch= Leer un código de instrucción)

● Decodificar la instrucción● Leer la dirección efectiva del operando 

si es modo de direccionamiento indirecto

● Ejecutar la instrucción

Page 20: Organizacion y Diseño Basico de Computadoras

Búsqueda de la instrucciónT0: AR<­PCT1:  IR<­M[AR], PC<­PC+1T2: D0...D7 <­ Decodificar IR(12 a 14), AR<­IR(0 a 11), I<­IR(15)

Para efectuar  T0: AR<­PC  se debe:●Colocar el contenido de PC dentro del bus haciendo que las señales de selección del bus S2, S1 y S0 sean iguales a 010●Transferir el contenido del bus a AR al habilitar la señal LD de AR

Para efectuar T1:  IR<­M[AR], PC<­PC+1 se debe:●Habilitar la entrada de lectura de memoria●Colocar el contenido de la memoria en el bus al hacer S2S1S0=111●Transferir el contenido del bus a IR al habilitar la entrada LD de IR●Incrementar PC al habilitar la entrada INR de PC 

Page 21: Organizacion y Diseño Basico de Computadoras
Page 22: Organizacion y Diseño Basico de Computadoras
Page 23: Organizacion y Diseño Basico de Computadoras

Ciclo T3

AR<­M[AR]   //direccionamiento indirecto

D7' I T3: AR<­M[AR]

D7' I' T3: Nada

D7 I' T3: Ejecutar instrucción de referencia a registro

D7 I T3: Ejecutar instrucción de entrada salida

Page 24: Organizacion y Diseño Basico de Computadoras

Ejecución de las instrucciones de referencia a registro

D7 I'  T3 = r (Común a todas las instrucciones de referencia a registro)

Instrucción ComentarioTodas r: SC <­ 0 Regresa a T0CLA rB11: AC <­ 0 Borra ACCLE rB10: E <­ 0 Borra ECMA rB9: AC <­ /AC Complementa ACCME rB8: E <­ /E Complementa ECIR rB7: Circular a la derechaCIL rB6: Circular a la izquierdaINC rB5: AC <­ AC +1 Incrementar ACSPA rB4: Si(AC(15) = 0) entonces PC <­ PC +1 Omitir si AC es positivoSNA rB3: Si(AC(15) = 1) entonces PC <­ PC +1 Omitir si AC es negativoSZA rB2: Si(AC = 0) entonces PC <­ PC +1 Omitir si AC es ceroSZE rB1: Si(E= 0) entonces PC <­ PC +1 Omitir si E es ceroHLT rB0: S <­ 0 (S es un FF que habilita el reloj) Detener la computadora

IR(i) = Bi  [bit i en IR(0..11) que especifica la operación]

microoperación

AC <­ shr AC, AC(15) <­ E, E <­ AC(0)AC <­ shl AC, AC(0) <­ E, E <­ AC(15)

Page 25: Organizacion y Diseño Basico de Computadoras

Instrucciones de referencia a memoria

Símbolo Decodificador Descripción simbólicaAND D0 AC <­ AC and M[AR]ADD D1 AC <­ AC + M[AR], E <­ CsalLDA D2 AC <­ M[AR]STA D3 M[AR] <­ ACBUN D4 PC <­ ARBSA D5 M[AR] <­ PC, PC <­ AR + 1

ISZ D6 M[AR] <­ M[AR] + 1Si (M[AR]+1 = 0) entonces PC <­ PC +1

Page 26: Organizacion y Diseño Basico de Computadoras

Ejecución de inst. de ref. a memoria

● AND– D0 T4:  DR <­M[AR]

– D0 T5: AC <­ AC and DR, SC <­ 0

● ADD– D1 T4:  DR <­M[AR]

– D1 T5: AC <­ AC + DR, E <­ Csal, SC <­ 0

● LDA– D2 T4:  DR <­M[AR]

– D2 T5: AC <­ DR, SC <­ 0

Page 27: Organizacion y Diseño Basico de Computadoras

Ejecución de inst. de ref. a memoria (2)

● STA– D3 T4:  M[AR] <­ AC, SC <­ 0

● BUN– D4 T4:  PC <­ AR, SC <­ 0

● BSA– D5 T4:  M[AR] <­ PC, AR <­ AR +1

– D5 T5: PC <­ AR, SC <­ 0

Page 28: Organizacion y Diseño Basico de Computadoras

Subrutinas

Page 29: Organizacion y Diseño Basico de Computadoras

Ejecución de inst. de ref. a memoria (3)

● ISZ– D6 T4:   DR <­ M[AR]

– D6 T5:  DR <­ DR +1

– D6 T6:  M[AR] <­ DR,Si (DR = 0) PC <­ PC +1,

SC <­ 0

Page 30: Organizacion y Diseño Basico de Computadoras

Instrucciones de entrada y salida

Page 31: Organizacion y Diseño Basico de Computadoras

Ejecución de las instrucciones de entrada y salida

D7 I  T3 = p (Común a todas las instrucciones de entrada y salida)IR(i) = Bi  [bit i en IR(0..11) que especifica la operación]

Instrucción microoperación ComentarioTodas p: SC <­ 0 Regresa a T0INP pB11: AC(0..7) <­ INPR, FGI <­ 0 Introducir carácterOUTP pB10: OUTR <­ AC(0..7) , FGO <­ 0 Sacar un carácter

SKI pB9: Si(FGI = 1) entonces PC <­ PC +1

SKO pB8: Si(FGO = 1) entonces PC <­ PC +2ION pB7: IEN <­ 1 habilitar Interrupción

Omitir si haybandera de entradaOmitir si haybandera de Salida

Page 32: Organizacion y Diseño Basico de Computadoras
Page 33: Organizacion y Diseño Basico de Computadoras
Page 34: Organizacion y Diseño Basico de Computadoras

Modificación de la fase de búsqueda

R T0: AR <­ 0,  TR<­PCR T1:  M[AR] <­ TR, PC<­0R T2: PC<­PC+1,  IEN <­ 0, R <­ 0, SC <­ 0

R' T0: AR<­PCR' T1:  IR<­M[AR], PC<­PC+1R' T2: D0...D7 <­ Decodificar IR(12 a 14), AR<­IR(0 a 11), I<­IR(15)

T0' T1' T2' (IEN) (FGI + FGO):  R <­  1

Activación del flip flop de interrupción

Page 35: Organizacion y Diseño Basico de Computadoras

Búsqueda R' T0: AR<­PCR' T1:  IR<­M[AR], PC<­PC+1R' T2: D0...D7 <­ Decodificar IR(12 a 14), AR<­IR(0 a 11), I<­IR(15)

Indirecto D7' I T3: AR<­M[AR]

Interrupción T0' T1' T2' (IEN) (FGI + FGO):  R <­  1R T0: AR <­ 0,  TR<­PCR T1:  M[AR] <­ TR, PC<­0R T2: PC<­PC+1,  IEN <­ 0, R <­ 0, SC <­ 0

AND  D0 T4:  DR <­M[AR]D0 T5: AC <­ AC and DR, SC <­ 0

ADD D1 T4:  DR <­M[AR]D1 T5: AC <­ AC + DR, E <­ Csal, SC <­ 0

LDA D2 T4:  DR <­M[AR]D2 T5: AC <­ DR, SC <­ 0

STA D3 T4:  M[AR] <­ AC, SC <­ 0BUN D4 T4:  PC <­ AR, SC <­ 0BSA D5 T4:  M[AR] <­ PC, AR <­ AR +1

D5 T5: PC <­ AR, SC <­ 0ISZ D6 T4:  DR <­ M[AR]

D6 T5:  DR <­ DR +1D6 T6:  M[AR] <­ DR, Si (DR = 0) PC <­ PC +1, SC <­ 0

Descripción de la computadora

Page 36: Organizacion y Diseño Basico de Computadoras

Descripción de la computadora

D7 I  T3 = p (Común a todas las instrucciones de entrada y salida)

Instrucción ComentarioTodas p: SC <­ 0 Regresa a T0INP pB11: AC(0..7) <­ INPR, FGI <­ 0 Introducir carácterOUTP pB10: OUTR <­ AC(0..7) , FGO <­ 0 Sacar un carácter

SKI pB9: Si(FGI = 1) entonces PC <­ PC +1

SKO pB8: Si(FGO = 1) entonces PC <­ PC +2ION pB7: IEN <­ 1 habilitar InterrupciónIOF pB6: IEN <­ 0 Deshabilitar Interrupción

IR(i) = Bi  [bit i en IR(0..11) que especifica la operación]microoperación

Omitir si haybandera de entradaOmitir si haybandera de Salida

D7 I'  T3 = r (Común a todas las instrucciones de referencia a registro)

Instrucción ComentarioTodas r: SC <­ 0 Regresa a T0CLA rB11: AC <­ 0 Borra ACCLE rB10: E <­ 0 Borra ECMA rB9: AC <­ /AC Complementa ACCME rB8: E <­ /E Complementa ECIR rB7: Circular a la derechaCIL rB6: Circular a la izquierdaINC rB5: AC <­ AC +1 Incrementar ACSPA rB4: Si(AC(15) = 0) entonces PC <­ PC +1 Omitir si AC es positivoSNA rB3: Si(AC(15) = 1) entonces PC <­ PC +1 Omitir si AC es negativoSZA rB2: Si(AC = 0) entonces PC <­ PC +1 Omitir si AC es ceroSZE rB1: Si(E= 0) entonces PC <­ PC +1 Omitir si E es ceroHLT rB0: S <­ 0 (S es un FF que habilita el reloj) Detener la computadora

IR(i) = Bi  [bit i en IR(0..11) que especifica la operación]microoperación

AC <­ shr AC, AC(15) <­ E, E <­ AC(0)AC <­ shl AC, AC(0) <­ E, E <­ AC(15)

Page 37: Organizacion y Diseño Basico de Computadoras
Page 38: Organizacion y Diseño Basico de Computadoras

Componentes de la computadora

● Unidad de memoria de 4096 x 16

● Nueve registros: AR, PC, DR, IR, TR, OUTR, INPR Y SC

● Siete flip flops

● Dos decodificadores: uno de operación y otro de temporización un bus común de 16 bits

● Compuertas lógicas de control

● Un circuito sumador y lógico conectado a la entrada de AC

Page 39: Organizacion y Diseño Basico de Computadoras

Diseño de la lógica de control de AR

● Se agrupan todos los enunciados que modifican a AR

– R' T0: AR <­ PC

– R' T2: AR <­ IR(0..11)

– D7' I T0: AR <­ M[AR]

– R T0: AR <­ 0

– D5 T4: AR <­ AR+1

● Las  funciones de control pueden combinarse en tres funciones OR

– LD(AR)= R' T0 + R' T2 +D7' I T3

– CLR(AR)= R T0 

– INR(AR)= D5 T4

Page 40: Organizacion y Diseño Basico de Computadoras
Page 41: Organizacion y Diseño Basico de Computadoras

Control de FF únicos● Para IEN

– p B7: IEN <­ 1

– p B6: IEN <­ 0

– R T2: IEN <­ 0

Page 42: Organizacion y Diseño Basico de Computadoras

Circuitería asociada con AC

Page 43: Organizacion y Diseño Basico de Computadoras
Page 44: Organizacion y Diseño Basico de Computadoras