Você está na página 1de 19

Escola Estadual Tcnico Industrial Professor Fontes

ARQUITETURA
DE
COMPUTADORES






Prof Italubosco Lopes da Silva




Arquitetura
1 - Objetivo: Introduzir os conceitos fundamentais de organizao e arquitetura de
computadores.
Introduo
Histrico da evoluo dos computadores.
Computador digital; mquina capaz de solucionar problemas atravs de execuo.
Programa: sequncia de instrues que descreve como executar uma determinada tarefa.
Os circuitos eletrnicos do computador podem reconhecer e executar apenas um conjunto
limitado de instrues simples.
Exemplos
Somar dois nmeros
Verificar se o nmero igual a zero
Mover um dado de uma parte da memria para outra.
Dcada 40 primeiros computadores
1951 Mquina Simplificada
Dcada 60 sistema de tempo compartilhado.
Dcada 70 surgimento do micro computador.
HARDWARE: Objetos tangveis (que se toca)
SOFTWARE: Objetos no tangveis (no se toca)

Microarquitetura
Estrutura lgica e capacidades funcionais de hardware tal como visto por um
microprogramador.
Microprogramao
uma estratefia para implementar a unidade de controle de um processador que
consiste em programar ao nivel das operacoes de transferencia de registros.
Unidade de Controle microprogramada
um circuito lgico que permite realizar a execuo em seqncia de um conjunto de
instrues muito elementares chamadas de microinstrues.
a Unidade de Controle formada por
- Memria de Controle (contem as microinstrues)
- Seqenciador - o encarregado de manter a ordem correta da execuo das
microinstrues. Informa o local da prxima microinstruo a ser executada e guarda
no contador de microprograma.
- Contador de microprograma: o registro que armazena a localizao da prxima
instruo a ser executada. Este loca se decodificara em DEC e selecionara uma
posio da memria de controle





Perifricos
Perifricos so aparelhos ou placas que enviam ou recebem informaes do computador.
Na informtica, o termo perifrico aplica-se a equipamentos e acessrios que so ligados na
CPU(Unidade Central de Processamento) ou no sentido mais amplo. O primeiro perifrico criado
foi por um cientista chamado Philipe Brusk. Os exemplos de perifricos so: impressoras,
digitalizadores, leitores ou carto, disquetes, mouses, teclados, cmeras de vdeo entre outros.
Cada perifrico tem sua funo definida de enviar tarefas ao computador, de acordo com sua
funo perifrica.


Existem vrios tipos de perifricos:

De Entrada: Basicamente enviam informaes para o computador. (teclado, mouse,
digitalizador).

De Sada: Transmitem informaes do computador para o utilizador(monitor,
impressora, caixa de som).


De Processamento: Processa a informao que a CPU(Unidade Central de
Processamento) enviou.

De Entrada/Sada: (Ou mistos) enviam/recebem informaes (monitor, CDs, DVDs,
impressora multifuncional).


De Armazenamento: Armazenam informaes do computador e para o mesmo
(pendrive, disco rgido, carto de memria, etc.).





Arquitetura de computadores

A evoluo da informtica foi caracterizada pelo desenvolvimento de computadores com
caractersticas as mais diversas, traduzidas pelos diferentes parmetros, cada vez mais
conhecidos da maioria de usurios de computador: a CPU adotada, a capacidade de memria, a
capacidade do disco rgido, a existncia de memria cache e outros menos conhecidos. A
definio destes parmetros e a forma como os diversos componentes de um computador so
organizados, define aquilo que conhecido por arquitetura de computador e vai determinar
aspectos relacionados qualidade, ao desempenho e aplicao para a qual o computador vai ser
orientado.
Existem vrios modos de uso do termo, que podem ser usados referindo-se a:
O desenho da arquitetura da CPU do computador, o seu conjunto de instrues, "addressing
modes" e tcnicas, tais como paralelismo SIMD e MIMD.
Arquiteturas de hardware mais generalizadas, tais como computao em cluster e
arquiteturas NUMA (acesso no-uniforme memria).
A utilizao menos formal do termo refere-se a uma descrio dos requisitos (especialmente
requisitos de velocidades e interligao) ou implementao do design para as vrias partes de
um computador, tais como memria, placa-me, perifricos eletrnicos ou, mais
frequentemente, CPU.
A arquitetura frequentemente definida como o conjunto de atributos da mquina que um
programador deve compreender para que consiga programar o computador especfico com
sucesso, ou seja, para que consiga compreender o que o programa ir fazer aquando da sua
execuo. Por exemplo, parte da arquitetura so as instrues e o raio de operadores
manipulados por elas. De uma maneira semelhante, a frequncia em que o sistema opera no
includa na arquitetura. Esta definio revela as duas principais consideraes dos
arquitetos de computadores: (1)desenhar hardware que se comporta como o programador
pensa que se ir comportar, (2)utilizar implementaes existentes de tecnologias (por
exemplo, semicondutores) para construir o melhor computador possvel. A 2 considerao
frequentemente referida como a microarquitetura.



Histria


A expresso "Arquitetura de computadores", na literatura, pode ser atribuda a Lyle R. Johnson,
Muhammad Usman Khan e Frederick P. Brooks, Jr. Em 1959 eram membros do departamento
de Organizao de Mquinas da IBM.
Johnson teve a oportunidade de escrever uma comunicao de pesquisa proprietria sobre Strech,
um super computador desenvolvido pela IBM para Los Alamos Scientific
Laboratory (Laboratrio Nacional de Los Alamos). Na tentativa de caracterizar o seu nvel
desejado de detalhe, ele observou que sua descrio de formatos, tipos de instrues, os
parmetros de hardware e melhorias de velocidade foi a nvel de "Arquitetura do Sistema" - Um
termo que parecia ser mais til do que "Organizao de Mquina".
Posteriormente, Brooks, um dos designers do Strech, comeou o captulo 2 de um livro
(Planning a Computer System: Project Stretch, ed W. Buchholz, 1962), escrevendo, "Arquitetura
de computadores, como outra arquitetura, a arte de determinar as necessidades do usurio de
uma estrutura e, possvel dentro das limitaes econmicas e tecnolgicas."
Brooks passou a desempenhar um papel no desenvolvimento do IBM System/360(agora
chamado de IBM System z) linha de computadores, onde a "arquitetura" ganhou moeda como
um substantivo com a definio como "o que o usurio precisa saber". Mais tarde, o mundo da
informtica, empregaria o termo, em formas muito menos explcitas. Posteriormente, Brooks, um
dos designers do Strech, comeou o captulo 2 de um livro (Planning a Computer
System: Project Stretch, ed W. Buchholz, 1962), escrevendo, "Arquitetura de computadores,
como outra arquitetura, a arte de determinar as necessidades do usurio de uma estrutura e,
possvel dentro das limitaes econmicas e tecnolgicas."





Memria virtual


Outro problema recorrente envolve a memria virtual. Historicamente, a memria de acesso
aleatrio (RAM) foi centenas de vezes mais cara que o armazenamento mecnico rotativo, isto ,
discos rgidos, num computador moderno. O processador s pode executar uma instruo que
esteja na memria real. O mecanismo de Memria Virtual divide a memria real em FRAMES e
divide um arquivo no disco em PGINAS de mesmo tamanho dos frames. No disco existem
muito mais pginas do que frames na memria. Sempre que for preciso uma pgina copiada da
memria virtual (arquivo em disco) para um frame da memria real. Surge a necessidade de
saber quando preciso copiar. Surge a necessidade de saber se um frame pode ser descartado ou
se precisa ser recopiado para sua pgina correspondente no arquivo em disco. Sempre que uma
instruo executada a partir de um frame o hardware controlador de memria virtual testa se o
dado a que ela se refere j se encontra em algum frame. Se for o caso, uma interrupo ocorre
para que a rotina de tratamento cuide de copiar do disco para a memria real uma pgina
completa contendo o dado necessrio.



O que Bit e Byte

Bit a sigla para Binary Digit, que em portugus significa digito binrio, ou seja, a menor
unidade de informao que pode ser armazenada ou transmitida, e geralmente usada na
computao e teoria da informao. Um bit pode assumir somente 2 valores, como 0 ou 1.
O termo "byte" frequentemente usado para especificar quantidade, por exemplo, a quantidade
de memria de um determinado dispositivo ou a capacidade de armazenamento. Exemplo: 16
GB (gigabyte)
Cada byte representa um nico caractere de texto num computador. O byte representa letras,
smbolos, nmeros, sinais de pontuao, caracteres especiais, etc. e codifica variadas
informaes numa mquina.
A codificao de caracteres denominada ASCII (American Standard Code for Information
Interchange) adotou a informao de que 1 byte equivale a 8 bits, e usando a base binria
(valores 0 ou 1), definiu 256 caracteres para representao de texto nos computadores,
padronizando desta forma as operaes entre diferentes dispositivos.
Para exprimir quantidades de dados, so usadas as seguintes medidas:
1 Byte = 8 bits
1 kilobyte (KB ou Kyybytes) = 1024 bytes
1 megabyte (MB ou Mbytes) = 1024 kilobytes
1 gigabyte (GB ou Gbytes) = 1024 megabytes
1 terabyte (TB ou Tbytes) = 1024 gigabytes
1 petabyte (PB ou Pbytes) = 1024 terabytes
1 exabyte (EB ou Ebytes) = 1024 petabytes
1 zettabyte (ZB ou Zbytes) = 1024 exabytes
1 yottabyte (YB ou Ybytes) = 1024 zettabytes

Memria

1- MEMRIA PRIMRIA
Memria primria (memoria real ou central) o espao fsico destinado a guardar
temporariamente a informao, nomeadamente durante a execuo de um programa.
Destinguem-se trs tipos de memrias primarias:
Memria ROM
Memria RAM
Memria CACHE
Memria ROM (READ ONLY MEMORY)- uma memria apenas de leitura, por
parte do processador; este tipo de memria contm determinadas informaes ou
instrues que permanecem fixas durante o funcionamento do computador e preserva
essas informaes quando o computador no est a trabalhar.
Existem algumas variantes das memrias ROM:
PROM (Programable Read Only Memory)- que permitem, uma s vez, serem
programadas ao nvel dos seus circuitos electrnicos internos (microprogramao),
atravs de dispositivos apropriados.
EPROM (Erasable and Programable ROM) e EEPROM (Eletronic Erasable and
Programable ROM)- memria que pode ser programada electrnicamente no apenas
uma s vez, mas apagadas e reprogramadas.
Memria RAM (Random access Memory)- a memria de acesso livre ou aleatrio
para a leitura e escrita; nos circuitos da memria RAM que se aloja a informao dos
programas que o utilizador fornece ao computador para de realizar as tarefas pretendidas
e ai tambm, que so guardadas temporariamente os resultados da informao
trabalhada pelo processador. Entretanto ao contrrio das memrias do tipo ROM, quando
se desliga o computador, toda a informao contida na RAM desaparece, pois uma
memria voltil. Quanto s memrias RAM, tambm existem duas variantes principais:
DRAM (Dynamic RAM ) que so constitudas basicamente por transistores e
condensadores (sendo estes ltimos que lhe fornecem as caractersticas prprias)e que
correspondem s memrias RAM com maior capacidade de armazenamento.
SRAM (Static-RAM)- que so constitudas essencialmente por circuitos Flip-Flop de
transistores, sem condensadores, o que as tornam mais rpidas no funcionamento.
Memria CACHE.
Os circuitos de memrias RAM so mais lentos do que os dos processadores, pelo qual
normal integrar uma memria que se designa CACHE, para aumentar a velocidade do
sistema.


MEMRIA SECUNDRIA
Memrias secundrias so memrias que no podem ser endereadas diretamente, i.e., a
informao precisa ser carregada em memria primria antes de poder ser tratada pelo
processador. No so estritamente necessrias para a operao do computador. So, geralmente,
no volteis, permitindo guardar os dados permanentemente.
Incluem-se, nesta categoria, os discos rgidos, CDs, DVDs e disquetes.
s vezes faz-se uma diferena entre memria secundria e memria terciria.
A memria secundria no necessita de operaes de montagem (insero de uma mdia ou
mdia em um dispositivo de leitura/gravao) para acessar os dados, como discos rgidos; a
memria terciria depende das operaes de montagem, como discos pticos e fitas magnticas,
entre outros.


MEMRIA TERCIRIA
Memrias tercirias: So parecidas com a memria secundria, s que as tercirias dependem
das operaes de montagem, como discos pticos e fitas magnticas, entre outros. J na memria
secundaria no necessita de operaes de montagem.

Memria dinmica: a memria mais barata e a mais utilizada nos computadores. So aquelas
que foram popularizadas como memria RAM (memria de acesso aleatrio), que significa que
seus dados podem ser acessados de qualquer endereo.
Memria esttica: No necessita de anlise ou ser carregada a cada momento. Fabricada com
circuitos eletrnicos (latch), s guardam informaes enquanto recebem alimentao.
Memrias no volteis: Guardam a informao mesmo quando no recebe alimentao,
exemplos memria ROM e FLASH e os dispositivos de armazenamento em massa, disco
rgido, CDs e disquetes.















Conceito de Lgica Digital (False/ True)



Tabela Verdade lgebra Booleana
1 And(exclusivo 2 Or (Soma Lgica) (ou) 3 - Not(inversor)
A NOT
V F
F V

A B AND
V V V
V F F
F V F
F F F
A B OR
V V V
V F V
F V V
F F F

4 - Xor(ou exclusivo)

A B XOR
V V F
V F V
F V V
F F F

Porta And (E lgico) Porta NOT ( INVERSOR)

Porta OR (ou lgica) Porta XOR (ou exclusivo)

NOT ( Unrio) Parenteses
AND, nand
OR, NOR, XOR
1 Resolva as expresses algbricas, supondo que:
AV, BV, CF, DV


1- A and B: V 7- B and D: V
2- B or A: V 8- Not A or (A and B): Not primeiro falso or verdadeiro: V
3- Not C: V 9- (A and B) or not C: verdadeiro or verdadeiro: verdadeiro
4-Not B: F 10- (A and B) or (C and D): verdadeiro or falso: verdadeiro
5- D or C: V 11- Not A xor (A or B): NTR: no tem resposta: Verdadeiro
6- A or D: V

AV, BV, CF, DV

1- A and B: V 7- Not A or (A and B): V
2- B or A: V 8- (A and B) or not C: V
3- Not B: F 9- A and B or (C and D): V
4- D or C: V 10- Not A( A or B): NTR
5- A or D: V
6- B and D: V

A F, B F, CF, DV
1- A and B or not A: F 2- Not B: V 3- A or C and(A andB): F




Organizao Interna da CPU



Para compreendermos a organizao do CPU temos de considerar as suas funes bsicas:
Adquirir instrues ( Fetch Instructions):O CPU tem de ler as instrues a partir da memria.
Interpretar Instrues: as instrues tem de ser descodificadas por forma a determinar a ao a
executar.

Adquirir dados ( Fetch Data): a execuo de uma instruo pode necessitar a leitura de
dados da memria ou do mdulo de entrada e sada (I/O).

Processar dados: a execuo de uma instruo pode implicar operaes lgicas ou
aritmtica nos dados.
Escrever Dados: os resultados de uma execuo podem implicar escrever dados na memria ou
num mdulo de E/S.

Tendo em conta estas operaes, o computador tem de ter um stio onde guardar os dados.
Necessrio saber qual o endereo fsico da ltima instruo para que ele prprio consiga
executar a prxima.

Necessrio que o computador guarde temporariamente os dados enquanto executada uma
instruo. Por outras palavras necessrio que o CPU tenha uma pequena memria interna.

Para alm dos registros internos do processador, onde sero alocadas as instrues e os
dados de memria temporariamente.

O CPU constitudo por uma Unidade Lgica Aritmtica e uma Unidade e Controle.
A ULA ( Unidade Lgica Aritmtica) processa e calcula dados. A Unidade de Controle o fluxo
de dados e as instrues enviadas e recebidas do CPU controla tambm algumas operaes
bsicas.



A MQUINA DE TURING



A mquina de Turing um dispositivo terico conhecido como mquina mundial, que foi
concebido pelo matemtico britnico Alan Turing (1912-1954), muitos anos antes de existirem
os modernos computadores digitais (o artigo de referncia foi publicado em 1936). Num sentido
preciso, um modelo abstrato de um computador, que se restringe apenas aos aspectos lgicos
do seu funcionamento (memria, estados e transies) e no sua implantao fsica. Com a
mquina de Turing pode-se modelar qualquer computador digital.

Turing tambm se envolveu na construo de mquinas fsicas para quebrar os cdigos
secretos das comunicaes alems durante a II Guerra Mundial, tendo utilizado alguns dos
conceitos tericos desenvolvidos para o seu modelo de computador universal.



Descrio informal



Uma mquina de Turing consiste em:

Uma fita que dividida em clulas, uma adjacente outra. Cada clula contm um
smbolo de algum alfabeto finito. O alfabeto contm um smbolo especial branco (aqui
escrito como ) e um ou mais smbolos adicionais. Assume-se que a fita arbitrariamente
extensvel para a esquerda e para a direita, isto , a mquina de Turing possui tanta fita
quanto necessrio para a computao. Assume-se tambm que clulas que ainda no
foram escritas esto preenchidas com o smbolo branco.

Um cabeote, que pode ler e escrever smbolos na fita e mover-se para a esquerda e para
a direita.


Um registrador de estados, que armazena o estado da mquina de Turing. O nmero de
estados diferentes sempre finito e h um estado especial denominado estado inicial com
o qual o registrador de estado inicializado.

Uma tabela de ao (ou funo de transio) que diz mquina que smbolo escrever,
como mover o cabeote ( para esquerda e para direita) e qual ser seu novo estado,
dados o smbolo que ele acabou de ler na fita e o estado em que se encontra. Se no
houver entrada alguma na tabela para a combinao atual de smbolo e estado ento a
mquina pra.
Note que cada parte da mquina finita; sua quantidade de fita potencialmente ilimitada que d
uma quantidade ilimitada de espao de armazenamento.




Mquinas de Turing universais

Toda mquina de Turing computa uma certa funo computvel parcial a partir da cadeia
dada formada pelos smbolos do alfabeto. Neste sentido ela comporta-se como um computador
com um programa fixo. No entanto, como Alan Turing descreveu, podemos codificar a tabela de
ao de qualquer mquina de Turing em uma cadeia de smbolos. Portanto podemos tentar
construir uma mquina de Turing que espera em sua fita uma cadeia descrevendo a tabela
de ao seguida por uma cadeia descrevendo a fita de entrada, e ento computa a fita que a
mquina de Turing codificada teria computado.






Comparao com mquinas reais

Frequentemente diz-se que as mquinas de Turing, ao contrrio de autmatos mais simples,
so to poderosas quanto mquinas reais, e so capazes de executar qualquer operao que um
programa real executa. O que est faltando neste enunciado que praticamente qualquer
programa particular executando em uma mquina particular e dada uma entrada finita , na
verdade, nada alm de um autmato finito determinstico, j que a mquina em que executa pode
estar apenas em uma quantidade finita de configuraes. Mquinas de Turing poderiam de fato
ser equivalentes a uma mquina que tenha uma quantidade ilimitada de espao de
armazenamento. Podemos questionar ento por que as mquinas de Turing so modelos teis de
computadores reais. H vrias maneiras de responder a isto:

A diferena est apenas na habilidade de uma mquina de Turing de manipular uma
quantidade ilimitada de dados. No entanto, dada uma quantidade finita de tempo, uma
mquina de Turing (como uma mquina real) pode apenas manipular uma quantidade
finita de dados.

Como uma mquina de Turing, uma mquina real pode ter seu espao de armazenamento
aumentado conforme a necessidade, atravs da aquisio de mais discos ou outro meio de
armazenamento. Se o suprimento destes for curto, a mquina de Turing pode se tornar
menos til como modelo. Mas o fato que nem as mquinas de Turing nem as mquinas
reais precisam de quantidades astronmicas de espao de armazenamento para fazer a
maior parte das computaes que as pessoas normalmente querem que sejam feitas.
Frequentemente o tempo de processamento requerido o maior problema.


Mquinas reais so muito mais complexas que uma mquina de Turing. Por exemplo,
uma mquina de Turing descrevendo um algoritmo pode ter algumas centenas de estados,
enquanto o autmato finito determinstico equivalente em uma dada mquina real tem
quadrilhes.

Mquinas de Turing descrevem algoritmos independentemente de quanta memria eles
utilizam. H um limite mximo na quantidade de memria que qualquer mquina que
conhecemos tem, mas este limite pode crescer arbitrariamente no tempo. As mquinas de
Turing nos permitem fazer enunciados sobre algoritmos que (teoricamente) valero
eternamente, independentemente dos avanos na arquitetura de computadores
convencionais.


Mquinas de Turing simplificam o enunciado de algoritmos. Algoritmos executando em
mquinas abstratas equivalentes a Turing so normalmente mais gerais que suas
contrapartes executando em mquinas reais, porque elas tm tipos com preciso arbitrria
disponveis e nunca precisam tratar condies inesperadas (incluindo, mas no somente,
acabar a memria).

Uma maneira em que mquinas de Turing so pobres modelos para programas que muitos
programas reais, tais como sistemas operacionais e processadores de texto, so escritos para
receber entradas irrestritas atravs da execuo, e portanto no param. Mquinas de Turing
no modelam tal "computao contnua" bem (mas ainda podem modelar pores dela, tais como
procedimentos individuais).
Outra limitao de mquinas de Turing que elas no modelam a organizao estrita de um
problema especfico. Por exemplo, computadores modernos so na verdade instncias de uma
forma mais especfica de mquina de computao, conhecido como mquina de acesso aleatrio.
A principal diferena entre esta mquina e a mquina de Turing que esta utiliza uma fita
infinita, enquanto a mquina de acesso aleatrio utiliza uma sequncia indexada numericamente
(tipicamente um campo inteiro). O resultado desta distino que h otimizaes
computacionais que podem ser executadas baseadas nos ndices em memria, o que no
possvel numa mquina de Turing geral. Assim, quando mquinas de Turing so utilizadas como
base para tempo de execues restritos, um "falso limite inferior" pode ser provado em
determinados tempos de execuo de algoritmos (graas premissa falsa de simplificao da
mquina de Turing). Um exemplo disto uma "ordenao por contagem", o que aparentemente
viola o limite inferior em algoritmos de ordenao.



Processadores RISC X Processadores CISC


Introduo


Sempre houve uma grande polmica em torno de qual dessas plataformas melhor. Na verdade,
voc j deve ter ouvido muito boatos como "Os Macs so mais rpidos por que tem chips RISC"
ou algo do gnero. O objetivo deste artigo falar um pouco sobre as duas plataformas e como
elas coexistem atualmente.

Um processador CISC (Complex Instruction Set Computer, ou "computador com um conjunto
complexo de instriues"), capaz de executar vrias centenas de instrues 4complexas
diferentes, sendo extremamente verstil. Exemplos de processadores CISC so o 386 e o 486.

No comeo da dcada de 80, a tendncia era construir chips com conjuntos de instrues cada
vez mais complexos. Alguns fabricantes porm, resolveram seguir o caminho oposto, criando o
padro RISC (Reduced Instruction Set Computer, ou "computador com um conjunto reduzido de
instrues"). Ao contrrio dos complexos CISC, os processadores RISC so capazes de executar
apenas algumas poucas instrues simples. Justamente por isso, os chips baseados nesta
arquitetura so mais simples e muito mais baratos. Outra vantagem dos processadores RISC,
que, por terem um menor nmero de circuitos internos, podem trabalhar a freqncias mais altas.
Um exemplo so os processadores Alpha, que em 97 j operavam a 600 MHz.

Pode parecer estranho que um chip que capaz de executar algumas poucas instrues, possa ser
considerado por muitos, mais rpido do que outro que executa centenas delas, seria como
comparar um professor de matemtica com algum que sabe apenas as quatro operaes. Mas o
que acontece, que um processador RISC capaz de executar tais instrues muito mais
rapidamente. A idia principal, que apesar de um processador CISC ser capaz de executar
centenas de instrues diferentes, apenas algumas so usadas freqentemente. Poderamos ento
criar um processador otimizado para executar apenas estas instrues simples que so usadas
mais freqentemente. Em conjunto com um software adequado, este processador seria capaz de
desempenhar quase todas as funes de um processador CISC, acabando por compensar suas
limitaes com uma maior velocidade de processamento.

indiscutvel, porm, que em instrues complexas os processadores CISC saem-se melhor. Por
isso, ao invs da vitria de uma das duas tecnologias, atualmente vemos processadores hbridos,
que so essencialmente processadores CISC, mas incorporam muitos recursos encontrados nos
processadores RISC (ou vice-versa).

Apesar de por questes de Marketing, muitos fabricantes ainda venderem seus chips, como
sendo "Processadores RISC", no existe praticamente nenhum processador atualmente que siga
estritamente uma das duas filosofias. Tanto processadores da famlia x86, como o Pentium II,
Pentium III e AMD Athlon, quanto processadores supostamente RISC, como o MIPS R10000 e
o HP PA-8000, ou mesmo o G4, utilizado nos Macintoshs misturam caractersticas das duas
arquiteturas, por simples questo de performance. Por que ficar de um lado ou de outro, se
possvel juntar o melhor dos dois mundos? A ltima coisa que os fabricantes de processadores
so teimosos, sempre que aparece uma soluo melhor, a antiga e abandonada.

Examinando de um ponto de vista um pouco mais prtico, a vantagem de uma arquitetura CISC
que j temos muitas das instrues guardadas no prprio processador, o que facilita o trabalho
dos programadores, que j dispe de praticamente todas as instrues que sero usadas em seus
programas. No caso de um chip estritamente RISC, o programador j teria um pouco mais de
trabalho, pois como disporia apenas de instrues simples, teria sempre que combinar vrias
instrues sempre que precisasse executar alguma tarefa mais complexa. Seria mais ou menos
como se voc tivesse duas pessoas, uma utilizando uma calculadora comum, e outra utilizando
uma calculadora cientifica. Enquanto estivessem sendo resolvidos apenas clculos simples, de
soma, subtrao, etc. quem estivesse com a calculadora simples poderia at se sair melhor, mas
ao executar clculos mais complicados, a pessoa com a calculadora cientfica disporia de mais
recursos.

Nos chips atuais, que so na verdade misturas das duas arquiteturas, juntamos as duas coisas.
Internamente, o processador processa apenas instrues simples. Estas instrues internas,
variam de processador para processador, so como uma luva, que se adapta ao projeto do chip.
As instrues internas de um K6 so diferentes das de um Pentium por exemplo. Sobre estas
instrues internas, temos um circuito decodificador, que converte as instrues complexas
utilizadas pelos programas em vrias instrues simples que podem ser entendidas pelo
processador. Estas instrues complexas sim, so iguais em todos os processadores usados em
micros PC. isso que permite que um Athlon e um Pentium III sejam compatveis entre s.

O conjunto bsico de instrues usadas em micros PC chamado de conjunto x86. Este conjunto
composto por um total de 187 instrues, que so as utilizadas por todos os programas. Alm
deste conjunto principal, alguns processadores trazem tambm instrues alternativas, que
permitem aos programas executar algumas tarefas mais rapidamente do que seria possvel
usando as instrues x86 padro. Alguns exemplos de conjuntos alternativos de instrues so o
MMX (usado apartir do Pentium MMX), o 3D-NOW! (usado pelos processadores da AMD,
apartir do K6-2), e o SSE (suportado pelo Pentium III).


Mquinas CISC (Complex Instruction Set Computer) tm um conjunto de instrues grande, de
tamanhos variveis, com formatos complexos. Muitas dessas instrues so bastante
complicadas, executando mltiplas operaes quando uma nica instruo dada (por exemplo,
possvel realizar um loop complexo usando apenas uma operao assembly). O problema
bsico com mquinas CISC que um conjunto pequeno de instrues complexas torna o sistema
consideravelmente mais lento. Os projetistas decidiram retornar a uma arquitetura mais simples,
delegando ao compilador a responsabilidade de produzir cdigo eficiente com esse novo
conjunto de instrues. Mquinas que utilizam esta filosofia so chamadas de mquinas RISC.

A arquitetura RISC (Reduced Instruction Set Computer), como o prprio nome j diz, tem como
principal objetivo simplificar as instrues de modo que elas possam ser executadas mais
rapidamente. Cada instruo executa apenas uma operao, que so todas do mesmo tamanho,
tem poucos formatos, e todas as operaes aritmticas devem ser executadas entre registradores
(dados da memria no podem ser utilizados como operandos). Praticamente todos os conjuntos
de instrues (para qualquer arquitetura) lanados desde 1982 tm sido RISC, ou alguma
combinao entre RISC e CISC.
Membros da famlia x86 de arquitetura Intel so conhecidos como mquinas CISC, enquanto que
a famlia Pentium e processadores MIPS so conhecidos como mquinas RISC.

Vamos montar uma tabela com as principais diferenas entre as arquiteturas. Isto deveria ser
suficiente para responder a maioria das questes de concurso sobre o assunto.



RISC CISC
Mltiplos conjuntos de registradores, muitas vezes
superando 256
nico conjunto de registradores, tipicamente entre
6 e 16 registradores
Trs operandos de registradores permitidos por
instruo (por ex., add R1, R2, R3)
Um ou dois operandos de registradores permitidos
por instruo (por ex., add R1, R2)
Passagem eficiente de parmetros por
registradores no chip (processador)
Passagem de parmetros ineficiente atravs da
memria
Instrues de um nico ciclo (ex. load e store) Instrues de mltiplos ciclos
Controle hardwired (embutido no hardware) Controle microprogramado
Altamente paralelizado (pipelined) Fracamente paralelizado
Instrues simples e em nmero reduzido Muitas instrues complexas
Instrues de tamanho fixo Instrues de tamanho varivel
Complexidade no compilador Complexidade no cdigo
Apenas instrues load e store podem acessar a
memria
Muitas instrues podem acessar a memria
Poucos modos de endereamento Muitos modos de endereamento










TCP/IP



O TCP/IP um conjunto de protocolos de comunicao entre computadores em rede
,(tambm chamado de pilha de protocolos TCP/IP). Seu nome vem de dois protocolos:
oTCP (Transmission Control Protocol - Protocolo de Controle de Transmisso) e o IP(Internet
Protocol - Protocolo de Interconexo). O conjunto de protocolos pode ser visto como um modelo
de camadas, onde cada camada responsvel por um grupo de tarefas, fornecendo um conjunto
de servios bem definidos para o protocolo da camada superior. As camadas mais altas esto
logicamente mais perto do usurio (chamada camada de aplicao) e lidam com dados mais
abstratos, confiando em protocolos de camadas mais baixas para tarefas de menor nvel de
abstrao.



Camada Exemplo
4 - Aplicao
(5, 6 e 7
camada OSI)
HTTP, HTTPS, FTP, DNS, RTP
Essa parte contem todos os protocolos para um servio especfico de comunicao de
dados em um nvel de processo-a-processo (por exemplo: como um web browser deve
se comunicar com um servidor da web). [protocolos de routing como BGP e RIP, que,
por uma variedade de razes, so executados sobre TCP e UDP respectivamente,
podem tambm ser considerados parte da camada de aplicao]
3 - Transporte
(4 camada
OSI)
TCP, UDP, SCTP
Essa parte controla a comunicao host-a-host. [protocolos como OSPF, que
executado sobre IP, podem tambm ser considerados parte da camada de rede]
2 - Internet
(3 camada
OSI)
Para TCP/IP o protocolo IP, MPLS
Essa parte responsvel pelas conexes entre as redes locais, estabelecendo assim a
interconexo. [protocolos requeridos como ICMP e IGMP executado sobre IP, mas
podem ainda ser considerados parte da camada de rede;ARP no roda sobre IP]
1 - Rede
(Interface com
Rede)
(1 e 2 camada
OSI)
Essa a parte conhecida como fsica pois trata-se das tecnologias usadas para as
conexes como: Ethernet, Wi-Fi,Modem, etc. No modelo OSI, essa camada tambm
fsica, porm, dividido em duas partes: fsica e enlace de dados. A fsica a parte do
hardware e a enlace de dados a parte lgica do hardware; mac address.











Tabela verdade


Tabela verdade, tabela de verdade ou tabela veritativa um tipo de tabela matemtica usada
em Lgica para determinar se uma frmula vlida ou se um sequente correto.
As tabelas verdade derivam do trabalho de Gottlob Frege, Charles Peirce e outros da dcada de 1880, e
tomaram a forma atual em1922 atravs dos trabalhos de Emil Post e Ludwig Wittgenstein. A publicao
do Tractatus Logico-Philosophicus, de Wittgenstein, utilizava as mesmas para classificar funes
veritativas em uma srie. A vasta influncia de seu trabalho levou, ento, difuso do uso de tabelas
verdade.

Tabelas das principais operaes do clculo proposicional
Negao

A ~A
V F
F V
A negao da proposio "A" a proposio "~A", de maneira que se "A" verdade ento "~A" falsa, e
vice-versa.
Conjuno (E) (and)
A conjuno verdadeira se e somente se os operandos so verdadeiros.
A B A^B
V V V
F V F
F F F
V F F
Disjuno (OU) (or)
A disjuno falsa se, e somente se ambos os operandos forem falsos.
A B AvB
V V V
V F V
F V V
F F F

Você também pode gostar