Arquitetura e Organização dos Computadores - Novas Arquiteturas

Arquitetura e Organização dos Computadores - Novas Arquiteturas

(Parte 1 de 8)

Novas Arquiteturas

CONTAGEM, 07 DE JUNHO DE 2006.

1.O Microprocessador Intel 808003
2.História Do Processador06
3.Sobre Os Microprocessadores19
4.E Os Microcontroladores20
6.Nomes Código dos Processadores
7.Bibliografia49

ÍNDICE 5.As Novas Gerações do Athlon, Duron, Pentium Iii, Celeron E Pentium 4 21 4 2

O MICROPROCESSADOR INTEL 8080

Como exemplo de uma arquitetura de processador, vamos examinar o microprocessador Intel 8080.

O microprocessador Intel 8080 foi lançado em abril de 1974, como uma evolução do 8008.O 8080 é um microprocessador empacotado em um único micro chip LSI (Large Scale Integration) com 40 pinos DIP (dual inline packaging), tem um ciclo de máquina de 72 micro-segundos e possui um conjunto de 72 instruções. Ele possui um barramento de dados bidirecional de 8 bits e um barramento de endereços (unidirecional) de 16 bits, permitindo endereçar 64k bytes. Pode endereçar até 256 portas de entrada e 256 de saída compatível TTL (Transistor-to-Transistor Logic).

Diagrama Esquemático do Intel 8080

A UAL é responsável pela execução das operações aritméticas, lógicas e de deslocamento de bits. É alimentada por um Registrador temporário - TMP, pelo Acumulador - ACC e pelo Carry Flag. O resultado da operação na UAL pode ir para o Acumulador ou, dependendo da instrução, para o barramento interno e daí para um dos registradores ou para a memória. Os resultados das operações na UAL também alimentam os Flags.

A UAL contém 3 registradores de 8 bits:

Indicadores de Condição (Condition Flags ou simplesmente Flags)

O registrador FLAG é setado pela UCP de forma a registrar determinadas condições relativas ao resultado de uma operação. Os flags são lidos pela UCP, para utilização pelas instruções de desvio condicional. Os flags também podem ser testados pelo usuário, usando algumas instruções especiais, mas não podem ser alterados diretamente pelo usuário.

São 5 os flags, sobrando 3 bits não utilizados. A palavra de flag tem o seguinte formato:

S Z 0 AC 0 P 1 CY D7 D6 D5 D4 D3 D2 D1 D0

Obs.: dizemos que um bits está SETADO quando seu valor é 1, e RESETADO quando seu valor é 0.

Z (zero flag ou indicador de zero) - é setado como 1, se todos os bits do ACC como resultado de uma operação são 0. Caso qualquer um dos bits seja 1, será resetado (como 0). Serve portanto para testar se o resultado de uma operação é 0. Este flag pode ser testado pelo programador.

S (sign flag ou indicador de sinal) - é setado pelo sinal do resultado de uma operação no acumulador. O bit 7 do acumulador pode ser interpretado como o sinal do resultado. Algumas instruções setam o flag de sinal igual ao bit 7 do acumulador. Portanto, caso o resultado de uma operação seja negativo (bit 7 = 1), este flag é setado como 1. Caso o resultado seja positivo (bit 7 = 0), o bit é resetado (como 0). Este flag pode ser testado pelo programador.

P (parity flag ou indicador de paridade) - representa a paridade do resultado no acumulador. As instruções que afetam o flag de paridade setam este flag para 1 quando a paridade é par (even) e resetam (como 0) quando a paridade é ímpar (odd). Este flag pode ser testado pelo programador.

C (carry flag ou indicador de "vai um") - é usado para indicar quando uma soma no acumulador causa "vai um" (carry out) ao dígito de mais alta ordem. Também pode ser empregado como "pede emprestado" ("borrow") em operações de subtração. Este flag também pode ser afetado pelas operações lógicas (AND, OR, XOR etc.). operações de rotação de bits tratam o carry flag como um 9o bit do ACC. Quando há carry out para o 9o bit, o flag C é setado (1); quando não há carry out para o 9o bit, o flag C é resetado (0). Este flag também pode ser testado pelo programador.

AC (auxiliary carry ou indicador de "vai um" auxiliar) - indica um carry out no 3o bit do ACC. É utilizado exclusivamente pela instrução DAA (decimal adjust accumulator). O AC e a instrução DAA permitem tratar o valor do acumulador como DOIS algarismos codificados em BCD (quatro bits). A instrução DAA converte valores hexadecimais em decimais. Este flag NÃO pode ser testado pelo programador, sendo reservado exclusivamente para uso pela instrução DAA.

CONJUNTO DE REGISTRADORES DO 8080

Além dos registradores internos da UAL, o 8080 dispõe de 6 registradores de 16 bits: o Program Counter (equivalente ao Contador de Instruções que já estudamos), o Stack Pointer (Ponteiro da Pilha), 6 registradores de 8 bits arranjados em pares (que podem ser utilizados isolados, armazenando 1 byte, ou aos pares, quando então podem armazenar 2 bytes) e finalmente um par de registradores temporários de 8 bits (também podem ser utilizados aos pares, de forma a armazenarem dados de 16 bits).

Registradores não disponíveis para o usuário a) Stack Pointer (SP)

O stack pointer (ponteiro de pilha) guarda o endereço do próximo endereço vago na pilha (topo da pilha). O 8080 usa a pilha para manipular sub-rotinas, guardando nela os endereços de retorno. Pilha é uma área da memória principal, endereçada pelo Stack Pointer. Um programa deve inicializar o ponteiro da pilha com o endereço base da pilha. Um programa pode inicializar a pilha para qualquer parte vaga da memória (geralmente é usado o endereço mais alto disponível na MP). O ponteiro da pilha é incrementado quando dados são colocados na pilha (instrução PUSH) e decrementado quando dados são removidos da pilha (instrução POP). A pilha cresce decrementando o ponteiro da pilha.

b) Program Counter

O Program Counter mantém o endereço da instrução corrente e é incrementado automaticamente pela UC após a decodificação da instrução (quando estão passa a apontar para o endereço da próxima instrução).

c) Registradores Temporários W e Z

São utilizados pela UCP e não ficam disponíveis para o programador.

Registradores Gerais disponíveis para o programador

O 8080 dispõe de um conjunto de 6 registradores gerais, disponíveis para o usuário: B, C, D, E, H e L. Esses registradores podem ser utilizados isoladamente ou em pares (B/C, D/E e H/L), quando for necessário armazenar 16 bits. Para o armazenamento de endereços (sempre em 16 bits) é geralmente usado o par de registradores H/L, que neste caso (armazenando um endereço de memória) será referido como registrador M.

B e C contém o byte menos significativo D e E contém o byte menos significativo H e L contém o byte menos significativo MH e L PSWACC e FLAGS

A referência simbólica M se refere aos registradores H e L quando contém uma posição de memória. PSW significa Program Status Word e engloba o Acumulador e os Indicadores de Condição (flags).

Introdução

As Unidades Centrais de Processamento – mais conhecidas por CPUs – têm sofrido grandes mudanças ao longo dos últimos anos desde que a Intel veio para o mercado com o seu primeiro processador. A IBM escolheu o Intel 8088 para o cérebro dos seus primeiros computadores. Foi esta escolha da IBM que fez da Intel o que ela é – a líder do mercado de CPUs. Então companhias como a AMD and Cyrix lançaram para o mercado a suas versões, normalmente com alguns pequenos melhoramentos e ligeiramente mais rápidos.

Os processadores da Intel passaram por cinco gerações. A sexta está a firmar terreno. As primeiras quatro gerações pegaram no "8" para o nome da série, pelo qual os informáticos se referem a esta família de chips por «8088», «8086», «80186». Depois «80286», «80386» e finalmente o «80486», sendo que este eram tratados mais pelos seus diminutivos «286» , «386» e «486». Então surgiu o Pentium. A Intel mudou-lhe o nome este – estratégias de mercado! Alguns, no entanto, chamaram-lhe P5, ou então 80586. De qualquer maneira, quanto mais alto o numero mais poderoso e mais caro era o processador.

A seguir vem uma descrição do processador até hoje.

Os seguintes chips são dinossauros no mundo dos computadores: 1971: Microprocessador 4004

O 4004 foi o primeiro microprocessador da Intel. Esta invenção revolucionária deu um novo poder à calculadora da Busicom e abriu o caminho para o embutimento de inteligência em objetos inanimados, bem como nos computadores pessoais.

O 8008 era duas vezes mais poderoso que o 4004. De acordo com a revista Radio Electronics, Don Lancaster - um grande aficionado dos computadores - usou o 8008 para criar um predecessor do primeiro computador pessoal, um aparelho chamado pela revista de «TV tipewriter». Era usado apenas como terminal de escrita.

O 8080 tornou-se cérebro do primeiro computador pessoal - o Altair, alegadamente chamado assim devido a destino da um Starship Enterprise num episódio da série de televisão Star Trek. Aficionados dos computadores podiam comprar um kit para o Altair por $US 395. Em apenas alguns meses vendeu dezenas de milhar, causando a primeira quebra de mercado na história dos computadores.

O 8086 foi esquecido para o primeiro PC, mas ainda foi usado mais tarde em alguns computadores. Era um verdadeiro processador de 16 bits e comunicava com as placas por uma ligação de dados de 16 vias. Mas em 1979 a venda à nova divisão de computadores pessoais da IBM fez do 8088 o cérebro do novíssimo êxito da IBM - o IBM PC.

O sucesso do 8088 introduziu a Intel nas listas da Fortune 500, e companhia ainda foi nomeada como "Triunfos Empresariais dos Anso Setenta". Era um processador de 16 bits, mas comunicava com as placas apenas por uma ligação de 8 bits. Trabalhava a uma estonteante velocidade de 4 MHz e tinha a fantástica capacidade de memória de 1MB de RAM.

Lançado pela Intel em 1978, o 8086 tinha um desempenho dez vezes melhor que seu antecessor o 8080. Seus registradores tinham a largura de 16 bits, o barramento de dados passou de 8 para 16 bits e o barramento de endereços se tornou maior com 20 bits de largura, permitindo assim que fosse controlado mais de 1 milhão de bytes de memória. A memória passou a ser tratada de maneira diferente pois esse processador tratava a mesma como se fosse dividida em até 16 segmentos contendo 64 kilobytes cada, e não permitia que nenhuma estrutura de dados ultrapassasse a barreira entre os segmentos.

O 8088 surgiu da necessidade em se criar um processador com características parecidas com as do 8086 mas que tivesse um custo menor. Dessa forma, a Intel colocou no mercado um chip que só se diferenciava do 8086 pelo fato de Ter um barramento de dados de 8 bits. Em virtude de sua concepção menos avançada e do baixo custo de produção o 8088 foi escolhido pela IBM, para o projeto de seu computador pessoal, pois, além de possuir o projeto interno de 16 bits também pertencia à mesma linhagem do 8080.

O «80186» foi um chip muito popular. Muitas versões foram desenvolvidas na sua historia. O cliente podia escolher entre CHMOS e HMOS, versões de 8 bits e 16 bits dependendo do que quisesse comprar. Um chip CHMOS podia trabalhar ao dobro da velocidade do relógio e a um quarto da gasto de energia do chip HMOS. Em 1980, a Intel lançou a família «Enhanced 186». Todos eles partilhavam um mesmo desenho do núcleo. Tinham um núcleo de 1 mícron e trabalhavam a cerca de 5MHz e a 3 volts. Para mais informação sobre o processador 186 :

•Intel 186 Microprocessors •186 High-Integration 16-bit Processor Datasheet

Mais conhecido por 286, foi o primeiro processador que executava todo o software escrito para o seu predecessor. Esta compatibilidade de software continua a ser uma tradição na família de processadores da Intel. Em apenas 6 anos após o lançamento, estima-se que se compraram cerca de 15 milhões de computadores pessoais baseados no 286 em todo o mundo.

Era um processar a 16 bits capaz de endereçar memória até 16MB de RAM. E era também capaz de trabalhar com memória virtual. O 286 foi o primeiro processador "real". Foi também com ele que se introduziu o conceito de protection mode. Isto é a habilidade de ter multitarefas e, ter diferentes programas a correr em separado mas ao mesmo tempo. Esta nova habilidade não foi aproveitada pelo DOS, mas felizmente modernos Sistemas Operativos como o Win 9x e Unix tiram bastante partido desta qualidade. Este chip foi usado pela IBM no seu PC AT. Trabalhava a cerca de 6MHz, e modelos posteriores conseguiram trabalhar a 20MHz. Estes processadores são hoje usados apenas como pisa-papeis, mas muita gente também os usa.

Na década de 80, surgiu o primeiro PC (Personal Computer), lançado pela IBM, sem disco rígido, com 2 unidades de disquetes e apenas 64 KB de memória o que era suficiente para rodar a maioria dos programas da época.

•Bit (b) - é menor informação que um computador pode processar. Corresponde a um pulso elétrico. Se existe, tem valor 1 e, se não existe, tem valor 0. Isto forma o código binário (0- 1). Por ser muito pequeno, não é utilizado para medir memória. No entanto, é a unidade de medida da capacidade de processamento dos computadores.

•Byte (B) - conjunto de 8 bits; representa um caractere.

(Parte 1 de 8)

Comentários