Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Circuitos sequênciais Exemplo: X Forma de onda 1 Circuitos sequênciais Exemplo: X Forma de onda 2 Circuitos sequênciais Exemplo: X Forma de onda 3 Circuitos sequênciais Exemplo: X Forma de onda Condição de transição não satisfeita 4 Circuitos sequênciais Memórias Registradores têm capacidade limitada de armazenamento Apenas uma palavra (word) Para realizar o armazenamento de várias palavras, utilizam-se memórias 5 Circuitos sequênciais Memórias São organizadas em 2n posições Cada posição armazena uma palavra de m bits Exemplos 1100 0001 1011 0111 1110 0000 1111 1011 Memória de 8 posições (23) com palavras de 4 bits (memória 8x4) Capacidade de armazenamento: 32 bits (4 Bytes) 11010010 00100101 10111010 01001000 Memória de 4 posições (22) com palavras de 8 bits (memória 4x8) Capacidade de armazenamento: 32 bits (4 Bytes) Capacidade de armazenamento: Número de posições * tamanho da palavra 6 Circuitos sequênciais Memórias Capacidade é tipicamente expressa em Bytes, mesmo que a largura da palavra seja diferente de 1 Byte (8 bits) Kilo Byte (KB) 1.024 Bytes (210) 512 KB = 512 * 1024 Bytes (524.288 Bytes) Mega Byte (MB) 1.048.576 Bytes (220) 128 MB = 128 * 1.048.576 Bytes (134.217.728 Bytes) Giga Byte (GB) 1.073.741.824 Bytes (230) 4GB = 4 * 1.073.741.824 Bytes (4.294.967.296 Bytes) 7 Circuitos sequênciais Memórias Foram criados em 1998 prefixos binários para expressar grandesas binárias Ki (kibi) = 210 (1.024) 512 KiB = 512 * 1024 Bytes (524.288 Bytes) Mi (mebi) = 220 (1.048.576) 128 MiB = 128 * 1.048.576 Bytes (134.217.728 Bytes) Gi (gibi) = 230 (1.073.741.824) 4GiB = 4 * 1.073.741.824 Bytes (4.294.967.296 Bytes) 8 Circuitos sequênciais Memórias As posições são numeradas de 0 a 2n-1 Comumente chamadas de endereços 1100 0001 1011 0111 1110 0000 1111 1011 Memória de 8 posições (23) com palavras de 4 bits (memória 8x4) Capacidade de armazenamento: 32 bits (4 Bytes) 11010010 00100101 10111010 01001000 Memória de 4 posições (22) com palavras de 8 bits (memória 4x8) Capacidade de armazenamento: 32 bits (4 Bytes) Capacidade de armazenamento: Número de posições * tamanho da palavra 7 6 5 4 3 2 1 0 3 2 1 0 9 Circuitos sequênciais Memórias Embora exista uma variedade grande de memórias, certos princípios básicos de operação são comuns a todas O conjunto de entradas de controle (leitura/escrita) varia de memória para memória No entanto, barramentos de dados e endereços estão presentes em qualquer memória Memória n address m data out m data in 10 Circuitos sequênciais Memórias Barramento de endereços (address) Entrada de n bits, a qual possibilita endereçar uma palavra Barramento de dados de escrita (data in) Entrada de m bits para o armazenamento de uma palavra Barramento de dados de leitura (data out) Saída de dados com m bits para a leitura de uma palavra Memória n address m data out m data in 2n posições de m bits Exemplo: se n = 10, a memória tem 1024 posições de m bits (210) Exemplo: se n = 10, e m = 16, a memória tem capacidade de armazenamento de 2048 bytes (1024 * 2 byes) 11 Circuitos sequênciais Memórias Barramento bidirecional Algumas memórias podem ter um único barramento de dados, o qual serve tanto para leitura quanto para escrita Memória n address m data Barramento bidirecional (entrada e saída) 2n posições de m bits 12 Circuitos sequênciais Memórias A escrita tipicamente ocorre em bordas do clock Já a leitura é tipicamente assíncrona Não depende do clock Memória n address m data out m data in clk rw enable Sinal de controle que especifica a operação a ser realizada: leiura (1) ou escrita (0) 13 Circuitos sequênciais Memórias Leitura Habilitar a memória: enable = 1 Ativar a leitura: rw = 1 Endereçar: address = endereço A palavra armazenada no endereço especificado (dado) é colocada no barramento de dados de leitura (data out) independente do clock Memória n address m data out m data in clk rw enable 14 Circuitos sequênciais Memórias Escrita Habilitar a memória: enable = 1 Ativar a escrita: rw = 0 Endereçar: address = endereço Colocar a palavra a ser escrita (dado) no barramento de dados de escrita (data in) O dado será armazenado na borda de subida do clock Memória n address m data out m data in clk rw enable 15 Circuitos sequênciais Memórias Leitura Habilitar a memória: enable = 1 Ativar a leitura: rw = 1 Endereçar: address = endereço data out ← Memória[address] 2 address 8 data out 8 data in clk rw 110100002 001001012 101110102 010010002 Endereço 0 (002) Endereço 3 (112) Memória 4x8 1 Leitura ativada enable 1 Memória habilitada 16 Circuitos sequênciais Memórias Leitura Habilitar a memória: enable = 1 Ativar a leitura: rw = 1 Endereçar: address = endereço data out ← Memória[address] 2 address 8 data out 8 data in clk rw 110100002 001001012 101110102 010010002 Endereço 0 (002) Endereço 3 (112) Memória 4x8 0 (002) 010010002 (72) 1 enable 1 17 Circuitos sequênciais Memórias Leitura Habilitar a memória: enable = 1 Ativar a leitura: rw = 1 Endereçar: address = endereço data out ← Memória[address] 2 address 8 data out 8 data in clk rw 110100002 001001012 101110102 010010002 Endereço 0 (002) Endereço 3 (112) Memória 4x8 1 (012) 101110102 (186) 1 enable 1 18 Circuitos sequênciais Memórias Leitura Habilitar a memória: enable = 1 Ativar a leitura: rw = 1 Endereçar: address = endereço data out ← Memória[address] 2 address 8 data out 8 data in clk rw 110100002 001001012 101110102 010010002 Endereço 0 (002) Endereço 3 (112) Memória 4x8 2 (102) 001001012 (37) 1 enable 1 19 Circuitos sequênciais Memórias Leitura Habilitar a memória: enable = 1 Ativar a leitura: rw = 1 Endereçar: address = endereço data out ← Memória[address] 2 address 8 data out 8 data in clk rw 110100002 001001012 101110102 010010002 Endereço 0 (002) Endereço 3 (112) Memória 4x8 3 (112) 110100002 (208) 1 enable 1 20 Circuitos sequênciais Memórias Escrita Habilitar a memória: enable = 1 Ativar a escrita: rw = 0 Endereçar: address = endereço Colocar a palavra a ser escrita (dado) no barramento de dados de escrita (data in) O dado será armazenado na borda de subida do clock 2 address 8 data out 8 data in clk rw 110100002 001001012 101110102 010010002 Endereço 0 (002) Endereço 3 (112) Memória 4x8 0 Escrita ativada enable 1 Memória habilitada 21 Circuitos sequênciais Memórias Escrita Habilitar a memória: enable = 1 Ativar a escrita: rw = 0 Endereçar: address = endereço Colocar a palavra a ser escrita (dado) no barramento de dados de escrita (data in) O dado será armazenado na borda de subida do clock 2 address 8 data out 8 data in clk rw 110100002 001001012 101110102 010010002 Endereço 0 (002) Endereço 3 (112) Memória 4x8 2 (102) 111111112 (255) 0 enable 1 22 Circuitos sequênciais Memórias Escrita Habilitar a memória: enable = 1 Ativar a escrita: rw = 0 Endereçar: address = endereço Colocar a palavra a ser escrita (dado) no barramento de dados de escrita (data in) O dado será armazenado na borda de subida do clock 2 address 8 data out 8 data in clk rw 110100002 111111112 101110102 010010002 Endereço 0 (002) Endereço 3 (112) Memória 4x8 2 (102) 111111112 (255) 0 ↑ enable 1 23 Circuitos sequênciais Memórias Logisim 24 Circuitos sequênciais Processador MIPS Organização/Arquitetura de computadores Circuitos sequênciais Memórias Podem ser classificadas em dois tipos quanto a volatilidade RAMs (Random Access Memories) O conteúdo é perdido quando o circuito é desligado (volátil) Exemplo: Memória principal dos computadores Conteúdo muda constantemente (muitas leituras/escritas) ROMs (Read Only Memories) O conteúdo armazenado não é perdido quando o circuito é desligado (não-volátil) Exemplo: BIOS dos computadores Conteúdo muda poucas vezes ou nunca (muitas leituras/poucas escritas) 26 Circuitos sequênciais Memórias RAM (Random Access Memories) SRAM (Static RAM) Acesso rápido tanto para leitura quanto para escrita Tipicamente armazenam poucos MBs e são utilizadas como memória cache em computadores Possuem preço elevado se considerarmos o custo por MB DRAM (Dynamic RAM) Acesso bem mais lento que a SRAM Possuem alta capacidade de armazenamento (GBs) e baixo custo por MB em comparação a SRAM Utilizada como memória principal de computadores 27 Circuitos sequênciais Memórias ROM (Read Only Memory) PROM (Programmable ROM) Um dos primeiros tipos de memória ROM Dados gravados no processo de fabricação Os dados não podem ser apagados ou alterados EPROM (Erasable Programmable ROM) Têm como principal característica a capacidade de permitir que dados sejam apagados e regravados O apagamento é feito com o auxílio de uma luz ultravioleta Antes de gravar novos dados, a memória precisa ser apagada por completo A gravação é feita com um gravador/programador de EPROM Eram utilizada para armazenar a BIOS nos PCs 28 Circuitos sequênciais Memórias ROM EEPROM/E2PROM (Electrically-Erasable Programmable ROM) Este tipo de memória ROM também permite a regravação de dados Ao contrário do que acontece com as memórias EPROM, o processo para apagar e gravar dados é feito eletricamente e pode-se apagar/gravar palavras individualmente Visto que esta é uma memória não-volatil, o tempo para alterar uma palavra da memória é bem alto se comparado a uma memória RAM Mesmo que possam ser escritas eletricamente como as RAMs, são utilizadas em aplicações onde na maior parte do tempo os acessos são de leitura São utilizadas em computadores para armazenar a BIOS (substituindo as EPROMs) 29 Circuitos sequênciais Memórias ROM Flash Podem ser vistas como uma evolução da EEPROM com um tempo de acesso (leitura/escrita) muito mais rápido Possuem alta capacidade de armazenamento (GBs) São utilizadas na fabricação de cartões de memória, pendrives e HDs de estado sólido (SSD – Solid State Drive) 30 Circuitos sequênciais Cronograma 30/11 (segunda-feira) – Prova 3 Conteúdo a partir de mapas de Karnaugh 3/12 (quinta-feira) – Resolução/Devolução da prova 3 14/12 (segunda-feira) - Exame 31
Compartilhar