• No se han encontrado resultados

Organización del Organización del Computador Computador

N/A
N/A
Protected

Academic year: 2022

Share "Organización del Organización del Computador Computador"

Copied!
42
0
0

Texto completo

(1)

Organización del Organización del

Computador Computador

Memorias

Memorias

(2)

Jerarquía de las memorias

Jerarquía de las memorias

(3)

Jerarquía de memorias en un Jerarquía de memorias en un

Pentium

Pentium

(4)

Métricas de las memorias Métricas de las memorias

Capacidad de almacenamiento: Capacidad de almacenamiento: en bytes en bytes o múltiplos (kB, MB, TB)

o múltiplos (kB, MB, TB)

Tiempo de acceso: Tiempo de acceso: en segundos o en segundos o submúltiplos (ns, ms)

submúltiplos (ns, ms)

Velocidad de tranferencia de datos: Velocidad de tranferencia de datos: en en bytes/seg o múltiplos

bytes/seg o múltiplos

Comsumo de energía: Comsumo de energía: en Watts en Watts

Tamaño físico: Tamaño físico: en cm3 en cm3

Costo total y costo por MB: Costo total y costo por MB: en $ y $/MB en $ y $/MB

(5)

Tipos y tecnología de memorias Tipos y tecnología de memorias

 Memorias ROM (Read Only Memory) Memorias ROM (Read Only Memory)

Programable ROM Programable ROM

Erasable Programable ROM Erasable Programable ROM

Electronically Erasable Programable ROM Electronically Erasable Programable ROM

 Memorias RAM (Random Access Memory) Memorias RAM (Random Access Memory)

RAM estáticas vs dinámicas RAM estáticas vs dinámicas

RAM volátiles vs no volátiles RAM volátiles vs no volátiles

 Memorias FLASH Memorias FLASH

(6)

Ejemplo memoria OTP EPROM

Ejemplo memoria OTP EPROM

(7)

Características físicas de la EPROM

Características físicas de la EPROM

(8)

Ejemplo memoria OTP EPROM

Ejemplo memoria OTP EPROM

(9)

Diagrama de tiempos de la Diagrama de tiempos de la

EPROM

EPROM

(10)

Ejemplo EEPROM

Ejemplo EEPROM

(11)

Ejemplo EEPROM

Ejemplo EEPROM

(12)

Ejemplo memoria FLASH

Ejemplo memoria FLASH

(13)

Ejemplo memoria SRAM

Ejemplo memoria SRAM

(14)

Ejemplo memoria SRAM

Ejemplo memoria SRAM

(15)

Ejemplo memoria SRAM

Ejemplo memoria SRAM

(16)

Ejemplo memoria SRAM

Ejemplo memoria SRAM

(17)

Tecnología de Integración Tecnología de Integración

Actual Actual

Imágenes obtenidas con TEM (Transmission

Electron Microscope) de una cepa del virus de la gripe, y de un transistor construido con la

tecnología de 65 nm utilizada desde el año 2005 en el Procesador Pentium IV y posteriores.

65 nm

nanotechnology

(18)

Tecnología de memorias:

Tecnología de memorias: RAM RAM Dinámica

Dinámica

 Almacena la información como una carga en una capacidad espuria de un transistor.

 Una celda (un bit) se implementa con un solo transistor  máxima capacidad de almacenamiento por chip.

 Ese transistor consume mínima energía  Muy bajo consumo.

 Al leer el bit, se descarga la capacidad  necesita regenerar la carga  aumenta entonces el tiempo de acceso de la celda.

RASCAS

Cd

Bit de datos de salida al bus Buffer

Diagrama de un bit elemental de DRAM (Dynamic RAM).

Transistor

(19)

Tecnología de memorias: RAM Tecnología de memorias: RAM

Estática Estática

 Almacena la información en un biestable.

 Una celda (un bit) se compone de seis transistores  menor capacidad de almacenamiento por chip.

 3 transistores consumen energía máxima en forma permanente y los otros 3 consumen mínima energía  Mayor consumo

 La lectura es directa y no destructiva  tiempo de acceso muy bajo

Diagrama del biestable de un bit básico de SRAM (Static RAM).

Línea de Bit Línea de Bit

Selección

1 6

2

3 4

5

(20)

Estructura de Bus clásica Estructura de Bus clásica

Desde fines de los años 80, Desde fines de los años 80, los procesadores

los procesadores

desarrollaban velocidades desarrollaban velocidades

muy superiores a los tiempos muy superiores a los tiempos

de acceso a memoria.

de acceso a memoria.

En este escenario, el En este escenario, el

procesador necesita generar procesador necesita generar waitwait statesstates para esperar que para esperar que

la memoria esté lista la memoria esté lista

(“READY”) para el acceso.

(“READY”) para el acceso.

¿Tiene sentido lograr altos ¿Tiene sentido lograr altos clocks

clocks en los procesadores si en los procesadores si no puede aprovecharlos por no puede aprovecharlos por

tener que esperar (

tener que esperar (waitwait) a la ) a la memoria?

memoria?

Buffer de Address Buffer de Address Buffer de

Datos Buffer de

Datos Bus de

Control Bus de Control

BUS DEL SISTEMA

Bus Local del Bus Local del Procesador Procesador

Memoria del Sistema Memoria del

Sistema

Procesador Procesador

E/S del Sistema E/S del Sistema

DATOS ADDRESS

CONTROL

(21)

1100

1000

900

800

700

600

500

400

300

200

100

89 90 91 92 93 94 95 96 97 98 99 00

486 DX4 100 MHz.

386 DX 33 MHz

Pentium II 400 MHz.

Pentium III 1GHz

Memorias

Crecimiento de la velocidad de

Crecimiento de la velocidad de

clock de las CPU versus memoria

clock de las CPU versus memoria

(22)

El problema El problema

RAM dinámica (DRAM) RAM dinámica (DRAM)

Consumo mínimo.Consumo mínimo.

Capacidad de almacenamiento comparativamente alta.Capacidad de almacenamiento comparativamente alta.

Costo por bitCosto por bit bajo. bajo.

Tiempo de acceso alto (lento), debido al circuito de regeneración de Tiempo de acceso alto (lento), debido al circuito de regeneración de carga.

carga.

Si construimos el banco de memoria utilizando RAM dinámica, no Si construimos el banco de memoria utilizando RAM dinámica, no aprovechamos la velocidad del procesador.

aprovechamos la velocidad del procesador.

RAM estática (SRAM) RAM estática (SRAM)

Alto consumo relativo.Alto consumo relativo.

Capacidad de almacenamiento comparativamente baja.Capacidad de almacenamiento comparativamente baja.

Costo por bitCosto por bit alto. alto.

Tiempo de acceso bajo (es mas rápida).Tiempo de acceso bajo (es mas rápida).

Si construimos el banco de memoria utilizando RAM estática, el Si construimos el banco de memoria utilizando RAM estática, el costo y el consumo de la computadora son altos.

costo y el consumo de la computadora son altos.

(23)

La solución: Memoria cache La solución: Memoria cache

Se trata de un banco de SRAM de muy alta velocidad, que Se trata de un banco de SRAM de muy alta velocidad, que contiene una copia de los datos e instrucciones que están en contiene una copia de los datos e instrucciones que están en

memoria principal memoria principal

El arte consiste en que esta copia esté disponible justo cuando El arte consiste en que esta copia esté disponible justo cuando el procesador la necesita permitiéndole acceder a esos ítems sin el procesador la necesita permitiéndole acceder a esos ítems sin

recurrir a

recurrir a wait states.wait states.

Combinada con una gran cantidad de memoria DRAM, para Combinada con una gran cantidad de memoria DRAM, para almacenar el resto de códigos y datos, resuelve el problema almacenar el resto de códigos y datos, resuelve el problema

mediante una solución de compromiso típica.

mediante una solución de compromiso típica.

Requiere de hardware adicional que asegure que este pequeño Requiere de hardware adicional que asegure que este pequeño banco de memoria cache contenga los datos e instrucciones banco de memoria cache contenga los datos e instrucciones

mas frecuentemente utilizados por el procesador.

mas frecuentemente utilizados por el procesador.

(24)

Referencias Referencias

El tamaño del banco de memoria cache debe ser:El tamaño del banco de memoria cache debe ser:

Suficientemente grande para que el procesador resuelva la mayor cantidad Suficientemente grande para que el procesador resuelva la mayor cantidad posible de búsquedas de código y datos en esta memoria asegurando una posible de búsquedas de código y datos en esta memoria asegurando una alta

alta performanceperformance

Suficientemente pequeña para no afectar el consumo ni el costo del Suficientemente pequeña para no afectar el consumo ni el costo del sistema.

sistema.

Se dice que se logra un Se dice que se logra un hithit cuando se accede a un ítem (dato o cuando se accede a un ítem (dato o código) y éste se encuentra en la memoria cache.

código) y éste se encuentra en la memoria cache.

En caso contrario, se dice que el resultado del acceso es un En caso contrario, se dice que el resultado del acceso es un miss.miss.

Se espera un Se espera un hit ratehit rate lo mas alto posible lo mas alto posible

Cantidad total de accesos a memoria

Cantidad de accesos con presencia en Memoria Cache hit rate =

(25)

Operación de Lectura de Operación de Lectura de

memoria memoria

Inicio

Busca ítem en cache

CPU envía señal de lectura

Busca ítem en cache y envía a

la CPU

Busca ítem en memoria del

sistema

Escribe ítem en el cache

Actualiza directorio cache

Envía ítem a la CPU

Fin Hit!! Miss

(26)

Estructura de Bus del sistema con Estructura de Bus del sistema con

cache cache

Memoria cache Memoria

cache Controlador de Memoria caché Controlador de Memoria caché

Buffer de Address

Buffer de Address Buffer

de Datos Buffer

de Datos

BUS DEL SISTEMA

Bus Local del Bus Local del procesador procesador

Procesador Procesador

Bus de Control Bus de Control

CONTROL DATOS ADDRESS

CONTROL

Bus Local del Bus Local del controlador controlador

cache cache

Bus de Datos Bus de

Datos Bus de Dir.

Bus de Dir.

(27)

Como trabaja el controlador Como trabaja el controlador

cache cache

El controlador cache trabaja mediante dos principios que surgen de analizar el El controlador cache trabaja mediante dos principios que surgen de analizar el comportamiento de los algoritmos de software que se emplean habitualmente.

comportamiento de los algoritmos de software que se emplean habitualmente.

Principio de vecindad temporal: Si un ítem es referenciado, la probabilidad de ser Principio de vecindad temporal: Si un ítem es referenciado, la probabilidad de ser referenciado en el futuro inmediato es alta.

referenciado en el futuro inmediato es alta.

Principio de vecindad espacial: Si un ítem es referenciado, es altamente probable que Principio de vecindad espacial: Si un ítem es referenciado, es altamente probable que se referencie a los ítems vecinos a éste.

se referencie a los ítems vecinos a éste.

Ejemplo: Algoritmo de convoluciónEjemplo: Algoritmo de convolución

for (i = 0 ; i < 256 ; i++ ){

for (i = 0 ; i < 256 ; i++ ){

suma = 0.0f;

suma = 0.0f;

for (j = 0 ; (j <= i && j < 256) ; j++) for (j = 0 ; (j <= i && j < 256) ; j++) suma += v0[i-j] * v1[j];

suma += v0[i-j] * v1[j];

fAux[i] = suma;

fAux[i] = suma;

}}

i, i, jj, , sumasuma, se utilizan a menudo. Por lo tanto si se mantienen en el cache, el tiempo de , se utilizan a menudo. Por lo tanto si se mantienen en el cache, el tiempo de acceso a estas variables por parte del procesador es óptimo.

acceso a estas variables por parte del procesador es óptimo.

(28)

Estructura de memoria cache Estructura de memoria cache

Tag Línea

Línea

01 23 45 67 89

Dirección

Ancho de palabra Línea: Elemento mínimo de palabra de

datos dentro del cache.

Corresponde a un múltiplo del tamaño de la palabra de datos de memoria.

Razón: Cuando se direcciona un ítem en memoria generalmente se requerirá de los ítem que lo rodean (Principio de

vecindad espacial)

(29)

Organización del caché: Mapeo Organización del caché: Mapeo

Directo Directo

Directorio de Caché Interno

4 Gbytes de Memoria Principal Tag

17 bits

Bit de validez del Tag

Bits de validez de las líneas

32 Kbytes (igual tamaño

que el de la cache) Set 0

Set 1

Set 1023

Memoria Caché Pag.0

Pag.217 -1 Línea

Línea

1 Línea = 4 bytes

(30)

Selector de Línea (1 de 8 líneas)

Bit de validez del Tag Bits de validez de la línea 0

1

1023

Directorio de Caché Interno

Nro de Set

A15 A14 A5A4

A31 A2

Tag de 17 bits (1 de las 217 páginas) Set Address (1 de 1024 sets)

Caché Address (1 de 8 KLíneas)

Organización del caché de mapeo Organización del caché de mapeo

directo

directo

(31)

Organizacion del cache: Asociativo Organizacion del cache: Asociativo

de dos vías de dos vías

Directorio de Caché Interno

4 Gbytes de Memoria Principal Tag

18 bits

Bit de validez del Tag

Bits de validez de las

líneas cada banco del cache) (igual tamaño Que el de 16 Kbytes Set 0

Set 1

Set 512

Memoria Caché Pag.0

Pag.218 -1 Línea

Línea

1 Línea = 4 bytes

Línea

Bits LRU

Bits LRU

Bits LRU

18 bits

18 bits 18 bits

18 bits 18 bits

(32)

A13

A14 A5 A4

A31 A2

Tag de 18 bits (1 de las 218 páginas) Set Address (1 de 512 sets) Selector de Línea (1 de 8 líneas)

Caché Address (1 de 4 KLíneas)

Bit de validez del Tag Bits de validez de la línea 0

1

512

Directorio de Caché Interno

Nro de Set

Organización del caché asociativo Organización del caché asociativo

de dos vías

de dos vías

(33)

Manejo del contenido Manejo del contenido

 Algoritmos de reemplazo del contenido de Algoritmos de reemplazo del contenido de la memoria cache

la memoria cache

LRU: Least Recently Used. LRU: Least Recently Used.

Se corresponde con el principio de vecindad Se corresponde con el principio de vecindad temporal.

temporal.

LFU: Least Frecuently Used LFU: Least Frecuently Used

Random Random

FIFO FIFO

(34)

Coherencia de un

Coherencia de un cache cache

Una variable que está en el caché también está alojada en alguna dirección de la Una variable que está en el caché también está alojada en alguna dirección de la DRAM.

DRAM.

Ambos valores deben ser igualesAmbos valores deben ser iguales

Cuando el procesador la modifica hay varios modos de actuarCuando el procesador la modifica hay varios modos de actuar

Write through: el procesador escribe en la DRAM y el controlador Write through: el procesador escribe en la DRAM y el controlador cache refresca el cache refresca el cachecache con el dato actualizado

con el dato actualizado

Write Write throughthrough bufferedbuffered: el procesador actualiza la SRAM : el procesador actualiza la SRAM cache, y el controlador cache, y el controlador cachecache luego luego actualiza la copia en memoria DRAM mientras el procesador continúa ejecutando

actualiza la copia en memoria DRAM mientras el procesador continúa ejecutando instrucciones y usando datos de la memoria

instrucciones y usando datos de la memoria cachecache

Copy back: Se marcan las líneas de la memoria Copy back: Se marcan las líneas de la memoria cache cuando el procesador escribe en cache cuando el procesador escribe en ellas. Luego en el momento de eliminar esa línea del caché el controlador

ellas. Luego en el momento de eliminar esa línea del caché el controlador cache deberá cache deberá actualizar la copia de DRAM.

actualizar la copia de DRAM.

Si el procesador realiza un miss mientras el controlador Si el procesador realiza un miss mientras el controlador cache está accediendo a la cache está accediendo a la DRAM para actualizar el valor, deberá esperar hasta que controlador

DRAM para actualizar el valor, deberá esperar hasta que controlador cachecache termine la termine la actualización para recibir desde este la habilitación de las líneas de control para

actualización para recibir desde este la habilitación de las líneas de control para acceder a la DRAM.

acceder a la DRAM.

(35)

Multilevel cache Multilevel cache

CPU

Cache Level1

Cache Level 2

Cache controller

System Memory

(DRAM)

On chip

Tamaño Cache L2 > Tamaño Cache L1

Velocidad Cache L1 > Velocidad Cache L2

(36)

Implementaciones prácticas de Implementaciones prácticas de

memoria cache (1) memoria cache (1)

Intel 80486 Intel 80486

8 Kbytes de cache L1 on chip8 Kbytes de cache L1 on chip

Tamaño de línea: 16 bytesTamaño de línea: 16 bytes

Organización asociativa de 4-vías Organización asociativa de 4-vías

Pentium Pentium

dos caches on-chip, uno para datos y otro para instrucciones.dos caches on-chip, uno para datos y otro para instrucciones.

Tamaño de cada cahe: 8 KbytesTamaño de cada cahe: 8 Kbytes

Tamaño de línea: 32 bytesTamaño de línea: 32 bytes

Organización asociativa de 4-vías Organización asociativa de 4-vías

PowerPC 601 PowerPC 601

cache on-chip de 32 Kbytescache on-chip de 32 Kbytes

Tamaño de línea: 32 bytesTamaño de línea: 32 bytes

Organización asociativa de 8-vías Organización asociativa de 8-vías

(37)

PowerPC 603PowerPC 603

Dos caches on-chip, una para datos y otra para instruccionesDos caches on-chip, una para datos y otra para instrucciones

Tamaño de cada cache: 8 KbytesTamaño de cada cache: 8 Kbytes

Tamaño de línea: 32 bytesTamaño de línea: 32 bytes

Organización asociativa de 2-vías (organización del cache más simple Organización asociativa de 2-vías (organización del cache más simple que en el 601 pero un procesador mas fuerte)

que en el 601 pero un procesador mas fuerte)

PowerPC 604PowerPC 604

Dos caches on-chip, una para datos y otra para instruccionesDos caches on-chip, una para datos y otra para instrucciones

Tamaño de cada cache: 16 KbytesTamaño de cada cache: 16 Kbytes

Tamaño de línea: 32 bytesTamaño de línea: 32 bytes

Organización asociativa de 4-víasOrganización asociativa de 4-vías

PowerPC 620PowerPC 620

Dos caches on-chip, una para datos y otra para instruccionesDos caches on-chip, una para datos y otra para instrucciones

Tamaño de cada cache: 32 KbytesTamaño de cada cache: 32 Kbytes

Tamaño de línea: 64 bytesTamaño de línea: 64 bytes

Organización asociativa de 8-víasOrganización asociativa de 8-vías

Implementaciones prácticas de Implementaciones prácticas de

memoria cache (

memoria cache ( 2 2 ) )

Referencias

Documento similar

De este modo se constituye un espacio ontológico y epistemológico a la vez, en el que cada elemento (cada principio) ocupa un lugar determinado en la totalidad, y desde ahí está

En definitiva, lo que busca Mishima es luchar contra esta belleza artificial de la literatura, enfocándose en la belleza real, trabajándola desde el cuerpo, pero no desde un aspecto

Es también norma el que los sillares se doten de una caja para grapa en el centro del lecho, en corres- pondencia con la junta vertical de los dos sillares de la hilada superior,

Primeros ecos de la Revolución griega en España: Alberto Lista y el filohelenismo liberal conservador español 369 Dimitris Miguel Morfakidis Motos.. Palabras de clausura

In particular, we propose following: (i) the Hybrid Cache Ways architecture, which splits the cache into two sections optimized for high performace and ultra-low energy; (ii)

Figure 5.5 shows FIPA performance results for trace cache sizes from 32 to 2048 entries (2KB to 128KB of instruction storage) with and without STS, using perfect branch and

En este vídeo podemos ver un zoom desde un barrio de Tenerife, pasando por el Sistema Solar, la Vía Láctea, el Grupo Local hasta el universo de galaxias conocido..