Vous êtes sur la page 1sur 21

Arquitectura de um computador

Sumrio:

Perspectiva histrica Tipo de computadores Tipos de processadores Organizao interna de um computador Estrutura interna de um processador Interaco com o exterior Nveis de abstraco de um computador

Arquitectura de um computador
2

O que um computador?

Um computador um sistema digital programvel atravs de uma sequncia de instrues guardadas em memria. Atravs da sequncia de instrues, o computador instrudo para executar operaes de manipulao de dados. Um elemento crucial num computador a sua unidade central de processamento, ou simplesmente processador.

Arquitectura de um computador
3

O que o processador?

O processador, por si s, tambm um sistema digital constitudo por um circuito de dados e um circuito de controlo.

A flexibilidade do processador resulta do facto de este circuito ser projectado de modo a poder executar todas as operaes bsicas de manipulao de dados que so necessrias para a execuo de tarefas de processamento de dados.

Arquitectura de um computador
4

Perspectiva histrica A ideia de um sistema de processamento de informao que fosse reconfigurvel atravs de um programa guardado em memria remonta aos princpios do sculo XIX.

Primeira gerao Charles Babbage projectou o primeiro computador mecnico capaz de desempenhar automaticamente sequncias de operaes. Este computador denominado de difference engine, usava uma tecnologia totalmente baseada em elementos mecnicos.

Arquitectura de um computador
5

O sistema podia ser programado para construir tabelas matemticas.

A complexidade dos sistemas mecnicos necessrios realizao de funes matemticas fez com que computadores mais poderosos no viessem a ser fabricados at existncia de tecnologias baseadas em circuitos electrnicos, embora tivessem sido feitos planos para um computador mais poderoso o analytical engine.

O primeiro computador electrnico digital a funcionar, foi o ENIAC (1946) e podia ser programado para calcular tabelas matemticas relacionadas com aplicaes militares.

Arquitectura de um computador
6

O ENIAC usava tecnologia baseada em vlvulas electrnicas e era programado atravs de um conjunto de cabos que, conforme estivessem ligados ou desligados, especificavam o contedo da memria do programa. O ENIAC guardava o programa e os dados numa memria. O conceito de usar a memria para guardar tanto o programa como os dados atribuda a John von Neumann, da se denominar esta arquitectura de arquitectura de von Neumann. A arquitectura de von Neumann veio a impor-se alternativa de ter duas memrias separadas para os dados e para o cdigo, que conhecida como arquitectura de Harvard.

Arquitectura de um computador
7

Outros computadores da primeira gerao vieram a ser construdos, mas a utilizao de vlvulas de vcuo impunha srios limites fiabilidade e ao tamanho mnimo com que podiam ser construdos. Estes computadores ocupavam tipicamente uma sala de grandes dimenses e podiam funcionar continuamente apenas durante poucas horas, at que um dos subsistemas deixasse de funcionar por falha de uma vlvula. Segunda gerao A utilizao de transstores como tecnologia de base veio permitir a evoluo para a segunda gerao de computadores.

Arquitectura de um computador
8

Terceira gerao A terceira gerao apareceu com o advento dos circuitos integrados, em 1961, permitindo uma grande reduo no tamanho dos computadores e o consequente aumento do nmero de portas lgicas que era possvel empacotar num dado volume. Um dos computadores de mais sucesso desta gerao foi o IBM/360. O IBM/360 introduziu o conceito de separar o conjunto de instrues da implementao fsica de um computador, criando assim a primeira srie de famlias que executavam o mesmo cdigo de instrues em processadores diferentes com diferentes organizaes internas.

Arquitectura de um computador
9

Este conceito permitiu uma muito maior reutilizao do esforo de programao de sistemas, uma vez que um programa codificado para um computador de uma dada famlia passou a poder ser executado por outros computadores da mesma famlia. O desenvolvimento da tecnologia e a criao do circuito integrado com grande escala de integrao (VLSI) veio permitir a criao de processadores contidos num s circuito integrado, o que fez baixar o preo dos computadores de modo a permitir o seu uso como um computador pessoal. Embora o primeiro processador disponvel apenas num circuito integrado tenha sido o 4004 da Intel, e o primeiro computador pessoal tenha sido baseado no processador 8080 da Intel, o passo mais importante para a divulgao dos computadores pessoais (PC) foi dado pela IBM, quando definiu um modelo padro para este tipo de computadores.

Arquitectura de um computador
10

O sucesso deste tipo de computadores, baseados em processadores desta famlia Intel sobejamente conhecido (80286, 80386, 80486, Pentium, Pentium II, Pentium III e Pentium IV).

Tipos de computadores A generalidade dos computadores actuais segue a arquitectura de von Neumann, no entanto muitas das caractersticas particulares dos computadores so determinadas pela aplicao a que estes se destinam. comum classificarem-se os computadores em trs classes diferentes: computadores pessoais, servidores e sistemas embebidos.

Arquitectura de um computador
11

Computadores pessoais So o tipo de computador que uma pessoa comum tem mais percepo e associa mais naturalmente com a definio do que um computador. Tem sido optimizado para o tipo de aplicaes que as pessoas usam no escritrio ou em casa, nomeadamente, processamento de texto, de som, de imagens, de vdeo e jogos. Este tipo de aplicaes requer um conjunto de dispositivos de entrada e sada de dados que se tornaram comuns (teclado, rato, monitor e impressora). Um factor importante a ter em conta no projecto de computadores pessoais o custo, seguido do desempenho.

Arquitectura de um computador
12

Servidores O objectivo dos servidores o processamento de grandes quantidades de informao. Tipicamente, esto instalados em salas isoladas, com condies ambientais particulares. Grandes salas com muitos servidores (Datacenter), tm controlos rigorosos de

temperatura e humidade, controlos de segurana a nvel do acesso fsico, sistemas redundantes de gerao de energia, etc. Este tipo de computadores normalmente no tm um utilizador sentado sua frente, no limite, bastaria ter como dispositivo de entrada e sada de dados uma placa de rede que permita a transferncia de dados entre esse computador e qualquer outro ligado rede.

Arquitectura de um computador
13

No entanto, normalmente, mesmo estes computadores tm em geral um teclado e um monitor para permitir a sua configurao local. Nesta classe de computadores o preo, no , regra geral, um factor decisivo, sendo relegado para segundo plano face a mtricas de desempenho relevantes para a aplicao principal a ser executada no servidor. Sistemas embebidos Estes computadores encontram-se embebidos noutros sistemas, cuja funo controlar e monitorizar.

Arquitectura de um computador
14

Apesar de serem, talvez, o tipo de computador que passa mais despercebido, por estarem escondidos, estima-se que cerca de 95% dos computadores existentes so deste tipo.

Exemplos de sistemas que integram este tipo de computadores existentes so os telemveis, automveis, e electrodomsticos em geral.

Estes computadores caracterizam-se por ter dispositivos de entrada e sadas de dados especficos da aplicao a que se destinam.

Arquitectura de um computador
15

Interaco de um computador com a realidade analgica


Instrues (programa)

Sensores Ambiente Actuadores Computador Estado (memria)

Realidade (analgica)

Interface (analgica - digital)

Controlador / Observador (digital)

Arquitectura de um computador
16

A interaco entre um computador e a realidade analgica aplicvel a qualquer tipo de computador no entanto mais visvel nos sistemas embebidos.

Os sistemas embebidos necessitam de recolher dados sobre diferentes parmetros da realidade fsica, existindo para isso uma gama muito grande de sensores com a qual estes sistemas tm de interagir.

No caso dos computadores pessoais e servidores a interface com o mundo exterior faz-se geralmente atravs de dispositivos construdos para o efeito (teclado actuador). sensor e monitor

Arquitectura de um computador
17

Tipos de processadores

Nos ltimos anos, na classe dos computadores pessoais, dominaram os processadores da Intel. Embora com menos sucesso, na classe dos computadores pessoais, a arquitectura alternativa foi a da Apple que utilizou durante muito tempo os processadores da Motorola, inicialmente da famlia 680X0 e depois o Power PC (desenvolvido em conjunto entre a IBM e a prpria Apple).

Na classe dos servidores, o desempenho um factor crtico, da que os processadores utilizados se caracterizem por uma elevada capacidade para explorar paralelismo na execuo de instrues e por uma maior largura da palavra de dados utilizada (Itanium da Intel, UltraSPARC da Sun e MIPS64 da MIPS).

Arquitectura de um computador
18

Na classe dos sistemas embebidos, os parmetros mais relevantes so o preo e o consumo de energia dos processadores. Nesta classe existe uma grande variedade de processadores com caractersticas muito diferentes entre si, do desempenho largura de palavras de dados. O aumento de integrao dos circuitos veio tambm possibilitar a criao de

computadores feitos num nico circuito integrado, incluindo o processador, a memria e os meios de comunicao com o exterior. Estes processadores, geralmente conhecidos por microcontroladores, so tipicamente mais simples, menos dispendiosos e mais flexveis no que respeita a sistemas de entrada e sada (8051 da Intel).

Arquitectura de um computador
19

Outro tipo de processadores dedicados so os processadores de sinal, que so projectados de modo a serem extremamente eficientes em aplicaes de processamento de sinal, e so comummente utilizados em sistemas de telecomunicaes, tais como telefones e televises. Organizao interna de um computador Um computador um sistema digital programvel atravs de uma sequncia de instrues guardadas em memria. Cada instruo especifica, qual a operao que deve ser efectuada e quais os operandos aos quais a mesma deve ser aplicada. A unidade que processa a sequncia de instrues o processador.

Arquitectura de um computador
20

Os processadores so constitudos por circuitos combinatrios, que permitem efectuar operaes lgicas e aritmticas, e por registos que permitem guardar os dados e os resultados dessas operaes.

As instrues esto guardadas sequencialmente em memria, e so, de um modo geral, executadas pela ordem em que se encontram.

No entanto, existem tambm instrues que alteram a ordem de execuo.

A memria encontra-se ligada ao processador atravs de dois barramentos: Dados; Endereos e controlo.

10

Arquitectura de um computador
21

Fases da execuo de uma instruo guardada em memria

processador

envia

para

a
Processador

memria o endereo da prxima instruo a executar e recebe uma palavra de memria que contm a codificao da instruo a executar;
Endereos e Controlo

Dados

processador

descodifica quais tipo

a os de

Memria

instruo, operandos operao;

identificando e qual o

Arquitectura de um computador
22

O processador faz um ou mais acessos memria para carregar os operandos especificados pela
Processador

instruo para registos internos; Na posse de todos os operandos, o processador executa a operao

Endereos e Controlo

Dados

especificada na instruo; Aps obter o resultado, o


Memria

processador escreve o mesmo em memria, caso seja necessrio, ou num registo interno.

11

Arquitectura de um computador
23

No entanto existem processadores extremamente complexos que usam tcnicas de execuo de instrues diferentes para acelerar a velocidade de processamento. Tcnicas utilizadas em processadores comerciais Processadores que executam mais do que uma operao em paralelo. Nestes casos a unidade central de processamento pode intercalar as diversas fases de execuo de diferentes instrues, podendo por exemplo, carregar a prxima instruo a executar, antes de escrever o resultado da anterior. Utilizao de duas memrias, uma para os dados e outra para o programa. Utiliza-se sobretudo em microcontroladores e justifica-se quando o programa fixo e pode ser guardado em memria no voltil, enquanto que os dados tm de ser guardados em memria de leitura e escrita.

Arquitectura de um computador
24

Estrutura interna de um processador Tipicamente um processador constitudo por uma unidade de processamento e uma unidade de controlo.
Unidade de Processamento
Barramento de endereos

Unidade de controlo

Banco de registos
Palavra de controlo Bits de estado

PC IR
Barramento de dados

ULA

12

Arquitectura de um computador
25

A unidade de processamento constituda por uma unidade lgica e aritmtica, onde se realizam os clculos necessrios execuo das instrues, e por um banco de registos, onde se guardam os operandos e resultados desses clculos.

Unidade de Processamento
Barramento de endereos

Unidade de controlo

Banco de registos
Palavra de controlo Bits de estado

PC IR
Barramento de dados

ULA

Arquitectura de um computador
26

A unidade de controlo a responsvel por gerar a sequncia de palavras de controlo que definem a funcionalidade pretendida para cada instruo.

Unidade de Processamento
Barramento de endereos

Unidade de controlo

Banco de registos
Palavra de controlo

PC IR
Barramento de dados

Bits de estado

ULA

13

Arquitectura de um computador
27

Para a execuo de uma instruo so, em geral, necessrios vrios ciclos de relgio. A cada ciclo de relgio, a palavra de controlo define, entre outras coisas, a operao realizada pela unidade aritmtica e lgica, quais os registos que servem como operandos dessa operao e qual o registo que vai guardar o resultado.
Unidade de Processamento
Barramento de endereos

Unidade de controlo

Banco de registos
Palavra de controlo

PC IR
Barramento de dados

Bits de estado

ULA

Arquitectura de um computador
28

A unidade de processamento envia para a unidade de controlo um conjunto de bits que do alguma indicao sobre os resultados das operaes executadas pela ULA. Esta informao necessria, sempre que a sequncia de operaes geradas pela unidade de controlo seja dependente do resultado de outras operaes.
Unidade de Processamento
Barramento de endereos

Unidade de controlo

Banco de registos
Palavra de controlo Bits de estado

PC IR
Barramento de dados

ULA

14

Arquitectura de um computador
29

O registo PC (Program Counter) o responsvel por guardar a informao sobre qual a instruo do programa que se est a executar a cada momento. Uma vez que as instrues se encontram em memria, o contedo deste registo no mais do que o endereo de memria da prxima instruo a executar.
Unidade de Processamento
Barramento de endereos

Unidade de controlo

Banco de registos
Palavra de controlo Bits de estado

PC IR
Barramento de dados

ULA

Arquitectura de um computador
30

O registo IR (Instruction register) tem a funo de guardar a instruo que se encontra em execuo no processador. A unidade de controlo consulta este registo para determinar a sequncia de operaes que a unidade de processamento tem de realizar para concretizar a execuo da presente instruo.
Unidade de Processamento
Barramento de endereos

Unidade de controlo

Banco de registos
Palavra de controlo Bits de estado

PC IR
Barramento de dados

ULA

15

Arquitectura de um computador
31

A fase inicial de execuo de uma instruo num processador consiste na leitura da posio de memria definida pelo PC (conseguida com a colocao do valor deste registo no barramento de endereos do sistema) e carregamento do valor lido no registo IR (conseguido direccionando o valor presente no barramento de dados para o IR).
Unidade de Processamento
Barramento de endereos

Unidade de controlo

Banco de registos
Palavra de controlo Bits de estado

PC IR
Barramento de dados

ULA

Arquitectura de um computador
32

Aps esta operao, o registo PC incrementado, assim quando a presente instruo finalizar a sua execuo, ser lida a instruo que a segue na memria (a no ser que seja uma instruo de salto, que altera ela prpria o registo PC.

Unidade de Processamento
Barramento de endereos

Unidade de controlo

Banco de registos
Palavra de controlo Bits de estado

PC IR
Barramento de dados

ULA

16

Arquitectura de um computador
33

Interaco com o exterior

O processador e a memria, so o ncleo central de um computador, mas sozinhos no conseguem desempenhar nenhuma funo.

Para comunicar com os utilizadores, o computador usa diversos dispositivos perifricos.

Os dispositivos perifricos encontram-se ligados a portos de entrada/sada, os quais controlam os perifricos usando protocolos que variam de perifrico para perifrico.

Arquitectura de um computador
34

Um protocolo no mais do que um conjunto de regras que permitem a transferncia correcta de informao entre diferentes entidades.

Para o processador, os portos de entrada/sada so acedidos, quer para leitura quer para escrita, de uma forma semelhante memria.

A cada porto atribudo um ou mais endereos, usados pelo processador quando pretende ler dados desse porto ou escrever dados para o mesmo.

17

Arquitectura de um computador
35

Normalmente,

processador,

memria

os

portos

de

entrada/sada

so

acondicionados num nica unidade fsica para que possam comunicar atravs de barramentos curtos e de alta velocidade.

Processador Endereos e controlo

Memria Dados Porto srie Porto paralelo Placa grfica

A distino entre um acesso memria e um acesso a um porto de entrada/sada feita quer pelo endereo utilizado, quer pelo valor das linhas de controlo.

Arquitectura de um computador
36

Nveis de abstraco de um computador Um computador normalmente utilizado a um nvel de abstraco muito elevado. A maioria dos utilizadores no conhece, nem deseja conhecer, qualquer pormenor da sua organizao interna ou da sua arquitectura. Tipicamente, um utilizador de um computador faz uso do mesmo, executando uma aplicao. As aplicaes foram desenvolvidas com o objectivo de tornar os computadores acessveis a utilizadores que no saibam, ou no queiram programar. No entanto, um computador um sistema digital programvel, e como tal, pode ser utilizado, programado ou configurado a diversos nveis de abstraco.

18

Arquitectura de um computador
37 Um utilizador que utilize o computador no nvel de aplicao interage com uma Programador Nvel 4 Programa em linguagem de alto nvel Compilador Na maior parte dos casos, a aplicao foi programada usando uma linguagem de alto nvel, tal como Java, C ou Lisp. Nvel 2 Programa em linguagem mquina Microprograma em linguagem de transferncia de registos Projectistas do processador Nvel 3 Programa em linguagem assembly Assembler Nvel 5 Aplicao

aplicao, tipicamente utilizando metforas da vida real, tais como, pastas, reas de trabalho, folhas, etc.

da responsabilidade dos programadores interpretarem as especificaes que definem o funcionamento de uma aplicao e Nvel 0 Nvel 1

escreverem o cdigo em linguagem de alto nvel.

Projectistas de sistemas digitais Sistema digital

Arquitectura de um computador
38 O cdigo de alto nvel no directamente executado pelo computador, sendo primeiro traduzido, por um outro programa, chamado compilador, para uma linguagem muito mais simples, a linguagem assembly. Nvel 3 A linguagem assembly permite apenas tais de Nvel 2 Programa em linguagem mquina Microprograma em linguagem de transferncia de registos Projectistas do processador especificar como uma operaes soma de muito duas simples, posies Programa em linguagem assembly Assembler Nvel 4 Programador Programa em linguagem de alto nvel Compilador Nvel 5 Aplicao

memria ou a cpia de uma posio de memria para outra. Nvel 1 Apesar de simples, a linguagem assembly no ainda directamente executada pelo Nvel 0 Sistema digital

Projectistas de sistemas digitais

processador.

19

Arquitectura de um computador
39 A linguagem assembly tem de ser traduzida para linguagem mquina, que j uma linguagem processador. executada directamente pelo Nvel 4 Programador Programa em linguagem de alto nvel Compilador A traduo de linguagem assembly em Nvel 3 Programa em linguagem assembly Assembler Nvel 2 Programa em linguagem mquina Microprograma em linguagem de transferncia de registos Projectistas do processador Nvel 5 Aplicao

linguagem mquina realizada por um outro programa o assembler.

A cada instruo em linguagem mquina correspondem diversas operaes Nvel 1

elementares de manipulao de dados e transferncia entre registos. Nvel 0 Sistema digital

Projectistas de sistemas digitais

Arquitectura de um computador
40 Nvel 5 As operaes elementares de manipulao de dados e transferncia entre registos Nvel 4 Programa em linguagem de alto nvel Compilador Nvel 3 Programa em linguagem assembly Assembler Nvel 2 Definidas as microoperaes que tm de ser suportadas pelo hardware, h que projectar o sistema digital que as realiza (projectistas de sistemas digitais). Nvel 0 Sistema digital Nvel 1 Microprograma em linguagem de transferncia de registos Programa em linguagem mquina Projectistas do processador Aplicao Programador

constituem o microprograma, e so definidas pelos projectistas do processador.

Projectistas de sistemas digitais

20

Arquitectura de um computador
41

Outro componente importante num computador o sistema operativo. O sistema operativo um programa especial que coordena a execuo, quer em simultneo quer em sequncia dos diversos programas que se encontram em execuo num computador.

Arquitectura de um computador
42

Sumrio:
Este captulo apresentou o conceito de computador como um sistema digital programvel e apresentou, de maneira breve, a evoluo dos computadores;

Descreveu-se, a alto nvel, a arquitectura de um computador em termos dos seus diversos componentes, entre os quais se constam necessariamente a unidade central de processamento, a memria e os portos de entrada/sada ligados a dispositivos perifricos;

Finalmente foram referidos diversos nveis de abstraco a que um computador pode ser conceptualizado, nveis este que vo desde o nvel de aplicao at ao nvel da transferncia de dados entre os registos de um sistema digital.

21