Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Organizacion Procesador y Memoria PDF
Organizacion Procesador y Memoria PDF
Introduccin a la Arquitectura
de Computadores
Departamento de Ingeniera y
Tecnologa de Computadores
octubre de 2011
ndice
ndice
4.1. Estructura funcional de un ordenador
4.2. El procesador
4.2.1. Organizacin bsica del procesador
4.2.2. Parmetros ms importantes del procesador
octubre de 2011 - 2
ndice
ndice
4.1. Estructura funcional de un ordenador
4.2. El procesador
4.2.1. Organizacin bsica del procesador
4.2.2. Parmetros ms importantes del procesador
octubre de 2011 - 3
Introduccin
Datos
Dispositivos
de entrada
Resultados
Procesador
Dispositivos
de salida
octubre de 2011 - 4
Introduccin
Unidad de control:
Busca las instrucciones de la memoria.
Decodifica las instrucciones que se van a ejecutar.
Genera los valores de las seales (seales de control) que dicen lo que
hay que hacer para la ejecucin de las instrucciones.
Camino de datos: unidades funcionales que realizan las operaciones de las
instrucciones.
U.C
PC
MUX
UNIDAD de
CONTROL
MUX
DIR A
DIR B
DIR W
A
L
U
+2
MUX
Cdigo
operacin
Instrucciones de
memoria
MUX
Datos de lectura de
memoria
Direccin
Memoria de
instrucciones
Datos de escritura
en memoria
Direccin
Memoria
de Datos
RUTA de
DATOS
octubre de 2011 - 5
Introduccin
C.P.U.
M
M
A
A
R
R
DIRECCIONES
De MEMORIA
I I
O O
R W
DATOS
HILOS de CONTROL
MDR
BUS de DIRECCIONES
BUS de DATOS
BUS de CONTROL
octubre de 2011 - 6
Introduccin
C.P.U.
DIRECCIONES
De MEMORIA
DIRECCIONES
De PUERTOS
M
M
A
A
R
R
DATOS
I
O
R
I
O
W
HILOS de CONTROL
FUND
COM AM ENTO
PUTA
DOR S de
ES
TARJETA de
VDEO
MDR
BUS de DIRECCIONES
BUS de DATOS
BUS de CONTROL
PUERTOS de
E/S
DISCO
DURO
octubre de 2011 - 7
ndice
ndice
4.1. Estructura funcional de un ordenador
4.2. El procesador
4.2.1. Organizacin bsica del procesador
4.2.2. Parmetros ms importantes del procesador
octubre de 2011 - 8
4.2 El procesador
Introduccin
El procesador
Dispositivo digital encargado de llevar a cabo las operaciones
indicadas por los programas software
Instruccin Conjunto de smbolos que representa una orden de
operacin o tratamiento para el computador.
Programa Conjunto ordenado de instrucciones que indican al
computador una tarea completa.
Puesto que todos sus componentes pueden ser incluidos en un
circuito integrado (microchip) se habla normalmente de
microprocesador.
Existen multitud de ejemplos, siendo los productos de AMD e Intel
los ms empleados en el mundo de los PCs.
octubre de 2011 - 9
4.2 El procesador
Hacia todos
los
componentes
PC
MUX
MUX
DIR A
DIR B
DIR W
A
L
U
Data Write
MUX
+2
MUX
IR
Instrucciones de
memoria
Datos de lectura de
memoria
Direccin
Memoria de
instrucciones
Datos de escritura
en memoria
Direccin
Memoria
de Datos
octubre de 2011 - 10
4.2 El procesador
SEALES DE CONTROL
ID
CONTADOR de PROGRAMA
(PC)
a MAR
PC + 1
de MDR
octubre de 2011 - 11
4.2 El procesador
DIR A
Reg A
F
P
U
N de registro a escribir
DIR B
DIR W
Reg B
A
L
U
DataWrite
Dato a escribir
octubre de 2011 - 12
4.2 El procesador
Hacia todos
los
componentes
PC
MUX
MUX
DIR A
DIR B
DIR W
A
L
U
Data Write
+2
MUX
MUX
IR
Instrucciones de
memoria
Datos de lectura de
memoria
Direccin
Memoria de
instrucciones
Datos de escritura
en memoria
Direccin
Memoria
de Datos
octubre de 2011 - 13
4.2 El procesador
I.D.
Cdigo
operacin
PC
MUX
DIR A
DIR B
MUX
DIR W
Data Write
A
L
U
B
+2
MUX
MUX
IR
Instrucciones de
memoria
Datos de lectura de
memoria
Direccin
Memoria de
instrucciones
Datos de escritura en
memoria
Direccin
Memoria de
Datos
octubre de 2011 - 14
4.2 El procesador
Hacia todos
los
componentes
PC
MUX
MUX
DIR A
DIR B
DIR W
A
L
U
Data Write
+2
MUX
MUX
Instrucciones de
memoria
Datos de lectura de
memoria
Direccin
Memoria de
instrucciones
Datos de escritura
en memoria
Direccin
Memoria
de Datos
octubre de 2011 - 15
4.2 El procesador
Instrucciones aritmtico-lgicas:
Instrucciones de suma, resta, and, or, comparacin,
Instrucciones de control:
Instrucciones de salto condicional,
subrutinas, vuelta de subrutinas,
incondicional,
llamadas
Instrucciones de sistema:
Llamadas al SO, excepciones, interrupciones
octubre de 2011 - 16
4.2 El procesador
octubre de 2011 - 17
4.2 El procesador
Instruccin decodificada
Instr. Codificada
(2 bytes)
0001001000
load A, @Mem[1001010000]
(Tipo: carga de memoria)
00000010 01010000
0001001010
load B, 11111101
(Tipo: carga de valor inmediato)
00010100 11111101
0001001100 add B, A
(A=A+B)
(Tipo: aritmtico lgica)
01000100 00000000
00100010 01010001
0001010000
octubre de 2011 - 18
4.2 El procesador
Instr. Codificada
load A, @Mem[1001010000]
(Tipo: carga de memoria)
0000 00 1001010000
load B, 11111101
(Tipo: carga de valor inmediato)
0001 01 00 11111101
add B, A
(A=A+B)
(Tipo: aritmtico lgica)
0100 01 00 00000000
store A, @Mem[1001010001]
(Tipo: almacenam. en memoria)
0010 00 1001010001
octubre de 2011 - 19
4.2 El procesador
+2
A
Reg. PC
8 bits
(10 bits)
MEMORIA
PRINCIPAL
(10
Banco de
.
.
Registros
Bits)
zona
instrucciones
OP Data/Dir
zona
datos
M
M
R
R
I.D.
O
R
I
O
W
I.R.
MDR
(16 bits)
BUS de DIRECCIONES
BUS de DATOS
Seal de
Reloj
BUS de CONTROL
octubre de 2011 - 20
4.2 El procesador
00000101
00000000
+2
1001010000
0001001000
00000000
A
M
A
R
R
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
C
D
.
.
I.D.
00000000
0001000100
OP Data/Dir
O
R
I
O
W
I.R.
MDR
BUS de DIRECCIONES
BUS de DATOS
BUS de CONTROL
octubre de 2011 - 21
4.2 El procesador
00000101
00000000
M
0
+2
0
0
A
1
0
0
R
1
0
0
0
A
B
0001001000
C
D
.
.
I.D.
1001010000
00000000
00000000
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
0001000100
OP Data/Dir
O
R
I
O
00000010
01010000
I.R.
MDR
BUS de DIRECCIONES
BUS de DATOS
BUS de CONTROL
octubre de 2011 - 22
4.2 El procesador
instruccin.
00000101
00000000
M
0
+2
0
0
A
1
0
0
R
1
0
0
0
A
B
0001001010
C
D
load A, I.D.
@Mem[1001010000]
.
.
1001010000
00000000
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
0001000100
0000 00 1001010000
00000000
O
R
I
O
00000010
01010000
I.R.
MDR
BUS de DIRECCIONES
BUS de DATOS
BUS de CONTROL
octubre de 2011 - 23
4.2 El procesador
instruccin.
00000101
00000000
M
1
+2
A
0001001010
C
D
load A, I.D.
@Mem[1001010000]
.
.
0
0
A
1
0
1
R
0
0
0
0
1001010000
00000000
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
0001000100
0000 00 1001010000
00000000
O
R
I.R.
I
O
00000101
MDR
BUS de DIRECCIONES
BUS de DATOS
BUS de CONTROL
octubre de 2011 - 24
4.2 El procesador
00000101
00000000
M
0
+2
A
0001001010
C
D
.
.
I.D.
0
0
A
1
0
0
R
1
0
1
0
1001010000
00000000
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
0001000100
0000 00 1001010000
00000000
O
R
00010100
11111101
I
O
W
I.R.
MDR
BUS de DIRECCIONES
BUS de DATOS
BUS de CONTROL
octubre de 2011 - 25
4.2 El procesador
instruccin.
00000101
00000000
M
0
+2
A
0001001100
C
D
I.D.
load B, 11111101
.
.
0
0
A
1
0
0
R
1
0
1
0
1001010000
00000000
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
0001000100
0001 01 00 11111101
00000000
O
R
00010100
11111101
I
O
W
I.R.
MDR
BUS de DIRECCIONES
BUS de DATOS
BUS de CONTROL
octubre de 2011 - 26
4.2 El procesador
instruccin.
00000101
00000000
M
0
+2
0001001100
C
D
I.D.
load B, 11111101
.
.
0
0
A
1
0
0
R
1
0
1
0
1001010000
00000000
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
0001000100
0001 01 00 11111101
00000000
O
R
I.R.
00010100
11111101
I
O
W
MDR
BUS de DIRECCIONES
BUS de DATOS
BUS de CONTROL
octubre de 2011 - 27
4.2 El procesador
00000101
00000000
M
0
+2
0001001100
C
D
.
.
I.D.
0
0
A
1
0
0
R
1
1
0
0
1001010000
00000000
00000000
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
0001000100
0001 01 00 11111101
O
R
I
O
01000100
00000000
I.R.
MDR
BUS de DIRECCIONES
BUS de DATOS
BUS de CONTROL
octubre de 2011 - 28
4.2 El procesador
instruccin.
00000101
00000000
M
0
+2
0001001110
C
D
add B,A
(AA+B)
.
.
I.D.
0
0
A
1
0
0
R
1
1
0
0
1001010000
00000000
00000000
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
0001000100
0100 01 00 00000000
O
R
I
O
01000100
00000000
I.R.
MDR
BUS de DIRECCIONES
BUS de DATOS
BUS de CONTROL
octubre de 2011 - 29
4.2 El procesador
+2
0001001110
C
D
.
.
00000101
00000000
M
0
0
0
A
1
0
0
R
1
1
0
0
1001010000
00000000
00000000
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
0001000100
0100 01 00 00000000
O
R
I
O
01000100
00000000
I.R.
MDR
BUS de DIRECCIONES
BUS de DATOS
BUS de CONTROL
octubre de 2011 - 30
4.2 El procesador
00000101
00000000
M
0
+2
0001001110
C
D
.
.
I.D.
0
0
A
1
0
0
R
1
1
1
0
1001010000
00000000
00100010
01010001
0001001100
01000100
00000000
0001001000
00000010
01010000
00010100
11111101
0001000100
0100 01 00 00000000
00000000
O
R
00100010
01010001
I
O
W
I.R.
MDR
BUS de DIRECCIONES
BUS de DATOS
BUS de CONTROL
octubre de 2011 - 31
4.2 El procesador
la instruccin.
00000101
00000000
M
0
+2
0001010000
C
D
store A, I.D.
@Mem[1001010001]
.
.
0
0
A
1
0
0
R
1
1
1
0
1001010000
00000000
00100010
01010001
0001001100
01000100
00000000
0001001000
00000010
01010000
00010100
11111101
0001000100
0010 00 1001010001
00000000
O
R
00100010
01010001
I
O
W
I.R.
MDR
BUS de DIRECCIONES
BUS de DATOS
BUS de CONTROL
octubre de 2011 - 32
4.2 El procesador
00000101
00000010
00000000
00000000
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
M
0
+2
0001010000
C
D
store A, I.D.
@Mem[1001010001]
.
.
0
0
A
1
0
1
R
0
0
0
1
1001010000
0001000100
0010 00 1001010001
O
R
I.R.
I
O
00000010
MDR
BUS de DIRECCIONES
BUS de DATOS
BUS de CONTROL
octubre de 2011 - 33
4.2 El procesador
octubre de 2011 - 34
4.2 El procesador
octubre de 2011 - 35
4.2 El procesador
de
reloj
de
un
Sol:
5x108 instr./seg 5 fases/instr. 1 ciclo/fase 2.5 GHz
Ejemplo 3: Dado un procesador con una frecuencia de
reloj de 2 GHz, sabiendo que cada instruccin requiere 5
ciclos para su ejecucin, cul es su frecuencia MIPS?
Sol:
2x109 ciclos/seg.
Cada instruccin tarda 5 ciclos (2/5)x109 instr./seg.
400 MIPS.
Tema 4: Introduccin a la Arquitectura
octubre de 2011 - 36
4.2 El procesador
octubre de 2011 - 37
ndice
ndice
4.1. Estructura funcional de un ordenador
4.2. El procesador
4.2.1. Organizacin bsica del procesador
4.2.2. Parmetros ms importantes del procesador
octubre de 2011 - 38
Introduccin
octubre de 2011 - 39
octubre de 2011 - 40
Registros
Memorias cach
Memoria Secundaria
Mayor capacidad,
Menor coste,
Mayor latencia
octubre de 2011 - 41
octubre de 2011 - 42
octubre de 2011 - 43
Memoria
Principal
octubre de 2011 - 44
CACH
IR
DIRECCIONES
De MEMORIA
M
A
R
DATOS
HILOS de CONTROL
FUN
CO MDAMENT
PUTA OS de
DOR
ES
I I
O O
R W
TARJETA de
VDEO
MDR
BUS de DIRECCIONES
BUS de DATOS
BUS de CONTROL
octubre de 2011 - 45
octubre de 2011 - 46
octubre de 2011 - 47
Lnea 0
Lnea 1
Lnea 2
Lnea 3
Cach
Tema 4: Introduccin a la Arquitectura
Bloque 1
Bloque 2
Bloque 3
Bloque 4
Bloque 5
Bloque 6
Bloque 7
Bloque 32
Bloque 60
Bloque 61
Bloque 62
Bloque 63
Memoria Principal
octubre de 2011 - 48
octubre de 2011 - 49
0000
Lnea 1:
0000
Lnea 2:
0000
Lnea 3:
0000
Datos
octubre de 2011 - 50
00
ndice
Cach
Etiqueta V Datos
0000
1000
Despl.
Ciclo 1:
MEMORIA Principal
!Fallo
0000
0
00000101
00000000
00000000
00000000
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
1001010000
0000
A
R
0000
0001000100
octubre de 2011 - 51
00
Etiqueta
1000
ndice
Despl.
Cach
Etiqueta V Datos
0001
0000
01000100
00000000
00100010
01010001
00000010
01010000
00010100
11111101
Ciclo 1:
Se activa el bit de
validez y se colocan los 4 bits ms
significativos como etiqueta.
La CPU toma los 16 bits de la
instruccin load A, @Mem[...]
(dirs. 0001001000 y 0001001001).
MEMORIA Principal
0
M
00000101
00000000
00000000
00000000
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
1001010000
0000
A
R
0000
0001000100
octubre de 2011 - 52
01
Etiqueta
0000
ndice
Despl.
Cach
Etiqueta V Datos
0001
0000
00000000
00000000
01010001
00000010
01010000
00010100
11111101
0
M
!Fallo
0000
01000100
Ciclo 3: Instruccin
00000101
00000000
00000000
00000000
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
1001010000
A
R
0000
0001000100
octubre de 2011 - 53
01
Etiqueta
0000
ndice
Despl.
Cach
Etiqueta V Datos
0001
10 0 1
01000100
00000000
00000000
01010001
00000010
01010000
00010100
11111101
00000101
00000000
00000000
Se activa el bit de
validez y se colocan los 4 bits ms
significativos como etiqueta.
La CPU toma los 8 bits del dato en
1001010000 (instruccin load A,
@mem[1001010000]).
MEMORIA Principal
00000000
M
00000101
00000000
00000000
00000000
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
1001010000
0000
A
R
0000
0001000100
octubre de 2011 - 54
00
Etiqueta
1010
ndice
Despl.
Cach
Etiqueta V Datos
0001
Acierto
de Cach
1001
01000100
00000000
00000000
01010001
00000010
01010000
00010100
11111101
00000101
00000000
00000000
00000000
Ciclo 4:
00000000
00000000
00000000
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
1001010000
0000
A
R
0000
0001000100
octubre de 2011 - 55
00
Etiqueta
1100
ndice
Despl.
Cach
Etiqueta V Datos
0001
Acierto
de Cach
1001
01000100
00000000
00000000
01010001
00000010
01010000
00010100
11111101
00000101
00000000
00000000
00000000
Ciclo 7:
00000000
00000000
00000000
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
1001010000
0000
A
R
0000
0001000100
octubre de 2011 - 56
00
Etiqueta
1110
ndice
Despl.
Cach
Etiqueta V Datos
0001
Acierto
de Cach
1001
01000100
00000000
00000000
01010001
00000010
01010000
00010100
11111101
00000101
00000000
00000000
00000000
Bit de validez = 1 en
la lnea de cach 0, el campo
etiqueta coincide con los cuatro bits
ms significativos de la direccin de
memoria los datos en la lnea de
cach 0 son vlidos. La CPU lee el
byte con dirs. = 0001001110 y
0001001111
de
la
cach
(instruccin store AL, @Mem[]).
MEMORIA Principal
M
00000101
00000000
00000000
00000000
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
1001010000
0000
A
R
0000
0001000100
octubre de 2011 - 57
01
Etiqueta
0001
ndice
Despl.
Cach
Etiqueta V Datos
0001
1001
Acierto
de Cach
0000
01000100
00000000
00000000
01010001
00000010
01010000
00010100
11111101
00000101
00000010
00000000
00000000
Ciclo 12:
MEMORIA Principal
M
00000101
00000000
00000000
00000000
0001001100
01000100
00000000
00100010
01010001
0001001000
00000010
01010000
00010100
11111101
1001010000
A
R
0000
0001000100
octubre de 2011 - 58
Bus de memoria
Conecta el controlador de memoria (antes fuera de la CPU,
ahora ya habitualmente dentro) y los chips de memoria.
Se divide en:
Bus de direcciones: parte encargada de enviar las direcciones
de memoria (en algunos casos tambin las direcciones de
puertos). Dependiendo de su ancho (en bits) se podr
direccionar una determinada cantidad de memoria.
Bus de datos: parte encargada de transmitir los datos.
Cuanto ms ancho sea, ms datos pueden enviarse en cada
ciclo de reloj.
Bus de control: Hilos donde fluye la informacin de control
para gobernar la lectura/escritura en memoria (IOW, IOR),
seales de reloj (Clk), seales de sincronizacin, alimentacin
(Vcc), tierra (ground)
octubre de 2011 - 59
Ms ejemplos en http://es.wikipedia.org/wiki/Double_Data_Rate
Tema 4: Introduccin a la Arquitectura
octubre de 2011 - 60
Memoria secundaria
Tanto memorias cach como memoria principal son
estructuras de memoria voltiles sus contenidos se pierden
al apagar el ordenador.
Programas y datos deberan ser guardados en memorias no
voltiles para volver a usarlos con posteridad.
Las memorias secundarias (discos duros, DVDs, CDs, )
mantienen la informacin an cuando el ordenador est apagado.
octubre de 2011 - 61
ndice
ndice
4.1. Estructura funcional de un ordenador
4.2. El procesador
4.2.1. Organizacin bsica del procesador
4.2.2. Parmetros ms importantes del procesador
octubre de 2011 - 62
Jerarqua de buses
Concepto de bus:
Canal de comunicacin compartido por varios dispositivos.
De forma simplificada podra verse como un conjunto de lneas a
las que se conectan los dispositivos y que permiten que la
informacin escrita por un dispositivo pueda ser leda por el
resto.
En un instante determinado nicamente un dispositivo podra
poner informacin sobre el bus. Adems, de todos los
dispositivos conectados hay uno que acta como maestro de bus
(tiene el control del bus y decide quin puede poner datos sobre
el mismo).
octubre de 2011 - 63
Jerarqua de buses
Para resolver los problemas anteriores los computadores modernos
implementan una jerarqua de buses
El bus de mayor velocidad es al que estara conectado el procesador y el
bus inferior conectara dispositivos de entrada/salida lentos
Los distintos buses se interconectan por medio de puentes (bridges)
Ejemplo:
octubre de 2011 - 64