Apuntes Completos Ingeniería De Computadores I PDF

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 PDF
Total Downloads 8
Total Views 41

Summary

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...


Description

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) 410 palabras / seg 7 C) 10 palabras / seg

B) 510 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.510 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...


Similar Free PDFs