esquema del funcionamiento de una computadoracomputadora

Post on 03-Mar-2015

1.197 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Tema 7:Tema 7:Esquema del Funcionamiento de una Esquema del Funcionamiento de una

ComputadoraComputadora

Escuela Politécnica SuperiorIngeniería Informática

Universidad Autónoma de Madrid

2Escuela Politécnica Superior

Esquema del Funcionamiento de una ComputadoraEsquema del Funcionamiento de una Computadora

OBJETIVOS

Adquirir los conceptos básicos sobre la CPU

Comprender las fases de funcionamiento de la CPU

TEMA 7: ESQUEMA DEL FUNCIONAMIENTO DE UNA COMPUTADORA

7.1 La unidad aritmético-lógica. 7.2 La unidad de control.7.3 Buses.7.4 Formato de las instrucciones.7.5 Operación de la CPU.

Bibliografía Tema 7:- Introduction to Computer Hardware and Data Communications.

P.-A. GOUPILLE. (Prentice Hall, 1993). Cap. 14 y Cap. 15.

3Escuela Politécnica Superior

Estructura funcional de los ordenadoresEstructura funcional de los ordenadores

• Unidad de entrada• Unidad de salida• Memoria

• Unidad aritmético-lógica• Unidad de control

Unidad de control(UC)

Unidad aritmético-lógica

(UAL)

Memoria central

Memoria auxiliar

CPU

Entrada Salida

4Escuela Politécnica Superior

Estructura funcional de los ordenadoresEstructura funcional de los ordenadores

• Unidad de entrada:– Dispositivo por donde se introducen en el ordenador los

datos e instrucciones– Ejemplos: Teclado, ratón, escáner, lectora de tarjetas de

crédito ...• Unidad de salida:

– Dispositivo por donde se obtienen los resultados de los programas ejecutados en la computadora

– Ejemplos: Pantalla, impresora, altavoz ...

5Escuela Politécnica Superior

Estructura funcional de los ordenadoresEstructura funcional de los ordenadores

• Memoria central o principal– Unidad donde se almacenan tanto los datos como las

instrucciones durante la ejecución de los programas– Actúa con gran velocidad y está ligada a las unidades más

rápidas del ordenador (UC y ALU)– Para que un programa se ejecute debe estar almacenado

(cargado) en la memoria principal– Formada por circuitos electrónicos integrados (chips)– Está dividida en posiciones (palabras de memoria) de un

determinado número de bits, n, donde se almacena la información

6Escuela Politécnica Superior

Estructura funcional de los ordenadoresEstructura funcional de los ordenadores

• Memoria central o principal– Cada palabra sólo se puede referenciar por su dirección:

Siempre que se quiera escribir o leer un dato o instrucción en memoria hay que especificar la dirección

– Normalmente hay una zona de la memoria que sólo se puede leer (memoria ROM) y que es permanente, y otra en la que se puede leer y escribir (memoria RAM) y que es volátil

7Escuela Politécnica Superior

Estructura funcional de los ordenadoresEstructura funcional de los ordenadores

• Memoria auxiliar o masiva– La memoria central es muy rápida pero no tiene gran

capacidad de almacenamiento– Para guardar masivamente información se utilizan otros

tipos de dispositivos: discos magnéticos, discos ópticos ...– Dispositivos lentos pero con gran capacidad de

almacenamiento (un millón de veces más lentos y del orden de mis veces más capaces)

8Escuela Politécnica Superior

Estructura funcional de los ordenadoresEstructura funcional de los ordenadores

• La unidad aritmético-lógica (ALU)– Contiene los circuitos electrónicos con los que se hacen

las operaciones de tipo aritmético y de tipo lógico– Incluye otros elementos auxiliares por donde se

transmiten o almacenan temporalmente los datos (registros) con objeto de operar con ellos

– El símbolo para representar la ALU:

A L U

9Escuela Politécnica Superior

Estructura funcional de los ordenadoresEstructura funcional de los ordenadores

• La unidad de control– El papel de la unidad de control es gestionar la ejecución

de programas:• Toma las instrucciones una después de otra, decodifica el código

de instrucción y envía microinstrucciones a las otras unidades del sistema que participan en la ejecución

• Busca la siguiente instrucción y repite el proceso

10Escuela Politécnica Superior

Estructura funcional de los ordenadoresEstructura funcional de los ordenadores• La unidad de control

– Para realizar esta tarea, la UC tiene un conjunto de componentes internos:

• Registro de instrucción: Memoriza temporalmente la instrucción del programa que la UC está ejecutando

• Secuenciador: Envía las microinstrucciones adecuadas al código de operación de la instrucción que se está ejecutando

• Registro de estado: Conjunto de biestables (flags) que almacenan información sobre la última operación realizada en la ALU (si hubo acarreo, si el resultado fue negativo o cero ...)

• Contador de programa: Registro especializado que el sistema carga automáticamente al principio de la ejecución del programa con la dirección de memoria de la primera instrucción a ejecutar. Cada vez que se carga una instrucción en el registro de instrucción se incrementa el contador de programa

11Escuela Politécnica Superior

Estructura funcional de los ordenadoresEstructura funcional de los ordenadores• Buses

– Los componentes de la CPU se comunican entre sí y con los componentes fuera de la CPU mediante cables que permiten la transferencia de datos binarios

– Conjunto de cables que transmite información en paralelo: Bus

– Bus de datos:• Para transferir instrucciones o datos entre los componentes del

sistema• Dependiendo del número de cables que componen el bus se pueden

transferir palabras de 8, 16, 32, 64 ... bits en paralelo Ancho del bus

• Bus bidireccional

12Escuela Politécnica Superior

Estructura funcional de los ordenadoresEstructura funcional de los ordenadores• Buses

– Bus de direcciones:• Se usa para transferir instrucciones: La dirección de la siguiente

instrucción o de un dato• Unidireccional: Desde la CPU a la memoria• Si el bus de direcciones es estrecho Las instrucciones se

transfieren en dos veces: La mitad más significativa seguida de la menos significativa

• El ancho del bus de direcciones puede determinar el tamaño de la memoria que puede direccionarse directamente: Bus de 16 bits permite direccionar 216 posiciones de memoria diferentes

– Bus de control:• Permite transferir las microinstrucciones generadas por el

secuenciador a los distintos componentes del sistema

13Escuela Politécnica Superior

Estructura funcional de los ordenadoresEstructura funcional de los ordenadores

• Para un buen funcionamiento del conjunto procesador-memoria:– Registro de dirección de memoria: Donde se almacena la

dirección del dato o instrucción a leer o escribir– Registro de memoria: Donde se almacena el dato a

escribir en la memoria o la información leída de memoria

14Escuela Politécnica Superior

Estructura funcional de los ordenadoresEstructura funcional de los ordenadores

15Escuela Politécnica Superior

El formato de las instruccionesEl formato de las instrucciones

• Una instrucción es una operación elemental en un lenguaje de programación; la orden más pequeña que un programador puede dar a un ordenador

• Las instrucciones contienen dos tipos de información:– Lo que tiene que hacer la instrucción (sumar, almacenar

datos ...)– Con qué datos tiene que hacerlo

16Escuela Politécnica Superior

El formato de las instruccionesEl formato de las instrucciones

• Las instrucciones son cadenas de 0’s y 1’s• La traducción de una instrucción de lenguaje de alto

nivel a binario la realiza un programa especial llamado intérprete o compilador

• La traducción de lenguaje ensamblador a binario la realiza un ensamblador especialmente escrito para el microprocesador en concreto

17Escuela Politécnica Superior

El formato de las instruccionesEl formato de las instrucciones

• Cuando la unidad de control recibe una instrucción envía una lista de órdenes a las unidades que toman parte en la ejecución de la instrucción: Microinstrucciones

18Escuela Politécnica Superior

El formato de las instruccionesEl formato de las instrucciones• Instrucción, compuesta por dos campos:

– Código de operación• Le dice al ordenador qué operación hay que llevar a cabo y qué

partes del ordenador están involucradas en su ejecución• La longitud de este campo depende del número de instrucciones

que el microprocesador pueda entender. Código de operación de 8 bits Conjunto de 256 instrucciones (28)

– Campo de dirección• Los datos sobre los que se realizan las operaciones están en

memoria. La memoria está dividida en posiciones de memoria. Cada una tiene asociada una dirección, que suele representarse en hexadecimal

• El campo de dirección contiene la dirección de la posición de memoria donde están almacenados los datos

19Escuela Politécnica Superior

• Fases de funcionamiento de la CPU– Hay dos fases:

• Fase de captación de la instrucción• Fase de ejecución de la instrucción

OperaciOperacióón de la CPUn de la CPU

20Escuela Politécnica Superior

• Fase de captación de la instrucción– El programa en código máquina que hay que ejecutar se

carga en memoria central– Antes del comienzo de la ejecución del programa se

carga el contador de programa con la dirección de la primera instrucción a ejecutar. Lo hace un programa del sistema operativo: Cargador

– El secuenciador genera las microinstrucciones necesarias para transferir la siguiente instrucción desde la memoria principal hasta la CPU para poder ejecutarla

OperaciOperacióón de la CPUn de la CPU

21Escuela Politécnica Superior

• Fase de captación de la instrucción– La secuencia de microinstrucciones es la siguiente:

RPC→LMA→REA→FET→LIR→IPC

RPC (Read Program Counter): (Program Counter) → Address busLMA (Load Memory Address register): (Address Bus) → Memory address registerREA (REAd from Memory): (Memory) → Memory data registerFET (FETch memory data register): (Memory data register) → Data busLIR (Load Instruction Register): (Data bus) → Instruction RegisterIPC (Increment Program Counter): (Program counter) + 1

– Que se repite cada vez que se ha terminado de ejecutar una instrucción

OperaciOperacióón de la CPUn de la CPU

22Escuela Politécnica SuperiorRPC RPC ((ReadRead ProgramProgram CounterCounter))

CPU

23Escuela Politécnica SuperiorLMA LMA (Load (Load MemoryMemory AddressAddress registerregister))

CPU

24Escuela Politécnica SuperiorREA REA ((REAdREAd fromfrom MemoryMemory))

CPU

25Escuela Politécnica SuperiorFET FET ((FETchFETch memorymemory data data registerregister))

CPU

26Escuela Politécnica SuperiorLIR LIR (Load (Load InstructionInstruction RegisterRegister))

CPU

27Escuela Politécnica SuperiorIPC IPC ((IncrementIncrement ProgramProgram CounterCounter))

CPU

+1

28Escuela Politécnica Superior

• Fase de ejecución de la instrucción– Una vez cargada la instrucción en el registro de

instrucciones:• El decodificador transforma su código de operación en una

serie de microinstrucciones.• El secuenciador envía las microinstrucciones a los dispositivos

y es ejecutada.

OperaciOperacióón de la CPUn de la CPU

29Escuela Politécnica Superior

• Ejemplo: Sumar los números 8H y 4H almacenados en las posiciones de memoria F800H y F810H, y almacenar el resultado en la posición F820H– Tres operaciones:

• Cargar el primer valor en el acumulador• Sumar el segundo valor al acumulador (resultado en el acumulador)• Almacenar el resultado en la posición especificada

OperaciOperacióón de la CPUn de la CPU

30Escuela Politécnica Superior

• Ejemplo: ...– Programa en lenguaje ensamblador:

LD A, (F800H) Carga acumulador con contenido de la dirección F800HADD A, (F810H) Suma contenido dirección F810H con acumuladorLD (F820H), A Almacena contenido acumulador en la posición F820H

– Código máquina generado por el ensamblador, algo del estilo3A F8 00C6 F8 1032 F8 20

OperaciOperacióón de la CPUn de la CPU

31Escuela Politécnica Superior

• Ejemplo: ...– Estado de la memoria antes de ejecutar el programa:

OperaciOperacióón de la CPUn de la CPU

816

416

3A F8 00C6 F8 1032 F8 20

F80016···

F81016···

FB0016FB0116FB0216

Programa

Datos

32Escuela Politécnica Superior

• Ejemplo: ...– Las microinstrucciones generadas por este programa serían:

1ª instrucción: LD A, (F800H)RPCLMAREAFETLIRIPC

LAD Campo dirección registro de instrucción → Bus de direccionesLMA Bus direcciones → Registro de dirección de memoriaREA Memoria → Registro de datos de memoriaFET Registro de datos de memoria → Bus de datosLIA Bus de datos → Entrada A de la ALUNOP Entrada B de la ALU → Salida de la ALULAC Salida de la ALU → Acumulador

OperaciOperacióón de la CPUn de la CPU

33Escuela Politécnica Superior

• Ejemplo: ...2ª instrucción: ADD A, (F810H)

RPCLMAREAFETLIRIPC

LAD Campo dirección registro de instrucción → Bus de direccionesLMA Bus direcciones → Registro de dirección de memoriaREA Memoria → Registro de datos de memoriaFET Registro de datos de memoria → Bus de datosLIB Bus de datos → Entrada B de la ALULIA Bus de datos → Entrada A de la ALUADD Suma con el acumuladorLAC Salida de la ALU → Acumulador

OperaciOperacióón de la CPUn de la CPU

34Escuela Politécnica Superior

• Ejemplo: ...

3ª instrucción: LD (F820H), ARPCLMAREAFETLIRIPC

LAD Campo dirección registro de instrucción → Bus de direccionesLMA Bus direcciones → Registro de dirección de memoriaACB Acumulador → Bus de datosSTO Bus de datos → Registro de datos de memoriaWRI Registro de datos de memoria → Memoria

OperaciOperacióón de la CPUn de la CPU

35Escuela Politécnica Superior

• Ejemplo: ...– Nuevas microinstrucciones:

OperaciOperacióón de la CPUn de la CPU

36Escuela Politécnica SuperiorACB ACB ((ACcumulatorACcumulator toto data Bus)data Bus)

CPU

37Escuela Politécnica SuperiorNOP NOP (No (No OPerationOPeration))

CPU

38Escuela Politécnica SuperiorLACLAC (Load (Load ACumulatorACumulator))

CPU

39Escuela Politécnica SuperiorLADLAD (Load (Load ADdressADdress fromfrom instructioninstruction registerregister))

CPU

40Escuela Politécnica SuperiorLIALIA (Load (Load Input A of arithmetic and logic unitInput A of arithmetic and logic unit))

CPU

41Escuela Politécnica SuperiorLIBLIB (Load (Load InputInput B B ofof arithmeticarithmetic andand logiclogic unitunit))

CPU

42Escuela Politécnica SuperiorLPCLPC (Load (Load ProgramProgram CounterCounter))

CPU

43Escuela Politécnica SuperiorSTOSTO ((STOreSTOre memorymemory data data registerregister))

CPU

44Escuela Politécnica SuperiorWRIWRI ((WRIteWRIte toto memorymemory))

CPU

45Escuela Politécnica Superior

• Ejemplo: ...– De forma esquemática:

– El esquema completo se muestra a continuación:

OperaciOperacióón de la CPUn de la CPU

LAD→LMA→REA→FET→LIA→NOP →LACLAD→LMA→REA→FET→LIB→LIA→ADD→LACLAD→LMA→ACB→STO→WRI

3A F8 00 C6 F8 10 32 F8 20

46Escuela Politécnica SuperiorCaptaciCaptacióón de FB00n de FB001616:RPC:RPC

CPU

47Escuela Politécnica SuperiorCaptaciCaptacióón de FB00n de FB001616:LMA:LMA

CPU

48Escuela Politécnica SuperiorCaptaciCaptacióón de FB00n de FB001616:REA:REA

CPU

49Escuela Politécnica SuperiorCaptaciCaptacióón de FB00n de FB001616:FET:FET

CPU

50Escuela Politécnica SuperiorCaptaciCaptacióón de FB00n de FB001616:LIR:LIR

CPU

51Escuela Politécnica SuperiorCaptaciCaptacióón de FB00n de FB001616:IPC:IPC

CPU

+1

52Escuela Politécnica SuperiorEje. de Eje. de LD A,(F800LD A,(F8001616)):LAD:LAD

CPU

53Escuela Politécnica SuperiorEje. de Eje. de LD A,(F800LD A,(F8001616)):LMA:LMA

CPU

54Escuela Politécnica SuperiorEje. de Eje. de LD A,(F800LD A,(F8001616)):REA:REA

CPU

55Escuela Politécnica SuperiorEje. de Eje. de LD A,(F800LD A,(F8001616)):FET:FET

CPU

56Escuela Politécnica SuperiorEje. de Eje. de LD A,(F800LD A,(F8001616)):LIA:LIA

CPU

57Escuela Politécnica SuperiorEje. de Eje. de LD A,(F800LD A,(F8001616)):NOP:NOP

CPU

58Escuela Politécnica SuperiorEje. de Eje. de LD A,(F800LD A,(F8001616)):LAC:LAC

CPU

59Escuela Politécnica SuperiorCaptaciCaptacióón de FB01n de FB011616:RPC:RPC

CPU

60Escuela Politécnica SuperiorCaptaciCaptacióón de FB01n de FB011616:LMA:LMA

CPU

61Escuela Politécnica SuperiorCaptaciCaptacióón de FB01n de FB011616:REA:REA

CPU

62Escuela Politécnica SuperiorCaptaciCaptacióón de FB01n de FB011616:FET:FET

CPU

63Escuela Politécnica SuperiorCaptaciCaptacióón de FB01n de FB011616:LIR:LIR

CPU

64Escuela Politécnica SuperiorCaptaciCaptacióón de FB01n de FB011616:IPC:IPC

CPU

+1

65Escuela Politécnica SuperiorEje. de Eje. de ADD A,(F810ADD A,(F8101616)):LAD:LAD

CPU

66Escuela Politécnica SuperiorEje. de Eje. de ADD A,(F810ADD A,(F8101616)):LMA:LMA

CPU

67Escuela Politécnica SuperiorEje. de Eje. de ADD A,(F810ADD A,(F8101616)):REA:REA

CPU

68Escuela Politécnica SuperiorEje. de Eje. de ADD A,(F810ADD A,(F8101616)):FET:FET

CPU

69Escuela Politécnica SuperiorEje. de Eje. de ADD A,(F810ADD A,(F8101616)):LIB:LIB

CPU

70Escuela Politécnica SuperiorEje. de Eje. de ADD A,(F810ADD A,(F8101616)):LIA:LIA

CPU

71Escuela Politécnica SuperiorEje. de Eje. de ADD A,(F810ADD A,(F8101616)):ADD:ADD

CPU

72Escuela Politécnica SuperiorEje. de Eje. de ADD A,(F810ADD A,(F8101616)):LAC:LAC

CPU

73Escuela Politécnica SuperiorCaptaciCaptacióón de FB02n de FB021616:RPC:RPC

CPU

74Escuela Politécnica SuperiorCaptaciCaptacióón de FB02n de FB021616:LMA:LMA

CPU

75Escuela Politécnica SuperiorCaptaciCaptacióón de FB02n de FB021616:REA:REA

CPU

76Escuela Politécnica SuperiorCaptaciCaptacióón de FB02n de FB021616:FET:FET

CPU

77Escuela Politécnica SuperiorCaptaciCaptacióón de FB02n de FB021616:LIR:LIR

CPU

78Escuela Politécnica SuperiorCaptaciCaptacióón de FB02n de FB021616:IPC:IPC

CPU

+1

79Escuela Politécnica SuperiorEje. de Eje. de LD (F820LD (F8201616),A),A:LAD:LAD

CPU

80Escuela Politécnica SuperiorEje. de Eje. de LD (F820LD (F8201616),A),A:LMA:LMA

CPU

81Escuela Politécnica SuperiorEje. de Eje. de LD (F820LD (F8201616),A),A:ACB:ACB

CPU

82Escuela Politécnica SuperiorEje. de Eje. de LD (F820LD (F8201616),A),A:STO:STO

CPU

83Escuela Politécnica SuperiorEje. de Eje. de LD (F820LD (F8201616),A),A:WRI:WRI

CPU

84Escuela Politécnica Superior

• Ejercicio– Cambios en la secuencia de microinstrucciones

anteriores si, en las mismas condiciones, se ejecutaLD A, (F80016)MUL A, (F81016)LD (F82016), A

– Suponiendo:• MUL A, (F81016) Acumulador← dato del acumulador *dato

de la dirección F81016• La microinstrucción MUL hace que la ALU multiplique sus

entradas y deja el resultado en su salida actualizando el registro de estado

OperaciOperacióón de la CPUn de la CPU

85Escuela Politécnica Superior

• Ejercicio– Solución:

OperaciOperacióón de la CPUn de la CPU

LAD→LMA→REA→FET→LIA→NOP →LACLAD→LMA→REA→FET→LIB→LIA→MUL→LACLAD→LMA→ACB→STO→WRI

3A F8 00 ?? F8 10 32 F8 20

top related