Tecnologia da
Informao
Material Terico
Organizao e Arquitetura de Computadores
Organizao e Arquitetura de
Computadores
Viso Geral
Mquina de Turing
Arquitetura Von Neumann
Arquitetura Harvard
Diferena entre a arquitetura
Neumann e a de Harvard
Von
Computao Paralela
Taxonomia de Flynn
Diferena entre CISC e RISC
Lei de Moore
Nossa viagem pelos Fundamentos de Tecnologia da Informao levar-nos-, nesta unidade, aos
conceitos da arquitetura moderna de computadores.
Sobre este tema, temos material j consolidado e devemos voltar um pouco no tempo para recordar.
Dessa maneira, teremos, previamente, uma viso geral sobre o assunto, faremos uma breve pausa
para traarmos um histrico das geraes de computadores e entraremos no estudo do modelo von
Neumann, ao qual peo que voc preste bastante ateno, pois trata-se da forma contempornea
como os computadores so arquitetados.
Seu arranjo nessa arquitetura levou a diversas possibilidades, inclusive dos computadores pessoais
e outras geraes de equipamentos.
Abordaremos tambm arquiteturas que envolvam outras formas no von Neumann para estruturar
um computador, dentre as quais a arquitetura Harvard, o barramento, etc.
Falaremos tambm sobre Alan Turing e seu legado, depois, veremos a composio dos nveis das
mquinas e demonstraremos um sistema de computador tpico.
Contextualizao
Uma srie de limitaes fsicas impediu que, aps anos de evoluo, os processadores
sequenciais pudessem continuar melhorando seu desempenho atravs do aumento da frequncia.
Essa prtica passou, ento, a dar lugar para a introduo do paralelismo nos chips, culminando
com a criao dos CMPs (Chip Multi-Processor), tambm chamados de Processadores de
Mltiplos Ncleos.
O paralelismo um paradigma que visa extrair o mximo desempenho possvel durante a
realizao de uma tarefa, atravs da explorao das caractersticas de simultaneidade presentes
na carga de trabalho e no ambiente em que se est trabalhando.
O paralelismo foi, durante muitos anos, uma aposta de poucos, que se manteve restrita a
pequenos setores da indstria de computao de alto desempenho, alm da prpria academia.
Porm, a competio entre os principais fabricantes de processadores de propsito geral levou
criao dos CMPs e, atualmente, processadores de mltiplos ncleos j so encontrados em
computadores pessoais, notebooks e at mesmo em sistemas computacionais embarcados.
Dessa forma, pode-se concluir que, atualmente e, muito provavelmente, num futuro de
mdio e longo prazo, o modelo de computao predominante ser o paralelo.
Isso um choque, porque o modelo mais em uso de arquitetura o von Neumann. O
modelo Paralelo, que emergente, possui alto padro de desempenho e pode, num primeiro
momento, no ser to competitivo, mas, a um olhar mais minucioso, pode significar um grande
avano para vencer as barreiras de velocidade, dissipao de energia e desempenho.
A predominncia do paralelismo faz surgir novos problemas, e outros, antes de menor
importncia, tornam-se mais urgentes. Dentre esses problemas, pode-se destacar a falta de
profissionais com conhecimento de paralelismo suficiente para desenvolver softwares executados
com eficincia e bom desempenho nos
processadores de mltiplos ncleos. Uma das possveis causas para esse problema a pouca
ateno dada pelos cursos da rea de tecnologia para o paralelismo.
Vamos conhecer neste mdulo esses paradigmas, o vigente e os novos, como tudo isso
acontece e qual sua importncia no mundo globalizado em que vivemos.
Viso Geral
Podemos dizer que o termo arquitetura de computadores teve origem em um relatrio que
descrevia um supercomputador da IBM no final da dcada de 50. Seus autores foram Brooks,
Khan e Johnson.
Arquitetura de computadores refere-se aos atributos de um sistema que tem um impacto
direto sobre a execuo lgica de um programa. Um exemplo definir o nmero de bits usados
para representar vrios dados e tipos de mecanismos de entrada e sada.
Organizao de computador refere-se s unidades operacionais e suas interconexes que
realizam as especificaes de arquitetura. Por exemplo, so as coisas que so transparentes para
o programador: sinais de controle de interfaces entre computador e perifricos, a tecnologia de
memria usada.
Assim, por exemplo, o fato de existir uma instruo de multiplicao e disponibiliz-la uma
questo de arquitetura de computador. O modo como a operao de multiplicar implementada
uma questo de organizao do computador.
O computador, nesse caso, pode ser entendido como algo que possui a capacidade de
receber uma entrada de dados, realizar processamento e entregar uma sada. Uma das formas
de classificao, nos tempos atuais, :
Desktop: focado para o usurio cotidiano; de baixo custo, porm com bom
desempenho.
Servidores: so equipamentos de propsito especfico, com desempenho melhorado.
Sua construo mais elaborada, envolvendo barramentos diferenciados e maior
numero de processadores e memria primria.
Embeded Systems ou Sistemas Embarcados: trata-se de hardware e software de
uso dedicado ou especfico e so componentes de veculos, smartphone, geladeiras, ar
condicionado e at de elevadores.
Mquina de Turing
Uma mquina de Turing a forma mais simples de um computador. O conceito foi
inventado por Alan Turing em 1936. Este foi o primeiro computador inventado, embora
tenha ficado s no papel.
Na sua forma mais simples, uma mquina de Turing composta por uma fita de papel
de comprimento indefinido. H uma cabea que pode ler os smbolos na fita. Finalmente,
o programa uma lista de transies; a fita usada para armazenar dados. Alm disso,
tambm pode armazenar uma srie de transies (pequenos programas) e, assim, a cabea
pode rodar subprogramas. Por analogia com computadores modernos, a fita a memria
e a cabea o microprocessador.
Explore
Se voc quiser testar como ela funciona, este endereo que segue vem com instrues para voc fazer
operaes simples e entender melhor seu funcionamento: http://ironphoenix.org/tril/tm/
10
Arquitetura Harvard
O termo arquitetura de Harvard refere-se, originalmente, s arquiteturas de computador
que usam o armazenamento de dados separado do de suas instrues (em contraste com a
arquitetura de Von Neumann).
O Mark I foi desenvolvido por Howard Aiken e foi construdo pela IBM entre 1939 e 1944.
Foi tambm conhecido como a Calculadora de Controle de Sequncia Automtica IBM (ASCC).
Ele foi construdo a partir de rels eletromecnicos; tinha 55 metros de comprimento, 8 metros
de altura, 2 metros de profundidade e pesava 5 toneladas, tornando-se relativamente lento
e muito barulhento. Nmeros de at 23 casas decimais podiam ser representados, utilizando
3000 anis eletromagnticos de armazenamento decimais que estavam presentes na mquina.
O Mark I Harvard foi usado pela Marinha dos EUA para artilharia e clculos balsticos at 1959,
mas estava desatualizado j no momento em que foi encomendado.
11
Aiken passou a desenvolver a Harvard Mark II, III e IV utilizando tecnologia de vlvulas, e ele
tambm desenvolveu o conceito de arquitetura de computadores de Harvard, que usa instruo
fisicamente separada da memria de dados. Isso permite que a prxima instruo possa ser lida,
enquanto os dados anteriores estejam sendo escritos na memria, e que a largura do bus de
endereos e de dados possa ser diferente e otimizada para o tamanho apropriado. No entanto,
dois mdulos de memria so agora necessrios para armazenar programas dentro da memria
de instrues.
Hoje esse conceito utilizado em sistemas modernos, nos quais importante isolar o
percurso entre o processador e a memria para maximizar o desempenho. Hoje em dia,
usado um nibus de dupla independente (DIB). Este substitui o barramento do sistema com um
barramento frontal (FSB), que liga a memria do sistema (atravs do controlador de memria)
CPU, e tambm aos outros nibus. O nibus parte traseira (BSB) usado para fornecer um
canal rpido e direto entre a CPU e o cache L2.
O termo arquitetura de Harvard usado, agora, em referncia a uma filosofia de projeto
de arquitetura de computador especfico em que os caminhos de dados e de instrues so
separados e utilizam memrias diferentes.
Harvard
Geralmete CISC
Geralmente RISC
Permite o Pipelining
Exemplo:
Exemplo:
4004
8080
8051
8085
Z80
46 instrues
78 instrues
111 instrues
150 instrues
Mais de 500 instrues
Explore
Para entender melhor o que est sendo explicado, sugiro que voc confira o link, anexado a este
documento, que demonstra de forma animada como ocorre o tratamento dos dados e instrues nessas
duas arquiteturas, facilitando seu aprendizado. Ele est disponvel em http://www.pictutorials.com/
Harvard_vs_Von_Nuemann_Architecture.htm
13
Computao Paralela
Tradicionalmente, o software foi escrito para seguir a computao de eventos seriados, por
rodar em um nico computador e ter uma nica unidade de processamento central (CPU).
Dessa forma, um problema dividido em uma srie de instrues discretas que so executadas
uma aps a outra. Portanto, somente uma instruo pode ser executada em qualquer momento
no tempo.
Ento, em um sentido mais simples, computao paralela a utilizao simultnea de vrios
recursos de computao para resolver um problema computacional. Por exemplo:
esses recursos podem ser executados utilizando mltiplas CPUs;
um problema pode ser quebrado em partes discretas que podem ser resolvidas
simultaneamente;
cada parte pode ser, ainda, dividida em uma srie de instrues;
instrues de cada parte podem ser executadas simultaneamente em diferentes CPUs.
Taxonomia de Flynn
Taxonomia de Flynn distingue arquiteturas de multiprocessador de computador, de acordo
com a forma como eles podem ser classificados ao longo das duas dimenses independentes:
de instruo e de dados. Cada uma dessas dimenses pode ter apenas um dos dois estados
possveis: simples ou mltiplo.
14
Dados individuais: apenas um fluxo de dados est sendo usado como entrada durante
todo o ciclo de um clock;
Execuo determinstica;
Este o mais antigo e, at hoje, o tipo mais comum de computador;
Exemplos: mainframes de geraes mais antigas, minicomputadores e estaes de
trabalho; PCs dos dias de hoje.
17
18
CISC - Complex Instruction Set Computer - so chips de fcil programao que fazem uso
mais eficiente da memria. Projetos mais comuns de microprocessadores, como a srie de
Motorola 68000 e Intel 8086, seguem essa filosofia. Mas mudanas recentes na tecnologia de
hardware e software foraram uma reavaliao do CISC e muitos processadores mais modernos
CISC so hbridos, implementando muitos princpios de RISC.
Foi desenvolvido para simplificar o desenvolvimento do compilador. Ele alterna a maior
parte da carga de gerar instrues de mquina do processador. Por exemplo, em vez de ter que
fazer um compilador escrever instrues em tempo de execuo de mquina, para calcular uma
raiz quadrada, um processador CISC teria uma capacidade nativa para fazer isso.
O principal objetivo da arquitetura CISC concluir uma tarefa em to poucas linhas de
montagem quanto possvel. Isso conseguido atravs da construo do hardware do processador,
que capaz de entender e executar uma srie de operaes.
A maioria das arquiteturas de hardware CISC tem vrias caractersticas em comum:
Decodificao de instruo lgica complexa, impulsionada pela necessidade de uma
nica instruo oferecer suporte a mltiplos modos de endereamento.
Um pequeno nmero de registradores de propsito geral. Este o resultado direto
de ter instrues que podem operar diretamente a memria e a limitada quantidade
de espao de chip no dedicado para a decodificao de instrues, a execuo e o
armazenamento de microcdigo.
Muitos registradores de propsitos especficos. Isso pode simplificar o design de
hardware um pouco, custa de tornar a instruo mais complexa. Um registro de
condio de cdigo definido como um efeito colateral da maioria das instrues. Esse
registo reflete se o resultado da ltima operao menor, igual ou maior que zero e
registra se ocorrerem certas condies de erro.
Muitas instrues especializadas no so usadas com frequncia suficiente para
justificar a sua existncia. Cerca de 20% das instrues disponveis so usadas em
um programa tpico.
RISC - Reduced Instruction Set Computer - um tipo de arquitetura de microprocessador
que utiliza um conjunto pequeno e altamente otimizado de instrues, em vez de um conjunto
mais especializado de instrues muitas vezes encontradas em outros tipos de arquiteturas.
Os primeiros projetos vieram da IBM, Berkley e Universidade de Stanford em meados
dos anos 70 e foram projetados com uma filosofia que ficou conhecida como RISC. Certas
caractersticas de design tm sido a caracterstica da maioria dos processadores RISC at hoje,
como, por exemplo:
19
um ciclo de tempo de execuo: processadores RISC tm uma CPI (clock por instruo)
de um ciclo. Isso devido otimizao de cada instruo CPU e a uma tcnica
chamada PIPELINING.
PIPELINING: uma tcnica que permite a execuo simultnea de partes ou estgios de
instrues mais eficientemente no processador de instrues;
grande nmero de registradores: a filosofia de projeto RISC geralmente incorpora um
nmero maior de registradores para evitar grandes quantidades de interaes com
memria.
H, ainda, grande controvrsia entre os especialistas sobre o valor final da arquitetura RISC.
Seus defensores argumentam que mquinas RISC so mais baratas e mais rpidas e so,
portanto, as mquinas do futuro. Todavia, tornando o hardware mais simples, arquiteturas RISC
colocam uma carga maior sobre o software e talvez no valha a pena, neste momento, porque
os microprocessadores convencionais esto se tornando cada vez mais rpidos e mais baratos.
Na verdade, parece que as duas arquiteturas adotaram uma a estratgia da outra, porque
aumentaram velocidades de processador, chips CISC, agora, so capazes de executar mais de
uma instruo dentro de um nico ciclo do CLOCK. Isso tambm permite que os chips CISC
faam uso de PIPELINING. Com outras melhorias tecnolgicas, agora possvel colocar mais
transistores em um nico chip.
Isso d a processadores RISC espao suficiente para incorporar comandos mais complicados
como no CISC. Chips RISC tambm fazem uso de hardware mais complicado, utilizando
unidades de funo extras para execuo superescalar.
Todos esses fatores tm levado alguns grupos a argumentar que, agora, estamos em
uma era ps-RISC, em que os dois estilos tornaram-se to semelhantes que distingui-los
no mais relevante.
Lei de Moore
A Lei de Moore originou-se por volta de 1970 e estabelecia que a velocidade do processador
ou poder de processamento geral dos computadores dobraria a cada dois anos. Uma verificao
rpida entre os tcnicos em diferentes empresas de computador mostra que o termo no muito
popular, mas a regra ainda aceita. Ela diz que o nmero de transistores em um processador
acessvel dobraria a cada dois anos.
Em termos de tamanho do transistor, pode-se ver que estamos nos aproximando do
tamanho de tomos, que uma barreira fundamental. Devero acontecer, ainda, mais algumas
transformaes antes de atingirmos essa barreira, ou seja, temos mais 10 ou 20 anos antes de
chegarmos a um limite fundamental.
21
Material Complementar
Quer se aprofundar um pouco mais no tema? Veja esta relao de vdeos e artigos que
indicamos para sua leitura sobre o tema de nossa unidade III.
Explore
Para voc que se interessou ou curte a parte mais fundamental do computador e quer, realmente,
entender como as coisas so feitas na caixa preta, indico esta excelente apostila sobre o tema.
Nela voc vai poder mergulhar no assunto: Arquitetura de Computadores - Apostila Completa http://pt.scribd.com/doc/16148458/Arquitetura-de-Computadores-Apostila-Completa
Explore
Para os que querem um resumo rpido, esta vdeo-aula ajudar bastante; curta e eficaz:
http://www.youtube.com/watch?v=mp3gU_wIA6I
22
Referncias
Harvard vs Von Neumann Architecture - Disponvel em:
http://www.pictutorials.com/Harvard_vs_Von_Nuemann_Architecture.htm .Acessado em 15/09/2012
Turing Machine Simulator Instructions - Disponvel em:
http://ironphoenix.org/tril/tm/. Acessado em 15/09/2012
23
Anotaes
24
www.cruzeirodosulvirtual.com.br
Campus Liberdade
Rua Galvo Bueno, 868
CEP 01506-000
So Paulo SP Brasil
Tel: (55 11) 3385-3000