Aula 03 - Memória.pdf
Document Details

Uploaded by SelfDeterminationOmaha
ITA
Tags
Related
Full Transcript
EEA-27 Microcontroladores e Sistemas Embarcados Aula 03 - Memória Prof. Dr. Harlei M. A. Leite Aeronautics Institute of Technology - ITA Electronic Engineering Division Department of Applied Electronics Conteúdo 1. 2. 3. 4. Memória Expansão de memória Leitura Referências Prof. Dr. Harlei M. A. Leite...
EEA-27 Microcontroladores e Sistemas Embarcados Aula 03 - Memória Prof. Dr. Harlei M. A. Leite Aeronautics Institute of Technology - ITA Electronic Engineering Division Department of Applied Electronics Conteúdo 1. 2. 3. 4. Memória Expansão de memória Leitura Referências Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Introdução Local onde programas e dados são armazenados. Formado por um conjunto de células (posições). Todas as células possuí o mesmo número de bits. Uma célula é referenciada pelo seu endereço único. Computadores modernos agrupam células em palavras. Uma palavra é a parte mínima de dados que pode ser transferida. Uma palavra pode ser um dado ou uma instrução. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Introdução Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Hierarquia de memória Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Princípio da localidade Localidade temporal: se um item é referenciado, ele tenderá a ser referenciado novamente em breve. Se você trouxe um livro à mesa para examiná-lo, é provável que precise examiná-lo novamente em breve. Localidade espacial: se um item é referenciado, os itens cujos endereços estão próximos tenderão a ser referenciados em breve. Ao pegar um livro na prateleira de uma biblioteca, é provável que você precise dos livros que estão ao redor dele, pois livros sobre o mesmo assunto são colocados juntos. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Representação de capacidade O número de palavras em uma memória é frequentemente um múltiplo de 1.024. É comum usar a designação ‘1K’ para representar 1.024 = 210 quando nos referimos à capacidade da memória. Uma memória que tem capacidade de armazenamento de de 4K x 20 é uma memória de 4.096 x 20. O desenvolvimento de memórias de mais capacidade trouxe a designação ‘1M’ para representar 1.048.576 = 220. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Big e Little Fonte de problemas na integração de hardware. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Diagrama simples de uma memória Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Conexões CPU-Memória Três grupos de linhas (barramentos) fazem a conexão da CPU com a memória, conforme mostra a figura abaixo. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Classificação de memórias Acesso ○ Sequencial: As palavras são escritas e lidas em sequência. Vantagens: eficiência, simplicidade e custo. Desvantagens: velocidade de acesso. Ex: fita magnética, CD, DVD, HD, etc. ○ Aleatório: Tempo de acesso igual para qualquer posição da memória. Vantagens: velocidade de acesso e flexibilidade. Desvantagens: custo e capacidade. Ex: DRAM, SRAM, Flash, etc. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Classificação de memórias Volatilidade ○ Voláteis Dispositivos de armazenamento que perdem dados quando a tensão de alimentação é interrompida. Ex: RAM, memórias baseadas em FF, etc. ○ Não voláteis Dispositivos de armazenamento que retém dados mesmo quando a tensão de alimentação é interrompida. Ex: HD, CD, DVD, Fita, etc. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Classificação de memórias Modos de operação ○ Escrita/Leitura Permite a operação de escrita, além do acesso para leitura. Ex: RAM, HD, Flash, etc. ○ Somente leitura Após gravada, só é possível efetuar a operação de leitura. Ex: Memória ROM (Read Only Memory). Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Classificação de memórias Tipos de armazenamento ○ ○ Estático O dado fica armazenado indefinidamente enquanto houver tensão de alimentação. Armazenamento em FF. Ex: SRAM. Dinâmico É necessário um “refresh” periódico para manter o dado armazenado. Armazenamento em capacitores. Ex: DRAM. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Tipos de memórias semicondutoras ROM (Read Only Memory) ○ ○ ○ ○ Acesso aleatório; Não volátil; Somente leitura; Estático. RAM (Random Access Memory) ○ ○ ○ ○ Acesso aleatório; Volátil; Escrita e leitura; Estático/dinâmico. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Read-Only Memory (ROM) A memória ROM é um tipo de semicondutor projetado para manter os dados permanentes ou que não mudam com frequência. Para algumas ROMs, os dados armazenados não podem ser alterados depois de programados; outras podem ser apagadas e reprogramadas. O principal uso das ROMs é no armazenamento de programas estáticos. Ex: BIOS, programa de um microcontrolador, etc. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Read-Only Memory - ROM OE - Output enable CS - Chip select Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Read-Only Memory - ROM Exemplo: ○ Rom de 16x8. Exemplo: Qual registrador será habilitado pela entrada de endereço 1101? A3A2 = 11 faz o decodificador de coluna ativar a coluna 3. A1A0 = 01 faz o decodificador de linha ativar a linha 1. Ativa o registrador 13. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Read-Only Memory - ROM Temporização t0 - as entradas de endereço estão mudando para um novo endereço; t1 - o novo endereço é válido e ativada; será t2 - as entradas e são ativadas para habilitar os buffers de saída; t3 - as saídas mudam do estado de alta impedância para saída de dados válidos. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados ○ tACC - tempo de acesso; ○ tOE - tempo de habilitação da saída; ○ Hi-Z - alta impedância. Memória Tipos de ROMs MROM (Mask-ROM): A RAM programada por máscara (MROM) tem as informações armazenadas ao mesmo tempo em que o CI é fabricado. São constituídas por uma matriz retangular de transistores. As informações são armazenadas conectando ou desconectando a fonte de um transistor à coluna de saída. O processo utiliza uma “máscara” para depositar metais sobre o silício, formando as conexões. A máscara é precisa e cara, e deve ser feita de acordo com a especificação do cliente, com as informações binárias corretas. É viável economicamente somente em larga escala. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Tipos de ROMs PROM (Programmable ROM): A PROM é programada pelo usuário. Entretanto, uma vez programada, não pode ser apagada e reprogramada. Ideal quando não se trata de produção em larga escala, pois seu custo é menor comparado com a MROM. Os dados são programados em uma PROM queimando fusíveis por meio de uma tensão acima do normal no dreno do transistor. Para armazenar o valor lógico 0, o fusível deve ser queimado, para armazenar o valor lógico 1, o fusível deve ser mantido intacto. É necessário o uso de um dispositivo especial, denominado programador. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Tipos de ROMs EPROM (Erasable Programmable ROM): Pode ser programada pelo usuário e ser apagada e reprogramada quantas vezes for desejado. As células são constituídas de transistores MOS com uma porta (gate) de silício sem conexão elétrica (floating gate). Inicialmente, as cargas negativas formam um canal entre a fonte e o dreno, armazenando um valor lógico igual a 1 na célula. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Não há carga armazenada na porta flutuante. Memória Tipos de ROMs Ao aplicar uma alta tensão positiva no floating gate, os elétrons saem do canal e ficam presos no gate. Quando a tensão é removida, os elétrons permanecem no gate, de modo que a célula passa a armazenar o valor lógico 0. Para apagar o conteúdo, luz ultravioleta é utilizada para excitar os elétrons até que eles escapem do floating gate e a configuração inicial seja restaurada. EPROMs são susceptíveis a mudanças indesejadas de seu conteúdo caso estejam em ambientes com muito ruído elétrico ou radiação. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Tipos de ROMs EEPROM (Electrically Erasable Programmable ROM): similar a EPROM, mas apagável eletricamente. Com a adição de uma fina camada de óxido sobre o dreno da célula de memória MOSFET, o conteúdo pode ser programado ou apagado eletricamente, através da aplicação de níveis de tensão mais altos que o normal. É possível apagar palavras (bytes) individuais de uma EEPROM, enquanto a EPROM é apagada em sua totalidade. Controladores de memória embutidos escondem do usuário os detalhes de acesso à memória (operações de apagar e reprogramar), oferecendo uma interface simples de comunicação. Aplicando-se uma tensão alta (21 V) entre a porta do MOSFET e o dreno, uma carga pode ser induzida na porta flutuante. A aplicação reversa da mesma tensão faz a carga presa na porta flutuante ser removida. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Tipos de ROMs Operação de leitura ○ Para ler o conteúdo de uma posição da memória, o endereço desejado é aplicado aos pinos de endereço; é colocado em nível BAIXO e o pino de habilitação da saída é colocado em nível BAIXO para habilitar os buffers de saída de dados do CI. O pino de habilitação de escrita, ,é mantido em nível ALTO durante uma operação de leitura. Operação de escrita ○ Para escrever (programar) uma posição de memória, os buffers de saída são desabilitados para que os dados a serem escritos sejam aplicados como entradas nos pinos de I/O. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Tipos de ROMs Flash: O desafio para os engenheiros de semicondutores foi fabricar uma memória não volátil com a capacidade da EEPROM de apagamento elétrico no próprio circuito, mas com densidades e custos muito próximos dos apresentados pela EPROM, mantendo a alta velocidade de leitura de ambas. A resposta para esse desafio foi a memória Flash. A estrutura da célula da memória flash é como o transistor usado na EPROM, apenas um pouco maior. Grandes blocos de memória podem ser apagados de uma só vez, em vez de trabalhar com palavras (bytes) de forma isolada. Uma operação de escrita em uma única palavra pode ser mais lenta que na EEPROM, pois o bloco inteiro tem de ser lido, a palavra atualizada e, então, todo o bloco reescrito. Utilizada em sistemas embarcados para o armazenamento de grandes quantidades de dados em memórias não voláteis. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Aplicações das ROMs Memória de programa de microcontrolador; Smartphones; Memória bootstrap (inicializa o hardware do sistema); Tabelas de dados não alteradas (ex: tabelas trigonométricas); Gerador de funções. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Memória RAM (Random-Access Memory) Constituída por FF. Realizam operações de leitura e escrita com a mesma facilidade. Tempo de acesso igual para qualquer endereço de memória. São usados para armazenamento temporário de programas e dados. Oferece ótimo desempenho. São memórias voláteis. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória Arquitetura da RAM (porta dupla) Leitura: Escrita: Memória RAM com 19 pinos. É possível reduzir a quantidade de pinos? Como a redução afetaria o sistema? Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória SRAM (Static RAM) Armazena dados enquanto a alimentação do CI é mantida. As células de memória SRAM são essencialmente FF. Diferentemente da DRAM (Dynamic RAM), a SRAM não precisa ser atualizada continuamente, o que a torna mais rápida e eficiente em termos de energia. São mais rápidas e caras que DRAM. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória SRAM (Static RAM) Operação de leitura t0 - A entrada de endereço recebe um novo endereço. Após a estabilização da linha de endereço, e é ativado; t1 - A RAM coloca o dado na linha de saída; t2 e voltam para o estado ALTO, e a saída da RAM para seu estado de alta impedância, após o intervalo tOD; t3 - O dado estará no barramento entre t1 e t3. A CPU deve capturar o dado do barramento em qualquer instante durante esse intervalo; t4 - Final do ciclo de leitura e momento em que a CPU altera as entrada de endereço para um novo ciclo de leitura/escrita. ○ ○ ○ ○ Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados tACC - tempo de acesso; tCO - tempo para a saída da RAM ir do estado de alta impedância para um nível de dado lógico válido; tOD - tempo para e voltarem para o estado ALTO e a saída da RAM para seu estado de alta impedância; tRC - tempo total do ciclo de leitura. Memória SRAM (Static RAM) Operação de escrita t0 - A entrada de endereço recebe um novo endereço. Após a estabilização da linha de endereço, e é ativado; t1 - A CPU fornece dados válidos para o barramento de dados para serem escritos na RAM; t2 e voltam para o estado ALTO, mas o dado continua na entrada da RAM; t3 - Final do tDH. O dado se torna indisponível; t4 - Final do ciclo de escrita e momento em que a CPU altera as entrada de endereço para um novo ciclo de leitura/escrita. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados ○ ○ ○ ○ ○ ○ tWC - Tempo total do ciclo de escrita; tAS - Tempo de setup de endereço; tAH - Tempo de hold de endereço; tW - Intervalo de tempo de escrita; tDS - Intervalo onde os dados são mantidos nas entradas da RAM - tempo de setup dos dados; tDH - Intervalo onde os dados são mantidos nas entradas da RAM - tempo de hold dos dados. Memória DRAM (Dynamic RAM) Armazena dados enquanto a alimentação do CI é mantida. As células armazenam dados como cargas em capacitores. Necessita de recargas periódicas das células de memória (refresh). Mais densa e barata que a SRAM, isto é, possibilita o armazenamento de mais bits em uma mesma área do CI. Mais lento e barato que SRAM. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória DRAM (Dynamic RAM) Estrutura e operação da RAM dinâmica ○ Arranjo de 16.384 células organizadas em uma matriz de 128 x 128. ○ São necessárias 14 entradas de endereço para selecionar uma das células (214 = 16.384). ○ A figura ao lado apresenta o arranjo das células em uma RAM dinâmica de 16K x 1. ○ DRAM com um tamanho de palavra de oito bits (ou mais) têm configurações de células semelhantes ao da figura, exceto pelo fato de que cada posição da matriz contém oito células e de que cada endereço aplicado seleciona um grupo de oito células. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória DRAM (Dynamic RAM) Representação da célula de memória ○ Escrita: SW1 e SW2 se fecham, carregando ou descarregando o capacitor. ○ Leitura: SW2, SW3 e SW4 se fecham, conectando a tensão armazenada no capacitor ao amplificador, para produzir uma tensão bem definida de 0 V ou 5 V para a saída de dados, além de restaurar a tensão do capacitor por carga ou descarga. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória DRAM (Dynamic RAM) Multiplexação de endereço ○ A DRAM da figura anterior está obsoleta. Ela tem 14 entradas de endereço; uma de 4M x 1 necessitaria de 22 entradas de endereço. DRAMs modernas têm capacidades de gigabits e precisariam de muitos pinos. ○ Para reduzir o número de pinos nas DRAMs de alta capacidade, os fabricantes utilizam a multiplexação de endereços. A economia de pinos se traduz em decréscimo no tamanho dos encapsulamentos dos CIs. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória DRAM (Dynamic RAM) Multiplexação de endereço t0 - O endereço da linha é aplicado na entrada de endereço; t1 - A entrada é acionada carregando o endereço da linha na borda de descida; t2 - O endereço da coluna é aplicado na entrada de endereço; t3 - A entrada é acionada carregando o endereço da coluna na borda de descida. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados ○ ○ ○ ○ ○ CAS - Column Address Strobe; RAS - Row Address Strobe; WE - Write Enable; CS - Chip Select; tRS - Tempo de setup do registrador de endereço da linha; tCS - Tempo de setup do registrador de endereços da coluna. Memória DRAM (Dynamic RAM) Multiplexação de endereço ○ Em um sistema simples de computador, as entradas de endereço para a memória do sistema vêm da CPU, que gera o endereço completo e coloca nas linhas de endereço. ○ Para uma RAM de 64K sem endereçamento multiplexado seria preciso um barramento de 16 linhas. Se fosse multiplexado, apenas 8 linhas seriam necessárias. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória DRAM (Dynamic RAM) ○ ○ Multiplexação de endereço ○ A entrada MUX tem de estar em nível BAIXO quando RAS é pulsado em nível BAIXO, de modo que as linhas de endereço A8 a A15 da CPU alcancem as entradas da de endereço da DRAM para serem carregadas na borda de descida de RAS. ○ De modo semelhante, a MUX precisa estar ALTA quando CAS é pulsado em nível BAIXO, de modo que A0 a A7 da CPU estejam presentes nas entradas da DRAM para serem carregadas na borda de descida de CAS. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados CAS - Column Address Strobe; RAS - Row Address Strobe. Memória DRAM (Dynamic RAM) Ciclo de leitura t0 - MUX é acionado em nível BAIXO para aplicar os bits de endereço nas entradas de endereço da DRAM; t1 - a entrada é acionada em nível BAIXO para carregar o endereço de linha na DRAM; t2 - MUX vai para nível ALTO para colocar o endereço de coluna nas entradas de endereço da DRAM; t3 - a entrada vai para nível BAIXO para carregar o endereço da coluna na DRAM; t4 - a DRAM responde colocando dados válidos, provenientes da célula de memória selecionada, na linha de saída de dados; t5 - os sinais MUX, estados iniciais. , e saída de dados retornam para os Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória DRAM (Dynamic RAM) Ciclo de escrita t0 - o nível BAIXO em MUX coloca o endereço da linha nas entradas da DRAM; t1 - a borda de descida em carrega o endereço da linha na DRAM; t2 - MUX vai para nível ALTO para colocar o endereço da coluna nas entradas da DRAM; t3 - a borda de descida em carrega o endereço da coluna na DRAM; t4 - o dado a ser escrito é colocado na linha de entrada de dados; t5 - a entrada selecionada; é pulsada em nível BAIXO para escrever o dado na célula t6 - os dados de entrada são removidos da linha entrada de dados; t7 - os sinais MUX, , e retornam a seus estados iniciais. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória DRAM (Dynamic RAM) Refresh da DRAM (por rajada - burst) ○ É realizado habilitando-se o endereço da linha com enquanto e permanecem em nível ALTO. Em uma DRAM com 1024 linhas, um contador de refresh é usado para fornecer os 10 bits do endereço da linha para as entradas da DRAM. A entrada é pulsada em nível BAIXO para carregar o endereço da DRAM, e isso reaviva a linha. A operação normal da memória é suspensa durante o processo. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Memória DRAM (Dynamic RAM) Refresh da DRAM (distribuido) ○ A recarga da linha é intercalada com as operações normais de acesso à memória. ○ Não é preciso interromper o acesso à memória. ○ Em vez de atualizar várias linhas de células de memória em uma sequência rápida (como no modo burst), as operações de refresh são espaçadas ao longo do tempo. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Expansão de memória Expansão do tamanho da palavra Suponha que precisemos de uma memória para armazenar 16 palavras de oito bits e tudo que temos são CIs de memória RAM de 16 x 4 com linhas de I/O comuns. Como podemos produzir a memória desejada? Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Expansão de memória Expansão do tamanho da palavra Podemos combinar dois desses chips de 16 x 4 para produzir a memória desejada. Cada CI irá armazenar metade de cada palavra. A RAM-0 armazena os quatro bits de mais alta ordem e a RAM-1 armazena os quatro bits de mais baixa ordem. Qualquer uma das 16 palavras é selecionada aplicando-se o código de endereço apropriado nas quatro linhas do barramento de endereço (A3, A2, A1, A0). Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Expansão de memória Expansão da capacidade Necessitamos de uma memória que possa armazenar 32 palavras de quatro bits e tudo o que temos são CIs de 16 x 4 com linhas de I/O comuns. Como podemos produzir a memória desejada? Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Expansão de memória Expansão da capacidade Cada RAM é usada para armazenar 16 palavras de quatro bits. A linha de endereço mais alta, A4, é usada para selecionar uma ou outra RAM como aquela que será lida/escrita. As outras quatro, A0 a A3, são usadas para selecionar uma das 16 posições de memória do CI da RAM. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Leitura Ronald J. Tocci; Neal S. Widmer; Gregory L. Moss. Sistemas Digitais: princípios e aplicações. 11ª edição. Pearson, 2011. ○ Capítulo 12 - Dispositivos de memória Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados Referências Andrew S. Tanenbaum; Todd Austin. Organização Estruturada de Computadores. 6ª edição. Pearson, 2013. Ronald J. Tocci; Neal S. Widmer; Gregory L. Moss. Sistemas Digitais: princípios e aplicações. 11ª edição. Pearson, 2011. Prof. Dr. Harlei M. A. Leite (ITA) - EEA-27 Microcontroladores e Sistemas Embarcados