Está en la página 1de 85

Tema 7: Esquema del Funcionamiento de una Computadora

Escuela Politcnica Superior Ingeniera Informtica Universidad Autnoma de Madrid

Esquema del Funcionamiento de una Computadora


O B J E T I V O S
TEMA 7: ESQUEMA DEL FUNCIONAMIENTO DE UNA COMPUTADORA
7.1 La unidad aritmticolgica. 7.2 La unidad de control. 7.3 Buses. 7.4 Formato de las instrucciones. 7.5 Operacin de la CPU.

Adquirir los conceptos bsicos sobre la CPU

Comprender las fases de funcionamiento de la CPU

Bibliografa Tema 7:

- Introduction to Computer Hardware and Data Communications.


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

Escuela Politcnica Superior

Estructura funcional de los ordenadores


Unidad de entrada Unidad de salida Memoria Unidad aritmtico-lgica Unidad de control

Memoria auxiliar

Memoria central Entrada Unidad de control (UC) CPU Salida

Unidad aritmtico-lgica (UAL)

Escuela Politcnica Superior

Estructura funcional de los ordenadores


Unidad de entrada:
Dispositivo por donde se introducen en el ordenador los datos e instrucciones Ejemplos: Teclado, ratn, escner, lectora de tarjetas de crdito ...

Unidad de salida:
Dispositivo por donde se obtienen los resultados de los programas ejecutados en la computadora Ejemplos: Pantalla, impresora, altavoz ...

Escuela Politcnica Superior

Estructura funcional de los ordenadores


Memoria central o principal
Unidad donde se almacenan tanto los datos como las instrucciones durante la ejecucin de los programas Acta con gran velocidad y est ligada a las unidades ms rpidas del ordenador (UC y ALU) Para que un programa se ejecute debe estar almacenado (cargado) en la memoria principal Formada por circuitos electrnicos integrados (chips) Est dividida en posiciones (palabras de memoria) de un determinado nmero de bits, n, donde se almacena la informacin
Escuela Politcnica Superior 5

Estructura funcional de los ordenadores


Memoria central o principal
Cada palabra slo se puede referenciar por su direccin: Siempre que se quiera escribir o leer un dato o instruccin en memoria hay que especificar la direccin Normalmente hay una zona de la memoria que slo se puede leer (memoria ROM) y que es permanente, y otra en la que se puede leer y escribir (memoria RAM) y que es voltil

Escuela Politcnica Superior

Estructura funcional de los ordenadores


Memoria auxiliar o masiva
La memoria central es muy rpida pero no tiene gran capacidad de almacenamiento Para guardar masivamente informacin se utilizan otros tipos de dispositivos: discos magnticos, discos pticos ... Dispositivos lentos pero con gran capacidad de almacenamiento (un milln de veces ms lentos y del orden de mis veces ms capaces)

Escuela Politcnica Superior

Estructura funcional de los ordenadores


La unidad aritmtico-lgica (ALU)
Contiene los circuitos electrnicos con los que se hacen las operaciones de tipo aritmtico y de tipo lgico Incluye otros elementos auxiliares por donde se transmiten o almacenan temporalmente los datos (registros) con objeto de operar con ellos El smbolo para representar la ALU:
A L U

Escuela Politcnica Superior

Estructura funcional de los ordenadores


La unidad de control
El papel de la unidad de control es gestionar la ejecucin de programas:
Toma las instrucciones una despus de otra, decodifica el cdigo de instruccin y enva microinstrucciones a las otras unidades del sistema que participan en la ejecucin Busca la siguiente instruccin y repite el proceso

Escuela Politcnica Superior

Estructura funcional de los ordenadores


La unidad de control
Para realizar esta tarea, la UC tiene un conjunto de componentes internos:
Registro de instruccin: Memoriza temporalmente la instruccin del programa que la UC est ejecutando Secuenciador: Enva las microinstrucciones adecuadas al cdigo de operacin de la instruccin que se est ejecutando Registro de estado: Conjunto de biestables (flags) que almacenan informacin sobre la ltima operacin realizada en la ALU (si hubo acarreo, si el resultado fue negativo o cero ...) Contador de programa: Registro especializado que el sistema carga automticamente al principio de la ejecucin del programa con la direccin de memoria de la primera instruccin a ejecutar. Cada vez que se carga una instruccin en el registro de instruccin se incrementa el contador de programa
Escuela Politcnica Superior 10

Estructura 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 informacin en paralelo: Bus Bus de datos:
Para transferir instrucciones o datos entre los componentes del sistema Dependiendo del nmero de cables que componen el bus se pueden transferir palabras de 8, 16, 32, 64 ... bits en paralelo Ancho del bus Bus bidireccional
Escuela Politcnica Superior 11

Estructura funcional de los ordenadores


Buses
Bus de direcciones:
Se usa para transferir instrucciones: La direccin de la siguiente instruccin 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 ms significativa seguida de la menos significativa El ancho del bus de direcciones puede determinar el tamao 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
Escuela Politcnica Superior 12

Estructura funcional de los ordenadores


Para un buen funcionamiento del conjunto procesador-memoria:
Registro de direccin de memoria: Donde se almacena la direccin del dato o instruccin a leer o escribir Registro de memoria: Donde se almacena el dato a escribir en la memoria o la informacin leda de memoria

Escuela Politcnica Superior

13

Estructura funcional de los ordenadores

Escuela Politcnica Superior

14

El formato de las instrucciones


Una instruccin es una operacin elemental en un lenguaje de programacin; la orden ms pequea que un programador puede dar a un ordenador Las instrucciones contienen dos tipos de informacin:
Lo que tiene que hacer la instruccin (sumar, almacenar datos ...) Con qu datos tiene que hacerlo

Escuela Politcnica Superior

15

El formato de las instrucciones


Las instrucciones son cadenas de 0s y 1s La traduccin de una instruccin de lenguaje de alto nivel a binario la realiza un programa especial llamado intrprete o compilador La traduccin de lenguaje ensamblador a binario la realiza un ensamblador especialmente escrito para el microprocesador en concreto

Escuela Politcnica Superior

16

El formato de las instrucciones


Cuando la unidad de control recibe una instruccin enva una lista de rdenes a las unidades que toman parte en la ejecucin de la instruccin: Microinstrucciones

Escuela Politcnica Superior

17

El formato de las instrucciones


Instruccin, compuesta por dos campos:
Cdigo de operacin
Le dice al ordenador qu operacin hay que llevar a cabo y qu partes del ordenador estn involucradas en su ejecucin La longitud de este campo depende del nmero de instrucciones que el microprocesador pueda entender. Cdigo de operacin de 8 bits Conjunto de 256 instrucciones (28)

Campo de direccin
Los datos sobre los que se realizan las operaciones estn en memoria. La memoria est dividida en posiciones de memoria. Cada una tiene asociada una direccin, que suele representarse en hexadecimal El campo de direccin contiene la direccin de la posicin de memoria donde estn almacenados los datos
Escuela Politcnica Superior 18

Operacin de la CPU
Fases de funcionamiento de la CPU
Hay dos fases:
Fase de captacin de la instruccin Fase de ejecucin de la instruccin

Escuela Politcnica Superior

19

Operacin de la CPU
Fase de captacin de la instruccin
El programa en cdigo mquina que hay que ejecutar se carga en memoria central Antes del comienzo de la ejecucin del programa se carga el contador de programa con la direccin de la primera instruccin a ejecutar. Lo hace un programa del sistema operativo: Cargador El secuenciador genera las microinstrucciones necesarias para transferir la siguiente instruccin desde la memoria principal hasta la CPU para poder ejecutarla
Escuela Politcnica Superior 20

Operacin de la CPU
Fase de captacin de la instruccin
La secuencia de microinstrucciones es la siguiente: RPCLMAREAFETLIRIPC
RPC (Read Program Counter): (Program Counter) Address bus LMA (Load Memory Address register): (Address Bus) Memory address register REA (REAd from Memory): (Memory) Memory data register FET (FETch memory data register): (Memory data register) Data bus LIR (Load Instruction Register): (Data bus) Instruction Register IPC (Increment Program Counter): (Program counter) + 1

Que se repite cada vez que se ha terminado de ejecutar una instruccin

Escuela Politcnica Superior

21

CPU

Escuela Politcnica Superior

RPC

(Read Program Counter)


22

CPU

Escuela Politcnica Superior

LMA

(Load Memory Address register)


23

CPU

Escuela Politcnica Superior

REA

(REAd from Memory)


24

CPU

Escuela Politcnica Superior

FET

(FETch memory data register)


25

CPU

Escuela Politcnica Superior

LIR

(Load Instruction Register)


26

CPU

+1

Escuela Politcnica Superior

IPC

(Increment Program Counter)


27

Operacin de la CPU
Fase de ejecucin de la instruccin
Una vez cargada la instruccin en el registro de instrucciones:
El decodificador transforma su cdigo de operacin en una serie de microinstrucciones. El secuenciador enva las microinstrucciones a los dispositivos y es ejecutada.

Escuela Politcnica Superior

28

Operacin de la CPU
Ejemplo: Sumar los nmeros 8H y 4H almacenados en las posiciones de memoria F800H y F810H, y almacenar el resultado en la posicin 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 posicin especificada

Escuela Politcnica Superior

29

Operacin de la CPU
Ejemplo: ...
Programa en lenguaje ensamblador:

LD A, (F800H) Carga acumulador con contenido de la direccin F800H ADD A, (F810H) Suma contenido direccin F810H con acumulador LD (F820H), A Almacena contenido acumulador en la posicin F820H

Cdigo mquina generado por el ensamblador, algo del estilo


3A F8 00 C6 F8 10 32 F8 20
Escuela Politcnica Superior

30

Operacin de la CPU
Ejemplo: ...
Estado de la memoria antes de ejecutar el programa: Datos F80016 816 F81016 416 FB0016 3A F8 00 FB0116 C6 F8 10 FB0216 32 F8 20

Programa

Escuela Politcnica Superior

31

Operacin de la CPU
Ejemplo: ...
RPC LMA REA FET LIR IPC LAD LMA REA FET LIA NOP LAC

1 instruccin: LD A, (F800H)

Las microinstrucciones generadas por este programa seran:

Campo direccin registro de instruccin Bus de direcciones Bus direcciones Registro de direccin de memoria Memoria Registro de datos de memoria Registro de datos de memoria Bus de datos Bus de datos Entrada A de la ALU Entrada B de la ALU Salida de la ALU Salida de la ALU Acumulador

Escuela Politcnica Superior

32

Operacin de la CPU
Ejemplo: ...
RPC LMA REA FET LIR IPC

2 instruccin: ADD A, (F810H)

LAD LMA REA FET LIB LIA ADD LAC

Campo direccin registro de instruccin Bus de direcciones Bus direcciones Registro de direccin de memoria Memoria Registro de datos de memoria Registro de datos de memoria Bus de datos Bus de datos Entrada B de la ALU Bus de datos Entrada A de la ALU Suma con el acumulador Salida de la ALU Acumulador

Escuela Politcnica Superior

33

Operacin de la CPU
Ejemplo: ...
3 instruccin: LD (F820H), A
RPC LMA REA FET LIR IPC

LAD LMA ACB STO WRI

Campo direccin registro de instruccin Bus de direcciones Bus direcciones Registro de direccin de memoria Acumulador Bus de datos Bus de datos Registro de datos de memoria Registro de datos de memoria Memoria

Escuela Politcnica Superior

34

Operacin de la CPU
Ejemplo: ...
Nuevas microinstrucciones:

Escuela Politcnica Superior

35

CPU

Escuela Politcnica Superior

ACB (ACcumulator to data Bus)


36

CPU

Escuela Politcnica Superior

NOP (No OPeration)


37

CPU

Escuela Politcnica Superior

LAC (Load ACumulator)


38

CPU

Escuela Politcnica Superior

LAD (Load ADdress from instruction register)


39

CPU

Escuela Politcnica Superior

LIA (Load Input A of arithmetic and logic unit)


40

CPU

Escuela Politcnica Superior

LIB (Load Input B of arithmetic and logic unit)


41

CPU

Escuela Politcnica Superior

LPC (Load Program Counter)


42

CPU

Escuela Politcnica Superior

STO (STOre memory data register)


43

CPU

Escuela Politcnica Superior

WRI (WRIte to memory)


44

Operacin de la CPU
Ejemplo: ...
De forma esquemtica: 3A F8 00 LADLMAREAFETLIANOP LAC C6 F8 10 LADLMAREAFETLIBLIAADDLAC 32 F8 20 LADLMAACBSTOWRI El esquema completo se muestra a continuacin:

Escuela Politcnica Superior

45

CPU

Escuela Politcnica Superior

Captacin de FB0016:RPC

46

CPU

Escuela Politcnica Superior

Captacin de FB0016:LMA

47

CPU

Escuela Politcnica Superior

Captacin de FB0016:REA

48

CPU

Escuela Politcnica Superior

Captacin de FB0016:FET

49

CPU

Escuela Politcnica Superior

Captacin de FB0016:LIR

50

CPU

+1

Escuela Politcnica Superior

Captacin de FB0016:IPC

51

CPU

Escuela Politcnica Superior

Eje. de LD A,(F80016):LAD
52

CPU

Escuela Politcnica Superior

Eje. de LD A,(F80016):LMA
53

CPU

Escuela Politcnica Superior

Eje. de LD A,(F80016):REA
54

CPU

Escuela Politcnica Superior

Eje. de LD A,(F80016):FET
55

CPU

Escuela Politcnica Superior

Eje. de LD A,(F80016):LIA
56

CPU

Escuela Politcnica Superior

Eje. de LD A,(F80016):NOP
57

CPU

Escuela Politcnica Superior

Eje. de LD A,(F80016):LAC
58

CPU

Escuela Politcnica Superior

Captacin de FB0116:RPC

59

CPU

Escuela Politcnica Superior

Captacin de FB0116:LMA

60

CPU

Escuela Politcnica Superior

Captacin de FB0116:REA

61

CPU

Escuela Politcnica Superior

Captacin de FB0116:FET

62

CPU

Escuela Politcnica Superior

Captacin de FB0116:LIR

63

CPU

+1

Escuela Politcnica Superior

Captacin de FB0116:IPC

64

CPU

Escuela Politcnica Superior

Eje. de ADD A,(F81016):LAD


65

CPU

Escuela Politcnica Superior

Eje. de ADD A,(F81016):LMA


66

CPU

Escuela Politcnica Superior

Eje. de ADD A,(F81016):REA


67

CPU

Escuela Politcnica Superior

Eje. de ADD A,(F81016):FET


68

CPU

Escuela Politcnica Superior

Eje. de ADD A,(F81016):LIB


69

CPU

Escuela Politcnica Superior

Eje. de ADD A,(F81016):LIA


70

CPU

Escuela Politcnica Superior

Eje. de ADD A,(F81016):ADD


71

CPU

Escuela Politcnica Superior

Eje. de ADD A,(F81016):LAC


72

CPU

Escuela Politcnica Superior

Captacin de FB0216:RPC

73

CPU

Escuela Politcnica Superior

Captacin de FB0216:LMA

74

CPU

Escuela Politcnica Superior

Captacin de FB0216:REA

75

CPU

Escuela Politcnica Superior

Captacin de FB0216:FET

76

CPU

Escuela Politcnica Superior

Captacin de FB0216:LIR

77

CPU

+1

Escuela Politcnica Superior

Captacin de FB0216:IPC

78

CPU

Escuela Politcnica Superior

Eje. de LD (F82016),A:LAD
79

CPU

Escuela Politcnica Superior

Eje. de LD (F82016),A:LMA
80

CPU

Escuela Politcnica Superior

Eje. de LD (F82016),A:ACB
81

CPU

Escuela Politcnica Superior

Eje. de LD (F82016),A:STO
82

CPU

Escuela Politcnica Superior

Eje. de LD (F82016),A:WRI
83

Operacin de la CPU
Ejercicio
Cambios en la secuencia de microinstrucciones anteriores si, en las mismas condiciones, se ejecuta
LD A, (F80016) MUL A, (F81016) LD (F82016), A

Suponiendo:
MUL A, (F81016) Acumulador dato del acumulador *dato de la direccin F81016 La microinstruccin MUL hace que la ALU multiplique sus entradas y deja el resultado en su salida actualizando el registro de estado
Escuela Politcnica Superior 84

Operacin de la CPU
Ejercicio
Solucin: 3A F8 00 LADLMAREAFETLIANOP LAC ?? F8 10 LADLMAREAFETLIBLIAMULLAC 32 F8 20 LADLMAACBSTOWRI

Escuela Politcnica Superior

85

También podría gustarte