Vous êtes sur la page 1sur 17

CAM

Reporte de laboratorio

Alumno: Fernando Hermosillo Reynoso


Especialidad: Telecomunicaciones

Materia: Diseo Digital II


Profesora: Dra. Susana Ortega Cisneros

Laboratorio 11

Fecha: 30/03/2017
ndice
1 Resumen..................................................................................................................... 1
2 Introduccin............................................................................................................... 2
2.1 Tipos de memorias................................................................................................2
2.1.1 RAM............................................................................................................... 2
2.1.2 ROM.............................................................................................................. 3
2.1.3 FLASH........................................................................................................... 4
2.1.4 PROM............................................................................................................ 4
2.1.5 EPROM.......................................................................................................... 5
2.1.6 EEPROM.......................................................................................................5
2.1.7 CAM............................................................................................................... 6
3 Contenido................................................................................................................... 7
4 Resultados.................................................................................................................. 2
4.1 Diagrama RTL.......................................................................................................2
4.2 Ocupacin, tiempos..............................................................................................2
4.3 Formas de onda (Model-Sim)................................................................................2
5 Conclusin.................................................................................................................. 2

Bibliografa........................................................................................................................ 2
Apndice: Cdigo Fuente.................................................................................................3

2
1 Resumen
En este documento se reporta el laboratorio 11, que tiene como fin conocer la memoria
CAM, asi como implementarla en verilog.

Se disearan los siguientes mdulos:


1. Memoria ROM sncrona
2. Memoria CAM sncrona

En la memoria ROM se guardaran los valores que podrn ser encontrados por la memoria
CAM, mientras que este ltimo tendr dos seales de entrada, el valor a buscar y un
habilitador de lectura.
A la salida de la memoria CAM se tendr un bus parametrizable, que mostrara la direccin
en la cual se encuentra el dato que se busc siempre y cuando se haya encontrado y un
bit que indicara si se encontr el dato. La salida de la memoria CAM ira a un display 7
segmentos.
La seal de reloj de ambos mdulos ser implementada mediante un interruptor
deslizable.
Todo esto ser implementado fsicamente en la tarjeta de desarrollo de Altera DE2-115, la
cual tiene el hardware externo requerido (display, interruptores deslizables).
2 Introduccin
La memoria es el dispositivo que retiene, memoriza o almacena datos informticos
durante algn perodo de tiempo. La memoria proporciona una de las principales
funciones de la computacin moderna: el almacenamiento de informacin y conocimiento.
Es uno de los componentes fundamentales de la computadora, que interconectada a
la unidad central de procesamiento (CPU, por las siglas en ingls de Central Processing
Unit) y los dispositivos de entrada/salida, implementan lo fundamental del modelo de
computadora de la arquitectura de von Neumann.
En la actualidad, memoria suele referirse a una forma de almacenamiento de estado
slido, conocida como memoria RAM (memoria de acceso aleatorio; RAM por sus siglas
en ingls, de random access memory), y otras veces se refiere a otras formas de
almacenamiento rpido, pero temporal. De forma similar, se refiere a formas de
almacenamiento masivo, como discos pticos, y tipos de almacenamiento magntico,
como discos duros y otros tipos de almacenamiento, ms lentos que las memorias RAM,
pero de naturaleza ms permanente. Estas distinciones contemporneas son de ayuda,
porque son fundamentales para la arquitectura de computadores en general.
Adems, se refleja una diferencia tcnica importante y significativa entre memoria y
dispositivos de almacenamiento masivo, que se ha ido diluyendo por el uso histrico de
los trminos almacenamiento primario (a veces almacenamiento principal), para
memorias de acceso aleatorio, y almacenamiento secundario, para dispositivos de
almacenamiento masivo. Esto se explica en las siguientes secciones, en las que el
trmino tradicional almacenamiento se usa como subttulo, por conveniencia.

2.1 Tipos de memorias


2.1.1 RAM
La memoria de acceso aleatorio (Random Access Memory, RAM) se utiliza como memoria
de trabajo de computadoras para el sistema operativo, los programas y la mayor parte
del software. En la RAM se cargan todas las instrucciones que ejecuta la unidad central
de procesamiento (procesador) y otras unidades del computador.
Se denominan de acceso aleatorio porque se puede leer o escribir en una posicin de
memoria con un tiempo de espera igual para cualquier posicin, no siendo necesario
seguir un orden para acceder (acceso secuencial) a la informacin de la manera ms
rpida posible.

Tipos de memorias RAM:


SDR SDRAM
Memoria sncrona, con tiempos de acceso de entre 25 y 10 ns y que se presentan
en mdulos DIMM de 168 contactos. Fue utilizada en los Pentium II y en
los Pentium III , as como en los AMD K6, AMD Athlon K7 y Duron. Est muy
extendida la creencia de que se llama SDRAM a secas, y que la denominacin
SDR SDRAM es para diferenciarla de la memoria DDR, pero no es as,
simplemente se extendi muy rpido la denominacin incorrecta.
El nombre correcto es SDR SDRAM ya que ambas (tanto la SDR como la DDR)
son memorias sncronas dinmicas.

RDRAM
Se presentan en mdulos RIMM de 184 contactos. Fue utilizada en los Pentium 4 .
Era la memoria ms rpida en su tiempo, pero por su elevado costo fue
rpidamente cambiada por la econmica DDR.

DDR SDRAM
Memoria sncrona, enva los datos dos veces por cada ciclo de reloj. De este modo
trabaja al doble de velocidad del bus del sistema, sin necesidad de aumentar la
frecuencia de reloj. Se presenta en mdulos DIMM de 184 contactos en el caso de
ordenador de escritorio y en mdulos de 144 contactos para los ordenadores
porttiles.

DDR2 SDRAM
Las memorias DDR 2 son una mejora de las memorias DDR (Double Data Rate),
que permiten que los bferes de entrada/salida trabajen al doble de la frecuencia
del ncleo, permitiendo que durante cada ciclo de reloj se realicen cuatro
transferencias. Se presentan en mdulos DIMM de 240 contactos.

DDR3 SDRAM
Las memorias DDR 3 son una mejora de las memorias DDR 2, proporcionan
significantes mejoras en el rendimiento en niveles de bajo voltaje, lo que lleva
consigo una disminucin del gasto global de consumo. Los mdulos DIMM DDR 3
tienen 240 pines, el mismo nmero que DDR 2; sin embargo, los DIMMs son
fsicamente incompatibles, debido a una ubicacin diferente de la muesca.

2.1.2 ROM
La memoria de slo lectura, conocida tambin como ROM (acrnimo en ingls de read-
only memory), es un medio de almacenamiento utilizado en ordenadores y dispositivos
electrnicos, que permite slo la lectura de la informacin y no su escritura,
independientemente de la presencia o no de una fuente de energa. Cabe recordar que
esta es una memoria de acceso secuencial.
Los datos almacenados en la ROM no se pueden modificar, o al menos no de manera
rpida o fcil. Se utiliza principalmente en su sentido ms estricto, se refiere solo a
mscara ROM -en ingls, MROM- (el ms antiguo tipo de estado slido ROM), que se
fabrica con los datos almacenados de forma permanente y, por lo tanto, su contenido no
puede ser modificado de ninguna forma. Sin embargo, las ROM ms modernas,
como EPROM y Flash EEPROM, efectivamente se pueden borrar y volver a programar
varias veces, aun siendo descritos como "memoria de slo lectura" (ROM). La razn de
que se las contine llamando as es que el proceso de reprogramacin en general es
poco frecuente, relativamente lento y, a menudo, no se permite la escritura en lugares
aleatorios de la memoria. A pesar de la simplicidad de la ROM, los dispositivos
reprogramables son ms flexibles y econmicos, por lo cual las antiguas mscaras ROM
no se suelen encontrar en hardware producido a partir de 2007.

2.1.3 FLASH
La memoria flash derivada de la memoria EEPROM permite la lectura y escritura de
mltiples posiciones de memoria en la misma operacin. Gracias a ello, la
tecnologa flash, siempre mediante impulsos elctricos, permite velocidades de
funcionamiento muy superiores frente a la tecnologa EEPROM primigenia, que slo
permita actuar sobre una nica celda de memoria en cada operacin de programacin.
Se trata de la tecnologa empleada en los dispositivos denominados memoria USB.
Algunas de sus ventajas son una gran resistencia a los golpes, gran velocidad, bajo
consumo de energa y un funcionamiento silencioso, ya que no contiene actuadores
mecnicos ni partes mviles. Su pequeo tamao tambin es un factor determinante a la
hora de escoger para un dispositivo porttil, as como su ligereza y versatilidad para todos
los usos hacia los que est orientado. En vista de ello, comienzan a popularizarse las
unidades SSD que usan memoria flash en lugar de platos.
Sin embargo, todos los tipos de memoria flash slo permiten un nmero limitado de
escrituras y borrados, generalmente entre 10.000 y un milln, dependiendo de la celda, de
la precisin del proceso de fabricacin y del voltaje necesario para su borrado. Adems su
relacin costo capacidad es menos favorable respecto a otros medios como los discos
pticos y los discos duros.

2.1.4 PROM
PROM es el acrnimo en ingls de programmable read-only memory, que significa
memoria de solo lectura programable. Es una memoria digital donde el valor de
cada bit depende del estado de un fusible (o antifusible), que puede ser quemado una
sola vez. Por esto la memoria puede ser programada (pueden ser escritos los datos) una
sola vez a travs de un dispositivo especial, un programador PROM. Estas memorias son
utilizadas para grabar datos permanentes en cantidades menores a las ROM, o cuando
los datos deben cambiar en muchos o todos los casos.
Pequeas PROM han venido utilizndose como generadores de funciones, normalmente
en conjuncin con un multiplexor. A veces se preferan a las ROM porque son bipolares,
habitulamente Schottky, consiguiendo mayores velocidades.
2.1.5 EPROM
Las memorias EPROM se programan mediante un dispositivo electrnico, como
el Cromemco Bytesaver, que proporciona voltajes superiores a los normalmente utilizados
en los circuitos electrnicos. Las celdas que reciben carga se leen entonces como un 0.
Una vez programada, una EPROM se puede borrar solamente mediante exposicin a una
fuerte luz ultravioleta. Esto es debido a que los fotones de la luz excitan a
los electrones de las celdas provocando que se descarguen. Las EPROM se reconocen
fcilmente por una ventana transparente en la parte alta del encapsulado, a travs de la
cual se puede ver el chip de silicio y que admite la luz ultravioleta durante el borrado.
La nica diferencia con la EPROM es la ausencia de la ventana de cuarzo, por lo que no
puede ser borrada. Las versiones OTP se fabrican para sustituir tanto a las EPROM
normales como a las EPROM incluidas en algunos microcontroladores. Estas ltimas
fueron siendo sustituidas progresivamente por EEPROMs (para fabricacin de pequeas
cantidades donde el coste no es lo importante) y por memoria flash (en las de mayor
utilizacin).
Una EPROM programada retiene sus datos durante diez o veinte aos, y se puede leer un
nmero ilimitado de veces. Para evitar el borrado accidental por la luz del sol, la ventana
de borrado debe permanecer cubierta. Las antiguas BIOS de los ordenadores personales
eran frecuentemente EPROM y la ventana de borrado estaba habitualmente cubierta por
una etiqueta que contena el nombre del productor de la BIOS, su revisin y una
advertencia de copyright.

2.1.6 EEPROM
EEPROM son las siglas de Electrically Erasable Programmable Read-Only
Memory (ROM programable y borrable elctricamente). Es un tipo de memoria ROM que
puede ser programada, borrada y reprogramada elctricamente, a diferencia de
la EPROM que ha de borrarse mediante un aparato que emite rayos ultravioleta. Son
memorias no voltiles.
Las celdas de memoria de una EEPROM estn constituidas por un transistor MOS, que
tiene una compuerta flotante (estructura SAMOS), su estado normal est cortado y la
salida proporciona un 1 lgico.
Aunque una EEPROM puede ser leda un nmero ilimitado de veces, slo puede ser
borrada y reprogramada entre 100.000 y un milln de veces.
Estos dispositivos suelen comunicarse mediante protocolos como IC, SPI y Microwire. En
otras ocasiones, se integra dentro de chips como microcontroladores y DSPs para lograr
una mayor rapidez.
La memoria flash es una forma avanzada de EEPROM creada por el Dr. Fujio Masuoka
mientras trabajaba para Toshiba en 1984 y fue presentada en la Reunin de Aparatos
Electrnicos de la IEEE de 1984. Intel vio el potencial de la invencin y en 1988 lanz el
primer chip comercial de tipo NOR.
2.1.7 CAM
La memoria de contenido direccionable (Content-Addressable Memory, o CAM, en ingls),
es un tipo de memoria de computador empleada en determinadas aplicaciones que
requieren velocidades de bsqueda muy elevadas.
Al contrario de las memorias estndar (memorias de acceso aleatorio o RAM) en las que
el usuario introduce una direccin de memoria y la RAM devuelve los datos almacenados
en esa direccin, una CAM est diseada de manera que el usuario proporciona los datos
y la CAM busca en toda la memoria para ver si esos datos estn almacenados en alguna
posicin. Si los datos son encontrados, la CAM devuelve una lista de una o varias
direcciones en las que la informacin fue encontrada (en algunas arquitecturas, tambin
devuelve los propios datos buscados, u otros tipos de informacin). Es decir, una CAM es
la expresin en hardware de lo que en trminos de software se denominara
un array asociativo.
Puesto que una CAM est diseada para buscar en toda la memoria mediante una simple
operacin, es mucho ms rpida que la RAM en prcticamente todas las operaciones de
bsqueda. En contraprestacin, la CAM presenta costes ms elevados. Al contrario que
un chip de RAM, que tiene celdas de almacenamiento simple, cada bit de memoria en una
CAM completamente paralela debe incorporar su propio circuito de comparacin asociado
para detectar una coincidencia entre el bit guardado y el bit solicitado. La circuitera
adicional incrementa las dimensiones fsicas del chip de CAM, lo que aumenta el coste de
produccin. Esa circuitera extra tambin hace crecer el consumo de potencia, ya que
cada circuito de comparacin se activa en cada ciclo del reloj. Por todo ello, las CAM slo
se utilizan en aplicaciones especficas en las que la velocidad de bsqueda requerida no
puede ser alcanzada con un mtodo menos costoso.
Para llegar a diferentes compromisos entre velocidad, coste y tamao de memoria,
algunas implementaciones emulan el funcionamiento de las CAM implementando
mtodos de bsqueda estndar en rbol o diseos hash en hardware, usando trucos de
hardware como replicacin o segmentacin (pipelining) para mejorar el rendimiento
efectivo. Estos diseos son usados frecuentemente en los routers.

Figura 1 Diagrama a bloques de la memoria CAM


3 Contenido
La memoria CAM ser cargada con los siguientes datos:

Binario
00001001
10100101
11000111
10110010
01100001
00010010
10110010
00001100
10110111
11000011
11110001
00001111
10001100
11010101
10110100
10011101

Formas de onda esperadas, generadas por wavedrom.


Figura 2 Forma de onda de la salida esperada por el controlador
4 Resultados
4.1 Diagrama RTL
En la Figura 3, se muestra el diagrama RTL general de la implementacin

Figura 3 Diagrama RTL general

En la Figura 4, se muestra el diagrama RTL de la memoria ROM implementada.

Figura 4 Diagrama RTL de la memoria ROM


4.2 Ocupacin, tiempos

4.3 Formas de onda (Model-Sim)


En la Figura 5, se muestra el resultado de la simulacin para estmulos de datos:
00 h , 09 h , 01h , B7 h ,9 Dh , FFh

Figura 5 Simulacin en ModelSim de la implementacin


5 Conclusin
La memoria de tipo CAM, es muy utilizada cuando se requieren hacer bsquedas de
datos a altas velocidades, presenta las desventajas de uso de mucho Hardware, por
ejemplo un comparador para cada bit a buscar y una de las ms importantes es el
consumo excesivo de potencia.

Bibliografa
Chu, P. P. (2008). FPGA Prototyping by Verilog Examples. New Jersey: WILEY.
Kostas Pagiamtzis, A. S. (2006). Content-Addressable Memory (CAM) Circuits and
Architectures: A Tutorial and Survey. IEEE J of Solid-State Circuits.
Lekkas, P. C. (s.f.). Network Processors Architectures, Protocols, and Platforms. McGraw-
Hill.
T.L., F. (2006). Fundamentos de sistemas digitales. Madrid: PEARSON.
Tocci, R. J. (2007). Digital Systems: Principles and Applications. New Jersey: Pearson.
Apndice: Cdigo Fuente

Vous aimerez peut-être aussi