Upload
noah-hendricks
View
27
Download
0
Embed Size (px)
DESCRIPTION
Memórias. Introdução. Memórias são circuitos que armazenam informação São classificadas em memórias de leitura e escrita ou apenas de leitura, conforme características tecnológicas Esta classificação pode ser subdividida conforme especialização da memória - PowerPoint PPT Presentation
Citation preview
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I
prof. Dr. César Augusto M. Marcon
prof. Dr. Edson Ifarraguirre Moreno
Memórias
2 / 17
Introdução
– Memórias são circuitos que armazenam informação– São classificadas em memórias de leitura e escrita ou apenas de leitura,
conforme características tecnológicas– Esta classificação pode ser subdividida conforme especialização da memória
– Memórias de leitura e escrita, em inglês random access memories (RAMs) têm como características básicas:– Possibilidade de acesso para leitura e escrita em tempo de execução, com tempo de
acessos semelhantes– Os dados são mantidos apenas com energia
– Na falta de energia, em pouco tempo os dados são perdidos
– Exemplos de RAMs são: SRAMs e DRAMs
– Memórias de leitura apenas, em inglês read only memories (ROMs) têm como características básicas:– Possibilidade de acesso para leitura em tempo de execução. A escrita tem um tempo
de acesso muito maior– Os dados são mantidos mesmo com falta de energia– Exemplos de ROMs são: CDROM, FLASH, PROM, EPROM e EEPROM
6 / 17
Read Only Memory (ROM)
– ROM conjunto de constantes– O acesso a uma constante é dado por um endereço
Exemplo: Definição de uma ROM 13x4
package ROM isconstant largura : integer := 4;subtype palavra is std_logic_vector(1 to largura);subtype tamanho is integer range 0 to 255;type mem_rom is array (0 to tamanho) of palavra;constant ROM1 : mem_rom := ("1100", "1101","0100", others => "0000");
end ROM;
– Observação: ROMs são implementadas com portas lógicas pelas ferramentas de síntese lógica
7 / 17
Read Only Memory (ROM)
– Módulo contadoruse work.ROM.all;
entity contador isport(
clock, reset: in bit;waves: out palavra
);end;
architecture A of contador issignal step : tamanho := 0;
beginwaves <= ROM1(step); -- conteúdo da ROM na saídaprocessbegin
wait until clock'event and clock='1';if reset = '1' then
step <= 0; -- primeiro estadoelsif step = tamanho'high then
step <= tamanho'high; -- tranca !else
step <= step + 1; -- avança 1 passoend if;
end process;end A;
(1) Observe que utilizou-se o atributo ´high para especificar o limite superior do tipo.
(2) O que fazer para a contagem tornar-se cíclica? [Atributo low]
8 / 17
Read Only Memory (ROM)
– Simulação do contador utilizando a ROM:
Observar que tranca no último estado, só saindo com reset
entity rom_tb isend rom_tb;
architecture t1 of rom_tb is signal waves: palavra; signal reset: std_logic; signal clock: std_logic;begin
UUT: entity work.contador port map(clock => clock, reset => reset, waves => waves );
reset <= '1', '0' after 5 ns; process begin clock <= '1', '0' after 10 ns; wait for 20 ns; end process;
end t1;
9 / 17
Read Only Memory (ROM)
– Técnica muito útil para test bench
control : process
variable contador : integer := 0;
constant rom : mem_rom := ("0101", "1111", "1010", "1001", "0111", "1011", "0010",
"0001", "1101", "1111", "1110", "0001", "0111", "0011",
"0010", "1001", others => "0000");
begin
wait until reset'event and reset = '0';
for i in 0 to 15 loop
entrada <= rom(contador);
contador := contador + 1;
receive <= '1' after delay;
wait until acpt = '1';
receive <= '0' after delay;
wait until acpt = '0';
end loop;
........
end process;
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I
prof. Dr. César Augusto M. Marcon
prof. Dr. Edson Ifarraguirre Moreno
FIM