Sistemas Digitais 1 Módulo 13 – Prof. Celso SISTEMA BÁSICO DE UM COMPUTADOR RESET – Inicializa o sistema ao ligar. CLOCK (ou Oscilador) – Tem por função sincronizar os deslocamentos internos de dados e endereços, permitindo a seqüência automática das instruções do programa. INTERRUPÇÃO – Entradas de sinal externo, de outros periféricos, para interromper processamento e executar outro previamente acertado. CPU ou UCP (Unidade Central de Processamento) – Responsável por todo processamento do computador. É o local onde são executadas operações aritméticas e lógicas, é o manipulador e/ou modificador do fluxo de dados. ALIMENTAÇÃO – Fonte de tensão que alimenta os circuitos integrados. MEMÓRIA DE PROGRAMA – Memória onde a CPU vai procurar as instruções, ou seja, a seqüência de procedimentos a ser executado pelo computador. MEMÓRIA DE DADOS – Memória onde a CPU lê e escreve dados durante a operação normal. Geralmente é do tipo volátil (perde informação ao ser desligada). BLOCO DE CONTROLE – Lógica para escolher qual memória ou periférico a CPU vai utilizar. ENTRADA E SAÍDA – Dispositivos de entrada e saída para comunicação da CPU com o mundo exterior (teclado, display, vídeo, mouse...). Também chamado de portas de I/O (Input/Output). 1 Sistemas Digitais 2 Módulo 13 – Prof. Celso DUTO (ou Barramento) DE DADOS OU DE ENDEREÇO: Um barramento é uma conexão física para a transmissão de sinais entre sistemas digitais. Trata-se de um conjunto de condutores (fios, trilhas) por onde “passam” os bits. CPU (UNIDADE CENTRAL DE PROCESSAMENTO) Internamente à CPU existe: Unidade de controle: Desempenha todo o papel de controle da CPU. ULA (ou ALU): Responsável pelas operações lógicas (AND, OR, XOR...) e aritméticas (soma, subtração, divisão...) Registradores: São “memórias” auxiliares utilizadas durante o processamento. O registrador mais importante é o “acumulador” onde termina o resultado de todas as operações MEMÓRIAS As memórias servem para armazenar informações (números, letras, caracteres, instruções, endereços, dados). A memória é um conjunto de células (ou localizações), todas com o mesmo número de bits numerado seqüencialmente em ordem crescente. Cada célula é identificada por um número exclusivo que é o seu endereço. Se a memória tem 2n células então os endereços devem ter n bits. Os acessos à memória são feitos através de unidades chamadas palavras de memória que podem ter 1, 2, 4 ou 8 bytes. CLASSIFICAÇÃO DAS MEMÓRIAS As memórias podem ser classificadas quanto: 1. Acesso: Seqüencial: chegam a posição endereçada passando por todas as posições intermediárias. Ex.: fitas magnéticas Aleatórias ou direto: chegam diretamente à posição endereçada. Ex.: RAMs 2. Volatilidade: Voláteis: perdem as informações armazenadas com o corte da alimentação (RAM). Não voláteis: mantêm as informações mesmo sem a alimentação (ROM). 3. Troca de Dados: Memórias de escrita e leitura (RAM). Memória apenas de leitura (ROM). 2 Sistemas Digitais 3 Módulo 13 – Prof. Celso 4. Armazenamento: Estáticas: o dado inserido permanece armazenado indefinidamente (SRAM). Dinâmicas: é necessária a reinserção do dado periodicamente para que ele não se perca (DRAM). TIPOS DE MEMÓRIA 1 ROM (Read Only Memory) - somente de leitura - constituídas de circuitos combinacionais - não voláteis - acesso aleatório - memória estática 3 4 Sistemas Digitais Módulo 13 – Prof. Celso Funcionamento Básico I0 e I1 são informações armazenadas na fabricação do dispositivo E S 0 1 I0 I1 Memória 4x1 = memória com 4 posições endereçáveis e com 1 bit de informação Genericamente: Memória N x m, sendo N posições de memória e m bits de informações Ex.: 7488 - memória 32 x 8 4732 - memória 4k x 8 – possui 4096 posições e 8 bits de saída OBS.: 1k = 1.024 Representação: 4 Sistemas Digitais 5 Módulo 13 – Prof. Celso 2 ROMs Programáveis 2.1 PROM (Programable Read Only Memory) - É uma ROM que pode ser programada uma única vez pelo usuário - A conexão entre as linhas de endereço e as saídas é feita por um diodo ou transistor bipolar em série com um fusível - O programador de PROMs queima os fusíveis através de correntes altas Memória não volátil Acesso direto Apenas leitura 2.2 EPROM (Erasable-Programable Read Only Memory) - pode ser programada, apagada e reprogramada - utiliza transistor MOS nas conexões entre as linhas de endereço e as saídas de dados - Uma vez armazenado o bit na célula de memória (carga na porta do transistor CMOS) ele aí permanece até que se deseje apagá-lo - Apagamento => exposição da EPROM à luz U.V. (ultra-violeta). A fotocorrente descarrega a porta através de uma janela de cristal no chip. - É não volátil - De acesso direto - Comerciais: 2764 (8k x 8), 27512 (64k x 8) 5 Sistemas Digitais 6 Módulo 13 – Prof. Celso 2.3 EAPROM (Electrically Alterable Read-Only Memory) EEPROM (Electrically Erasable Programable Read Only Memory) - programada, apagada e reprogramada eletricamente - é não volátil - de acesso direto - custo alto - degradação após 106 a 1011 ciclos de escrita/leitura 3 RAMs - (Random Access Memory) Permite tanto leitura quanto a escrita de dados Constituídas geralmente de um grupo de registradores endereçavéis (Flip-Flops) Usada para armazenamento de programas e dados durante as operações com o microcomputador - Volátil 6 Sistemas Digitais 7 Módulo 13 – Prof. Celso CLOCK R S Qn+1 0 ↑ ↑ X X 0 1 1 0 Qn 1 0 RAMs Estáticas – armazenam as informações enquanto houver alimentação RAMs Dinâmicas (DRAMs) – armazenam as informações como uma carga num capacitor. Precisam ser periodicamente restauradas por causa das fugas de corrente. Num mesmo tamanho físico as RAMs dinâmicas tem maior capacidade que as RAMs estáticas. RAMs Estáticas 74200 (256 x 1) Texas 2114 (1k x 4) Intel RAMs Dinâmicas 2116 (16k x 1) Intel 4464 (64k x 4) Texas ORGANIZAÇÃO DA MEMÓRIA Bit – menor unidade de informação, pode ser 0 (desligado) ou 1 (ligado). Nibble – conjunto de 4 bits Byte – conjunto (palavra) de 8 bits. O computador só conhece o sistema binário. O sistema hexadecimal foi criado para facilitar a tarefa dos programadores, analistas e projetistas na manipulação dos endereços e dos dados. 7 8 Sistemas Digitais Módulo 13 – Prof. Celso Uma memória é caracterizada pelo: - Número de localizações (ou endereço, ou palavra): 1024 (1k), 2048 (2k).... - Número de bits/palavra: 1, 4, 8, 16... Supondo uma memória simples de 8 posições por 4 bits de dados: Eprom 2764 (8k x 8) 27512 (64k x 8) Rom 4732 (4k x 8) Dram 4464 (64k x 4) Sram 2114 (1k x 4) Pela figura anterior temos que, para endereçar uma memória de 8x4 precisamos de 3 linhas de endereço (A2, A1, A0) e 4 linhas de dados (D3, D2, D1, D0). Para calcular o número de linhas de endereço, pode-se utilizar: 2x = número de endereços (ou palavras) no exemplo 2x = 8 para calcular x, podemos usar o logaritmo na base 10 ou o logaritmo neperiano: 2x = 8 ln 2x = ln 8 x.ln2 = ln8 x = ln 8 / ln2 pela propriedades dos logaritmos: ln yA = A. ln y => x = 2.0794415 / 0,6931471 => x = 3 A quantidade de linhas de endereço necessária para ligar a CPU à memória é definida pelo número de palavra (ou endereço). Para endereçar 1024 posições de memória são necessárias: 2x = 1024 => x = 10 linhas 8 Sistemas Digitais 9 Módulo 13 – Prof. Celso 2o. exemplo: Construa uma memória de 16x8 (16 palavras com 8 bits cada palavra). O endereço inicial dessa memória deve ser 0. Insira na posição 5H o dado 5FH, na posição 0H insira F1H e na posição BH insira 8CH Para construir a memória devemos saber: Número de linhas de endereço: 2x = 16 Número de linhas de dados: 8 => x = 4 A memória ficaria: teríamos: endereço Palavra de dado 0H F1H 5H 5FH BH 8CH 9 Sistemas Digitais 10 Módulo 13 – Prof. Celso Nesse exemplo a ligação entre a CPU e a memória seria: 10 Sistemas Digitais 11 Módulo 13 – Prof. Celso ASSOCIAÇÃO DE MEMÓRIAS As memórias podem ser associadas para expandir sua capacidade de dados ou de localizações. Se tivermos memórias de 256x4, podemos construir memória de 256x8, fazendo a seguinte ligação: O duto de endereçamento é aplicado simultaneamente nas duas memórias. Também, o controle de leitura/escrita (R/W) e a seleção do chip (CS) são simultâneo. Se quisermos escrever o dado 5Fh na posição de memória 7Bh devemos: 1 – Selecionar os chips (CS = 0) 2 – Selecionar o endereço 7Bh (A7-A0 = 0111 1011) 3 – Selecionar a operação de escrita (R/W=0) 4 – Aplicar os níveis 5Fh (0101 1111) na barra de dados, sendo que o 5h é aplicado em D4D7 e o Fh é aplicado em D0-D3 11 12 Sistemas Digitais Módulo 13 – Prof. Celso Utilizando a mesma memória de 256x4, podemos expandir sua capacidade de armazenamento. A figura abaixo mostra duas memórias de 256x4 ligadas para construir uma memória de 512x4. RAM 1 RAM 2 Os endereços e o controle de leitura/escrita são simultâneos, mas a seleção do chip é fornecida por uma linha de endereço (A8). Se A8=0, a primeira memória (RAM 1) é selecionada e se A8=1, a segunda memória (RAM 2) é selecionada. A operação de escrita ou leitura deve seguir os passos dados no exemplo anterior. 1 – Selecionar os chips (CS = 0). Neste caso a linha A8 seleciona uma ou outra memória 2 – Selecionar o endereço (A7-A0) desejado 3 – Selecionar a operação de escrita(0) ou de leitura(1) (R/W) 4 – Se escrita: Aplicar os níveis desejados na barra de dados. 12 13 Sistemas Digitais Módulo 13 – Prof. Celso Considerando o exemplo acima, o endereçamento de cada memória ficaria: RAM 1 RAM 2 Seleção da Memória A8 0 1 A7 A6 A5 A4 A3 A2 A1 A0 HEX 0 0 0 0 0 0 0 0 000 1 1 1 1 1 1 1 1 0FF 0 0 0 0 0 0 0 0 100 1 1 1 1 1 1 1 1 1FF Repare que neste exemplo estamos considerando as outras linhas de endereçamento (A9,A10,A11) em nível lógico baixo. Consulta: Idoeta – Cap.8 Malvino – vol.02 – cap.12 Bignell – vol.02 – cap. 16 13 Sistemas Digitais 14 Módulo 13 – Prof. Celso EXERCÍCIOS: 1) Um computador tem 128 K de memória. Quantos bytes isto representa? 2) Desenhe uma memória de 8 x 8, dando os endereços das posições e insira nas posições abaixo os seguintes valores: posição 3H – valor: C3H posição 5H – valor: 8BH 3) desenhe a ligação entre uma CPU e uma memória de 64k x 8 4) O desenho abaixo mostra um trecho de uma memória. Pede-se, o valor em hexadecimal do conteúdo dos endereços: 23H 25H 29H 5) Quantas linhas de endereço são necessárias para endereçar uma memória de: 128 bytes 128 Kbytes 14 Sistemas Digitais 15 Módulo 13 – Prof. Celso 6) No trecho de memória da figura abaixo, forneça o conteúdo da posição 5A73H e 5A7AH Como está organizada a memória? (isto é, quantas palavras dá para endereçar e quantos bits por palavra a memória possui). 7) Suponha que você possua várias memórias de 128x4. Construa uma memória de 512x4. Forneça os endereçamento de cada memória. Faça o decodificador para acionar cada chip de memória (Chip Select). 8) Determine o endereço inicial e final de cada memória abaixo: a) ROM 512x4 b) EPROM 4Kx8 c) RAM 128Kx8 d) RAM 2Mx16 9) Abaixo é mostrado um computador baseado no Z-80. Descubra, através de Data-Sheets, as funções dos circuitos integrados da figura. - Z-80 - 74LS14 - 74LS245 - 74LS04 - 74LS74 - 74LS32 - 74LS06 15 Sistemas Digitais 16 Módulo 13 – Prof. Celso 16