Title | Apuntes Completos Ingeniería De Computadores I |
---|---|
Course | Ingeniería de Computadores I |
Institution | UNED |
Pages | 158 |
File Size | 12.5 MB |
File Type | |
Total Downloads | 8 |
Total Views | 41 |
Estructura de un computador ESTRUCTURA DE UN COMPUTADOR RELOJ CPU RELOJ Unidad de control ULA Onda cuadrada Interna o principal ESTRUCTURA MEMORIA Secundaria Banco de registros A semiconductores Acceso Capacidad limitada Trabajo solo con la CPU ancho pal. pal 2 bus dir Lectura t ciclo lect Operacion...
Estructura básica de un computador
ESTRUCTURA BÁSICA DE UN COMPUTADOR
RELOJ
− CPU
Interna o principal − MEMORIA
Lectura – t ciclo lect
ESTRUCTURA
Operaciones
Nº operandos Operador (ALU)
Especialidad
− ULA Operaciones
Escritura- t ciclo escrit
t de ciclo = t entre 2 accesos
Monádicos Diádicos Generales Específicos Lógicas Aritméticas Circulares
Página 1
Estructura básica de un computador
− Nivel
Señales de control
Puertas triestado Señales de control operador Señales RD/WR memoria
− Pulso (Flanco) (Carga de un registro)
Página 2
Estructura básica de un computador
SEÑALES DE CONTROL SEÑAL
FUNCIÓN Selección de operación en la ALU (4 bits) Selección del operando 1 de la ALU (1⇒ desde el Acumulador AC; 0 ⇒ desde bus datos BD) Selección del operando 2 de la ALU (1 ⇒ desde bus datos BD; 0⇒ desde el Banco de Registros BR) TAC Triestado para el acceso al bus de datos BD desde el Acumulador AC. Triestado para el acceso al bus de direcciones BA desde el Acumulador AC. TD SBRS Selección del registro de salida del Banco de Registros BR. SBRE Selección del registro de entrada al Banco de Registros BR. FBR Flanco de escritura WR al Banco de Registros BR. FAC Flanco de escritura WR al Acumulador AC. Flanco de escritura WR al Registro de Estados (Flags). FE Reset del contador de fases CF. PO Triestado para el acceso al bus de direcciones BA desde el Contador de Programa CP. TP ICP Incremento del Contador de Programa CP. Flanco de escritura WR al Contador de Programa CP. FP FS Flanco de escritura WR al Stack Pointer SP desde el Bus de Direcciones BA. SP ICP Incrementar el Stack Pointer SP. Stack DCP Decrementar el Stack Pointer SP. Pointer TS Triestado para el acceso al bus de direcciones BA desde el Stack Pointer SP. Flanco de escritura al Registro de Instrucciones RI. FI Triestado para el acceso al bus de datos BD desde el Registro de Instrucciones RI. TI Flanco de escritura WR al Registro de Direcciones RD de Memoria desde bus de direcciones FD BA. FEM Flanco de escritura WR al Registro de Memoria RM desde el interior de la Memoria. FLM Flanco de lectura RD al Registro de Memoria RM desde el interior de la Memoria. TRM Triestado para el acceso al bus de datos BD desde el Registro de Memoria RM. Contador de Fases, se incremente para realizar cada una las operaciones elementales que CF componen una instrucción.
OP X1 X2
Fases en la ejecución de una instrucción
Notación
− − −
− Búsqueda ⇒ Común a todas las instrucciones. − Ejecución de la instrucción ⇒ Particular para cada instrucción.
A → B ⇒ Transferencia de A a B (A) ⇒ El contenido de A. Operadores constantes precedidos por # ⇒ MOV #21,R5 ⇒ Mover el valor 21 a R5
Página 3
Estructura básica de un computador
a) Fase de búsqueda (Común para todas las operaciones): Orden 1.-
(CP) → BA
TP
(BA) → RD
FD
2.- Lectura de memoria 3.-
Señal accionada
Operación
(RM) →BD
4.- Incrementar PC (*)
L TRM ICP
(*) El incremento del PC se realiza al mismo tiempo que se lee la memoria y se pasa el contenido de dicha memoria al Bus de Datos
Página 4
Estructura básica de un computador
b) Fase de ejecución (Particular para cada instrucción):
Ejemplo: ADDA R3 ( Suma el contenido de AC + R3 y el resultado se guarda en AC) ADDA R3 ⇒ (AC)+(R3) → AC Orden
Operación
Señal accionada
5.- Decodifica la instrucción 6.- (AC)+(R3) →AC (AC) → DATO 1
X1= 1
(R3) → DATO 2
X2 = 0 SBRS = 3
(DATO 1) + (DATO 2)
OP = Suma
(RESULTADO) → AC
FAC
Decodificación
Flags de la suma
Reset CF
Página 5
Estructura básica de un computador
Ejemplo: MOV #21,R5 (Mover la cte 21 a R5) MOV #21,R5 ⇒ 21 → R5
⇒
Dos posiciones de memoria 1ª 2ª
MOV Dato → R5 Dato ⇓
2 Fases de búsqueda: 1 para el código operación 1 para el operando (21) 1 Fase de ejecución
Página 6
Estructura básica de un computador
2005 Septiembre. Sistemas (53). A.3 Una memoria que está estructurada en palabras de 16 bit tiene una capacidad de 64kbits. ¿Cuántas palabras tiene? a)
65536
b) 4000
c)
64000
d) 4096
2005 Septiembre. Sistemas (53). A.15 Un computador cuya frecuencia es de 40MHz tarda en ejecutar una instrucción 16 ciclos de reloj. ¿Cuánto tarda en ejecutar la instrucción? a)
400ns
c)
b) 400μs
25ns
d) 25μs
2005. 2ªSemana. Arquitectura de Ordenadores (62). D.18 ¿Cuál de lo siguientes elemento principales de un computador digital es el encargado de interpretar y secuenciar las instrucciones? a)
La unidad de entrada-salida
b)
La unidad aritmético lógica
c)
La unidad de control
d)
La unidad de memoria
2005. 1ª Semana. Gestión (54). A.5 Las señales de nivel no se utilizan para: a) b) c) d)
Activar las señales de puertas triestado que transfieren el contenido de registros a buses. Activar las señales de control del operador. Generar las señales de lectura y escritura en memoria. Cargar un registro con la información presente en las entradas del mismo.
2005. 2ª Semana. Gestión (54). A.517 En relación con los anchos de un computador, puede afirmarse que: a) b) c) d)
El ancho de palabra de la memoria es el número de bytes que maneja en paralelo el computador El ancho de palabra de un computador es el número de bits que maneja en paralelo el computador. El ancho de palabra de un computador es el número de bits que maneja en serie el computador. El ancho de palabra de la memoria es el número de registros individuales que componen la memoria.
Página 7
Unidad de memoria
UNIDAD DE MEMORIA Conceptos El objetivo de cualquier diseño de memoria es proporcionar la capacidad de almacenamiento a un coste razonable y con una velocidad aceptable.
Localización
Memoria interna del procesador Memoria principal Memoria externa o secundaria
Capacidad: Se mide en palabras. Capacidad total= nº_palabras×(nº_bits/palabra) Unidad de transferencia: Es la cantidad mínima de transferencia de información entre la memoria y otro dispositivo.
Conceptos:
Métodos de acceso
Aleatorio Secuencial Directo Asociativo
Tipos físicos
A semiconductor Magnéticas Ópticas Magneto-ópticas
Jerarquía de las memorias: Parámetros en la jerarquía de las memorias
Capacidad Velocidad Coste por bit Frecuencia de acceso Alterabilidad
Características físicas
Nivel 0 Nivel 1 Nivel 2 Nivel 3 Nivel 4
Registros de la CPU Mem. Caché Mem. principal Discos magnéticos Cintas magnéticas
Permanencia de la información
JERARQUIA Capacidad Velocidad +
Lectura destructiva Volatilidad Almacenamiento estatático/dinámico
Coste/bit +
Frecuencia acceso +
+ Página 1
Unidad de memoria Velocidad: En función del tiempo en acceder a la información tC tA
tA: tiempo de acceso = tiempo en leer/escribir una palabra tC: tiempo de ciclo = tiempo entre dos lecturas consecutivas Velocidad de transferencia = nº de palabras/segundo 1/fA (fA= frecuencia de acceso)
tn tA N p
Acceso aleatorio fA = 1/ tC
n Acceso no aleatorio t n t A p
= tiempo lec/esc n bits = tiempo acceso medio = nº bits a transferir = velocidad de transferencia
Principio de localidad referencia: se entiende como el índice de probabilidad de uso de la información que está en memoria
Localidad temporal : tendencia a reutilizar los datos e instrucciones utilizados recientemente.
Localidad espacial : tendencia a referenciar las instrucciones y datos próximos a los que están utilizando
4.- ¿Cuál es la frecuencia de acceso de una memoria de acceso aleatorio con un tiempo de acceso de 100 nseg y un tiempo de ciclo de 200 nseg? 6
6
A) 410 palabras / seg 7 C) 10 palabras / seg
B) 510 palabras / seg D) Ninguna de las anteriores
Septiembre 1999 – Original 1.- ¿Cuál es la frecuencia de acceso de una memoria de acceso aleatorio con un tiempo de acceso de 80 nseg. y un tiempo de ciclo de 100 nseg.? 7
-1
A) 10 seg
-7
B) 10 seg.
6
-1
C) 12.510 seg
D) Ninguna de las anteriores
Página 2
Unidad de memoria
Memorias a semiconductor
Bus direcciones
SC (Selec chip)
Circuito integrado de memoria (CIM)
Bus datos
R /W
Ciclo de escritura
Ciclo de lectura
Celda básica Selección
Entrada
Celda básica
Salida
R /W
Página 3
Unidad de memoria Organización interna
Tipos
2D 2½D Organización 2D
Página 4
Unidad de memoria Organización 2 ½ D
Página 5
Memorias caché
MEMORIAS CACHE Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal. Tiempo ciclo memoria > tiempo de ciclo del procesador la CPU debe esperar a la memoria en los accesos a ésta
Mem. Caché acelera el proceso
Conceptos: Espacial Temporal
Principios de localidad de referencia
Mem. Ppal. Mp
Mem. caché Mca
CPU
Bloque = Cantidad mínima de información que puede estar presente o no en Mp y Mca Acierto = Cuando el dato solicitado por la CPU está en la Mca Fallo = Cuando el dato solicitado por la CPU no está en la Mca Organización: Mp n bits en el bus de dir 2n palabras M bloques de k palabras por bloque
M
2n k
Mca c bloques de k palabras cada uno y en cada dirección una etiqueta indicativa de la dirección
M >> c
Página 1
Memorias caché - Capacidad
1K, 4K, 16K, 32K
- Organización
Directa Totalmente asociativa Asociativa por conjuntos
- Mecanismo de búsqueda
Por demanda Con anticipación Selectiva
- Algoritmo reemplazamiento
Utilizada menos recientemente (LRU) Más antigua (FIFO) Utilizada menos frecuentemente (LFU) Aleatorio
- Estrategia escritura
Escritura inmediata Post-escritura
- Tamaño de bloque - Número de cachés
4, 8, 16, 32.. palabras Número de niveles
Criterios de diseño
Rendimiento de una memoria caché: Tasa de acierto
h
aciertos aciertos h 0,9 aciertos fallos accesos
principio de localidad
Tasa de fallos = 1-h Tiempo acceso medio (tau)
ta h tca 1 h tp
tca= t. Acces. Medio a Mca tp = t. Acces. Medio a Mp
tca 0,1 0,5 tp
lambda = índice de mejora =
tp 1 ta 1 h 1
Capacidad de la mem. Caché
Tamaño grande
Lógica más compleja Más lenta Mayor espacio físico
Equilibrio 1K 512K
Tamaño pequeño Mayor cantidad de fallos
Página 2
Memorias caché
ORGANIZACIÓN DE LA MEMORIA CACHÉ Establecer la función de correspondencia que asigna a los bloques de la memoria principal en las posiciones definidas en la memoria caché
Técnicas
Directa Totalmente asociativa Asociativa por conjuntos
Parámetros del ejemplo a utilizar en las descripciones: a) Ancho de palabra de datos 16 bits b) Memoria caché 512 B = 29 Bytes c) Tamaño de bloque k = 8 d) Memoria principal = 32 KB Consecuencias: 32 KB = 215 Bus de direcciones = 15 bits A0 a A14 512B = 29 Bus direcciones de la caché 9 bits 512B y k = 8 Nº bloques = 512/8 = 64 bloques k = 8 23 3 bits 64 bloques 26 6 bits CORRESPONDENCIA DIRECTA Cada bloque de la memoria principal tiene su posición en la caché y SIEMPRE en el mismo sitio MEMORIA PRINCIPAL bloque 0
MEMORIA CACHE
bloque 1 bloque 2
etiqueta 0
bloque 0
etiqueta 1
bloque 1
etiqueta 2
bloque 2
etiqueta C-1
bloque C-1
bloque 3
bloque C-1 bloque C bloque C+1 bloque C+2
bloque M-1
Ventajas
Simple Económica
Inconveniente: Cada bloque tiene asignada una posición fija en la memoria caché ante continuas referencias a palabras de dos bloques con la misma localización en caché, continuos fallos habiendo sitio libre en la caché
Página 3
Memorias caché Esquema de la caché
MEMORIA CACHE Etiq ueta (6)
MEMORIA PRINCIPAL Dirección hexadecim al 0000h
Dato (16) 000
0001h
001
010
k64
0002h
010
111
k0
k128 k448
111
000
000
001
k1
001
010
k65
010
b1
C.P.U.
000
001
b0
BUS DE DATOS (DB0 a DB15)
Bloques memoria
k0
111
k449
111
BUS DE DATOS (DB0 a DB15)
111 000
k1
k129
k63
001 010
b63
k127 k191 111
k511
000
111
001 010
k511 7FFFh BUS DE DIRECCIONES (A0 a A14)
A14
A13
A12
A11
Etiqueta (6)
111
CONTROLADOR DE CACHE
A10 A9 A8
A7 A6 A5 A4 A3 A2 A1 A0 Número de bloque (6)
Dirección de palabra en el bloque
Funcionamiento: Principios: Palabras por bloque 8 3 bits (b0 a b2) Nº bloques 64 6 bits Etiqueta = (bus direcc) – (bits de bloques) -- (bits palab/bloque) 15 – 6 – 3 = 6 Ancho de la mem. caché = Ancho palabra + ancho etiqueta 16 + 6 = 22 bits 1. La CPU entrega la dirección de mem. al controlador de caché. 2. El ctrl. de caché aísla de los bits b3 a b8 y con ellos apunta al bloque correspondiente. 3. Comprueba si la etiqueta en caché = bits correspondientes a etiqueta en bus de direcciones (b9 a b14) 3.a Si iguales acierto, con lo que coge de los bits b15 a b0 (dato) de la caché y los saca al bus de datos de la CPU. 4.a Fin de acceso. 4.b Si distintos Fallo 5.b El ctrl. de caché transmite bloque completo desde mem. ppal. a mem. caché 5.b.1 El ctrl. Caché pone a 000 los bits de dir. de palabra (b2 a b0). 5.b.2 El ctrl. Caché apunta al bloque indicado por bus dir. (b3 a b8). 5.b.3 El ctrl. Caché lleva de la dir. b14 b13 b12 ........b3 0 0 0 de mem. ppal. a la caché al bloque formado por los bits b8 a b3 en la dir. de palabra del bloque 0 0 0 (palabra 000 del bloque). Incrementa un contador y lleva de la dir. b14 b13 b12 ........b3 0 0 1 de mem. ppal. a la caché al bloque formado por los bits b8 a b3 en la dir. de palabra del bloque 0 0 1 (palabra 001 del bloque). Así sucesivamente hasta la palabra b14 b13 b12 ........b3 1 1 1 (palabra 7 del bloque) . Escribiendo en la zona de la etiqueta el valor de los bits b14 a b9. 5.b.4 Una vez ha cargado el bloque completo (8 palabras) Hay acierto y se salta al paso 4-a.
Página 4
Memorias caché Ejemplo con los parámetros indicados Se supone que todavía no ha habido ningún acceso Mem. caché vacía todo con 0 Se quiere acceder al contenido de la posición mem. 025FH
025FH = b14 0
b13 0
b12 b11 0 0 etiqueta
Bits dir. palabra = 3
b10 0
b9 1
b8 0
b7 0
Bit bloque = 6
b6 b5 1 0 Nº bloque
b4 1
Bits etiqueta = 6
MEMORIA CACHE Eti q u eta (6)
b3 1
MEMORIA PRINCIPAL Dirección hexadecimal 0000h
000
Be lm oo qr ui ea s m 000
001
k0
0001h
001
010
k64
0002h
010
b0
k0
k128 k448
111
111
000
000
001 010
b1
k1
001
k65
010
k1
k129
C.P.U.
b1 b0 1 1 Dir. palabra
Ancho palabra = 16
Dato (16)
BUS DE D ATOS (DB 0 a DB15 )
b2 1
k449
111
111
BUS DE D ATOS (DB 0 a DB15 )
111 000
k63
001
k127
010
b63 k191 111
k511
000
111
001 010
k511 7FFFh BUS DE DIRECCIONES (A 0 a A14)
A14
A13
A12
A11
CONTROLADOR DE CACHE
A10 A9
A7 A6 A5 A4 A3 A2 A1 A0
A8
Etiqueta (6)
111
Dirección de palabra en el bloque
Número de bloque (6)
El ctrl. de la caché mira si la etiqueta del bloque: 0
0
1
0
1
1
0
0
0
0
0
1
Es:
Como es el primer acceso la mem. caché contiene todo 0 hay primer fallo.
0
El ctrl. de caché va a direccionar a la mem. ppal. a la dirección 0
0
0
0
1
0
0
1
0
1
1
0
0
0
y llevará el contenido al bloque 0
0
1
0
1
1
0
1
dirección 0
0
0
escribiendo la etiqueta 0
0
0
0
Repitiendo el proceso hasta:
Página 5
Memorias caché
El ctrl. de caché va a direccionar a la mem. ppal. a la dirección
0
0 0 0 0 y llevará el contenido al bloque
1 0
0 0
0 1
1 0
0
1
1
1
0
1
1
1
1
1
dirección 1
1
1
escribiendo la etiqueta 0
0
0
0
Con lo que el bloque completo estará escrito en la mem. caché , existiendo ahora acierto y presentando en el bus de datos el contenido de la mem...