Anda di halaman 1dari 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

Adquirir los conceptos bsicos


sobre la CPU

Comprender las fases de


funcionamiento de la CPU

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.

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 aritmtico-lgica
Unidad de control

Unidad de entrada
Unidad de salida
Memoria

Memoria auxiliar

Memoria central
Entrada

Unidad
aritmtico-lgica
(UAL)

Unidad de control
(UC)

Salida

CPU

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

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

RPC

Escuela Politcnica Superior

(Read Program Counter)


22

CPU

LMA

(Load Memory Address register)

Escuela Politcnica Superior

23

CPU

REA

Escuela Politcnica Superior

(REAd from Memory)


24

CPU

FET

(FETch memory data register)

Escuela Politcnica Superior

25

CPU

LIR

Escuela Politcnica Superior

(Load Instruction Register)


26

CPU

+1

IPC

(Increment Program Counter)

Escuela Politcnica Superior

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

Escuela Politcnica Superior

Programa

31

Operacin de la CPU
Ejemplo: ...

Las microinstrucciones generadas por este programa seran:

1 instruccin: LD A, (F800H)
RPC
LMA
REA
FET
LIR
IPC
LAD
LMA
REA
FET
LIA
NOP
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 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: ...

2 instruccin: ADD A, (F810H)


RPC
LMA
REA
FET
LIR
IPC

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

ACB (ACcumulator to data Bus)

Escuela Politcnica Superior

36

CPU

Escuela Politcnica Superior

NOP (No OPeration)


37

CPU

Escuela Politcnica Superior

LAC (Load ACumulator)


38

CPU

LAD (Load ADdress from instruction register)

Escuela Politcnica Superior

39

CPU

LIA (Load Input A of arithmetic and logic unit)

Escuela Politcnica Superior

40

CPU

LIB (Load Input B of arithmetic and logic unit)

Escuela Politcnica Superior

41

CPU

LPC (Load Program Counter)

Escuela Politcnica Superior

42

CPU

STO (STOre memory data register)

Escuela Politcnica Superior

43

CPU

WRI (WRIte to memory)

Escuela Politcnica Superior

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

Eje. de LD A,(F80016):LAD

Escuela Politcnica Superior

52

CPU

Eje. de LD A,(F80016):LMA

Escuela Politcnica Superior

53

CPU

Eje. de LD A,(F80016):REA

Escuela Politcnica Superior

54

CPU

Eje. de LD A,(F80016):FET

Escuela Politcnica Superior

55

CPU

Eje. de LD A,(F80016):LIA

Escuela Politcnica Superior

56

CPU

Eje. de LD A,(F80016):NOP

Escuela Politcnica Superior

57

CPU

Eje. de LD A,(F80016):LAC

Escuela Politcnica Superior

58

CPU

Escuela Politcnica Superior

Captacin de FB0116:RPC

59

CPU

Captacin de FB0116:LMA

Escuela Politcnica Superior

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

Eje. de ADD A,(F81016):LAD

Escuela Politcnica Superior

65

CPU

Eje. de ADD A,(F81016):LMA

Escuela Politcnica Superior

66

CPU

Eje. de ADD A,(F81016):REA

Escuela Politcnica Superior

67

CPU

Eje. de ADD A,(F81016):FET

Escuela Politcnica Superior

68

CPU

Eje. de ADD A,(F81016):LIB

Escuela Politcnica Superior

69

CPU

Eje. de ADD A,(F81016):LIA

Escuela Politcnica Superior

70

CPU

Eje. de ADD A,(F81016):ADD

Escuela Politcnica Superior

71

CPU

Eje. de ADD A,(F81016):LAC

Escuela Politcnica Superior

72

CPU

Escuela Politcnica Superior

Captacin de FB0216:RPC

73

CPU

Captacin de FB0216:LMA

Escuela Politcnica Superior

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

Eje. de LD (F82016),A:LAD

Escuela Politcnica Superior

79

CPU

Eje. de LD (F82016),A:LMA

Escuela Politcnica Superior

80

CPU

Eje. de LD (F82016),A:ACB

Escuela Politcnica Superior

81

CPU

Eje. de LD (F82016),A:STO

Escuela Politcnica Superior

82

CPU

Eje. de LD (F82016),A:WRI

Escuela Politcnica Superior

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

Anda mungkin juga menyukai