SlideShare una empresa de Scribd logo
1 de 64
Descargar para leer sin conexión
octubre de 2011
Tema 4. Introducción a la Arquitectura
de Computadores
Departamento de Ingeniería y
Tecnología de Computadores
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 2
Índice
Índice
4.1. Estructura funcional de un ordenador
4.2. El procesador
4.2.1. Organización básica del procesador
4.2.2. Parámetros más importantes del procesador
4.3. Organización del subsistema de memoria
4.3.1. Concepto de jerarquía de memoria
4.3.2. ¿Qué es una memoria cachè?
4.3.3. La memoria principal y sus parámetros fundamentales
4.3.4. Memoria secundaria
4.4. Interconexión y dispositivos de E/S de un ordenador
4.4.1. Jerarquía de buses
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 3
Índice
Índice
4.1. Estructura funcional de un ordenador
4.2. El procesador
4.2.1. Organización básica del procesador
4.2.2. Parámetros más importantes del procesador
4.3. Organización del subsistema de memoria
4.3.1. Concepto de jerarquía de memoria
4.3.2. ¿Qué es una memoria cachè?
4.3.3. La memoria principal y sus parámetros fundamentales
4.3.4. Memoria secundaria
4.4. Interconexión y dispositivos de E/S de un ordenador
4.4.1. Jerarquía de buses
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 4
Estructura funcional de un ordenador
• Ordenador ≡ Máquina que procesa información y produce
unos resultados.
– La información a procesar puede:
• Estar almacenada previamente en el computador.
• Ser introducida desde el exterior.
– Los resultados producidos:
• Se almacenan en el propio computador.
• Se saca al exterior.
• Programa ≡ Conjunto de instrucciones que debe ejecutar el
computador sobre los datos para procesarlos y obtener un
resultado.
Datos Resultados
Dispositivos
de entrada Dispositivos
de salidaProcesador
4.1 Estructura funcional de un ordenador Introducción
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 5
B
A
Hacia todos los
componentes
Estructura funcional de un ordenador
• Tradicionalmente, los computadores se dividen en 3 bloques:
1. Procesador o CPU (Central Processing Unit): Encargado de la ejecución
de las instrucciones. Se divide a su vez en:
• Unidad de control:
– Busca las instrucciones de la memoria.
– Decodifica las instrucciones que se van a ejecutar.
– Genera los valores de las señales (señales de control) que dicen lo que
hay que hacer para la ejecución de las instrucciones.
• Camino de datos: unidades funcionales que realizan las operaciones de las
instrucciones.
4.1 Estructura funcional de un ordenador Introducción
DIR A
DIR B
DIR W
MUX
MUX
MUX
MUX
A
L
U
Código
operación
Dirección
Memoria de
instrucciones
Dirección
Memoria
de DatosDatos de escritura
en memoriaDatos de lectura de
memoria
Instrucciones de
memoria
PC
U.C
+2
RUTA de
DATOS
UNIDAD de
CONTROL
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 6
4.1 Estructura funcional de un ordenador
2.- Memoria:
• Almacena los datos e instrucciones de los programas activos.
• Conceptualmente, gran estructura dividida en posiciones, cada una con una
dirección única.
• En realidad, la memoria se organiza como una jerarquía con varios niveles,
cada uno con características diferenciadas (ver más adelante).
• Para leer hay que indicar la dirección de memoria (MAR, Memory Address
Register) y activar IOR., para escribir, además de la dirección, hay que
proporcionar el dato (MDR, Memory Data Register) y activar IOW.
4.1 Estructura funcional de un ordenador Introducción
DCBA
HGFE
LKJI
…
…
…
M
A
R
C.P.U.
I
O
R
I
O
W
BUS de DATOS
M D R
BUS de DIRECCIONES
BUS de CONTROL
DIRECCIONES
De MEMORIA
DATOS
HILOS de CONTROL
M
A
R
LKJI
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 7
DISCO DURO
Estructura funcional de un ordenador
3.- Interconexión y dispositivos de Entrada/Salida:
• Dispositivos usados para interaccionar con el usuario del computador
(teclado, monitor, ratón, impresora, tarjeta de red, …). Se gobiernan por
direcciones de puerto ≠ Direcciones de memoria.
• Interconexiones entre los distintos componentes del ordenador (bus PCI,
bus de memoria, …).
4.1 Estructura funcional de un ordenador Introducción
M
A
R
I
O
R
I
O
W
BUS de DATOS
M D R
BUS de DIRECCIONES
TARJETA de
VÍDEO
FUNDAMENTOS de
COMPUTADORES
PUERTOS de
E/S
BUS de CONTROL
DIRECCIONES
De MEMORIA
DIRECCIONES
De PUERTOS
DATOS
HILOS de CONTROL
C.P.U.
DCBA
HGFE
LKJI
…
…
…
LKJI
M
A
R
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 8
Índice
Índice
4.1. Estructura funcional de un ordenador
4.2. El procesador
4.2.1. Organización básica del procesador
4.2.2. Parámetros más importantes del procesador
4.3. Organización del subsistema de memoria
4.3.1. Concepto de jerarquía de memoria
4.3.2. ¿Qué es una memoria cachè?
4.3.3. La memoria principal y sus parámetros fundamentales
4.3.4. Memoria secundaria
4.4. Interconexión y dispositivos de E/S de un ordenador
4.4.1. Jerarquía de buses
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 9
El procesador
• Dispositivo digital encargado de llevar a cabo las operaciones
indicadas por los programas software
– Instrucción ≡ Conjunto de símbolos que representa una orden de
operación 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 más empleados en el mundo de los PCs.
4.2 El procesador Introducción
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 10
Hacia todos
los
componentes
Organización básica del procesador
• Dividido en unidad de control y camino de datos.
• La unidad de control es la parte “activa” del procesador, puesto que
es la encargada de buscar las instrucciones de la memoria y ordenar
su ejecución al camino de datos.
• La unidad de control se comunica con el camino de datos a través de
las señales de control.
4.2 El procesador 4.2.1 Organización básica del procesador
DIR A
DIR B
DIR W
Data Write
MUX
MUX
BMUX
MUX
A
L
U
Código
operación
IR
Dirección
Memoria de
instrucciones
Dirección
Memoria
de Datos
Datos de escritura
en memoriaDatos de lectura de
memoria
Instrucciones de
memoria
PC
A
ID
+2
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 11
Organización básica del procesador
• De forma simplificada, la unidad de control dispone de los siguientes
elementos:
– Registro Contador de Programa o PC (Program Counter): almacena la dirección de
memoria de la siguiente instrucción a ejecutar.
– Registro de Instrucción o IR (Instruction Register): almacena la instrucción a
ejecutar. El código de operación (Op. CODE) indica la instrucción a ejecutar.
– Decodificador de instrucciones o ID (Instruction Decoder): genera los valores de las
señales de control para la ejecución de cada instrucción
– Reloj o generador de pulsos: marca el ritmo al cual se llevan a cabo las operaciones
dentro del procesador.
• Tiempo de ciclo: periodo de esta señal.
• Frecuencia de reloj (en GHz o miles de millones de ciclos por segundo) =
inversa del tiempo de ciclo.
4.2 El procesador 4.2.1 Organización básica del procesador
Op. CODE OPERANDOS
IDSeñal de reloj (CLK)
SEÑALES DE CONTROL CONTADOR de PROGRAMA
(PC)
de MDR
a MAR
PC + 1
REGISTRO de INSTRUCCIÓN (IR)
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 12
Organización básica del procesador
• Por su parte, dentro del camino de datos estaría:
– Unidad aritmético-lógica o ALU (Arithmetic-Logic Unit): encargada de la
realización de operaciones aritméticas sobre números enteros y las
operaciones lógicas.
– Unidad de coma flotante o FPU (Floating-Point Unit): realiza las operaciones
aritméticas con operando de punto flotante.
– Banco de registros:
• Estructura que aglutina un número pequeño de registros .
• Cada registro contiene un dato que puede ser operado por la ALU o FPU.
• Para leer un registro hay que indicar el número del registro a leer y se obtiene
su contenido (puerto de lectura).
• Para escribir un registro hay que indicar el número de registro a escribir y el
dato (puerto de escritura (DataWrite)).
• 2 Bancos de registros separados para enteros (registros de propósito general) y
punto flotante.
4.2 El procesador 4.2.1 Organización básica del procesador
Dato a escribir
DIR A
Reg A
DIR B
DIR W
Reg B
DataWrite
Nº de registro a leer por A
Nº de registro a leer por B
Nº de registro a escribir
Dato leído por
puerto A
Dato leído por
puerto B
A
L
U
F
P
U
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 13
Organización básica del procesador
• Pasos para la ejecución de una instrucción:
1. Búsqueda de la instrucción e incremento del PC:
• Se lee la posición de memoria cuya dirección aparece en el registro
contador de programa (PC) y el valor leído se almacena en el
registro de instrucción (IR).
• Se incrementa el PC en 2 (en esta arquitectura de ejemplo, las
instrucciones son todas de 2 Bytes) para que contenga la dirección
de la siguiente instrucción a ejecutar:
4.2 El procesador 4.2.1 Organización básica del procesador
Hacia todos
los
componentes
DIR A
DIR B
DIR W
Data Write
MUX
MUX
BMUX
MUX
A
L
U
Código de
operación
IR
Dirección
Memoria de
instrucciones
Dirección
Memoria
de Datos
Datos de lectura de
memoria
Instrucciones de
memoria
PC
A
I.D.
+2
Datos de escritura
en memoria
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 14
Organización básica del procesador
2. Decodificación de la instrucción:
• El decodificador de instrucciones toma los bits del registro IR que
identifican a la instrucción (código de operación).
• En función del valor de dichos bits, genera los valores apropiados
para las señales de control.
Hacia todos los
componentes
DIR A
DIR B
DIR W
Data Write
MUX
MUX
BMUX
MUX
A
L
U
Código
operación
IR
Dirección
Memoria de
instrucciones
Dirección
Memoria de
Datos
Datos de escritura en
memoriaDatos de lectura de
memoria
Instrucciones de
memoria
PC
A
I.D.
+2
4.2 El procesador 4.2.1 Organización básica del procesador
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 15
Organización básica del procesador
3. Ejecución de la instrucción:
• Las unidades del camino de datos realizan las operaciones
indicadas por la unidad de control mediante las señales de
control.
– Por ejemplo, la ALU podría tener que llevar a cabo una operación de
suma, se leerían operandos del banco de registros y escribirían resultados
en el mismo …
4.2 El procesador 4.2.1 Organización básica del procesador
Hacia todos
los
componentes
DIR A
DIR B
DIR W
Data Write
MUX
MUX
B
MUX
MUX
A
L
U
Código
operación
Dirección
Memoria de
instrucciones
Dirección
Memoria
de Datos
Datos de escritura
en memoriaDatos de lectura de
memoria
Instrucciones de
memoria
PC
A
U.C.
+2
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 16
Organización básica del procesador
• La arquitectura del repertorio de instrucciones (o ISA de
Instruction Set Architecture) es la interfaz entre la circuitería
y el nivel más bajo de programación.
• Entre otros aspectos, determina las instrucciones que el
procesador puede ejecutar.
• Podemos agrupar las instrucciones de un ISA en:
– Instrucciones de transferencia de datos entre procesador y memoria:
• Las instrucciones de carga (load) copian el contenido de la posición
de memoria especificada por la instrucción en un registro del
procesador. Las de almacenamiento (store) hacen lo contrario.
– Instrucciones aritmético-lógicas:
• Instrucciones de suma, resta, and, or, comparación, …
– Instrucciones de control:
• Instrucciones de salto condicional, incondicional, llamadas a
subrutinas, vuelta de subrutinas, …
– Instrucciones de punto flotante:
• Instrucciones de suma, resta, multiplicación, división,… en punto
flotante.
– Instrucciones de sistema:
• Llamadas al SO, excepciones, interrupciones…
4.2 El procesador 4.2.1 Organización básica del procesador
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 17
Organización básica del procesador
• Durante los años 70 se popularizaron ISAs con
muchas instrucciones (mas de 200 en algunos
casos).
– Complex Instrucion Set Computer (CISC).
• Posteriormente se constató que era preferible (para poder obtener
implementaciones de alto rendimiento) ISAs con pocas instrucciones
(menos de 100), sencillas y que se puedan ejecutar rápidamente.
– Reduced Instruction Set Computer (RISC)
• A día de hoy todos los procesadores se construyen basados en la
filosofía RISC.
• Los procesadores para PC de AMD e Intel tanto de 32 bits
(IA-32) como de 64 bits (AMD64) son un caso curioso:
– Al nivel más bajo de programación presentan un ISA CISC.
– Se implementan como si tuvieran un ISA RISC.
– Entre los pasos 1 y 2 se añade un nuevo paso en el que las
instrucciones CISC son traducidas a instrucciones RISC.
4.2 El procesador 4.2.1 Organización básica del procesador
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 18
Organización básica del procesador
• Seguiremos, paso a paso, la ejecución de un trozo de
programa de 4 instrucciones:
– 4 Instrucciones, a 3 pasos cada una, 4*3=12 pasos (12 ciclos).
– Supondremos una memoria de 1024 bytes (10 bits de dirección),
registros A, B, C, D, … de 8 bits, e instrucciones de 16 bits (2 bytes).
4.2 El procesador 4.2.1 Organización básica del procesador
00010100 11111101load B, 11111101
(Tipo: carga de valor inmediato)
0001001010
……0001010000
00100010 01010001store A, @Mem[1001010001]
(Tipo: almacenam. en memoria)
0001001110
01000100 00000000add B, A (A=A+B)
(Tipo: aritmético lógica)
0001001100
00000010 01010000load A, @Mem[1001010000]
(Tipo: carga de memoria)
0001001000
Instr. Codificada
(2 bytes)
Instrucción decodificadaDirección
(10 bits)
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 19
Organización básica del procesador
1. Formato load de memoria: 4 bits código operación (0000) + 2 bits
registro destino (A=00, B=01, C=10, …) + 10 bits dirección memoria.
2. Formato load valor inmediato: 4 bits código operación (0001) + 2 bits
registro destino + 2 bits vacíos + 8 bits valor inmediato.
3. Formato add: 4 bits código operación (0100) + 2 bits registro fuente
+ 2 bits registro destino + 8 bits vacíos.
4. Formato store: 4 bits código operación (0010) + 2 bits registro
fuente + 10 bits dirección memoria.
4.2 El procesador 4.2.1 Organización básica del procesador
0001 01 00 11111101load B, 11111101
(Tipo: carga de valor inmediato)
2
0010 00 1001010001store A, @Mem[1001010001]
(Tipo: almacenam. en memoria)
4
0100 01 00 00000000add B, A (A=A+B)
(Tipo: aritmético lógica)
3
0000 00 1001010000load A, @Mem[1001010000]
(Tipo: carga de memoria)
1
Instr. CodificadaInstrucción decodificada
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 20
OP Data/Dir
Organización básica del procesador
• Estructura general del procesador y
memoria:
——————
4.2 El procesador 4.2.1 Organización básica del procesador
BUS de CONTROL
I
O
R
I
O
W
M D R
BUS de DATOS
M
A
R
M
A
R
(10
Bits)
BUS de DIRECCIONES
Reg. PC
(10 bits)
+2
← 8 bits →
—
.
.
D
C
B
A
I.D.
I.R.
(16 bits)
ALU
Banco de
Registros
Señal de
Reloj
MEMORIA
PRINCIPAL
zona datos
zona
instrucciones
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 21
OP Data/Dir
Organización básica del procesador
• Ejemplo: Inicialmente
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
——————
4.2 El procesador 4.2.1 Organización básica del procesador
BUS de CONTROL
I
O
R
I
O
W
M D R
BUS de DATOS
M
A
R
M
A
R
BUS de DIRECCIONES
0001001000
+2
———
D
C
B
A
I.D.
I.R.
0001001000
0001000100
0001001100
1001010000
—
.
.
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 22
Organización básica del procesador
• Ejemplo: Ciclo 1º Búsqueda de la
instrucción e incremento del PC
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
——————
4.2 El procesador 4.2.1 Organización básica del procesador
BUS de CONTROL
I
O
R
I
O
W
M D R
BUS de DATOS
M
A
R
0
0
0
1
0
0
1
0
0
0
BUS de DIRECCIONES
0101000000000010
0001001000
+2
———
—
.
.
D
C
B
A
OP Data/Dir
I.D.
I.R.
0001001000
0001000100
0001001100
1001010000
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 23
I.D.
0000 00 1001010000
Organización básica del procesador
• Ejemplo: Ciclo 2º, Decodificación de la
instrucción.
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
——————
4.2 El procesador 4.2.1 Organización básica del procesador
BUS de CONTROL
I
O
R
I
O
W
M D R
BUS de DATOS
M
A
R
BUS de DIRECCIONES
0101000000000010
0001001010
+2
———
I.R.
load A,
@Mem[1001010000]
0
0
0
1
0
0
1
0
0
0
—
.
.
D
C
B
A
0001001000
0001000100
0001001100
1001010000
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 24
I.D.
0000 00 1001010000
Organización básica del procesador
• Ejemplo: Ciclo 3º Ejecución de la
instrucción.
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
——————
4.2 El procesador 4.2.1 Organización básica del procesador
BUS de CONTROL
I
O
R
I
O
W
M D R
BUS de DATOS
M
A
R
BUS de DIRECCIONES
00000101
0001001010
+2
———
0000 0101 (5)
D
C
B
A
I.R.
1
0
0
1
0
1
0
0
0
0
—
.
.load A,
@Mem[1001010000]
0001001000
0001000100
0001001100
1001010000
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 25
0000 00 1001010000
Organización básica del procesador
• Ejemplo: Ciclo 4º Búsqueda de la
instrucción e incremento del PC
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
——————
4.2 El procesador 4.2.1 Organización básica del procesador
BUS de CONTROL
I
O
R
I
O
W
M D R
BUS de DATOS
M
A
R
0
0
0
1
0
0
1
0
1
0
BUS de DIRECCIONES
1111110100010100
0001001010
+2
———
0000 0101 (5)
—
.
.
D
C
B
A
I.D.
I.R.
0001001000
0001000100
0001001100
1001010000
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 26
I.D.
0001 01 00 11111101
Organización básica del procesador
• Ejemplo: Ciclo 5º, Decodificación de la
instrucción.
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
——————
4.2 El procesador 4.2.1 Organización básica del procesador
BUS de CONTROL
I
O
R
I
O
W
M D R
BUS de DATOS
M
A
R
0
0
0
1
0
0
1
0
1
0
BUS de DIRECCIONES
1111110100010100
0001001100
+2
———
0000 0101 (5)
—
.
.
D
C
B
A
I.R.
load B, 11111101
0001001000
0001000100
0001001100
1001010000
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 27
I.D.
0001 01 00 11111101
Organización básica del procesador
• Ejemplo: Ciclo 6º Ejecución de la
instrucción.
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
——————
4.2 El procesador 4.2.1 Organización básica del procesador
BUS de CONTROL
I
O
R
I
O
W
M D R
BUS de DATOS
M
A
R
BUS de DIRECCIONES
1111110100010100
0001001100
+2
———
1111 1101 (-3)
0000 0101 (5)
—
.
.
D
C
B
A
I.R.
load B, 11111101
0001001000
0001000100
0001001100
1001010000
…
0
0
0
1
0
0
1
0
1
0
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 28
Organización básica del procesador
• Ejemplo: Ciclo 7º Búsqueda de la
instrucción e incremento del PC
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
——————
4.2 El procesador 4.2.1 Organización básica del procesador
BUS de CONTROL
I
O
R
I
O
W
M D R
BUS de DATOS
M
A
R
0
0
0
1
0
0
1
1
0
0
BUS de DIRECCIONES
0000000001000100
0001001100
+2
———
1111 1101 (-3)
0000 0101 (5)
—
.
.
D
C
B
A
I.D.
I.R.
0001 01 00 11111101
0001001000
0001000100
0001001100
1001010000
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 29
0100 01 00 00000000
Organización básica del procesador
• Ejemplo: Ciclo 8º, Decodificación de la
instrucción.
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
——————
4.2 El procesador 4.2.1 Organización básica del procesador
BUS de CONTROL
I
O
R
I
O
W
M D R
BUS de DATOS
M
A
R
0
0
0
1
0
0
1
1
0
0
BUS de DIRECCIONES
0000000001000100
0001001110
+2
———
1111 1101 (-3)
0000 0101 (5)
—
.
.
D
C
B
A
I.R.
I.D.add B,A
(A←A+B)
0001001000
0001000100
0001001100
1001010000
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 30
0100 01 00 00000000
Organización básica del procesador
• Ejemplo: Ciclo 9º Ejecución de la
instrucción.
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
——————
4.2 El procesador 4.2.1 Organización básica del procesador
BUS de CONTROL
I
O
R
I
O
W
M D R
BUS de DATOS
M
A
R
0
0
0
1
0
0
1
1
0
0
BUS de DIRECCIONES
0000000001000100
0001001110
+2
———
1111 1101 (-3)
0000 0010 (2)
—
.
.
D
C
B
A
I.D.
I.R.
+
I.D.add B,A
(A←A+B)
0001001000
0001000100
0001001100
1001010000
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 31
Organización básica del procesador
• Ejemplo: Ciclo 10º Búsqueda de la
instrucción e incremento del PC
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
——————
4.2 El procesador 4.2.1 Organización básica del procesador
BUS de CONTROL
I
O
R
I
O
W
M D R
BUS de DATOS
M
A
R
0
0
0
1
0
0
1
1
1
0
BUS de DIRECCIONES
0101000100100010
0001001110
+2
———
1111 1101 (-3)
0000 0010 (2)
—
.
.
D
C
B
A
I.D.
I.R.
0100 01 00 00000000
0001001000
0001000100
0001001100
1001010000
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 32
I.D.
0010 00 1001010001
Organización básica del procesador
• Ejemplo: Ciclo 11º, Decodificación de
la instrucción.
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
——————
4.2 El procesador 4.2.1 Organización básica del procesador
BUS de CONTROL
I
O
R
I
O
W
M D R
BUS de DATOS
M
A
R
0
0
0
1
0
0
1
1
1
0
BUS de DIRECCIONES
0101000100100010
0001010000
+2
———
1111 1101 (-3)
0000 0101 (5)
—
.
.
D
C
B
A
I.R.
store A,
@Mem[1001010001]
0001001000
0001000100
0001001100
1001010000
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 33
0010 00 1001010001
Organización básica del procesador
• Ejemplo: Ciclo 12º Ejecución de la
instrucción.
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000001000000101
——————
4.2 El procesador 4.2.1 Organización básica del procesador
BUS de CONTROL
I
O
R
I
O
W
M D R
BUS de DATOS
M
A
R
0
0
0
1
0
1
0
0
0
1
BUS de DIRECCIONES
00000010
0001010000
+2
———
1111 1101 (-3)
0000 0010 (2)
—
.
.
D
C
B
A
I.D.
I.R.
store A,
@Mem[1001010001]
0001001000
0001000100
0001001100
1001010000
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 34
Organización básica del procesador
• Recordar:
– Tanto instrucciones como datos se almacenan como
secuencias de 0’s y 1’s en memoria.
– Las instrucciones van de memoria a la unidad de control:
• Las instrucciones se almacenan en memoria en un orden
dado por el programa.
• Las instrucciones se ejecutan en secuencia, sólo rota por las
instrucciones de salto.
• A través del código de operación la unidad de control
determina qué hay que hacer.
– Los datos van de memoria al camino de datos y viceversa.
4.2 El procesador 4.2.1 Organización básica del procesador
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 35
Parámetros más importantes del procesador
• Velocidad o frecuencia de reloj (GHz)
– La ejecución de cada instrucción supone la realización de
diversos pasos elementales.
• Por ejemplo: Búsqueda de la instrucción, Decodificación,
Ejecución.
– Cada uno de dichos pasos se ejecuta en uno o varios ciclos
de reloj (en nuestro ejemplo, sólo en uno).
– Ejemplo 1: Para el procesador anterior en el que las
instrucciones requieren 3 pasos para su ejecución, ¿cuánto
tiempo tardaría en ejecutarse un programa con 10 M
instrucciones si el procesador funciona a 2 GHz?
Sol:
10×106 inst ⇒ 3×10×106 = 30×106 de ciclos.
Dado que Tciclo = 1/(2×109) = 5×10-10 seg.
Tiempo = 30×106 × 5×10-10 = 15 mseg.
4.2 El procesador 4.2.2 Parámetros más importantes del procesador
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 36
Parámetros más importantes del procesador
• Velocidad o frecuencia de reloj (GHz)
– Ejemplo 2: Calcular la frecuencia de reloj de un
procesador suponiendo que:
• El procesador ejecuta 500 MIPS (millón de instrucciones por
segundo).
• Cada instrucción consta de 5 fases.
• Cada fase se ejecuta en 1 ciclo de reloj.
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 instrucción requiere 5
ciclos para su ejecución, ¿cuál es su frecuencia MIPS?
Sol:
2x109 ciclos/seg.
Cada instrucción tarda 5 ciclos ⇒ (2/5)x109 instr./seg. ⇒
400 MIPS.
4.2 El procesador 4.2.2 Parámetros más importantes del procesador
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 37
Parámetros más importantes del procesador
• Tecnología de fabricación:
– Lo avanzado de una tecnología de fabricación se indica mediante
una medida relacionada tamaño del elemento más pequeño del
chip: el transistor.
– Actualmente se mide en decenas de nanómetros (nm, la
millonésima parte de un milímetro (10-6 mm)).
• El primer microprocesador de la era PC (Intel 8088) se fabricó con
tecnología de 3 micras (incluía 29.000 transistores).
• Los procesadores de Intel y AMD actuales se fabrican con tecnología
de 45 nm (o 0,045 micras) e incluyen más de 750 M de transistores.
– Mejoras en la tecnología de fabricación:
• Permiten aumentar el número de chips por oblea, y, por tanto,
disminuir el coste del microprocesador.
• Se posibilita alcanzar mayores frecuencias de reloj (GHz).
• Se puede reducir el voltaje necesario para el funcionamiento y por
tanto la cantidad de calor que se genera (aunque es más difícil de
eliminar).
• Se pueden incorporar nuevos elementos (memorias cachè, …).
4.2 El procesador 4.2.2 Parámetros más importantes del procesador
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 38
Índice
Índice
4.1. Estructura funcional de un ordenador
4.2. El procesador
4.2.1. Organización básica del procesador
4.2.2. Parámetros más importantes del procesador
4.3. Organización del subsistema de memoria
4.3.1. Concepto de jerarquía de memoria
4.3.2. ¿Qué es una memoria cachè?
4.3.3. La memoria principal y sus parámetros fundamentales
4.3.4. Memoria secundaria
4.4. Interconexión y dispositivos de E/S de un ordenador
4.4.1. Jerarquía de buses
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 39
Organización del subsistema de memoria
• Hasta ahora hemos considerado la memoria del computador
como una gran estructura lógica donde se almacenan tanto
instrucciones como datos.
• Sin embargo, la memoria de un ordenador moderno está
conformada por varios tipos de estructuras de memoria, cada
uno con características diferentes en cuanto a costo, tiempo
de acceso y tamaño.
• El objetivo final es ofrecer al procesador una memoria lógica
con un tiempo de acceso muy bajo y un tamaño muy grande,
todo dentro de un presupuesto razonable.
• Analogía: Mesa en la biblioteca.
– Una buena selección de libros en la mesa (memoria pequeña y
rápida).
– Gran probabilidad de encontrar lo buscado sin ir a la estantería.
– Visión de memoria grande (biblioteca) a la que se accede rápido
(tiempo de coger un libro de la mesa).
4.3 Organización del subsistema de memoria Introducción
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 40
Concepto de jerarquía de memoria
• Objetivo: Llevar zonas del programa y datos que tendrán más
probabilidad de ser accedidas a una memoria más rápida.
• Dos propiedades de los programas hacen viable la
organización de la memoria del ordenador en una jerarquía
de varios niveles:
– Localidad Temporal: cuando se consulta un dato, seguramente
será consultado poco después.
• Un libro de la mesa será consultado varias veces.
• Ejemplo en programas: bucles (datos e instrucciones).
– Localidad Espacial: cuando se consulta un dato, seguramente
otros cercanos serán consultados poco después.
• Traemos un libro del estante → los libros que están próximos
versarán sobre el mismo tema.
• Ejemplo en programas: instrucciones (salvo por los saltos, se
ejecutan secuencialmente tal como están en memoria) y estructuras
de datos como las tablas.
4.3 Organización del subsistema de memoria 4.3.1 Concepto de jerarquía de memoria
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 41
Concepto de jerarquía de memoria
• Jerarquía de memoria:
Registros
Memorias cachè
Memoria Principal (RAM)
Memoria Secundaria
Menor capacidad,
Mayor coste,
Menor latencia
Mayor capacidad,
Menor coste,
Mayor latencia
4.3 Organización del subsistema de memoria 4.3.1 Concepto de jerarquía de memoria
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 42
Concepto de jerarquía de memoria
• El objetivo de organizar la memoria de un
ordenador como una jerarquía de memorias es
aprovechar la localidad temporal y espacial:
– Para aprovechar la Localidad Temporal de un programa:
• Mantener los datos accedidos más recientemente cerca del
procesador.
– Para aprovechar la Localidad Espacial de un programa:
• Mover bloques de varios datos contiguos a los niveles
próximos al procesador.
• Consideración: Las memorias más rápidas son las
más caras por bit y por tanto suelen ser de menor
capacidad.
4.3 Organización del subsistema de memoria 4.3.1 Concepto de jerarquía de memoria
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 43
¿Qué es una memoria cachè?
• Definición de cachè: pequeña memoria ultrarápida que se
coloca entre la memoria principal (RAM) y el procesador con
el objetivo de acelerar los accesos a datos e instrucciones.
• En la actualidad se intercalan varias memorias cachè (niveles
de cachè) entre el procesador y la memoria principal, cada
nivel tiene un tiempo de acceso y tamaño distinto.
– En general, los niveles más cercanos al procesador son los más
rápidos y pequeños.
– Las memorias cachè se suelen denominar por el nivel en el que
se encuentran, siendo L1 el más cercano al procesador.
• Ejemplo: los procesadores actuales incluyen hasta 3 niveles
de cachè dentro del chip:
cachè L1: 32KB-64KB (suele haber una para datos y otra para
instrucciones), 2-4 ciclos de procesador de latencia.
cachè L2: 256KB-512KB, 10-15 ciclos de reloj de latencia.
cachè L3: 6MB-8MB, 40-50 ciclos de reloj de latencia.
4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 44
¿Qué es una memoria cachè?
• Funcionamiento Básico:
– El procesador manda al controlador de cachè la
dirección de la palabra a buscar (por ejemplo,
para un load).
– Caso de estar, el controlador de cachè
suministra al procesador la palabra solicitada.
CPU cachè
Memoria
Principal
Dir. Palabra Dir. Bloque
BloquePalabra
4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 45
¿Qué es una memoria cachè?
• Funcionamiento Básico:
– Caso de no estar, el controlador de cachè pide a memoria un bloque de
varias palabras que entre otras incluye la solicitada por el procesador
(localidad espacial):
– El controlador de cachè almacena el bloque y suministra al procesador la
palabra solicitada.
4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
M
A
R
I
O
R
I
O
W
M D R
BUS de DIRECCIONES
TARJETA de
VÍDEO
FUNDAMENTOS de
COMPUTADORES
DIRECCIONES
De MEMORIA
DATOS
HILOS de CONTROL
C.P.U.
BUS de CONTROL
IR
BUS de DATOS
CACHÈ
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 46
¿Qué es una memoria cachè?
• Puesto que una memoria cachè puede contener un
subconjunto muy reducido de los datos e
instrucciones almacenados en memoria principal
– ¿Cómo se sabe si un dato está o no en cachè?
– Y si lo está, ¿cómo se localiza?
• Ejemplo 1: Dados los siguientes parámetros:
– Tamaño de las direcciones de memoria: 10 bits.
– Cada dirección se refiere a un byte.
¿Cuál es el tamaño máximo que podría tener la memoria
principal en Bytes?
Sol:
Puesto que se dispone de 10 bits para codificar las direcciones, el
número máximo de direcciones (lo que limita el máximo de
posiciones direccionables) es 210 = 1024 = 1K.
4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 47
¿Qué es una memoria cachè?
• Ejemplo 2: Supongamos un ordenador con la memoria
principal del ejemplo anterior al que añadimos un nivel de
cachè para datos e instrucciones de 64Bytes. Supongamos
también que los bloques que se transfieren entre memoria
cachè y memoria principal son de 4 palabras de 4 bytes (16
bytes). ¿Cuántos bloques caben en la cachè? ¿Cuántos
bloques habrá en memoria principal?
Sol:
Puesto que en memoria principal hemos visto que había 1k bytes, y
cada bloque está formado por 4 palabras de 32bits, el número de
bloques que hay en memoria principal es 1024/(4 * 4) = 64 bloques.
Por su parte, puesto que la cachè tiene un tamaño de 64B, el
número máximo de palabras de 32bits que podrá almacenar es de
64/4 = 16. Y el número máximo de bloques es 64/16 = 4. A cada
uno de estos 4 huecos en los que se va a poder almacenar un
bloque en cachè lo vamos a llamar línea de cachè.
4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 48
¿Qué es una memoria cachè?
• Para la configuración de los ejercicios anteriores,
¿cómo podríamos asignar los bloques de memoria
a las líneas de cachè?
Línea 0
Línea 1
Línea 2
Línea 3
Bloque 0
Bloque 1
Bloque 2
Bloque 3
Bloque 4
Bloque 5
Bloque 6
Bloque 7
…
Bloque 32
…
Bloque 60
Bloque 61
Bloque 62
Bloque 63
Cachè Memoria Principal
4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 49
¿Qué es una memoria cachè?
• O lo que es lo mismo, los bits menos significativos de la
dirección de bloque nos indican la línea de cachè donde debe
ir cada bloque.
• Puesto que varios bloques pueden ir a la misma línea de
cachè, ¿cómo sabemos si lo que hay en cachè es el bloque
que buscamos?
– Además del bloque de datos, cada línea de cachè almacena una
etiqueta (los bits más significativos de la dirección del bloque) y
un bit de validez (indica si hay datos válidos en la línea).
• Ejemplo 3: Para la configuración del sistema de memoria del
ejercicio anterior, ¿cómo se distribuyen los 10 bits de la
dirección de memoria desde el punto de vista de la cachè?
Etiqueta (4 bits) Índice (2 bits) Desplazam. (4 bits)
10 bits
4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 50
¿Qué es una memoria cachè?
• Para el ejemplo del apartado 4.2.1, ¿cuáles de los
accesos a memoria encontrarían la información en
cachè? Inicialmente:
4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
Cachè
Etiqueta V Datos
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
Línea 0:
Línea 1:
Línea 2:
Línea 3:
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 51
¿Qué es una memoria cachè?
Ciclo 1: búsqueda de instr. en
0001001000 → 0001 00 1000
4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
Cachè
Etiqueta V Datos
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
A
R
0001001000
0001000100
0001001100
1001010000
Etiqueta Índice Despl.
!Fallo¡
MEMORIA Principal
Ciclo 1: Tras el fallo de cachè, la
cachè deberá traer 16 Bytes en
bloque, en 4 accesos consecutivos
a memoria principal, para rellenar
de datos toda la línea de cachè 0
(suponemos bus de datos de 32 bits
= 4 bytes por acceso)
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 52
¿Qué es una memoria cachè?
Ciclo 1: búsqueda de instr. en
0001001000 → 0001 00 1000
4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
Cachè
Etiqueta V Datos
0 0 0 1 1
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
M
A
R
Etiqueta Índice Despl.
MEMORIA Principal
Ciclo 1: Se activa el bit de
validez y se colocan los 4 bits más
significativos como etiqueta.
La CPU toma los 16 bits de la
instrucción load A, @Mem[...]
(dirs. 0001001000 y 0001001001).
01000100 00000000 00100010 01010001
00000010 01010000 00010100 11111101
- - - -
- - - -
0001001000
0001000100
0001001100
1001010000
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 53
¿Qué es una memoria cachè?
Ciclo 3: Ejecución de instr.
1001010000 → 1001 01 0000
4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
Cachè
Etiqueta V Datos
0 0 0 1 1
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
M
A
R
Etiqueta Índice Despl.
!Fallo¡
MEMORIA Principal
Ciclo 3: Instrucción
load A, @Mem[1001010000]. El bit
de validez provoca un fallo de
cachè. La cachè deberá traer el
correspondiente bloque para
rellenar toda la línea de cachè 1.
01000100 00000000 00000000 01010001
00000010 01010000 00010100 11111101
- - - -
- - - -
0001001000
0001000100
0001001100
1001010000
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 54
¿Qué es una memoria cachè?
Ciclo 3: búsqueda de datos en
1001010000 → 1001 01 0000
4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
Cachè
Etiqueta V Datos
0 0 0 1 1
10 0 1 1
0 0 0 0 0
0 0 0 0 0
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
M
A
R
Etiqueta Índice Despl.
MEMORIA Principal
Ciclo 3: Se activa el bit de
validez y se colocan los 4 bits más
significativos como etiqueta.
La CPU toma los 8 bits del dato en
1001010000 (instrucción load A,
@mem[1001010000]).
01000100 00000000 00000000 01010001
00000010 01010000 00010100 11111101
- - - -
- - - -
- - - -
- - - -
- - - -
00000101 00000000 00000000 00000000
0001001000
0001000100
0001001100
1001010000
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 55
¿Qué es una memoria cachè?
Ciclo 4: búsqueda de instr. en
0001001010 → 0001 00 1010
4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
Cachè
Etiqueta V Datos
0 0 0 1 1
1 0 0 1 1
0 0 0 0 0
0 0 0 0 0
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
M
A
R
Etiqueta Índice Despl.
MEMORIA Principal
Ciclo 4: El campo índice busca
en la línea de cachè 0 si el bit de
validez = 1; Como es así compara
los valores del campo etiqueta con
los suyos propios, y como es así,
los datos en la línea de cachè son
los que se corresponden. (Dirs
0001001010 y 0001001011
instrucción load B, 11111101).
01000100 00000000 00000000 01010001
00000010 01010000 00010100 11111101
- - - -
- - - -
- - - -
- - - -
- - - -
00000101 00000000 00000000 00000000
Acierto
de Cachè
0001001000
0001000100
0001001100
1001010000
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 56
¿Qué es una memoria cachè?
Ciclo 7: búsqueda de instr. en
0001001100 → 0001 00 1100
4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
Cachè
Etiqueta V Datos
0 0 0 1 1
1 0 0 1 1
0 0 0 0 0
0 0 0 0 0
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
M
A
R
Etiqueta Índice Despl.
MEMORIA Principal
Ciclo 7: (Instrucción add B,A).
Bit de validez = 1 en la línea de
cachè 0, el campo etiqueta coincide
con los cuatro bits más
significativos de la dirección → los
datos en la línea 0 de cachè son
válidos. Si el campo etiqueta no
coincidiera, habría que hacer un
reemplazo de la línea de cachè 0.
01000100 00000000 00000000 01010001
00000010 01010000 00010100 11111101
- - - -
- - - -
- - - -
- - - -
- - - -
00000101 00000000 00000000 00000000
Acierto
de Cachè
0001001000
0001000100
0001001100
1001010000
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 57
¿Qué es una memoria cachè?
Ciclo 10: búsqueda de instr. en
0001001110 → 0001 00 1110
4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
Cachè
Etiqueta V Datos
0 0 0 1 1
1 0 0 1 1
0 0 0 0 0
0 0 0 0 0
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
M
A
R
Etiqueta Índice Despl.
MEMORIA Principal
Ciclo 10: Bit de validez = 1 en
la línea de cachè 0, el campo
etiqueta coincide con los cuatro bits
más significativos de la dirección de
memoria → los datos en la línea de
cachè 0 son válidos. La CPU lee el
byte con dirs. = 0001001110 y
0001001111 de la cachè
(instrucción store AL, @Mem[…]).
01000100 00000000 00000000 01010001
00000010 01010000 00010100 11111101
- - - -
- - - -
- - - -
- - - -
- - - -
00000101 00000000 00000000 00000000
Acierto
de Cachè
0001001000
0001000100
0001001100
1001010000
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 58
¿Qué es una memoria cachè?
Ciclo 12: ejecución de instr.
1001010001 → 1001 01 0001
4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
Cachè
Etiqueta V Datos
0 0 0 1 1
1 0 0 1 1
0 0 0 0 0
0 0 0 0 0
Etiqueta Índice Despl.
Ciclo 12: Instrucción store AL,
@Mem[1001010001] (escribir en
dirección 1001010001). La CPU escribe
el byte 0000000010 en cachè. Se
marcaría con un bit de “modificado” la
línea de cachè 1 para que cuando sea
reemplazada no se “machaque” con la
nueva entrada sino que previamente sea
reescrito el bloque en memoria principal
(política “postescritura”)
01000100 00000000 00000000 01010001
00000010 01010000 00010100 11111101
- - - -
- - - -
- - - -
- - - -
- - - -
00000101 00000010 00000000 00000000Acierto
de Cachè
——————
00010100 1111110100000010 01010000
00100010 0101000101000100 00000000
00000000000000000000000000000101
M
A
R
MEMORIA Principal
0001001000
0001000100
0001001100
1001010000
…
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 59
La memoria principal y sus parámetros fundamentales
• 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 también 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 más ancho sea, más datos pueden enviarse en cada
ciclo de reloj.
• Bus de control: Hilos donde fluye la información de control
para gobernar la lectura/escritura en memoria (IOW, IOR…),
señales de reloj (Clk), señales de sincronización, alimentación
(Vcc), tierra (ground)…
4.3 Organización del subsistema de memoria 4.3.3 La memoria principal y sus parámetros
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 60
La memoria principal y sus parámetros fundamentales
• Ancho de banda (MB/s)
– Máxima cantidad de memoria que teóricamente podría obtenerse
por segundo (se mide en MB/s).
– P.e., la memoria DDR-200 (Double Data Rate) opera con un bus físico a
100 MHz (frecuencia base), pero tiene doble aprovechamiento de cada
ciclo de reloj (de ahí el apellido “200”). Puesto que, además, su ancho
del bus de datos es de 64 bits (8 bytes), es capaz de transmitir con un
ancho de banda máximo de 100*106*2*8 = 1600 MB/s. Es por esto que
a dichos módulos DDR-200 también se les conoce como PC-1600.
– Hay también módulos DDR2, que trabajan al cuádruple de la frecuencia
base, e incluso DDR3, que trabajan a ocho veces la frecuencia base. Así,
algunos otros ejemplos de módulos de memoria serían:
– DDR (doble de frecuencia base):
• P.e., con 150 MHz de frec. base -> DDR-300 -> PC-2400 = 2400 MB/s
– DDR2 (cuádruple de frecuencia base):
• P.e., con 200 MHz de frec. base -> DDR2-800 -> PC2-6400 = 6400 MB/s
– DDR3 (ocho veces la frecuencia base):
• P.e., con 200 MHz de frec. base -> DDR3-1600 -> PC3-12800 = 12800 MB/s
– Más ejemplos en http://es.wikipedia.org/wiki/Double_Data_Rate
4.3 Organización del subsistema de memoria 4.3.3 La memoria principal y sus parámetros
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 61
Memoria secundaria
• Tanto memorias cachè como memoria principal son
estructuras de memoria volátiles → sus contenidos se pierden
al apagar el ordenador.
• Programas y datos deberían ser guardados en memorias no
volátiles para volver a usarlos con posteridad.
– Las memorias secundarias (discos duros, DVDs, CDs, …)
mantienen la información aún cuando el ordenador está apagado.
• Cuando ejecutamos un programa, este suele estar
almacenado en el disco duro del ordenador y primero se
carga en memoria RAM. De ahí, las instrucciones se llevan a
la cachè conforme el procesador las va solicitando.
4.3 Organización del subsistema de memoria 4.3.4 Memoria secundaria
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 62
Índice
Índice
4.1. Estructura funcional de un ordenador
4.2. El procesador
4.2.1. Organización básica del procesador
4.2.2. Parámetros más importantes del procesador
4.3. Organización del subsistema de memoria
4.3.1. Concepto de jerarquía de memoria
4.3.2. ¿Qué es una memoria cachè?
4.3.3. La memoria principal y sus parámetros fundamentales
4.3.4. Memoria secundaria
4.4. Interconexión y dispositivos de E/S de un ordenador
4.4.1. Jerarquía de buses
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 63
Jerarquía de buses
• Concepto de bus:
– Canal de comunicación compartido por varios dispositivos.
– De forma simplificada podría verse como un conjunto de líneas a
las que se conectan los dispositivos y que permiten que la
información escrita por un dispositivo pueda ser leída por el
resto.
– En un instante determinado únicamente un dispositivo podría
poner información sobre el bus. Además, de todos los
dispositivos conectados hay uno que actúa como maestro de bus
(tiene el control del bus y decide quién puede poner datos sobre
el mismo).
• La conexión de todos los componentes de un computador a
través de un único bus plantea varios problemas:
– Cuanto mayor es el número de dispositivos conectados, peor es
el compartimiento temporal de las señales que viajan por el bus,
lo que disminuye las prestaciones del mismo.
– El bus se convierte en un cuello de botella ya que todas las
transferencias de información pasan a través de él.
– El bus debe soportar elementos de velocidades muy dispares, lo
que implica un diseño de bus poco óptimo.
4.4 Interconexión y dispositivos de E/S de un ordenador 4.4.1 Jerarquía de buses
Tema 4: Introducción a la Arquitectura … octubre de 2011 - 64
Jerarquía de buses
• Para resolver los problemas anteriores los computadores modernos
implementan una jerarquía de buses
– El bus de mayor velocidad es al que estaría conectado el procesador y el
bus inferior conectaría dispositivos de entrada/salida lentos
– Los distintos buses se interconectan por medio de puentes (bridges)
• Ejemplo:
• En la práctica, la jerarquía de buses forma parte de una jerarquía de
interconexión más general dentro del computador.
4.4 Interconexión y dispositivos de E/S de un ordenador 4.4.1 Jerarquía de buses

Más contenido relacionado

La actualidad más candente

Capacidad de la cpu
Capacidad de la cpuCapacidad de la cpu
Capacidad de la cpuAnaKarina114
 
Trabajo final informática 1er año 2
Trabajo final informática 1er año 2Trabajo final informática 1er año 2
Trabajo final informática 1er año 21cortez
 
Curso de microcontrolador MCS51
Curso de microcontrolador MCS51Curso de microcontrolador MCS51
Curso de microcontrolador MCS51Rubén Loredo
 
Arquitectura del procesador
Arquitectura del procesadorArquitectura del procesador
Arquitectura del procesadormao1322
 
El Microprocesador Y Su Arquitectura
El Microprocesador Y Su ArquitecturaEl Microprocesador Y Su Arquitectura
El Microprocesador Y Su Arquitecturajadenjgct
 
REGISTRO E INSTRUCCIONES DEL MICROPROCESADOR, MODOS DE DIRECCIONAMIENTO.
REGISTRO E INSTRUCCIONES DEL MICROPROCESADOR, MODOS DE DIRECCIONAMIENTO. REGISTRO E INSTRUCCIONES DEL MICROPROCESADOR, MODOS DE DIRECCIONAMIENTO.
REGISTRO E INSTRUCCIONES DEL MICROPROCESADOR, MODOS DE DIRECCIONAMIENTO. Michelle Diaz
 
base de datos
base de datosbase de datos
base de datosnotalone
 
FUNCIONAMIENTO DE UN COMPUTADOR
FUNCIONAMIENTO DE UN COMPUTADORFUNCIONAMIENTO DE UN COMPUTADOR
FUNCIONAMIENTO DE UN COMPUTADORDanny Rodriguez
 
El procesador y sus registros internos
El procesador y sus registros internosEl procesador y sus registros internos
El procesador y sus registros internosromo91
 
Unidad 2 arquitectura del computador
Unidad 2 arquitectura del computadorUnidad 2 arquitectura del computador
Unidad 2 arquitectura del computadorCristhixn Leon
 

La actualidad más candente (20)

Capacidad de la cpu
Capacidad de la cpuCapacidad de la cpu
Capacidad de la cpu
 
Trabajo final informática 1er año 2
Trabajo final informática 1er año 2Trabajo final informática 1er año 2
Trabajo final informática 1er año 2
 
El procesador
El procesador El procesador
El procesador
 
Ticcccc
TicccccTiccccc
Ticcccc
 
Curso de microcontrolador MCS51
Curso de microcontrolador MCS51Curso de microcontrolador MCS51
Curso de microcontrolador MCS51
 
Arquitectura del procesador
Arquitectura del procesadorArquitectura del procesador
Arquitectura del procesador
 
2. hardware I
2. hardware I2. hardware I
2. hardware I
 
El Microprocesador Y Su Arquitectura
El Microprocesador Y Su ArquitecturaEl Microprocesador Y Su Arquitectura
El Microprocesador Y Su Arquitectura
 
REGISTRO E INSTRUCCIONES DEL MICROPROCESADOR, MODOS DE DIRECCIONAMIENTO.
REGISTRO E INSTRUCCIONES DEL MICROPROCESADOR, MODOS DE DIRECCIONAMIENTO. REGISTRO E INSTRUCCIONES DEL MICROPROCESADOR, MODOS DE DIRECCIONAMIENTO.
REGISTRO E INSTRUCCIONES DEL MICROPROCESADOR, MODOS DE DIRECCIONAMIENTO.
 
base de datos
base de datosbase de datos
base de datos
 
2. hardware i
2. hardware i2. hardware i
2. hardware i
 
FUNCIONAMIENTO DE UN COMPUTADOR
FUNCIONAMIENTO DE UN COMPUTADORFUNCIONAMIENTO DE UN COMPUTADOR
FUNCIONAMIENTO DE UN COMPUTADOR
 
Hardware
HardwareHardware
Hardware
 
Los microprocesadores
Los microprocesadoresLos microprocesadores
Los microprocesadores
 
00 historia de los micros
00 historia de los micros00 historia de los micros
00 historia de los micros
 
Modos de Direccionamiento
Modos de DireccionamientoModos de Direccionamiento
Modos de Direccionamiento
 
El procesador y sus registros internos
El procesador y sus registros internosEl procesador y sus registros internos
El procesador y sus registros internos
 
Definición de registro de procesador
Definición de registro de procesadorDefinición de registro de procesador
Definición de registro de procesador
 
5154 - Tema 2
5154 - Tema 25154 - Tema 2
5154 - Tema 2
 
Unidad 2 arquitectura del computador
Unidad 2 arquitectura del computadorUnidad 2 arquitectura del computador
Unidad 2 arquitectura del computador
 

Similar a Introduccion a la Arquitectura de Computadoras

Arquitectura de la computadora
Arquitectura de la computadoraArquitectura de la computadora
Arquitectura de la computadoraMauricio Hernandez
 
Arquitectura_de_Computadoras_11_04_15.pptx
Arquitectura_de_Computadoras_11_04_15.pptxArquitectura_de_Computadoras_11_04_15.pptx
Arquitectura_de_Computadoras_11_04_15.pptxRicardoSusa4
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Arquitectura del procesador
Arquitectura del procesadorArquitectura del procesador
Arquitectura del procesadorYESENIA CETINA
 
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptx
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptxUNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptx
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptxSamAladoVz1
 
Arquitectura de computadoras
Arquitectura de computadoras Arquitectura de computadoras
Arquitectura de computadoras vanessura
 
Arquitectura de Computadorasv
Arquitectura de ComputadorasvArquitectura de Computadorasv
Arquitectura de ComputadorasvJairo Anton
 
Modelosdearquitecturasdecomputadoras 120905220343-phpapp01
Modelosdearquitecturasdecomputadoras 120905220343-phpapp01Modelosdearquitecturasdecomputadoras 120905220343-phpapp01
Modelosdearquitecturasdecomputadoras 120905220343-phpapp01Aldo Altamira
 
El Procesador o CPU 2
El Procesador o CPU 2El Procesador o CPU 2
El Procesador o CPU 2Jorge Pulido
 
Organización y Arquitectura de Computador
Organización y Arquitectura de ComputadorOrganización y Arquitectura de Computador
Organización y Arquitectura de Computadorpacampble
 
Unidad central de procesamiento
Unidad central de procesamientoUnidad central de procesamiento
Unidad central de procesamientoAlejandro Molina
 
Introduccion micro´s
Introduccion micro´sIntroduccion micro´s
Introduccion micro´sGerson Climas
 
Portafolio arquitectura
Portafolio arquitecturaPortafolio arquitectura
Portafolio arquitecturayoselinalfaro6
 
caractermaterial_2019F1_COM212_02_132253.pptx
caractermaterial_2019F1_COM212_02_132253.pptxcaractermaterial_2019F1_COM212_02_132253.pptx
caractermaterial_2019F1_COM212_02_132253.pptxruben2003ss
 
Ts11 tiltepec isaac _alvarez_cruz
Ts11 tiltepec isaac _alvarez_cruzTs11 tiltepec isaac _alvarez_cruz
Ts11 tiltepec isaac _alvarez_cruzIsaak Alvarez Krux
 
Instituto tecologico de tuxtla gutierez
Instituto tecologico de tuxtla  gutierezInstituto tecologico de tuxtla  gutierez
Instituto tecologico de tuxtla gutierezIsaak Alvarez Krux
 
arquitecturadelcomputador-150519021612-lva1-app6892 (1).pdf
arquitecturadelcomputador-150519021612-lva1-app6892 (1).pdfarquitecturadelcomputador-150519021612-lva1-app6892 (1).pdf
arquitecturadelcomputador-150519021612-lva1-app6892 (1).pdfAzaelOcampo
 

Similar a Introduccion a la Arquitectura de Computadoras (20)

Arquitectura de la computadora
Arquitectura de la computadoraArquitectura de la computadora
Arquitectura de la computadora
 
Arquitectura yedid, jhonier
Arquitectura yedid, jhonierArquitectura yedid, jhonier
Arquitectura yedid, jhonier
 
Arquitectura del cpu
Arquitectura del cpuArquitectura del cpu
Arquitectura del cpu
 
Arquitectura_de_Computadoras_11_04_15.pptx
Arquitectura_de_Computadoras_11_04_15.pptxArquitectura_de_Computadoras_11_04_15.pptx
Arquitectura_de_Computadoras_11_04_15.pptx
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Arquitectura
ArquitecturaArquitectura
Arquitectura
 
Arquitectura del procesador
Arquitectura del procesadorArquitectura del procesador
Arquitectura del procesador
 
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptx
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptxUNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptx
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptx
 
Arquitectura de computadoras
Arquitectura de computadoras Arquitectura de computadoras
Arquitectura de computadoras
 
Arquitectura de Computadorasv
Arquitectura de ComputadorasvArquitectura de Computadorasv
Arquitectura de Computadorasv
 
Modelosdearquitecturasdecomputadoras 120905220343-phpapp01
Modelosdearquitecturasdecomputadoras 120905220343-phpapp01Modelosdearquitecturasdecomputadoras 120905220343-phpapp01
Modelosdearquitecturasdecomputadoras 120905220343-phpapp01
 
El Procesador o CPU 2
El Procesador o CPU 2El Procesador o CPU 2
El Procesador o CPU 2
 
Organización y Arquitectura de Computador
Organización y Arquitectura de ComputadorOrganización y Arquitectura de Computador
Organización y Arquitectura de Computador
 
Unidad central de procesamiento
Unidad central de procesamientoUnidad central de procesamiento
Unidad central de procesamiento
 
Introduccion micro´s
Introduccion micro´sIntroduccion micro´s
Introduccion micro´s
 
Portafolio arquitectura
Portafolio arquitecturaPortafolio arquitectura
Portafolio arquitectura
 
caractermaterial_2019F1_COM212_02_132253.pptx
caractermaterial_2019F1_COM212_02_132253.pptxcaractermaterial_2019F1_COM212_02_132253.pptx
caractermaterial_2019F1_COM212_02_132253.pptx
 
Ts11 tiltepec isaac _alvarez_cruz
Ts11 tiltepec isaac _alvarez_cruzTs11 tiltepec isaac _alvarez_cruz
Ts11 tiltepec isaac _alvarez_cruz
 
Instituto tecologico de tuxtla gutierez
Instituto tecologico de tuxtla  gutierezInstituto tecologico de tuxtla  gutierez
Instituto tecologico de tuxtla gutierez
 
arquitecturadelcomputador-150519021612-lva1-app6892 (1).pdf
arquitecturadelcomputador-150519021612-lva1-app6892 (1).pdfarquitecturadelcomputador-150519021612-lva1-app6892 (1).pdf
arquitecturadelcomputador-150519021612-lva1-app6892 (1).pdf
 

Más de Ashley Stronghold Witwicky

Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)Ashley Stronghold Witwicky
 
Consecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogasConsecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogasAshley Stronghold Witwicky
 
Derivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantesDerivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantesAshley Stronghold Witwicky
 
Unidad v paradigma funcional de programacion fiuncional
Unidad v   paradigma funcional de programacion fiuncionalUnidad v   paradigma funcional de programacion fiuncional
Unidad v paradigma funcional de programacion fiuncionalAshley Stronghold Witwicky
 

Más de Ashley Stronghold Witwicky (20)

Clase 0.3 normalizacion. sql server aplicado
Clase 0.3   normalizacion. sql server aplicadoClase 0.3   normalizacion. sql server aplicado
Clase 0.3 normalizacion. sql server aplicado
 
Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)
 
Sanson mata un leon con sus manos
Sanson mata un leon con sus manosSanson mata un leon con sus manos
Sanson mata un leon con sus manos
 
Consecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogasConsecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogas
 
Constancia de servicio
Constancia de servicioConstancia de servicio
Constancia de servicio
 
Requisitos para Guia Mayor
Requisitos para Guia MayorRequisitos para Guia Mayor
Requisitos para Guia Mayor
 
Instructivo de llenado carta poder
Instructivo de llenado carta poderInstructivo de llenado carta poder
Instructivo de llenado carta poder
 
Constancia experiencia profesional
Constancia experiencia profesionalConstancia experiencia profesional
Constancia experiencia profesional
 
Ideales ja
Ideales jaIdeales ja
Ideales ja
 
Mysql
MysqlMysql
Mysql
 
Especialidad de insectos desarrollada
Especialidad de insectos desarrolladaEspecialidad de insectos desarrollada
Especialidad de insectos desarrollada
 
Manual basico autocad_2012
Manual basico autocad_2012Manual basico autocad_2012
Manual basico autocad_2012
 
Derivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantesDerivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantes
 
Ecuaciones primer grado con una incognita
Ecuaciones primer grado con una incognitaEcuaciones primer grado con una incognita
Ecuaciones primer grado con una incognita
 
Conversion de unidades
Conversion de unidadesConversion de unidades
Conversion de unidades
 
Curso de my sql
Curso de my sqlCurso de my sql
Curso de my sql
 
Manual de microsoft publisher 2007
Manual de microsoft publisher 2007Manual de microsoft publisher 2007
Manual de microsoft publisher 2007
 
Unidad v paradigma funcional de programacion fiuncional
Unidad v   paradigma funcional de programacion fiuncionalUnidad v   paradigma funcional de programacion fiuncional
Unidad v paradigma funcional de programacion fiuncional
 
Biblia de publisher 2007
Biblia de publisher 2007Biblia de publisher 2007
Biblia de publisher 2007
 
Ejercicios en microsoft publisher 2007
Ejercicios en microsoft publisher 2007Ejercicios en microsoft publisher 2007
Ejercicios en microsoft publisher 2007
 

Último

2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 

Último (20)

2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 

Introduccion a la Arquitectura de Computadoras

  • 1. octubre de 2011 Tema 4. Introducción a la Arquitectura de Computadores Departamento de Ingeniería y Tecnología de Computadores
  • 2. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 2 Índice Índice 4.1. Estructura funcional de un ordenador 4.2. El procesador 4.2.1. Organización básica del procesador 4.2.2. Parámetros más importantes del procesador 4.3. Organización del subsistema de memoria 4.3.1. Concepto de jerarquía de memoria 4.3.2. ¿Qué es una memoria cachè? 4.3.3. La memoria principal y sus parámetros fundamentales 4.3.4. Memoria secundaria 4.4. Interconexión y dispositivos de E/S de un ordenador 4.4.1. Jerarquía de buses
  • 3. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 3 Índice Índice 4.1. Estructura funcional de un ordenador 4.2. El procesador 4.2.1. Organización básica del procesador 4.2.2. Parámetros más importantes del procesador 4.3. Organización del subsistema de memoria 4.3.1. Concepto de jerarquía de memoria 4.3.2. ¿Qué es una memoria cachè? 4.3.3. La memoria principal y sus parámetros fundamentales 4.3.4. Memoria secundaria 4.4. Interconexión y dispositivos de E/S de un ordenador 4.4.1. Jerarquía de buses
  • 4. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 4 Estructura funcional de un ordenador • Ordenador ≡ Máquina que procesa información y produce unos resultados. – La información a procesar puede: • Estar almacenada previamente en el computador. • Ser introducida desde el exterior. – Los resultados producidos: • Se almacenan en el propio computador. • Se saca al exterior. • Programa ≡ Conjunto de instrucciones que debe ejecutar el computador sobre los datos para procesarlos y obtener un resultado. Datos Resultados Dispositivos de entrada Dispositivos de salidaProcesador 4.1 Estructura funcional de un ordenador Introducción
  • 5. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 5 B A Hacia todos los componentes Estructura funcional de un ordenador • Tradicionalmente, los computadores se dividen en 3 bloques: 1. Procesador o CPU (Central Processing Unit): Encargado de la ejecución de las instrucciones. Se divide a su vez en: • Unidad de control: – Busca las instrucciones de la memoria. – Decodifica las instrucciones que se van a ejecutar. – Genera los valores de las señales (señales de control) que dicen lo que hay que hacer para la ejecución de las instrucciones. • Camino de datos: unidades funcionales que realizan las operaciones de las instrucciones. 4.1 Estructura funcional de un ordenador Introducción DIR A DIR B DIR W MUX MUX MUX MUX A L U Código operación Dirección Memoria de instrucciones Dirección Memoria de DatosDatos de escritura en memoriaDatos de lectura de memoria Instrucciones de memoria PC U.C +2 RUTA de DATOS UNIDAD de CONTROL
  • 6. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 6 4.1 Estructura funcional de un ordenador 2.- Memoria: • Almacena los datos e instrucciones de los programas activos. • Conceptualmente, gran estructura dividida en posiciones, cada una con una dirección única. • En realidad, la memoria se organiza como una jerarquía con varios niveles, cada uno con características diferenciadas (ver más adelante). • Para leer hay que indicar la dirección de memoria (MAR, Memory Address Register) y activar IOR., para escribir, además de la dirección, hay que proporcionar el dato (MDR, Memory Data Register) y activar IOW. 4.1 Estructura funcional de un ordenador Introducción DCBA HGFE LKJI … … … M A R C.P.U. I O R I O W BUS de DATOS M D R BUS de DIRECCIONES BUS de CONTROL DIRECCIONES De MEMORIA DATOS HILOS de CONTROL M A R LKJI
  • 7. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 7 DISCO DURO Estructura funcional de un ordenador 3.- Interconexión y dispositivos de Entrada/Salida: • Dispositivos usados para interaccionar con el usuario del computador (teclado, monitor, ratón, impresora, tarjeta de red, …). Se gobiernan por direcciones de puerto ≠ Direcciones de memoria. • Interconexiones entre los distintos componentes del ordenador (bus PCI, bus de memoria, …). 4.1 Estructura funcional de un ordenador Introducción M A R I O R I O W BUS de DATOS M D R BUS de DIRECCIONES TARJETA de VÍDEO FUNDAMENTOS de COMPUTADORES PUERTOS de E/S BUS de CONTROL DIRECCIONES De MEMORIA DIRECCIONES De PUERTOS DATOS HILOS de CONTROL C.P.U. DCBA HGFE LKJI … … … LKJI M A R
  • 8. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 8 Índice Índice 4.1. Estructura funcional de un ordenador 4.2. El procesador 4.2.1. Organización básica del procesador 4.2.2. Parámetros más importantes del procesador 4.3. Organización del subsistema de memoria 4.3.1. Concepto de jerarquía de memoria 4.3.2. ¿Qué es una memoria cachè? 4.3.3. La memoria principal y sus parámetros fundamentales 4.3.4. Memoria secundaria 4.4. Interconexión y dispositivos de E/S de un ordenador 4.4.1. Jerarquía de buses
  • 9. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 9 El procesador • Dispositivo digital encargado de llevar a cabo las operaciones indicadas por los programas software – Instrucción ≡ Conjunto de símbolos que representa una orden de operación 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 más empleados en el mundo de los PCs. 4.2 El procesador Introducción
  • 10. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 10 Hacia todos los componentes Organización básica del procesador • Dividido en unidad de control y camino de datos. • La unidad de control es la parte “activa” del procesador, puesto que es la encargada de buscar las instrucciones de la memoria y ordenar su ejecución al camino de datos. • La unidad de control se comunica con el camino de datos a través de las señales de control. 4.2 El procesador 4.2.1 Organización básica del procesador DIR A DIR B DIR W Data Write MUX MUX BMUX MUX A L U Código operación IR Dirección Memoria de instrucciones Dirección Memoria de Datos Datos de escritura en memoriaDatos de lectura de memoria Instrucciones de memoria PC A ID +2
  • 11. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 11 Organización básica del procesador • De forma simplificada, la unidad de control dispone de los siguientes elementos: – Registro Contador de Programa o PC (Program Counter): almacena la dirección de memoria de la siguiente instrucción a ejecutar. – Registro de Instrucción o IR (Instruction Register): almacena la instrucción a ejecutar. El código de operación (Op. CODE) indica la instrucción a ejecutar. – Decodificador de instrucciones o ID (Instruction Decoder): genera los valores de las señales de control para la ejecución de cada instrucción – Reloj o generador de pulsos: marca el ritmo al cual se llevan a cabo las operaciones dentro del procesador. • Tiempo de ciclo: periodo de esta señal. • Frecuencia de reloj (en GHz o miles de millones de ciclos por segundo) = inversa del tiempo de ciclo. 4.2 El procesador 4.2.1 Organización básica del procesador Op. CODE OPERANDOS IDSeñal de reloj (CLK) SEÑALES DE CONTROL CONTADOR de PROGRAMA (PC) de MDR a MAR PC + 1 REGISTRO de INSTRUCCIÓN (IR)
  • 12. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 12 Organización básica del procesador • Por su parte, dentro del camino de datos estaría: – Unidad aritmético-lógica o ALU (Arithmetic-Logic Unit): encargada de la realización de operaciones aritméticas sobre números enteros y las operaciones lógicas. – Unidad de coma flotante o FPU (Floating-Point Unit): realiza las operaciones aritméticas con operando de punto flotante. – Banco de registros: • Estructura que aglutina un número pequeño de registros . • Cada registro contiene un dato que puede ser operado por la ALU o FPU. • Para leer un registro hay que indicar el número del registro a leer y se obtiene su contenido (puerto de lectura). • Para escribir un registro hay que indicar el número de registro a escribir y el dato (puerto de escritura (DataWrite)). • 2 Bancos de registros separados para enteros (registros de propósito general) y punto flotante. 4.2 El procesador 4.2.1 Organización básica del procesador Dato a escribir DIR A Reg A DIR B DIR W Reg B DataWrite Nº de registro a leer por A Nº de registro a leer por B Nº de registro a escribir Dato leído por puerto A Dato leído por puerto B A L U F P U
  • 13. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 13 Organización básica del procesador • Pasos para la ejecución de una instrucción: 1. Búsqueda de la instrucción e incremento del PC: • Se lee la posición de memoria cuya dirección aparece en el registro contador de programa (PC) y el valor leído se almacena en el registro de instrucción (IR). • Se incrementa el PC en 2 (en esta arquitectura de ejemplo, las instrucciones son todas de 2 Bytes) para que contenga la dirección de la siguiente instrucción a ejecutar: 4.2 El procesador 4.2.1 Organización básica del procesador Hacia todos los componentes DIR A DIR B DIR W Data Write MUX MUX BMUX MUX A L U Código de operación IR Dirección Memoria de instrucciones Dirección Memoria de Datos Datos de lectura de memoria Instrucciones de memoria PC A I.D. +2 Datos de escritura en memoria
  • 14. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 14 Organización básica del procesador 2. Decodificación de la instrucción: • El decodificador de instrucciones toma los bits del registro IR que identifican a la instrucción (código de operación). • En función del valor de dichos bits, genera los valores apropiados para las señales de control. Hacia todos los componentes DIR A DIR B DIR W Data Write MUX MUX BMUX MUX A L U Código operación IR Dirección Memoria de instrucciones Dirección Memoria de Datos Datos de escritura en memoriaDatos de lectura de memoria Instrucciones de memoria PC A I.D. +2 4.2 El procesador 4.2.1 Organización básica del procesador
  • 15. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 15 Organización básica del procesador 3. Ejecución de la instrucción: • Las unidades del camino de datos realizan las operaciones indicadas por la unidad de control mediante las señales de control. – Por ejemplo, la ALU podría tener que llevar a cabo una operación de suma, se leerían operandos del banco de registros y escribirían resultados en el mismo … 4.2 El procesador 4.2.1 Organización básica del procesador Hacia todos los componentes DIR A DIR B DIR W Data Write MUX MUX B MUX MUX A L U Código operación Dirección Memoria de instrucciones Dirección Memoria de Datos Datos de escritura en memoriaDatos de lectura de memoria Instrucciones de memoria PC A U.C. +2
  • 16. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 16 Organización básica del procesador • La arquitectura del repertorio de instrucciones (o ISA de Instruction Set Architecture) es la interfaz entre la circuitería y el nivel más bajo de programación. • Entre otros aspectos, determina las instrucciones que el procesador puede ejecutar. • Podemos agrupar las instrucciones de un ISA en: – Instrucciones de transferencia de datos entre procesador y memoria: • Las instrucciones de carga (load) copian el contenido de la posición de memoria especificada por la instrucción en un registro del procesador. Las de almacenamiento (store) hacen lo contrario. – Instrucciones aritmético-lógicas: • Instrucciones de suma, resta, and, or, comparación, … – Instrucciones de control: • Instrucciones de salto condicional, incondicional, llamadas a subrutinas, vuelta de subrutinas, … – Instrucciones de punto flotante: • Instrucciones de suma, resta, multiplicación, división,… en punto flotante. – Instrucciones de sistema: • Llamadas al SO, excepciones, interrupciones… 4.2 El procesador 4.2.1 Organización básica del procesador
  • 17. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 17 Organización básica del procesador • Durante los años 70 se popularizaron ISAs con muchas instrucciones (mas de 200 en algunos casos). – Complex Instrucion Set Computer (CISC). • Posteriormente se constató que era preferible (para poder obtener implementaciones de alto rendimiento) ISAs con pocas instrucciones (menos de 100), sencillas y que se puedan ejecutar rápidamente. – Reduced Instruction Set Computer (RISC) • A día de hoy todos los procesadores se construyen basados en la filosofía RISC. • Los procesadores para PC de AMD e Intel tanto de 32 bits (IA-32) como de 64 bits (AMD64) son un caso curioso: – Al nivel más bajo de programación presentan un ISA CISC. – Se implementan como si tuvieran un ISA RISC. – Entre los pasos 1 y 2 se añade un nuevo paso en el que las instrucciones CISC son traducidas a instrucciones RISC. 4.2 El procesador 4.2.1 Organización básica del procesador
  • 18. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 18 Organización básica del procesador • Seguiremos, paso a paso, la ejecución de un trozo de programa de 4 instrucciones: – 4 Instrucciones, a 3 pasos cada una, 4*3=12 pasos (12 ciclos). – Supondremos una memoria de 1024 bytes (10 bits de dirección), registros A, B, C, D, … de 8 bits, e instrucciones de 16 bits (2 bytes). 4.2 El procesador 4.2.1 Organización básica del procesador 00010100 11111101load B, 11111101 (Tipo: carga de valor inmediato) 0001001010 ……0001010000 00100010 01010001store A, @Mem[1001010001] (Tipo: almacenam. en memoria) 0001001110 01000100 00000000add B, A (A=A+B) (Tipo: aritmético lógica) 0001001100 00000010 01010000load A, @Mem[1001010000] (Tipo: carga de memoria) 0001001000 Instr. Codificada (2 bytes) Instrucción decodificadaDirección (10 bits)
  • 19. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 19 Organización básica del procesador 1. Formato load de memoria: 4 bits código operación (0000) + 2 bits registro destino (A=00, B=01, C=10, …) + 10 bits dirección memoria. 2. Formato load valor inmediato: 4 bits código operación (0001) + 2 bits registro destino + 2 bits vacíos + 8 bits valor inmediato. 3. Formato add: 4 bits código operación (0100) + 2 bits registro fuente + 2 bits registro destino + 8 bits vacíos. 4. Formato store: 4 bits código operación (0010) + 2 bits registro fuente + 10 bits dirección memoria. 4.2 El procesador 4.2.1 Organización básica del procesador 0001 01 00 11111101load B, 11111101 (Tipo: carga de valor inmediato) 2 0010 00 1001010001store A, @Mem[1001010001] (Tipo: almacenam. en memoria) 4 0100 01 00 00000000add B, A (A=A+B) (Tipo: aritmético lógica) 3 0000 00 1001010000load A, @Mem[1001010000] (Tipo: carga de memoria) 1 Instr. CodificadaInstrucción decodificada
  • 20. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 20 OP Data/Dir Organización básica del procesador • Estructura general del procesador y memoria: —————— 4.2 El procesador 4.2.1 Organización básica del procesador BUS de CONTROL I O R I O W M D R BUS de DATOS M A R M A R (10 Bits) BUS de DIRECCIONES Reg. PC (10 bits) +2 ← 8 bits → — . . D C B A I.D. I.R. (16 bits) ALU Banco de Registros Señal de Reloj MEMORIA PRINCIPAL zona datos zona instrucciones
  • 21. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 21 OP Data/Dir Organización básica del procesador • Ejemplo: Inicialmente —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 —————— 4.2 El procesador 4.2.1 Organización básica del procesador BUS de CONTROL I O R I O W M D R BUS de DATOS M A R M A R BUS de DIRECCIONES 0001001000 +2 ——— D C B A I.D. I.R. 0001001000 0001000100 0001001100 1001010000 — . . …
  • 22. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 22 Organización básica del procesador • Ejemplo: Ciclo 1º Búsqueda de la instrucción e incremento del PC —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 —————— 4.2 El procesador 4.2.1 Organización básica del procesador BUS de CONTROL I O R I O W M D R BUS de DATOS M A R 0 0 0 1 0 0 1 0 0 0 BUS de DIRECCIONES 0101000000000010 0001001000 +2 ——— — . . D C B A OP Data/Dir I.D. I.R. 0001001000 0001000100 0001001100 1001010000 …
  • 23. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 23 I.D. 0000 00 1001010000 Organización básica del procesador • Ejemplo: Ciclo 2º, Decodificación de la instrucción. —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 —————— 4.2 El procesador 4.2.1 Organización básica del procesador BUS de CONTROL I O R I O W M D R BUS de DATOS M A R BUS de DIRECCIONES 0101000000000010 0001001010 +2 ——— I.R. load A, @Mem[1001010000] 0 0 0 1 0 0 1 0 0 0 — . . D C B A 0001001000 0001000100 0001001100 1001010000 …
  • 24. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 24 I.D. 0000 00 1001010000 Organización básica del procesador • Ejemplo: Ciclo 3º Ejecución de la instrucción. —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 —————— 4.2 El procesador 4.2.1 Organización básica del procesador BUS de CONTROL I O R I O W M D R BUS de DATOS M A R BUS de DIRECCIONES 00000101 0001001010 +2 ——— 0000 0101 (5) D C B A I.R. 1 0 0 1 0 1 0 0 0 0 — . .load A, @Mem[1001010000] 0001001000 0001000100 0001001100 1001010000 …
  • 25. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 25 0000 00 1001010000 Organización básica del procesador • Ejemplo: Ciclo 4º Búsqueda de la instrucción e incremento del PC —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 —————— 4.2 El procesador 4.2.1 Organización básica del procesador BUS de CONTROL I O R I O W M D R BUS de DATOS M A R 0 0 0 1 0 0 1 0 1 0 BUS de DIRECCIONES 1111110100010100 0001001010 +2 ——— 0000 0101 (5) — . . D C B A I.D. I.R. 0001001000 0001000100 0001001100 1001010000 …
  • 26. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 26 I.D. 0001 01 00 11111101 Organización básica del procesador • Ejemplo: Ciclo 5º, Decodificación de la instrucción. —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 —————— 4.2 El procesador 4.2.1 Organización básica del procesador BUS de CONTROL I O R I O W M D R BUS de DATOS M A R 0 0 0 1 0 0 1 0 1 0 BUS de DIRECCIONES 1111110100010100 0001001100 +2 ——— 0000 0101 (5) — . . D C B A I.R. load B, 11111101 0001001000 0001000100 0001001100 1001010000 …
  • 27. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 27 I.D. 0001 01 00 11111101 Organización básica del procesador • Ejemplo: Ciclo 6º Ejecución de la instrucción. —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 —————— 4.2 El procesador 4.2.1 Organización básica del procesador BUS de CONTROL I O R I O W M D R BUS de DATOS M A R BUS de DIRECCIONES 1111110100010100 0001001100 +2 ——— 1111 1101 (-3) 0000 0101 (5) — . . D C B A I.R. load B, 11111101 0001001000 0001000100 0001001100 1001010000 … 0 0 0 1 0 0 1 0 1 0
  • 28. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 28 Organización básica del procesador • Ejemplo: Ciclo 7º Búsqueda de la instrucción e incremento del PC —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 —————— 4.2 El procesador 4.2.1 Organización básica del procesador BUS de CONTROL I O R I O W M D R BUS de DATOS M A R 0 0 0 1 0 0 1 1 0 0 BUS de DIRECCIONES 0000000001000100 0001001100 +2 ——— 1111 1101 (-3) 0000 0101 (5) — . . D C B A I.D. I.R. 0001 01 00 11111101 0001001000 0001000100 0001001100 1001010000 …
  • 29. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 29 0100 01 00 00000000 Organización básica del procesador • Ejemplo: Ciclo 8º, Decodificación de la instrucción. —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 —————— 4.2 El procesador 4.2.1 Organización básica del procesador BUS de CONTROL I O R I O W M D R BUS de DATOS M A R 0 0 0 1 0 0 1 1 0 0 BUS de DIRECCIONES 0000000001000100 0001001110 +2 ——— 1111 1101 (-3) 0000 0101 (5) — . . D C B A I.R. I.D.add B,A (A←A+B) 0001001000 0001000100 0001001100 1001010000 …
  • 30. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 30 0100 01 00 00000000 Organización básica del procesador • Ejemplo: Ciclo 9º Ejecución de la instrucción. —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 —————— 4.2 El procesador 4.2.1 Organización básica del procesador BUS de CONTROL I O R I O W M D R BUS de DATOS M A R 0 0 0 1 0 0 1 1 0 0 BUS de DIRECCIONES 0000000001000100 0001001110 +2 ——— 1111 1101 (-3) 0000 0010 (2) — . . D C B A I.D. I.R. + I.D.add B,A (A←A+B) 0001001000 0001000100 0001001100 1001010000 …
  • 31. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 31 Organización básica del procesador • Ejemplo: Ciclo 10º Búsqueda de la instrucción e incremento del PC —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 —————— 4.2 El procesador 4.2.1 Organización básica del procesador BUS de CONTROL I O R I O W M D R BUS de DATOS M A R 0 0 0 1 0 0 1 1 1 0 BUS de DIRECCIONES 0101000100100010 0001001110 +2 ——— 1111 1101 (-3) 0000 0010 (2) — . . D C B A I.D. I.R. 0100 01 00 00000000 0001001000 0001000100 0001001100 1001010000 …
  • 32. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 32 I.D. 0010 00 1001010001 Organización básica del procesador • Ejemplo: Ciclo 11º, Decodificación de la instrucción. —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 —————— 4.2 El procesador 4.2.1 Organización básica del procesador BUS de CONTROL I O R I O W M D R BUS de DATOS M A R 0 0 0 1 0 0 1 1 1 0 BUS de DIRECCIONES 0101000100100010 0001010000 +2 ——— 1111 1101 (-3) 0000 0101 (5) — . . D C B A I.R. store A, @Mem[1001010001] 0001001000 0001000100 0001001100 1001010000 …
  • 33. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 33 0010 00 1001010001 Organización básica del procesador • Ejemplo: Ciclo 12º Ejecución de la instrucción. —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000001000000101 —————— 4.2 El procesador 4.2.1 Organización básica del procesador BUS de CONTROL I O R I O W M D R BUS de DATOS M A R 0 0 0 1 0 1 0 0 0 1 BUS de DIRECCIONES 00000010 0001010000 +2 ——— 1111 1101 (-3) 0000 0010 (2) — . . D C B A I.D. I.R. store A, @Mem[1001010001] 0001001000 0001000100 0001001100 1001010000 …
  • 34. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 34 Organización básica del procesador • Recordar: – Tanto instrucciones como datos se almacenan como secuencias de 0’s y 1’s en memoria. – Las instrucciones van de memoria a la unidad de control: • Las instrucciones se almacenan en memoria en un orden dado por el programa. • Las instrucciones se ejecutan en secuencia, sólo rota por las instrucciones de salto. • A través del código de operación la unidad de control determina qué hay que hacer. – Los datos van de memoria al camino de datos y viceversa. 4.2 El procesador 4.2.1 Organización básica del procesador
  • 35. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 35 Parámetros más importantes del procesador • Velocidad o frecuencia de reloj (GHz) – La ejecución de cada instrucción supone la realización de diversos pasos elementales. • Por ejemplo: Búsqueda de la instrucción, Decodificación, Ejecución. – Cada uno de dichos pasos se ejecuta en uno o varios ciclos de reloj (en nuestro ejemplo, sólo en uno). – Ejemplo 1: Para el procesador anterior en el que las instrucciones requieren 3 pasos para su ejecución, ¿cuánto tiempo tardaría en ejecutarse un programa con 10 M instrucciones si el procesador funciona a 2 GHz? Sol: 10×106 inst ⇒ 3×10×106 = 30×106 de ciclos. Dado que Tciclo = 1/(2×109) = 5×10-10 seg. Tiempo = 30×106 × 5×10-10 = 15 mseg. 4.2 El procesador 4.2.2 Parámetros más importantes del procesador
  • 36. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 36 Parámetros más importantes del procesador • Velocidad o frecuencia de reloj (GHz) – Ejemplo 2: Calcular la frecuencia de reloj de un procesador suponiendo que: • El procesador ejecuta 500 MIPS (millón de instrucciones por segundo). • Cada instrucción consta de 5 fases. • Cada fase se ejecuta en 1 ciclo de reloj. 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 instrucción requiere 5 ciclos para su ejecución, ¿cuál es su frecuencia MIPS? Sol: 2x109 ciclos/seg. Cada instrucción tarda 5 ciclos ⇒ (2/5)x109 instr./seg. ⇒ 400 MIPS. 4.2 El procesador 4.2.2 Parámetros más importantes del procesador
  • 37. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 37 Parámetros más importantes del procesador • Tecnología de fabricación: – Lo avanzado de una tecnología de fabricación se indica mediante una medida relacionada tamaño del elemento más pequeño del chip: el transistor. – Actualmente se mide en decenas de nanómetros (nm, la millonésima parte de un milímetro (10-6 mm)). • El primer microprocesador de la era PC (Intel 8088) se fabricó con tecnología de 3 micras (incluía 29.000 transistores). • Los procesadores de Intel y AMD actuales se fabrican con tecnología de 45 nm (o 0,045 micras) e incluyen más de 750 M de transistores. – Mejoras en la tecnología de fabricación: • Permiten aumentar el número de chips por oblea, y, por tanto, disminuir el coste del microprocesador. • Se posibilita alcanzar mayores frecuencias de reloj (GHz). • Se puede reducir el voltaje necesario para el funcionamiento y por tanto la cantidad de calor que se genera (aunque es más difícil de eliminar). • Se pueden incorporar nuevos elementos (memorias cachè, …). 4.2 El procesador 4.2.2 Parámetros más importantes del procesador
  • 38. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 38 Índice Índice 4.1. Estructura funcional de un ordenador 4.2. El procesador 4.2.1. Organización básica del procesador 4.2.2. Parámetros más importantes del procesador 4.3. Organización del subsistema de memoria 4.3.1. Concepto de jerarquía de memoria 4.3.2. ¿Qué es una memoria cachè? 4.3.3. La memoria principal y sus parámetros fundamentales 4.3.4. Memoria secundaria 4.4. Interconexión y dispositivos de E/S de un ordenador 4.4.1. Jerarquía de buses
  • 39. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 39 Organización del subsistema de memoria • Hasta ahora hemos considerado la memoria del computador como una gran estructura lógica donde se almacenan tanto instrucciones como datos. • Sin embargo, la memoria de un ordenador moderno está conformada por varios tipos de estructuras de memoria, cada uno con características diferentes en cuanto a costo, tiempo de acceso y tamaño. • El objetivo final es ofrecer al procesador una memoria lógica con un tiempo de acceso muy bajo y un tamaño muy grande, todo dentro de un presupuesto razonable. • Analogía: Mesa en la biblioteca. – Una buena selección de libros en la mesa (memoria pequeña y rápida). – Gran probabilidad de encontrar lo buscado sin ir a la estantería. – Visión de memoria grande (biblioteca) a la que se accede rápido (tiempo de coger un libro de la mesa). 4.3 Organización del subsistema de memoria Introducción
  • 40. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 40 Concepto de jerarquía de memoria • Objetivo: Llevar zonas del programa y datos que tendrán más probabilidad de ser accedidas a una memoria más rápida. • Dos propiedades de los programas hacen viable la organización de la memoria del ordenador en una jerarquía de varios niveles: – Localidad Temporal: cuando se consulta un dato, seguramente será consultado poco después. • Un libro de la mesa será consultado varias veces. • Ejemplo en programas: bucles (datos e instrucciones). – Localidad Espacial: cuando se consulta un dato, seguramente otros cercanos serán consultados poco después. • Traemos un libro del estante → los libros que están próximos versarán sobre el mismo tema. • Ejemplo en programas: instrucciones (salvo por los saltos, se ejecutan secuencialmente tal como están en memoria) y estructuras de datos como las tablas. 4.3 Organización del subsistema de memoria 4.3.1 Concepto de jerarquía de memoria
  • 41. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 41 Concepto de jerarquía de memoria • Jerarquía de memoria: Registros Memorias cachè Memoria Principal (RAM) Memoria Secundaria Menor capacidad, Mayor coste, Menor latencia Mayor capacidad, Menor coste, Mayor latencia 4.3 Organización del subsistema de memoria 4.3.1 Concepto de jerarquía de memoria
  • 42. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 42 Concepto de jerarquía de memoria • El objetivo de organizar la memoria de un ordenador como una jerarquía de memorias es aprovechar la localidad temporal y espacial: – Para aprovechar la Localidad Temporal de un programa: • Mantener los datos accedidos más recientemente cerca del procesador. – Para aprovechar la Localidad Espacial de un programa: • Mover bloques de varios datos contiguos a los niveles próximos al procesador. • Consideración: Las memorias más rápidas son las más caras por bit y por tanto suelen ser de menor capacidad. 4.3 Organización del subsistema de memoria 4.3.1 Concepto de jerarquía de memoria
  • 43. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 43 ¿Qué es una memoria cachè? • Definición de cachè: pequeña memoria ultrarápida que se coloca entre la memoria principal (RAM) y el procesador con el objetivo de acelerar los accesos a datos e instrucciones. • En la actualidad se intercalan varias memorias cachè (niveles de cachè) entre el procesador y la memoria principal, cada nivel tiene un tiempo de acceso y tamaño distinto. – En general, los niveles más cercanos al procesador son los más rápidos y pequeños. – Las memorias cachè se suelen denominar por el nivel en el que se encuentran, siendo L1 el más cercano al procesador. • Ejemplo: los procesadores actuales incluyen hasta 3 niveles de cachè dentro del chip: cachè L1: 32KB-64KB (suele haber una para datos y otra para instrucciones), 2-4 ciclos de procesador de latencia. cachè L2: 256KB-512KB, 10-15 ciclos de reloj de latencia. cachè L3: 6MB-8MB, 40-50 ciclos de reloj de latencia. 4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
  • 44. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 44 ¿Qué es una memoria cachè? • Funcionamiento Básico: – El procesador manda al controlador de cachè la dirección de la palabra a buscar (por ejemplo, para un load). – Caso de estar, el controlador de cachè suministra al procesador la palabra solicitada. CPU cachè Memoria Principal Dir. Palabra Dir. Bloque BloquePalabra 4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
  • 45. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 45 ¿Qué es una memoria cachè? • Funcionamiento Básico: – Caso de no estar, el controlador de cachè pide a memoria un bloque de varias palabras que entre otras incluye la solicitada por el procesador (localidad espacial): – El controlador de cachè almacena el bloque y suministra al procesador la palabra solicitada. 4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché? M A R I O R I O W M D R BUS de DIRECCIONES TARJETA de VÍDEO FUNDAMENTOS de COMPUTADORES DIRECCIONES De MEMORIA DATOS HILOS de CONTROL C.P.U. BUS de CONTROL IR BUS de DATOS CACHÈ
  • 46. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 46 ¿Qué es una memoria cachè? • Puesto que una memoria cachè puede contener un subconjunto muy reducido de los datos e instrucciones almacenados en memoria principal – ¿Cómo se sabe si un dato está o no en cachè? – Y si lo está, ¿cómo se localiza? • Ejemplo 1: Dados los siguientes parámetros: – Tamaño de las direcciones de memoria: 10 bits. – Cada dirección se refiere a un byte. ¿Cuál es el tamaño máximo que podría tener la memoria principal en Bytes? Sol: Puesto que se dispone de 10 bits para codificar las direcciones, el número máximo de direcciones (lo que limita el máximo de posiciones direccionables) es 210 = 1024 = 1K. 4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
  • 47. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 47 ¿Qué es una memoria cachè? • Ejemplo 2: Supongamos un ordenador con la memoria principal del ejemplo anterior al que añadimos un nivel de cachè para datos e instrucciones de 64Bytes. Supongamos también que los bloques que se transfieren entre memoria cachè y memoria principal son de 4 palabras de 4 bytes (16 bytes). ¿Cuántos bloques caben en la cachè? ¿Cuántos bloques habrá en memoria principal? Sol: Puesto que en memoria principal hemos visto que había 1k bytes, y cada bloque está formado por 4 palabras de 32bits, el número de bloques que hay en memoria principal es 1024/(4 * 4) = 64 bloques. Por su parte, puesto que la cachè tiene un tamaño de 64B, el número máximo de palabras de 32bits que podrá almacenar es de 64/4 = 16. Y el número máximo de bloques es 64/16 = 4. A cada uno de estos 4 huecos en los que se va a poder almacenar un bloque en cachè lo vamos a llamar línea de cachè. 4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
  • 48. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 48 ¿Qué es una memoria cachè? • Para la configuración de los ejercicios anteriores, ¿cómo podríamos asignar los bloques de memoria a las líneas de cachè? Línea 0 Línea 1 Línea 2 Línea 3 Bloque 0 Bloque 1 Bloque 2 Bloque 3 Bloque 4 Bloque 5 Bloque 6 Bloque 7 … Bloque 32 … Bloque 60 Bloque 61 Bloque 62 Bloque 63 Cachè Memoria Principal 4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
  • 49. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 49 ¿Qué es una memoria cachè? • O lo que es lo mismo, los bits menos significativos de la dirección de bloque nos indican la línea de cachè donde debe ir cada bloque. • Puesto que varios bloques pueden ir a la misma línea de cachè, ¿cómo sabemos si lo que hay en cachè es el bloque que buscamos? – Además del bloque de datos, cada línea de cachè almacena una etiqueta (los bits más significativos de la dirección del bloque) y un bit de validez (indica si hay datos válidos en la línea). • Ejemplo 3: Para la configuración del sistema de memoria del ejercicio anterior, ¿cómo se distribuyen los 10 bits de la dirección de memoria desde el punto de vista de la cachè? Etiqueta (4 bits) Índice (2 bits) Desplazam. (4 bits) 10 bits 4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché?
  • 50. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 50 ¿Qué es una memoria cachè? • Para el ejemplo del apartado 4.2.1, ¿cuáles de los accesos a memoria encontrarían la información en cachè? Inicialmente: 4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché? Cachè Etiqueta V Datos 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Línea 0: Línea 1: Línea 2: Línea 3:
  • 51. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 51 ¿Qué es una memoria cachè? Ciclo 1: búsqueda de instr. en 0001001000 → 0001 00 1000 4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché? Cachè Etiqueta V Datos 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 A R 0001001000 0001000100 0001001100 1001010000 Etiqueta Índice Despl. !Fallo¡ MEMORIA Principal Ciclo 1: Tras el fallo de cachè, la cachè deberá traer 16 Bytes en bloque, en 4 accesos consecutivos a memoria principal, para rellenar de datos toda la línea de cachè 0 (suponemos bus de datos de 32 bits = 4 bytes por acceso) …
  • 52. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 52 ¿Qué es una memoria cachè? Ciclo 1: búsqueda de instr. en 0001001000 → 0001 00 1000 4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché? Cachè Etiqueta V Datos 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 M A R Etiqueta Índice Despl. MEMORIA Principal Ciclo 1: Se activa el bit de validez y se colocan los 4 bits más significativos como etiqueta. La CPU toma los 16 bits de la instrucción load A, @Mem[...] (dirs. 0001001000 y 0001001001). 01000100 00000000 00100010 01010001 00000010 01010000 00010100 11111101 - - - - - - - - 0001001000 0001000100 0001001100 1001010000 …
  • 53. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 53 ¿Qué es una memoria cachè? Ciclo 3: Ejecución de instr. 1001010000 → 1001 01 0000 4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché? Cachè Etiqueta V Datos 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 M A R Etiqueta Índice Despl. !Fallo¡ MEMORIA Principal Ciclo 3: Instrucción load A, @Mem[1001010000]. El bit de validez provoca un fallo de cachè. La cachè deberá traer el correspondiente bloque para rellenar toda la línea de cachè 1. 01000100 00000000 00000000 01010001 00000010 01010000 00010100 11111101 - - - - - - - - 0001001000 0001000100 0001001100 1001010000 …
  • 54. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 54 ¿Qué es una memoria cachè? Ciclo 3: búsqueda de datos en 1001010000 → 1001 01 0000 4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché? Cachè Etiqueta V Datos 0 0 0 1 1 10 0 1 1 0 0 0 0 0 0 0 0 0 0 —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 M A R Etiqueta Índice Despl. MEMORIA Principal Ciclo 3: Se activa el bit de validez y se colocan los 4 bits más significativos como etiqueta. La CPU toma los 8 bits del dato en 1001010000 (instrucción load A, @mem[1001010000]). 01000100 00000000 00000000 01010001 00000010 01010000 00010100 11111101 - - - - - - - - - - - - - - - - - - - - 00000101 00000000 00000000 00000000 0001001000 0001000100 0001001100 1001010000 …
  • 55. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 55 ¿Qué es una memoria cachè? Ciclo 4: búsqueda de instr. en 0001001010 → 0001 00 1010 4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché? Cachè Etiqueta V Datos 0 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 M A R Etiqueta Índice Despl. MEMORIA Principal Ciclo 4: El campo índice busca en la línea de cachè 0 si el bit de validez = 1; Como es así compara los valores del campo etiqueta con los suyos propios, y como es así, los datos en la línea de cachè son los que se corresponden. (Dirs 0001001010 y 0001001011 instrucción load B, 11111101). 01000100 00000000 00000000 01010001 00000010 01010000 00010100 11111101 - - - - - - - - - - - - - - - - - - - - 00000101 00000000 00000000 00000000 Acierto de Cachè 0001001000 0001000100 0001001100 1001010000 …
  • 56. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 56 ¿Qué es una memoria cachè? Ciclo 7: búsqueda de instr. en 0001001100 → 0001 00 1100 4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché? Cachè Etiqueta V Datos 0 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 M A R Etiqueta Índice Despl. MEMORIA Principal Ciclo 7: (Instrucción add B,A). Bit de validez = 1 en la línea de cachè 0, el campo etiqueta coincide con los cuatro bits más significativos de la dirección → los datos en la línea 0 de cachè son válidos. Si el campo etiqueta no coincidiera, habría que hacer un reemplazo de la línea de cachè 0. 01000100 00000000 00000000 01010001 00000010 01010000 00010100 11111101 - - - - - - - - - - - - - - - - - - - - 00000101 00000000 00000000 00000000 Acierto de Cachè 0001001000 0001000100 0001001100 1001010000 …
  • 57. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 57 ¿Qué es una memoria cachè? Ciclo 10: búsqueda de instr. en 0001001110 → 0001 00 1110 4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché? Cachè Etiqueta V Datos 0 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 M A R Etiqueta Índice Despl. MEMORIA Principal Ciclo 10: Bit de validez = 1 en la línea de cachè 0, el campo etiqueta coincide con los cuatro bits más significativos de la dirección de memoria → los datos en la línea de cachè 0 son válidos. La CPU lee el byte con dirs. = 0001001110 y 0001001111 de la cachè (instrucción store AL, @Mem[…]). 01000100 00000000 00000000 01010001 00000010 01010000 00010100 11111101 - - - - - - - - - - - - - - - - - - - - 00000101 00000000 00000000 00000000 Acierto de Cachè 0001001000 0001000100 0001001100 1001010000 …
  • 58. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 58 ¿Qué es una memoria cachè? Ciclo 12: ejecución de instr. 1001010001 → 1001 01 0001 4.3 Organización del subsistema de memoria 4.3.2 ¿Qué es una memoria caché? Cachè Etiqueta V Datos 0 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 Etiqueta Índice Despl. Ciclo 12: Instrucción store AL, @Mem[1001010001] (escribir en dirección 1001010001). La CPU escribe el byte 0000000010 en cachè. Se marcaría con un bit de “modificado” la línea de cachè 1 para que cuando sea reemplazada no se “machaque” con la nueva entrada sino que previamente sea reescrito el bloque en memoria principal (política “postescritura”) 01000100 00000000 00000000 01010001 00000010 01010000 00010100 11111101 - - - - - - - - - - - - - - - - - - - - 00000101 00000010 00000000 00000000Acierto de Cachè —————— 00010100 1111110100000010 01010000 00100010 0101000101000100 00000000 00000000000000000000000000000101 M A R MEMORIA Principal 0001001000 0001000100 0001001100 1001010000 …
  • 59. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 59 La memoria principal y sus parámetros fundamentales • 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 también 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 más ancho sea, más datos pueden enviarse en cada ciclo de reloj. • Bus de control: Hilos donde fluye la información de control para gobernar la lectura/escritura en memoria (IOW, IOR…), señales de reloj (Clk), señales de sincronización, alimentación (Vcc), tierra (ground)… 4.3 Organización del subsistema de memoria 4.3.3 La memoria principal y sus parámetros
  • 60. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 60 La memoria principal y sus parámetros fundamentales • Ancho de banda (MB/s) – Máxima cantidad de memoria que teóricamente podría obtenerse por segundo (se mide en MB/s). – P.e., la memoria DDR-200 (Double Data Rate) opera con un bus físico a 100 MHz (frecuencia base), pero tiene doble aprovechamiento de cada ciclo de reloj (de ahí el apellido “200”). Puesto que, además, su ancho del bus de datos es de 64 bits (8 bytes), es capaz de transmitir con un ancho de banda máximo de 100*106*2*8 = 1600 MB/s. Es por esto que a dichos módulos DDR-200 también se les conoce como PC-1600. – Hay también módulos DDR2, que trabajan al cuádruple de la frecuencia base, e incluso DDR3, que trabajan a ocho veces la frecuencia base. Así, algunos otros ejemplos de módulos de memoria serían: – DDR (doble de frecuencia base): • P.e., con 150 MHz de frec. base -> DDR-300 -> PC-2400 = 2400 MB/s – DDR2 (cuádruple de frecuencia base): • P.e., con 200 MHz de frec. base -> DDR2-800 -> PC2-6400 = 6400 MB/s – DDR3 (ocho veces la frecuencia base): • P.e., con 200 MHz de frec. base -> DDR3-1600 -> PC3-12800 = 12800 MB/s – Más ejemplos en http://es.wikipedia.org/wiki/Double_Data_Rate 4.3 Organización del subsistema de memoria 4.3.3 La memoria principal y sus parámetros
  • 61. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 61 Memoria secundaria • Tanto memorias cachè como memoria principal son estructuras de memoria volátiles → sus contenidos se pierden al apagar el ordenador. • Programas y datos deberían ser guardados en memorias no volátiles para volver a usarlos con posteridad. – Las memorias secundarias (discos duros, DVDs, CDs, …) mantienen la información aún cuando el ordenador está apagado. • Cuando ejecutamos un programa, este suele estar almacenado en el disco duro del ordenador y primero se carga en memoria RAM. De ahí, las instrucciones se llevan a la cachè conforme el procesador las va solicitando. 4.3 Organización del subsistema de memoria 4.3.4 Memoria secundaria
  • 62. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 62 Índice Índice 4.1. Estructura funcional de un ordenador 4.2. El procesador 4.2.1. Organización básica del procesador 4.2.2. Parámetros más importantes del procesador 4.3. Organización del subsistema de memoria 4.3.1. Concepto de jerarquía de memoria 4.3.2. ¿Qué es una memoria cachè? 4.3.3. La memoria principal y sus parámetros fundamentales 4.3.4. Memoria secundaria 4.4. Interconexión y dispositivos de E/S de un ordenador 4.4.1. Jerarquía de buses
  • 63. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 63 Jerarquía de buses • Concepto de bus: – Canal de comunicación compartido por varios dispositivos. – De forma simplificada podría verse como un conjunto de líneas a las que se conectan los dispositivos y que permiten que la información escrita por un dispositivo pueda ser leída por el resto. – En un instante determinado únicamente un dispositivo podría poner información sobre el bus. Además, de todos los dispositivos conectados hay uno que actúa como maestro de bus (tiene el control del bus y decide quién puede poner datos sobre el mismo). • La conexión de todos los componentes de un computador a través de un único bus plantea varios problemas: – Cuanto mayor es el número de dispositivos conectados, peor es el compartimiento temporal de las señales que viajan por el bus, lo que disminuye las prestaciones del mismo. – El bus se convierte en un cuello de botella ya que todas las transferencias de información pasan a través de él. – El bus debe soportar elementos de velocidades muy dispares, lo que implica un diseño de bus poco óptimo. 4.4 Interconexión y dispositivos de E/S de un ordenador 4.4.1 Jerarquía de buses
  • 64. Tema 4: Introducción a la Arquitectura … octubre de 2011 - 64 Jerarquía de buses • Para resolver los problemas anteriores los computadores modernos implementan una jerarquía de buses – El bus de mayor velocidad es al que estaría conectado el procesador y el bus inferior conectaría dispositivos de entrada/salida lentos – Los distintos buses se interconectan por medio de puentes (bridges) • Ejemplo: • En la práctica, la jerarquía de buses forma parte de una jerarquía de interconexión más general dentro del computador. 4.4 Interconexión y dispositivos de E/S de un ordenador 4.4.1 Jerarquía de buses