Aula1 Introdução Aos Sistemas Computacionais-1
Aula1 Introdução Aos Sistemas Computacionais-1
Aula1 Introdução Aos Sistemas Computacionais-1
Disciplina de Microprocessadores
Em um Microcomputador a
CPU é implementada por um
único Chip, o Microprocessador. Em um Microcontrolador
toda esta estrutura é
EX: Pentium, Athlon, etc encapsulada em um único
chip.
CPU (Unidade Central de Processamento)
Fig: Sistema Computacional com Microprocessador Fig: Sistema Computacional com Microcontrolador
Dispositivos de entrada e saída (I/O)
PORTAS:
• Paralela
• Serial
• USB
• etc
• Padrões:
- Físico (conector),
- Elétrico (tensão nos pinos, por exemplo)
- Sinalização (seqüência de comunicação)
• B.Controle determina a maneira como será feito o acesso aos dispositivos (Read/Write) faz a sequenciação e
sincronização dos sinais de controle internos e externos.
Memórias
Tipos de memórias e sua classificação
Memórias
Primárias Secundárias
RAM ROM
CD Floppy
DVDs HD Disc
ROMs
Flash
SRAM DRAM MROM PROM EPROM EEPROM
ROM
Memória
• Armazenam os dados que serão manipulados e também o próprio programa a
ser executado pela CPU.
• Tipos:
• Memória de programa ( Ex: Flash)
• Memória de dados ( Ex: RAM)
Ex: um registrador composto por 8 flip-flops capacidade de armazenar uma palavra de 8 bits (1 byte).
Exemplos:
Memória volátil tipo de memória que necessita de energia elétrica para reter as informações
armazenadas. Quando a energia elétrica for interrompida toda a informação armazenada será
perdida.
Memória não-volátil tipo de memória que mantém os dados armazenados mesmo sem
energia.
Memória de acesso randômico (RAM) a localização física real de uma palavra de memória
não tem efeito sobre o tempo que se leva para ler ou escrever nesta posição, isto é, o tempo de
acesso é constante para qualquer endereço da memória.
Memória de acesso sequencial (SAM) Para encontrar determinada palavra, passa-se por
todos os endereços situados entre aquele onde se realizou o último acesso e o objeto do acesso
atual. Isto produz tempos de acesso bem maiores do que os dispositivos de acesso randômico.
Memória de Leitura/Escrita (RWM) Qualquer memória que possa ser lida ou escrita.
Memória Somente de leitura (ROM) Memória que só pode ser gravada ou programada por
processo especial de gravação ou na fábrica, ou seja, depois de programada ou gravada, a informação
somente poderá ser lida pela CPU.
Durante sua operação normal nenhum dado poderá ser escrito na ROM, sendo utilizada então apenas
para leitura de dados que estiverem armazenados.
Para alguns tipos de ROM os dados são gravados durante o processo de fabricação enquanto que,
para outros, os dados são gravados eletricamente por um processo especial de gravação.
As ROMs são não voláteis e por isso são usadas para guardar programas e alguns dados (tabelas,
códigos, etc) que não mudarão durante a operação de um sistema.
Tipos de Memórias a Semicondutor
Esse tipo de ROM é conhecido como PROM FUSE, isto é, uma ROM programável por fusíveis.
Depois de gravada uma palavra, não mais poderá ser alterada ou desgravada.
Se após gravada, houver a necessidade de modificar os dados armazenados, isto não mais será possível,
havendo então necessidade de utilizar outro chip.
Tipos de Memórias a Semicondutor
Pode ser programada pelo usuário, com a vantagem de poder ser apagada e reprogramada quantas vezes
forem necessárias.
Uma vez programada uma EPROM comporta-se como uma memória não volátil.
O processo de programação de uma EPROM envolve a aplicação de níveis especiais de tensão situados
entre 10 e 25V às entradas do chip, em intervalos com tempo determinado, da ordem de alguns
milisegundos por posição de memória.
Em seu estado natural (sem qualquer programação) todas as células armazenam o bit 1. Durante a
programação os pinos de dados e endereços da EPROM são usados para selecionar quais células são
programadas como “0” e quais serão deixadas em “1”.
Tipos de Memórias a Semicondutor
Para contornar esse inconveniente foi desenvolvido um outro tipo de EPROM, que
pode ser apagada por pulsos elétricos, são as denominadas EEPROM ou E2PROM.
A grande vantagem com relação a EPROM é que o apagamento e a reprogramação dos dados podem ser
feitos seletivamente (em bytes) ao invés da memória toda e para ser programada ou reprogramada, o chip
não precisa ser removido do circuito.
Nas memórias E2PROM, a gravação e regravação podem ser feitas em cada byte, o que as tornam
versáteis, mas lentas.
Fabricantes responderam a essa limitação com as memórias FLASH, um tipo de E2PROM que usa para
apagar dados um campo elétrico em todo o circuito ou em uma seção pré-determinada do circuito,
chamada de blocos.
A memória Flash funciona muito mais rapidamente que as tradicionais E2PROMs porque grava os dados
em blocos, geralmente de 512 bytes, em vez de 1 byte por vez.
Tipos de Memórias a Semicondutor
As RAMs por serem voláteis perdem os dados nela armazenados com a falta de energia.
Mas, armazenam dados por tempo indeterminado, enquanto a alimentação estiver sendo aplicada ao chip.
Por esse motivo, essas RAMs são denominadas RAMs ESTÁTICAS (SRAM).
Tipos de Memórias a Semicondutor
Enquanto que as RAMs estáticas armazenam informações em flip-flops, as RAMs dinâmicas armazenam os bits 0
e 1 em microcapacitores parasitas nos transistores MOS que constituem sua célula.
Devido a corrente de fuga essas informações podem ser perdidas após um determinado período, necessitando de
um processo de restauração periódica.
A necessidade da operação de refresh torna a RAM dinâmica desvantajosa em relação à RAM estática, porém
seu custo é bem menor.
RAM não volátil (NVRAM – Non Volatile RAM)
As RAMs estáticas são utilizadas para leitura e escrita, devido a sua alta velocidade na realização dessas
operações, no entanto, por serem voláteis, os dados nela armazenados se perdem quando cessa a alimentação
elétrica.
Quando se requer o uso de memórias não voláteis de alta capacidade, a alternativa é a utilização de RAMs CMOS
com bateria.
Ampliação de Capacidade das Memórias
Exemplo 1: A partir de uma memória RAM de 16 x 4 bits, gerar um banco de memória que possa
armazenar 16 x 8 bits.
Exercícios:
Exemplo 2: A partir de uma memória RAM de 16 x 4bits, gerar um banco de memória que possa
armazenar 32 x 4 bits.
Ampliação de Capacidade das Memórias
Exercícios:
2 – Utilizando blocos de memória RAM 128 x 4 bits, forme um banco de 256 x 4 bits. Escreva a
palavra de endereço inicial e final de cada bloco (em hexadecimal).
3 – Formar uma RAM de 512 x 8 bits com blocos de estrutura 128 x 4 bits.
Após a realização de uma operação lógica ou aritmética, a ALU faz o ajuste dos bits de
FLAGs conforme o resultado da operação.
Unidade de Registradores
É incrementado em cada instrução, ficando sempre com o endereço da próxima instrução na memória.
Contém vários bits de status que refletem o estado da última operação lógica ou
aritmética. Os bits de flags podem variar para cada tipo de processador.
• Somar 2 números;
• Transferir um número da Memória para a CPU;
• Transferir um dado da CPU para uma Porta de E/S;
• etc
Desta forma, o mesmo Hardware permite gerar inúmeros Programas (Softwares), através das diferentes
combinações da seqüência de instruções do mesmo Conjunto de Instruções (Set de Instruções).
Ciclo de Instrução
O Processamento de cada instrução é feito pela atuação da UC (Unidade de Controle) sobre todos os sinais
de controles do Sistema (Via de controle interna e Via de controle externa), numa seqüência de tempo bem
definida (baseada na frequência do clock).
Esta seqüência de controles para o processamento da Instrução é chamado de: Ciclo de Instrução
Ciclo de Execução da Instrução UC utiliza os sinais de controle (internos e/ou externos) para
sequenciar todas as operações necessárias para a execução da instrução (op-code decodificado).
Conjunto de Instruções
Cada Instrução do "Set de Instruções" possui, para sua identificação, um código
de operação, conhecido como Op-code.
Para facilitar a programação, o fabricante também associa a cada op-code um símbolo, conhecido
como MNEMÔNICO.
Uma instrução pode ser executada em vários ciclos de máquina, ou seja, um ciclo de
instrução é formado por vários ciclos de máquina (dependente da arquitetura).
Os ciclos de máquina indicam quanto tempo uma instrução leva para ser executada pelo
processador.
Arquiteturas dos Processadores
Arquitetura de Harvard:
Definiu a arquitetura CISC – Complex Instruction Set Computer (Set de instruções Complexo)
- Set de instruções grande (muitas instruções) Ex: 8051 225 instruções
- Os programas armazenados na memória são menores em relação ao RISC.
- Op-codes são pequenos e realizam varias tarefas (a UC consegue decodificá-lo em varias sequencias de
sinais de controle para executar a instrução - Microcódigo).
Arquitetura de Harvard:
Definiu a arquitetura RISC – Reduce Instruction Set Computer (Set de Instruções Reduzido)
- Set de instruções reduzido (poucas instruções) Ex: PIC16Fxxx 35 instruções
- Instruções possuem um comprimento fixo e longo, que permite a utilização de um
Decodificador de Instruções bastante simplificado, onde, praticamente, o Op.code atua diretamente sobre os
controles dos dispositivos do Sistema (eliminando o microcódigo).
Arquitetura Híbrida:
Exemplo: Assembly x C
while (true) {
if (BOTAO == PRESSIONADO)
LED = LIGADO;
else
LED = DESLIGADO;
}
Linguagens de Programação
• ponto fraco o código gerado, muitas vezes, é maior do que um código gerado por um
montador (Assembler), ocupando uma memória maior de programa.
• muitas vezes, a eficiência de execução do programa não é boa (pouco otimizado. Tempo de
processamento maior).
Linguagens de Programação para Microcontroladores
Assembly
Fim
Exercício
1- Como ler a palavra R10 de conteúdo 10011101?
Até ao Próximo Encontro