Está en la página 1de 64

Tema 4.

Introduccin a la Arquitectura
de Computadores

Departamento de Ingeniera y
Tecnologa de Computadores

octubre de 2011

ndice

ndice
4.1. Estructura funcional de un ordenador
4.2. El procesador
4.2.1. Organizacin bsica del procesador
4.2.2. Parmetros ms importantes del procesador

4.3. Organizacin del subsistema de memoria


4.3.1.
4.3.2.
4.3.3.
4.3.4.

Concepto de jerarqua de memoria


Qu es una memoria cach?
La memoria principal y sus parmetros fundamentales
Memoria secundaria

4.4. Interconexin y dispositivos de E/S de un ordenador


4.4.1. Jerarqua de buses

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 2

ndice

ndice
4.1. Estructura funcional de un ordenador
4.2. El procesador
4.2.1. Organizacin bsica del procesador
4.2.2. Parmetros ms importantes del procesador

4.3. Organizacin del subsistema de memoria


4.3.1.
4.3.2.
4.3.3.
4.3.4.

Concepto de jerarqua de memoria


Qu es una memoria cach?
La memoria principal y sus parmetros fundamentales
Memoria secundaria

4.4. Interconexin y dispositivos de E/S de un ordenador


4.4.1. Jerarqua de buses

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 3

4.1 Estructura funcional de un ordenador

Introduccin

Estructura funcional de un ordenador


Ordenador Mquina que procesa informacin y produce
unos resultados.
La informacin 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.

Datos
Dispositivos
de entrada

Resultados
Procesador

Dispositivos
de salida

Programa Conjunto de instrucciones que debe ejecutar el


computador sobre los datos para procesarlos y obtener un
resultado.
Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 4

4.1 Estructura funcional de un ordenador

Introduccin

Estructura funcional de un ordenador

Tradicionalmente, los computadores se dividen en 3 bloques:


1. Procesador o CPU (Central Processing Unit): Encargado de la ejecucin
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 seales (seales de control) que dicen lo que
hay que hacer para la ejecucin de las instrucciones.
Camino de datos: unidades funcionales que realizan las operaciones de las
instrucciones.
U.C

Hacia todos los


componentes

PC
MUX

UNIDAD de
CONTROL

MUX

DIR A
DIR B

DIR W

A
L
U
+2

MUX

Cdigo
operacin

Instrucciones de
memoria

MUX

Datos de lectura de
memoria

Direccin
Memoria de
instrucciones

Tema 4: Introduccin a la Arquitectura

Datos de escritura
en memoria

Direccin
Memoria
de Datos

RUTA de
DATOS
octubre de 2011 - 5

4.1 Estructura funcional de un ordenador

Introduccin

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
direccin nica.
En realidad, la memoria se organiza como una jerarqua con varios niveles,
cada uno con caractersticas diferenciadas (ver ms adelante).
Para leer hay que indicar la direccin de memoria (MAR, Memory Address
Register) y activar IOR., para escribir, adems de la direccin, hay que
proporcionar el dato (MDR, Memory Data Register) y activar IOW.

C.P.U.

M
M
A
A
R
R

DIRECCIONES
De MEMORIA

I I
O O
R W

DATOS

HILOS de CONTROL

MDR

BUS de DIRECCIONES
BUS de DATOS
BUS de CONTROL

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 6

4.1 Estructura funcional de un ordenador

Introduccin

Estructura funcional de un ordenador


3.- Interconexin y dispositivos de Entrada/Salida:

Dispositivos usados para interaccionar con el usuario del computador


(teclado, monitor, ratn, 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, ).

C.P.U.

DIRECCIONES
De MEMORIA
DIRECCIONES
De PUERTOS

M
M
A
A
R
R

DATOS

I
O
R

I
O
W

HILOS de CONTROL
FUND
COM AM ENTO
PUTA
DOR S de
ES

TARJETA de
VDEO

MDR

BUS de DIRECCIONES

BUS de DATOS

BUS de CONTROL

PUERTOS de

E/S

DISCO

DURO

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 7

ndice

ndice
4.1. Estructura funcional de un ordenador
4.2. El procesador
4.2.1. Organizacin bsica del procesador
4.2.2. Parmetros ms importantes del procesador

4.3. Organizacin del subsistema de memoria


4.3.1.
4.3.2.
4.3.3.
4.3.4.

Concepto de jerarqua de memoria


Qu es una memoria cach?
La memoria principal y sus parmetros fundamentales
Memoria secundaria

4.4. Interconexin y dispositivos de E/S de un ordenador


4.4.1. Jerarqua de buses

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 8

4.2 El procesador

Introduccin

El procesador
Dispositivo digital encargado de llevar a cabo las operaciones
indicadas por los programas software
Instruccin Conjunto de smbolos que representa una orden de
operacin o tratamiento para el computador.
Programa Conjunto ordenado de instrucciones que indican al
computador una tarea completa.
Puesto que todos sus componentes pueden ser incluidos en un
circuito integrado (microchip) se habla normalmente de
microprocesador.
Existen multitud de ejemplos, siendo los productos de AMD e Intel
los ms empleados en el mundo de los PCs.

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 9

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica 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 ejecucin al camino de datos.
La unidad de control se comunica con el camino de datos a travs de
las seales de control.
ID
Cdigo
operacin

Hacia todos
los
componentes
PC
MUX

MUX

DIR A
DIR B

DIR W

A
L
U

Data Write
MUX

+2

MUX

IR
Instrucciones de
memoria

Datos de lectura de
memoria

Direccin
Memoria de
instrucciones

Datos de escritura
en memoria

Tema 4: Introduccin a la Arquitectura

Direccin
Memoria
de Datos

octubre de 2011 - 10

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


De forma simplificada, la unidad de control dispone de los siguientes
elementos:
Registro Contador de Programa o PC (Program Counter): almacena la direccin de
memoria de la siguiente instruccin a ejecutar.
Registro de Instruccin o IR (Instruction Register): almacena la instruccin a
ejecutar. El cdigo de operacin (Op. CODE) indica la instruccin a ejecutar.
Decodificador de instrucciones o ID (Instruction Decoder): genera los valores de las
seales de control para la ejecucin de cada instruccin
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 seal.
Frecuencia de reloj (en GHz o miles de millones de ciclos por segundo) =
inversa del tiempo de ciclo.

Seal de reloj (CLK)

SEALES DE CONTROL

ID

CONTADOR de PROGRAMA

(PC)
a MAR
PC + 1

Op. CODE OPERANDOS REGISTRO de INSTRUCCIN (IR)

de MDR

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 11

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


Por su parte, dentro del camino de datos estara:
Unidad aritmtico-lgica o ALU (Arithmetic-Logic Unit): encargada de la
realizacin de operaciones aritmticas sobre nmeros enteros y las
operaciones lgicas.
Unidad de coma flotante o FPU (Floating-Point Unit): realiza las operaciones
aritmticas con operando de punto flotante.
Banco de registros:
Estructura que aglutina un nmero pequeo de registros .
Cada registro contiene un dato que puede ser operado por la ALU o FPU.
Para leer un registro hay que indicar el nmero del registro a leer y se obtiene
su contenido (puerto de lectura).
Para escribir un registro hay que indicar el nmero de registro a escribir y el
dato (puerto de escritura (DataWrite)).
2 Bancos de registros separados para enteros (registros de propsito general) y
punto flotante.
N de registro a leer por A

DIR A
Reg A

F
P
U

N de registro a leer por B

N de registro a escribir

DIR B

DIR W
Reg B

A
L
U

Dato ledo por


puerto A

Dato ledo por


puerto B

DataWrite

Dato a escribir

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 12

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador

Pasos para la ejecucin de una instruccin:


1. Bsqueda de la instruccin e incremento del PC:

Se lee la posicin de memoria cuya direccin aparece en el registro


contador de programa (PC) y el valor ledo se almacena en el
registro de instruccin (IR).
Se incrementa el PC en 2 (en esta arquitectura de ejemplo, las
instrucciones son todas de 2 Bytes) para que contenga la direccin
de la siguiente instruccin a ejecutar:
I.D.
Cdigo de
operacin

Hacia todos
los
componentes

PC
MUX

MUX

DIR A
DIR B

DIR W

A
L
U

Data Write
+2

MUX

MUX

IR
Instrucciones de
memoria

Datos de lectura de
memoria

Direccin
Memoria de
instrucciones

Tema 4: Introduccin a la Arquitectura

Datos de escritura
en memoria

Direccin
Memoria
de Datos

octubre de 2011 - 13

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


2. Decodificacin de la instruccin:

El decodificador de instrucciones toma los bits del registro IR que


identifican a la instruccin (cdigo de operacin).
En funcin del valor de dichos bits, genera los valores apropiados
para las seales de control.

I.D.

Hacia todos los


componentes

Cdigo
operacin

PC
MUX
DIR A
DIR B

MUX

DIR W

Data Write

A
L
U

B
+2

MUX

MUX

IR
Instrucciones de
memoria

Datos de lectura de
memoria

Direccin
Memoria de
instrucciones

Tema 4: Introduccin a la Arquitectura

Datos de escritura en
memoria

Direccin
Memoria de
Datos

octubre de 2011 - 14

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


3. Ejecucin de la instruccin:
Las unidades del camino de datos realizan las operaciones
indicadas por la unidad de control mediante las seales de
control.
Por ejemplo, la ALU podra tener que llevar a cabo una operacin de
suma, se leeran operandos del banco de registros y escribiran resultados
en el mismo
U.C.
Cdigo
operacin

Hacia todos
los
componentes
PC
MUX

MUX

DIR A
DIR B

DIR W

A
L
U

Data Write
+2

MUX

MUX

Instrucciones de
memoria

Datos de lectura de
memoria

Direccin
Memoria de
instrucciones

Tema 4: Introduccin a la Arquitectura

Datos de escritura
en memoria

Direccin
Memoria
de Datos

octubre de 2011 - 15

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


La arquitectura del repertorio de instrucciones (o ISA de
Instruction Set Architecture) es la interfaz entre la circuitera
y el nivel ms bajo de programacin.
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 posicin
de memoria especificada por la instruccin en un registro del
procesador. Las de almacenamiento (store) hacen lo contrario.

Instrucciones aritmtico-lgicas:
Instrucciones de suma, resta, and, or, comparacin,

Instrucciones de control:
Instrucciones de salto condicional,
subrutinas, vuelta de subrutinas,

incondicional,

llamadas

Instrucciones de punto flotante:


Instrucciones de suma, resta, multiplicacin, divisin, en punto
flotante.

Instrucciones de sistema:
Llamadas al SO, excepciones, interrupciones

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 16

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


Durante los aos 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 rpidamente.

Reduced Instruction Set Computer (RISC)


A da de hoy todos los procesadores se construyen basados en la
filosofa 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 ms bajo de programacin presentan un ISA CISC.
Se implementan como si tuvieran un ISA RISC.
Entre los pasos 1 y 2 se aade un nuevo paso en el que las
instrucciones CISC son traducidas a instrucciones RISC.

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 17

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


Seguiremos, paso a paso, la ejecucin 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 direccin),
registros A, B, C, D, de 8 bits, e instrucciones de 16 bits (2 bytes).
Direccin
(10 bits)

Instruccin decodificada

Instr. Codificada
(2 bytes)

0001001000

load A, @Mem[1001010000]
(Tipo: carga de memoria)

00000010 01010000

0001001010

load B, 11111101
(Tipo: carga de valor inmediato)

00010100 11111101

0001001100 add B, A
(A=A+B)
(Tipo: aritmtico lgica)

01000100 00000000

0001001110 store A, @Mem[1001010001]


(Tipo: almacenam. en memoria)

00100010 01010001

0001010000

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 18

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


1. Formato load de memoria: 4 bits cdigo operacin (0000) + 2 bits
registro destino (A=00, B=01, C=10, ) + 10 bits direccin memoria.
2. Formato load valor inmediato: 4 bits cdigo operacin (0001) + 2 bits
registro destino + 2 bits vacos + 8 bits valor inmediato.
3. Formato add: 4 bits cdigo operacin (0100) + 2 bits registro fuente
+ 2 bits registro destino + 8 bits vacos.
4. Formato store: 4 bits cdigo operacin (0010) + 2 bits registro
fuente + 10 bits direccin memoria.
Instruccin decodificada

Instr. Codificada

load A, @Mem[1001010000]
(Tipo: carga de memoria)

0000 00 1001010000

load B, 11111101
(Tipo: carga de valor inmediato)

0001 01 00 11111101

add B, A
(A=A+B)
(Tipo: aritmtico lgica)

0100 01 00 00000000

store A, @Mem[1001010001]
(Tipo: almacenam. en memoria)

0010 00 1001010001

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 19

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


Estructura general del procesador y
memoria:
ALU

+2
A

Reg. PC

8 bits

(10 bits)

MEMORIA
PRINCIPAL

(10

Banco de

.
.

Registros

Bits)

zona
instrucciones

OP Data/Dir

zona
datos

M
M

R
R

I.D.

O
R

I
O
W

I.R.

MDR

(16 bits)

BUS de DIRECCIONES

BUS de DATOS

Seal de
Reloj

BUS de CONTROL

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 20

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


Ejemplo: Inicialmente

00000101

00000000

+2

1001010000

0001001000

00000000

A
M

A
R
R

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

C
D

.
.

I.D.

00000000

0001000100

OP Data/Dir

O
R

I
O
W

I.R.

MDR

BUS de DIRECCIONES

BUS de DATOS

BUS de CONTROL

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 21

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


Ejemplo: Ciclo 1 Bsqueda de la
instruccin e incremento del PC

00000101

00000000

M
0

+2

0
0
A
1
0
0
R
1
0
0
0

A
B

0001001000

C
D

.
.

I.D.

1001010000

00000000

00000000

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

0001000100

OP Data/Dir

O
R

I
O

00000010

01010000

I.R.

MDR

BUS de DIRECCIONES

BUS de DATOS

BUS de CONTROL

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 22

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


Ejemplo: Ciclo 2, Decodificacin de la

instruccin.

00000101

00000000

M
0

+2

0
0
A
1
0
0
R
1
0
0
0

A
B

0001001010

C
D

load A, I.D.
@Mem[1001010000]

.
.

1001010000

00000000

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

0001000100

0000 00 1001010000

00000000

O
R

I
O

00000010

01010000

I.R.

MDR

BUS de DIRECCIONES

BUS de DATOS

BUS de CONTROL

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 23

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


Ejemplo: Ciclo 3 Ejecucin de la

instruccin.

00000101

00000000

M
1

+2
A

0000 0101 (5)

0001001010

C
D

load A, I.D.
@Mem[1001010000]

.
.

0
0
A
1
0
1
R
0
0
0
0

1001010000

00000000

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

0001000100

0000 00 1001010000

00000000

O
R

I.R.

I
O

00000101

MDR

BUS de DIRECCIONES

BUS de DATOS

BUS de CONTROL

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 24

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


Ejemplo: Ciclo 4 Bsqueda de la
instruccin e incremento del PC

00000101

00000000

M
0

+2
A

0000 0101 (5)

0001001010

C
D

.
.

I.D.

0
0
A
1
0
0
R
1
0
1
0

1001010000

00000000

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

0001000100

0000 00 1001010000

00000000

O
R

00010100

11111101

I
O
W

I.R.

MDR

BUS de DIRECCIONES

BUS de DATOS

BUS de CONTROL

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 25

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


Ejemplo: Ciclo 5, Decodificacin de la

instruccin.

00000101

00000000

M
0

+2
A

0000 0101 (5)

0001001100

C
D

I.D.
load B, 11111101

.
.

0
0
A
1
0
0
R
1
0
1
0

1001010000

00000000

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

0001000100

0001 01 00 11111101

00000000

O
R

00010100

11111101

I
O
W

I.R.

MDR

BUS de DIRECCIONES

BUS de DATOS

BUS de CONTROL

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 26

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


Ejemplo: Ciclo 6 Ejecucin de la

instruccin.

00000101

00000000

M
0

+2
0001001100

0000 0101 (5)

1111 1101 (-3)

C
D

I.D.
load B, 11111101

.
.

0
0
A
1
0
0
R
1
0
1
0

1001010000

00000000

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

0001000100

0001 01 00 11111101

00000000

O
R

I.R.

00010100

11111101

I
O
W

MDR

BUS de DIRECCIONES

BUS de DATOS

BUS de CONTROL

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 27

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


Ejemplo: Ciclo 7 Bsqueda de la
instruccin e incremento del PC

00000101

00000000

M
0

+2
0001001100

0000 0101 (5)

1111 1101 (-3)

C
D

.
.

I.D.

0
0
A
1
0
0
R
1
1
0
0

1001010000

00000000

00000000

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

0001000100

0001 01 00 11111101

O
R

I
O

01000100

00000000

I.R.

MDR

BUS de DIRECCIONES

BUS de DATOS

BUS de CONTROL

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 28

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


Ejemplo: Ciclo 8, Decodificacin de la

instruccin.

00000101

00000000

M
0

+2
0001001110

0000 0101 (5)

1111 1101 (-3)

C
D

add B,A
(AA+B)

.
.

I.D.

0
0
A
1
0
0
R
1
1
0
0

1001010000

00000000

00000000

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

0001000100

0100 01 00 00000000

O
R

I
O

01000100

00000000

I.R.

MDR

BUS de DIRECCIONES

BUS de DATOS

BUS de CONTROL

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 29

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


Ejemplo: Ciclo 9 Ejecucin de la
instruccin.
+

+2
0001001110

0000 0010 (2)

1111 1101 (-3)

C
D

.
.

add B,A I.D.


(AA+B)

00000101

00000000

M
0
0
0
A
1
0
0
R
1
1
0
0

1001010000

00000000

00000000

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

0001000100

0100 01 00 00000000

O
R

I
O

01000100

00000000

I.R.

MDR

BUS de DIRECCIONES

BUS de DATOS

BUS de CONTROL

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 30

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


Ejemplo: Ciclo 10 Bsqueda de la
instruccin e incremento del PC

00000101

00000000

M
0

+2
0001001110

0000 0010 (2)

1111 1101 (-3)

C
D

.
.

I.D.

0
0
A
1
0
0
R
1
1
1
0

1001010000

00000000

00100010

01010001

0001001100

01000100

00000000

0001001000

00000010

01010000

00010100

11111101

0001000100

0100 01 00 00000000

00000000

O
R

00100010

01010001

I
O
W

I.R.

MDR

BUS de DIRECCIONES

BUS de DATOS

BUS de CONTROL

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 31

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


Ejemplo: Ciclo 11, Decodificacin de

la instruccin.

00000101

00000000

M
0

+2
0001010000

0000 0101 (5)

1111 1101 (-3)

C
D

store A, I.D.
@Mem[1001010001]

.
.

0
0
A
1
0
0
R
1
1
1
0

1001010000

00000000

00100010

01010001

0001001100

01000100

00000000

0001001000

00000010

01010000

00010100

11111101

0001000100

0010 00 1001010001

00000000

O
R

00100010

01010001

I
O
W

I.R.

MDR

BUS de DIRECCIONES

BUS de DATOS

BUS de CONTROL

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 32

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


Ejemplo: Ciclo 12 Ejecucin de la
instruccin.

00000101

00000010

00000000

00000000

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

M
0

+2
0001010000

0000 0010 (2)

1111 1101 (-3)

C
D

store A, I.D.
@Mem[1001010001]

.
.

0
0
A
1
0
1
R
0
0
0
1

1001010000

0001000100

0010 00 1001010001

O
R

I.R.

I
O

00000010

MDR

BUS de DIRECCIONES

BUS de DATOS

BUS de CONTROL

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 33

4.2 El procesador

4.2.1 Organizacin bsica del procesador

Organizacin bsica del procesador


Recordar:
Tanto instrucciones como datos se almacenan como
secuencias de 0s y 1s 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, slo rota por las
instrucciones de salto.
A travs del cdigo de operacin la unidad de control
determina qu hay que hacer.

Los datos van de memoria al camino de datos y viceversa.

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 34

4.2 El procesador

4.2.2 Parmetros ms importantes del procesador

Parmetros ms importantes del procesador


Velocidad o frecuencia de reloj (GHz)
La ejecucin de cada instruccin supone la realizacin de
diversos pasos elementales.
Por ejemplo: Bsqueda de la instruccin, Decodificacin,
Ejecucin.

Cada uno de dichos pasos se ejecuta en uno o varios ciclos


de reloj (en nuestro ejemplo, slo en uno).
Ejemplo 1: Para el procesador anterior en el que las
instrucciones requieren 3 pasos para su ejecucin, cunto
tiempo tardara en ejecutarse un programa con 10 M
instrucciones si el procesador funciona a 2 GHz?
Sol:
10106 inst 310106 = 30106 de ciclos.
Dado que Tciclo = 1/(2109) = 510-10 seg.
Tiempo = 30106 510-10 = 15 mseg.
Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 35

4.2 El procesador

4.2.2 Parmetros ms importantes del procesador

Parmetros ms importantes del procesador


Velocidad o frecuencia de reloj (GHz)
Ejemplo 2: Calcular la frecuencia
procesador suponiendo que:

de

reloj

de

un

El procesador ejecuta 500 MIPS (milln de instrucciones por


segundo).
Cada instruccin 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 instruccin requiere 5
ciclos para su ejecucin, cul es su frecuencia MIPS?
Sol:
2x109 ciclos/seg.
Cada instruccin tarda 5 ciclos (2/5)x109 instr./seg.
400 MIPS.
Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 36

4.2 El procesador

4.2.2 Parmetros ms importantes del procesador

Parmetros ms importantes del procesador


Tecnologa de fabricacin:
Lo avanzado de una tecnologa de fabricacin se indica mediante
una medida relacionada tamao del elemento ms pequeo del
chip: el transistor.
Actualmente se mide en decenas de nanmetros (nm, la
millonsima parte de un milmetro (10-6 mm)).
El primer microprocesador de la era PC (Intel 8088) se fabric con
tecnologa de 3 micras (inclua 29.000 transistores).
Los procesadores de Intel y AMD actuales se fabrican con tecnologa
de 45 nm (o 0,045 micras) e incluyen ms de 750 M de transistores.

Mejoras en la tecnologa de fabricacin:


Permiten aumentar el nmero 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 ms difcil de
eliminar).
Se pueden incorporar nuevos elementos (memorias cach, ).
Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 37

ndice

ndice
4.1. Estructura funcional de un ordenador
4.2. El procesador
4.2.1. Organizacin bsica del procesador
4.2.2. Parmetros ms importantes del procesador

4.3. Organizacin del subsistema de memoria


4.3.1.
4.3.2.
4.3.3.
4.3.4.

Concepto de jerarqua de memoria


Qu es una memoria cach?
La memoria principal y sus parmetros fundamentales
Memoria secundaria

4.4. Interconexin y dispositivos de E/S de un ordenador


4.4.1. Jerarqua de buses

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 38

4.3 Organizacin del subsistema de memoria

Introduccin

Organizacin del subsistema de memoria


Hasta ahora hemos considerado la memoria del computador
como una gran estructura lgica 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 caractersticas diferentes en cuanto a costo, tiempo
de acceso y tamao.
El objetivo final es ofrecer al procesador una memoria lgica
con un tiempo de acceso muy bajo y un tamao muy grande,
todo dentro de un presupuesto razonable.
Analoga: Mesa en la biblioteca.
Una buena seleccin de libros en la mesa (memoria pequea y
rpida).
Gran probabilidad de encontrar lo buscado sin ir a la estantera.
Visin de memoria grande (biblioteca) a la que se accede rpido
(tiempo de coger un libro de la mesa).
Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 39

4.3 Organizacin del subsistema de memoria

4.3.1 Concepto de jerarqua de memoria

Concepto de jerarqua de memoria


Objetivo: Llevar zonas del programa y datos que tendrn ms
probabilidad de ser accedidas a una memoria ms rpida.
Dos propiedades de los programas hacen viable la
organizacin de la memoria del ordenador en una jerarqua
de varios niveles:
Localidad Temporal: cuando se consulta un dato, seguramente
ser consultado poco despus.
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 sern consultados poco despus.
Traemos un libro del estante los libros que estn prximos
versarn sobre el mismo tema.
Ejemplo en programas: instrucciones (salvo por los saltos, se
ejecutan secuencialmente tal como estn en memoria) y estructuras
de datos como las tablas.

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 40

4.3 Organizacin del subsistema de memoria

4.3.1 Concepto de jerarqua de memoria

Concepto de jerarqua de memoria


Jerarqua de memoria:
Menor capacidad,
Mayor coste,
Menor latencia

Registros
Memorias cach

Memoria Principal (RAM)

Memoria Secundaria

Mayor capacidad,
Menor coste,
Mayor latencia

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 41

4.3 Organizacin del subsistema de memoria

4.3.1 Concepto de jerarqua de memoria

Concepto de jerarqua de memoria


El objetivo de organizar la memoria de un
ordenador como una jerarqua de memorias es
aprovechar la localidad temporal y espacial:
Para aprovechar la Localidad Temporal de un programa:
Mantener los datos accedidos ms recientemente cerca del
procesador.

Para aprovechar la Localidad Espacial de un programa:


Mover bloques de varios datos contiguos a los niveles
prximos al procesador.

Consideracin: Las memorias ms rpidas son las


ms caras por bit y por tanto suelen ser de menor
capacidad.

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 42

4.3 Organizacin del subsistema de memoria

4.3.2 Qu es una memoria cach?

Qu es una memoria cach?


Definicin de cach: pequea memoria ultrarpida 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 tamao distinto.
En general, los niveles ms cercanos al procesador son los ms
rpidos y pequeos.
Las memorias cach se suelen denominar por el nivel en el que
se encuentran, siendo L1 el ms 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.
Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 43

4.3 Organizacin del subsistema de memoria

4.3.2 Qu es una memoria cach?

Qu es una memoria cach?


Funcionamiento Bsico:
Dir. Bloque
Dir. Palabra
Palabra cach Bloque
CPU

Memoria
Principal

El procesador manda al controlador de cach la


direccin de la palabra a buscar (por ejemplo,
para un load).
Caso de estar, el controlador de cach
suministra al procesador la palabra solicitada.

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 44

4.3 Organizacin del subsistema de memoria

4.3.2 Qu es una memoria cach?

Qu es una memoria cach?


Funcionamiento Bsico:
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):
C.P.U.

CACH

IR

DIRECCIONES
De MEMORIA

M
A
R

DATOS
HILOS de CONTROL

FUN
CO MDAMENT
PUTA OS de
DOR
ES

I I
O O
R W

TARJETA de
VDEO

MDR

BUS de DIRECCIONES
BUS de DATOS
BUS de CONTROL

El controlador de cach almacena el bloque y suministra al procesador la


palabra solicitada.

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 45

4.3 Organizacin del subsistema de memoria

4.3.2 Qu es una memoria cach?

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
Cmo se sabe si un dato est o no en cach?
Y si lo est, cmo se localiza?
Ejemplo 1: Dados los siguientes parmetros:
Tamao de las direcciones de memoria: 10 bits.
Cada direccin se refiere a un byte.

Cul es el tamao mximo que podra tener la memoria


principal en Bytes?
Sol:
Puesto que se dispone de 10 bits para codificar las direcciones, el
nmero mximo de direcciones (lo que limita el mximo de
posiciones direccionables) es 210 = 1024 = 1K.

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 46

4.3 Organizacin del subsistema de memoria

4.3.2 Qu es una memoria cach?

Qu es una memoria cach?


Ejemplo 2: Supongamos un ordenador con la memoria
principal del ejemplo anterior al que aadimos un nivel de
cach para datos e instrucciones de 64Bytes. Supongamos
tambin que los bloques que se transfieren entre memoria
cach y memoria principal son de 4 palabras de 4 bytes (16
bytes). Cuntos bloques caben en la cach? Cuntos
bloques habr en memoria principal?
Sol:
Puesto que en memoria principal hemos visto que haba 1k bytes, y
cada bloque est formado por 4 palabras de 32bits, el nmero de
bloques que hay en memoria principal es 1024/(4 * 4) = 64 bloques.
Por su parte, puesto que la cach tiene un tamao de 64B, el
nmero mximo de palabras de 32bits que podr almacenar es de
64/4 = 16. Y el nmero mximo 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 lnea de cach.

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 47

4.3 Organizacin del subsistema de memoria

4.3.2 Qu es una memoria cach?

Qu es una memoria cach?


Para la configuracin de los ejercicios anteriores,
cmo podramos asignar los bloques de memoria
a las lneas de cach?
Bloque 0

Lnea 0
Lnea 1
Lnea 2
Lnea 3
Cach
Tema 4: Introduccin a la Arquitectura

Bloque 1
Bloque 2
Bloque 3
Bloque 4
Bloque 5
Bloque 6
Bloque 7

Bloque 32

Bloque 60
Bloque 61
Bloque 62
Bloque 63
Memoria Principal
octubre de 2011 - 48

4.3 Organizacin del subsistema de memoria

4.3.2 Qu es una memoria cach?

Qu es una memoria cach?


O lo que es lo mismo, los bits menos significativos de la
direccin de bloque nos indican la lnea de cach donde debe
ir cada bloque.
Puesto que varios bloques pueden ir a la misma lnea de
cach, cmo sabemos si lo que hay en cach es el bloque
que buscamos?
Adems del bloque de datos, cada lnea de cach almacena una
etiqueta (los bits ms significativos de la direccin del bloque) y
un bit de validez (indica si hay datos vlidos en la lnea).

Ejemplo 3: Para la configuracin del sistema de memoria del


ejercicio anterior, cmo se distribuyen los 10 bits de la
direccin de memoria desde el punto de vista de la cach?
10 bits
Etiqueta (4 bits)

ndice (2 bits) Desplazam. (4 bits)

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 49

4.3 Organizacin del subsistema de memoria

4.3.2 Qu es una memoria cach?

Qu es una memoria cach?


Para el ejemplo del apartado 4.2.1, cules de los
accesos a memoria encontraran la informacin en
cach?
Inicialmente:
Cach
Etiqueta V
Lnea 0:

0000

Lnea 1:

0000

Lnea 2:

0000

Lnea 3:

0000

Datos

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 50

4.3 Organizacin del subsistema de memoria

4.3.2 Qu es una memoria cach?

Qu es una memoria cach?


Ciclo 1: bsqueda de instr. en
0001001000 0001
Etiqueta

00
ndice

Cach
Etiqueta V Datos
0000

1000
Despl.

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 lnea de cach 0
(suponemos bus de datos de 32 bits
= 4 bytes por acceso)

MEMORIA Principal

!Fallo
0000

0
00000101

00000000

00000000

00000000

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

1001010000

0000

A
R

0000

0001000100

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 51

4.3 Organizacin del subsistema de memoria

4.3.2 Qu es una memoria cach?

Qu es una memoria cach?


Ciclo 1: bsqueda de instr. en
0001001000 0001

00

Etiqueta

1000

ndice

Despl.

Cach
Etiqueta V Datos
0001

0000

01000100

00000000

00100010

01010001

00000010

01010000

00010100

11111101

Ciclo 1:

Se activa el bit de
validez y se colocan los 4 bits ms
significativos como etiqueta.
La CPU toma los 16 bits de la
instruccin load A, @Mem[...]
(dirs. 0001001000 y 0001001001).
MEMORIA Principal

0
M
00000101

00000000

00000000

00000000

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

1001010000

0000

A
R

0000

0001000100

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 52

4.3 Organizacin del subsistema de memoria

4.3.2 Qu es una memoria cach?

Qu es una memoria cach?


Ciclo 3: Ejecucin de instr.
1001010000 1001

01

Etiqueta

0000

ndice

Despl.

Cach
Etiqueta V Datos
0001

0000

00000000

00000000

01010001

00000010

01010000

00010100

11111101

load A, @Mem[1001010000]. El bit


de validez provoca un fallo de
cach. La cach deber traer el
correspondiente
bloque
para
rellenar toda la lnea de cach 1.
MEMORIA Principal

0
M

!Fallo
0000

01000100

Ciclo 3: Instruccin

00000101

00000000

00000000

00000000

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

1001010000

A
R

0000

0001000100

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 53

4.3 Organizacin del subsistema de memoria

4.3.2 Qu es una memoria cach?

Qu es una memoria cach?


Ciclo 3: bsqueda de datos en Ciclo 3:
1001010000 1001

01

Etiqueta

0000

ndice

Despl.

Cach
Etiqueta V Datos
0001

10 0 1

01000100

00000000

00000000

01010001

00000010

01010000

00010100

11111101

00000101

00000000

00000000

Se activa el bit de
validez y se colocan los 4 bits ms
significativos como etiqueta.
La CPU toma los 8 bits del dato en
1001010000 (instruccin load A,
@mem[1001010000]).
MEMORIA Principal

00000000

M
00000101

00000000

00000000

00000000

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

1001010000

0000

A
R

0000

0001000100

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 54

4.3 Organizacin del subsistema de memoria

4.3.2 Qu es una memoria cach?

Qu es una memoria cach?


Ciclo 4: bsqueda de instr. en
0001001010 0001

00

Etiqueta

1010

ndice

Despl.

Cach
Etiqueta V Datos
0001

Acierto
de Cach

1001

01000100

00000000

00000000

01010001

00000010

01010000

00010100

11111101

00000101

00000000

00000000

00000000

Ciclo 4:

El campo ndice busca


en la lnea 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 lnea de cach son
los que se corresponden. (Dirs
0001001010
y
0001001011
instruccin load B, 11111101).
MEMORIA Principal
M
00000101

00000000

00000000

00000000

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

1001010000

0000

A
R

0000

0001000100

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 55

4.3 Organizacin del subsistema de memoria

4.3.2 Qu es una memoria cach?

Qu es una memoria cach?


Ciclo 7: bsqueda de instr. en
0001001100 0001

00

Etiqueta

1100

ndice

Despl.

Cach
Etiqueta V Datos
0001

Acierto
de Cach

1001

01000100

00000000

00000000

01010001

00000010

01010000

00010100

11111101

00000101

00000000

00000000

00000000

Ciclo 7:

(Instruccin add B,A).


Bit de validez = 1 en la lnea de
cach 0, el campo etiqueta coincide
con
los
cuatro
bits
ms
significativos de la direccin los
datos en la lnea 0 de cach son
vlidos. Si el campo etiqueta no
coincidiera, habra que hacer un
reemplazo de la lnea de cach 0.
MEMORIA Principal
M
00000101

00000000

00000000

00000000

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

1001010000

0000

A
R

0000

0001000100

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 56

4.3 Organizacin del subsistema de memoria

4.3.2 Qu es una memoria cach?

Qu es una memoria cach?


Ciclo 10: bsqueda de instr. en Ciclo 10:
0001001110 0001

00

Etiqueta

1110

ndice

Despl.

Cach
Etiqueta V Datos
0001

Acierto
de Cach

1001

01000100

00000000

00000000

01010001

00000010

01010000

00010100

11111101

00000101

00000000

00000000

00000000

Bit de validez = 1 en
la lnea de cach 0, el campo
etiqueta coincide con los cuatro bits
ms significativos de la direccin de
memoria los datos en la lnea de
cach 0 son vlidos. La CPU lee el
byte con dirs. = 0001001110 y
0001001111
de
la
cach
(instruccin store AL, @Mem[]).
MEMORIA Principal

M
00000101

00000000

00000000

00000000

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

1001010000

0000

A
R

0000

0001000100

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 57

4.3 Organizacin del subsistema de memoria

4.3.2 Qu es una memoria cach?

Qu es una memoria cach?


Ciclo 12: ejecucin de instr.
1001010001 1001

01

Etiqueta

0001

ndice

Despl.

Cach
Etiqueta V Datos
0001

1001

Acierto
de Cach

0000

01000100

00000000

00000000

01010001

00000010

01010000

00010100

11111101

00000101

00000010

00000000

00000000

Ciclo 12:

Instruccin store AL,


@Mem[1001010001]
(escribir
en
direccin 1001010001). La CPU escribe
el byte 0000000010 en cach. Se
marcara con un bit de modificado la
lnea 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
(poltica postescritura)

MEMORIA Principal
M
00000101

00000000

00000000

00000000

0001001100

01000100

00000000

00100010

01010001

0001001000

00000010

01010000

00010100

11111101

1001010000

A
R

0000

0001000100

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 58

4.3 Organizacin del subsistema de memoria

4.3.3 La memoria principal y sus parmetros

La memoria principal y sus parmetros 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 tambin las direcciones de
puertos). Dependiendo de su ancho (en bits) se podr
direccionar una determinada cantidad de memoria.
Bus de datos: parte encargada de transmitir los datos.
Cuanto ms ancho sea, ms datos pueden enviarse en cada
ciclo de reloj.
Bus de control: Hilos donde fluye la informacin de control
para gobernar la lectura/escritura en memoria (IOW, IOR),
seales de reloj (Clk), seales de sincronizacin, alimentacin
(Vcc), tierra (ground)

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 59

4.3 Organizacin del subsistema de memoria

4.3.3 La memoria principal y sus parmetros

La memoria principal y sus parmetros fundamentales


Ancho de banda (MB/s)
Mxima cantidad de memoria que tericamente podra obtenerse
por segundo (se mide en MB/s).
P.e., la memoria DDR-200 (Double Data Rate) opera con un bus fsico a
100 MHz (frecuencia base), pero tiene doble aprovechamiento de cada
ciclo de reloj (de ah el apellido 200). Puesto que, adems, su ancho
del bus de datos es de 64 bits (8 bytes), es capaz de transmitir con un
ancho de banda mximo de 100*106*2*8 = 1600 MB/s. Es por esto que
a dichos mdulos DDR-200 tambin se les conoce como PC-1600.
Hay tambin mdulos DDR2, que trabajan al cudruple de la frecuencia
base, e incluso DDR3, que trabajan a ocho veces la frecuencia base. As,
algunos otros ejemplos de mdulos de memoria seran:
DDR (doble de frecuencia base):
P.e., con 150 MHz de frec. base -> DDR-300 -> PC-2400 = 2400 MB/s

DDR2 (cudruple 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

Ms ejemplos en http://es.wikipedia.org/wiki/Double_Data_Rate
Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 60

4.3 Organizacin del subsistema de memoria

4.3.4 Memoria secundaria

Memoria secundaria
Tanto memorias cach como memoria principal son
estructuras de memoria voltiles sus contenidos se pierden
al apagar el ordenador.
Programas y datos deberan ser guardados en memorias no
voltiles para volver a usarlos con posteridad.
Las memorias secundarias (discos duros, DVDs, CDs, )
mantienen la informacin an cuando el ordenador est apagado.

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.

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 61

ndice

ndice
4.1. Estructura funcional de un ordenador
4.2. El procesador
4.2.1. Organizacin bsica del procesador
4.2.2. Parmetros ms importantes del procesador

4.3. Organizacin del subsistema de memoria


4.3.1.
4.3.2.
4.3.3.
4.3.4.

Concepto de jerarqua de memoria


Qu es una memoria cach?
La memoria principal y sus parmetros fundamentales
Memoria secundaria

4.4. Interconexin y dispositivos de E/S de un ordenador


4.4.1. Jerarqua de buses

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 62

4.4 Interconexin y dispositivos de E/S de un ordenador

4.4.1 Jerarqua de buses

Jerarqua de buses
Concepto de bus:
Canal de comunicacin compartido por varios dispositivos.
De forma simplificada podra verse como un conjunto de lneas a
las que se conectan los dispositivos y que permiten que la
informacin escrita por un dispositivo pueda ser leda por el
resto.
En un instante determinado nicamente un dispositivo podra
poner informacin sobre el bus. Adems, de todos los
dispositivos conectados hay uno que acta como maestro de bus
(tiene el control del bus y decide quin puede poner datos sobre
el mismo).

La conexin de todos los componentes de un computador a


travs de un nico bus plantea varios problemas:
Cuanto mayor es el nmero de dispositivos conectados, peor es
el compartimiento temporal de las seales 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 informacin pasan a travs de l.
El bus debe soportar elementos de velocidades muy dispares, lo
que implica un diseo de bus poco ptimo.

Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 63

4.4 Interconexin y dispositivos de E/S de un ordenador

4.4.1 Jerarqua de buses

Jerarqua de buses
Para resolver los problemas anteriores los computadores modernos
implementan una jerarqua de buses
El bus de mayor velocidad es al que estara conectado el procesador y el
bus inferior conectara dispositivos de entrada/salida lentos
Los distintos buses se interconectan por medio de puentes (bridges)

Ejemplo:

En la prctica, la jerarqua de buses forma parte de una jerarqua de


interconexin ms general dentro del computador.
Tema 4: Introduccin a la Arquitectura

octubre de 2011 - 64

También podría gustarte