Você está na página 1de 45

Curso Superior de Tecnologia em Sistemas para Internet

Arquitetura de Computadores

Introduo

Prof. Mrlon Oliveira da Silva Prof. Alexandre Bartoli Monteiro


2012

Arquitetura de Computadores Introduo

Sumrio
1. Introduo 2. Linguagens, nveis e mquinas reais 3. Mquinas multinveis contemporneas 4. Evoluo de mquinas multinveis 5. A evoluo dos computadores 6. Tipos de computador 7. Unidades mtricas
2 / 45

Arquitetura de Computadores Introduo

1. Introduo
Um computador digital uma mquina capaz de solucionar problemas atravs da execuo de instrues que lhe so fornecidas. Programa uma seqncia de instrues que descreve como executar uma determinada tarefa. Os circuitos eletrnicos do computador so projetados e construdos para executar instrues simples, para as quais todos os programas devem ser convertidos antes que possam ser executados. Exemplos de instrues: somar 2 nmeros, verificar se um nmero zero, buscar um dado da memria.
3 / 45

Arquitetura de Computadores Introduo

2. Linguagens, nveis e mquinas reais


Todo computador possui uma linguagem formada por um conjunto de instrues primitivas conhecida como Linguagem de Mquina.

Geralmente as linguagens de mquina: so especficas para o uso pretendido e necessidades de desempenho; possuem instrues simples para reduzir a complexidade e o custo dos circuitos eletrnicos; so difceis e tediosas de serem usadas pelo ser humano.
4 / 45

Arquitetura de Computadores Introduo

2. Linguagens, nveis e mquinas reais


Como facilitar o uso da linguagem de mquina? Criando uma linguagem mais adequada para o ser humano.

Como executar os programas escritos nesta nova linguagem? Traduzindo ou interpretando as instrues da linguagem L2 para um conjunto equivalente de instrues da linguagem de mquina L1.

Linguagem L2
Interpretao ou Traduo

Linguagem L1
L1 a linguagem executada diretamente pelo hardware.
Figura 1: Traduo ou Interpretao. 5 / 45

Arquitetura de Computadores Introduo

2. Linguagens, nveis e mquinas reais


Traduo
Este mtodo de execuo consiste em substituir cada instruo L2 por uma seqncia equivalente de instrues em L1. O programa resultante composto apenas de instrues L1.

Interpretao
Esta tcnica de execuo usa um programa, interpretador, escrito em L1, que l as instrues do programa L2 e para cada uma realiza a execuo diretamente via uma seqncia equivalente de instrues L1. Nenhum programa L1 gerado.

6 / 45

Arquitetura de Computadores Introduo

2. Linguagens, nveis e mquinas reais


Mquinas Virtuais
A criao de um computador hipottico ou mquina virtual com uma linguagem de mquina prpria, pode ser usado para que linguagens com instrues mais convenientes para o ser humano sejam construdas.

Toda mquina virtual define uma linguagem de mquina, que consiste em todas as instrues que a mquina pode executar.

Uma mquina multinvel, composta de uma srie de camadas ou nveis, construda usando vrias mquinas virtuais, cada uma com sua prpria linguagem de mquina.
7 / 45

Arquitetura de Computadores Introduo

2. Linguagens, nveis e mquinas reais


LM = Linguagem de Mquina

Nvel n

Mquina virtual Mn com LM Ln

Os programas em Ln so traduzidos para uma linguagem de mquina de um nvel inferior, ou so interpretados por um interpretador em execuo em uma mquina de nvel inferior. Os programas em L3 so traduzidos para L2 ou L1, ou so interpretados por um interpretador em execuo em M2 ou M1. Os programas em L2 so traduzidos para L1 ou so interpretados por um interpretador em execuo em M1. Os programas em L1 so executados pelo hardware.

Nvel 3

Mquina virtual M3 com LM L3

Nvel 2

Mquina virtual M2 com LM L2

Nvel 1

Computador real M1 com LM L1

Figura 2: Uma mquina multinvel.


Fonte - Adaptado de Tanenbaum, 2007, p. 2.

8 / 45

Arquitetura de Computadores Introduo

3. Mquinas multinveis contemporneas


As pessoas interessadas em compreender como um computador realmente funciona devem estudar todos os nveis.

Os interessados em projetar novos computadores ou novos nveis (isto , novas mquinas virtuais) devem tambm compreender a organizao de cada camada.

A maioria dos computadores modernos possuem seis nveis, como mostra a prxima figura.

9 / 45

Arquitetura de Computadores Introduo

3. Mquinas multinveis contemporneas


Nvel 5 Nvel 4 Nvel 3 Nvel 2 Nvel 1

Nvel de linguagem orientada para problemas Nvel de linguagem de montagem (assembly) Nvel do sistema operacional da mquina Nvel de arquitetura do conjunto de instruo Nvel de microarquitetura

Traduo (compilador)

Traduo (montador) Interpretao parcial (sistema operacional) Interpretao (microprograma) Os microprogramas so executados diretamente pelo hardware.

Nvel 0

Nvel de lgica digital

Figura 3: Os 6 nveis presentes nos computadores modernos.


Fonte - Adaptado de Tanenbaum, 2007, p. 3.

10 / 45

Arquitetura de Computadores Introduo

3. Mquinas multinveis contemporneas


Nvel 0 - Lgica Digital: o hardware verdadeiro da mquina. Estes circuitos executam os programas em linguagem de mquina do nvel 1. Nvel 1 - Microarquitetura: o verdadeiro nvel de linguagem de mquina. Neste nvel h um programa, denominado microprograma, cuja funo interpretar as instrues de nvel 2. Nvel 2 - Arquitetura do Conjunto de Instruo: um microprograma define uma linguagem de nvel 2 e uma mquina virtual, cuja LM essa linguagem. Os manuais de referncia de uma LM produzido por um fabricante, na realidade, possuem a especificao da linguagem de mquina virtual do nvel 2, e no do nvel 1.
11 / 45

Arquitetura de Computadores Introduo

3. Mquinas multinveis contemporneas


Nvel 3 - Sistema Operacional: este um nvel hbrido, pois possui uma boa parte das instrues presentes no nvel 2, que so executadas diretamente pelo microprograma, e no pelo sistema operacional. Possui novas instrues, uma organizao diferente de memria, capacidade de execuo de 2 ou mais programas em paralelo, etc. Nvel 4 - Linguagem de Montagem: este nvel fornece um mtodo para as pessoas escreverem programas para os nveis 1,2 e 3 de um modo no to desagradvel quanto as prprias linguagens de mquina virtual. Os programas deste nvel so traduzidos atravs de um programa denominado montador.
12 / 45

Arquitetura de Computadores Introduo

3. Mquinas multinveis contemporneas


Nvel 5 - Linguagem orientada para problemas: este nvel fornece linguagens de programao para serem usadas por programadores de aplicao com problemas a serem resolvidos. Estas linguagens so conhecidas como linguagens de programao de alto nvel (p. ex.: Fortran, Ada e Pascal).

O conjunto de tipos de dados, operaes e caractersticas de cada nvel conhecido como sua arquitetura.

O estudo sobre como projetar as partes de um computador que sejam visveis aos programadores denomina-se Arquitetura de Computadores.
13 / 45

Arquitetura de Computadores Introduo

4. Evoluo de mquinas multinveis


Programas escritos em uma verdadeira linguagem de mquina (nvel 1) de um computador podem ser executados diretamente pelos circuitos eletrnicos (nvel 0) do computador sem nenhum interpretador ou tradutor interveniente.

Hardware e software so logicamente equivalentes.

Qualquer operao executada por software tambm pode ser embutida diretamente no hardware. A deciso de colocar certas funes em hardware e outras em software baseada em fatores como custo, velocidade, confiabilidade e frequncia de mudanas esperadas.
14 / 45

Arquitetura de Computadores Introduo

4. Evoluo de mquinas multinveis


A inveno da microprogramao
Os primeiros computadores digitais, na dcada de 1940, tinham dois s dois nveis: - nvel 1: nvel ISA, no qual era feita toda a programao; - nvel 0: nvel lgico digital que executava esses programas. Os circuitos deste nvel eram complicados, difceis de entender e montar, e no confiveis.

15 / 45

Arquitetura de Computadores Introduo

4. Evoluo de mquinas multinveis


A inveno da microprogramao
Em 1951, Maurice Wilkes, projetou um computador com 3 nveis para simplificar o hardware. Ela possua um interpretador embutido, imutvel (o microprograma), cuja funo era executar programas de nvel ISA por interpretao. Como o hardware s teria que executar microprogramas (conjunto limitado de instrues), em vez de programas de nvel ISA (conjunto maior de instrues), seria necessrio um nmero menor de circuitos eletrnicos (vlvulas).

16 / 45

Arquitetura de Computadores Introduo

4. Evoluo de mquinas multinveis


A inveno do sistema operacional

Figura 4: Amostra de servio (job) para o sistema operacional FMS, FORTRAN Monitor System.
Fonte - Tanenbaum, 2007, p. 6.

17 / 45

Arquitetura de Computadores Introduo

4. Evoluo de mquinas multinveis


Migrao de funcionalidade para o microcdigo
Com a microprogramao os projetistas perceberam que podiam acrescentar novas instrues apenas ampliando o microprograma. Eles podiam acrescentar hardware, novas instrues de mquina, por programao. 1. Instrues para multiplicao e diviso de inteiros. 2. Instrues aritmticas para ponto flutuante. 3. Instrues para chamar e sair de procedimentos. 4. Instrues para acelerar laos (looping). 5. Instrues para manipular cadeias de caracteres.
18 / 45

Arquitetura de Computadores Introduo

4. Evoluo de mquinas multinveis


Eliminao da microprogramao
Os microprogramas cresceram muito durante as dcadas de 1960 e 1970 e foram ficando cada vez mais lentos medida que o nmero de instrues aumentava.

Alguns pesquisadores perceberam que, eliminando o microprograma, com uma drstica reduo no conjunto de instrues e fazendo com que as instrues restantes fossem executadas diretamente - isto , controle do caminho de dados por hardware , as mquinas podiam ficar mais rpidas.

O software de hoje pode ser o hardware de amanh, e vice-versa. 19 / 45

Arquitetura de Computadores Introduo

5. A evoluo dos computadores

Tabela 1: Alguns marcos no desenvolvimento do computador digital moderno.


Fonte - Tanenbaum, 2007, p. 8.

20 / 45

Arquitetura de Computadores Introduo

5. A evoluo dos computadores

Tabela 1: Alguns marcos no desenvolvimento do computador digital moderno.


Fonte - Tanenbaum, 2007, p. 8.

21 / 45

Arquitetura de Computadores Introduo

5. A evoluo dos computadores


Gerao Zero
Computadores Mecnicos (16421945) 1642: o cientista francs Blaise Pascal foi o primeiro a construir uma mquina de calcular (adio e subtrao). 1672: o matemtico alemo Gottfried Wilhelm von Leibniz construiu uma mquina de calcular as 4 operaes. 1834: Charles Babbage constri a mquina analtica. 1936: construda a primeira mquina de calcular com rels, o Z1. 1944: primeiro computador norte-americano de uso geral, o Mark I.
22 / 45

Arquitetura de Computadores Introduo

5. A evoluo dos computadores Primeira Gerao


Vlvulas (19451955) 1946: concludo o ENIAC, que tinha 18 mil vlvulas, 1.500 rels, pesava 30 toneladas, consumia 140 Kw e tinha 20 registradores. 1948: inveno do transistor no Bell Labs. 1949: EDSAC, primeiro computador com programa armazenado. Foi construdo usando o projeto da mquina de John von Neumann. 1952: IAS, mquina construda pelo John von Neumann. Ainda a base da maioria dos computadores digitais.
23 / 45

Arquitetura de Computadores Introduo

5. A evoluo dos computadores

Figura 5: Mquina original de Von Neumann.


Fonte - Adaptado de Tanenbaum, 2007, p. 11.

24 / 45

Arquitetura de Computadores Introduo

5. A evoluo dos computadores Segunda Gerao


Transistores (19551965) 1958: inveno do circuito integrado de silcio. 1962: IBM 7094, dominou a computao cientfica no incio da dcada de 1960. 1963: B5000, primeira mquina projetada para uma linguagem de alto nvel, o Algol 60. 1964: 6600, primeiro supercomputador cientfico construdo por Seymour Cray. 1965: PDP-8, primeiro minicomputador de mercado de massa (50 mil vendidos).

25 / 45

Arquitetura de Computadores Introduo

5. A evoluo dos computadores Segunda Gerao


Transistores (19551965) A arquitetura do PDP-8 com o barramento nico, o omnibus, foi uma ruptura importante em relao arquitetura da mquina IAS, centrada na memria.

Figura 6: Barramento omnibus do PDP-8.


Fonte - Tanenbaum, 2007, p. 12.

26 / 45

Arquitetura de Computadores Introduo

5. A evoluo dos computadores Terceira Gerao


Circuitos Integrados (19651980) A inveno do circuito integrado de silcio por Robert Noyce em 1958 permitiu que dezenas de transistores fossem colocados em um nico chip. A lei de Moore diz que o nmero de transistores em um chip dobra a cada 18 meses.

Figura 7: Tamanhos de memria em bits.


Fonte - Tanenbaum, 2007, p. 16.

27 / 45

Arquitetura de Computadores Introduo

5. A evoluo dos computadores Terceira Gerao


Circuitos Integrados (19651980) Intel 8080 (1974), foi o primeiro microprocessador de 8 bits a fazer sucesso comercial. O principal computador a utiliz-lo foi o Altair 8800.

28 / 45

Arquitetura de Computadores Introduo

5. A evoluo dos computadores Terceira Gerao


Circuitos Integrados (19651980) Intel 8086 (1978), primeiro processador de 16 bits em um chip fabricado pela Intel.
CPU 8080 8086 Transistores 6.000 29.000

29 / 45

Arquitetura de Computadores Introduo

5. A evoluo dos computadores Quarta Gerao


Integrao em escala muito grande (1980?) Na dcada de 1980, a VLSI (Very Large Scale Integration) possibilitou primeiro dezenas de milhares, depois centenas de milhares e, por fim, milhes de transistores em um nico chip. Incio da era do computador pessoal. Em 1983, lanado o primeiro computador com uma GUI (Graphical User Interface), o Lisa da Apple. Em 1992, a DEC lanou o Alpha, primeiro computador de 64 bits.

30 / 45

Arquitetura de Computadores Introduo

5. A evoluo dos computadores

Figura 8: Lei de Moore para processadores Intel.


Fonte - Tanenbaum, 2007, p. 24.

31 / 45

Arquitetura de Computadores Introduo

5. A evoluo dos computadores Quinta Gerao


Computadores invisveis Computadores invisveis esto embutidos em eletrodomsticos, automveis, aparelhos de comunicao, cartes bancrios e diversos outros dispositivos. Os computadores embutidos, denominados de microcontroladores, gerenciam os dispositivos e manipulam a interface de usurio. A quinta gerao mais uma mudana de paradigma do que uma nova arquitetura especfica. No futuro, computadores estaro por toda parte e embutidos em tudo - na verdade, invisveis.
32 / 45

Arquitetura de Computadores Introduo

6. Tipos de computador

Tabela 2: Tipos de computador disponveis atualmente. Os preos devem ser vistos com certa condescendncia.
Fonte - Tanenbaum, 2007, p. 17.

33 / 45

Arquitetura de Computadores Introduo

6. Tipos de computador Computadores descartveis


O desenvolvimento mais importante na rea dos computadores descartveis o chip RFID (Radio Frequency Identification identificao por radiofrequncia). possvel fabricar por alguns centavos chips RFID sem bateria com menos de 0,5 mm de espessura que contm um minsculo radiotransponder e um nico nmero de 128 bits embutido. Quando pulsados por uma antena externa, so alimentados pelo sinal de rdio de entrada por tempo suficiente para transmitir seu nmero de volta antena. Exemplo de aplicao: identificao e rastreamento de produtos, veculos e animais.
34 / 45

Arquitetura de Computadores Introduo

6. Tipos de computador Microcontroladores


Os computadores embutidos, denominados de microcontroladores, gerenciam os dispositivos e manipulam a interface de usurio. So encontrados em grande variedade de aparelhos diferentes, tais como: perifricos de computadores; equipamentos de entretenimento; aparelhos de reproduo de imagens; brinquedos; sistemas de armamentos militares.
35 / 45

Arquitetura de Computadores Introduo

6. Tipos de computador Computadores de jogos


So computadores normais, com recursos grficos especiais e capacidade de som, mas software limitado e pouca capacidade de extenso. Embora essas mquinas no sejam to poderosas quanto os computadores pessoais produzidos no mesmo perodo de tempo, elas no ficam muito atrs e em certos aspectos esto frente. A principal diferena entre uma mquina de jogos e um PC no est tanto na CPU, mas no fato de que mquinas de jogos so sistemas fechados.
36 / 45

Arquitetura de Computadores Introduo

6. Tipos de computador Computadores pessoais


O termo computadores pessoais abrange computadores de mesa e notebooks. H quem reserve o termo PC para as mquinas que tm uma CPU Intel ou compatvel e use o estao de trabalho para as equipadas com um chip RISC de ltima gerao, como as Sun UltraSPARC.

37 / 45

Arquitetura de Computadores Introduo

6. Tipos de computador

Tabela 3: Famlia de processadores da Intel.


Fonte - Tanenbaum, 2007, p. 22.

38 / 45

Arquitetura de Computadores Introduo

6. Tipos de computador Servidores


Computadores pessoais reforados ou estaes de trabalho so muito usados como servidores de rede, tanto em redes locais quanto na Internet. Os servidores normalmente possuem mltiplos processadores, capacidade para trabalho em rede de alta velocidade e podem manipular milhares de transaes por segundo. Em termos de arquitetura, um servidor com um nico processador no muito diferente de um computador pessoal com um nico processador. Apenas mais rpido, maior e tem mais espao de disco, e possivelmente conexo de rede mais rpida.

39 / 45

Arquitetura de Computadores Introduo

6. Tipos de computador Conjunto de estaes de trabalho


Devido a relao preo/desempenho de estaes de trabalho e computadores pessoais os projetistas de sistema comearam a conectar grandes nmeros deles para formar COW (Clusters of Workstations), ou simplesmente clusters. Eles consistem em computadores pessoais ou estaes de trabalho conectados por redes de gigabytes e executam software especial que permite a todas as mquinas trabalharem juntas em um nico problema, muitas vezes cientfico ou de engenharia. Os COWs por oferecer a mesma capacidade de computao a preos muito mais baixos esto substituindo os supercomputadores.
40 / 45

Arquitetura de Computadores Introduo

6. Tipos de computador Mainframes


Na maioria no so muito mais rpidas do que servidores de grande potncia, mas sempre tm mais capacidade de E/S e costumam ser equipadas com vastas colees de discos que contm milhares de gigabytes de dados. Embora sejam caros, comum serem mantidos em funcionamento por causa do enorme investimento em software, dados, procedimentos de operao e pessoal que representam. Alm de sua utilizao para executar software legado de 30 anos de existncia, nos ltimos anos a Internet deu novo flego a esses mainframes para manipular quantidades macias de transaes de e-commerce por segundo como servidores.

41 / 45

Arquitetura de Computadores Introduo

7. Unidades mtricas

Tabela 4: Os principais prefixos mtricos.


Fonte - Tanenbaum, 2007, p. 27.

42 / 45

Arquitetura de Computadores Introduo

7. Unidades mtricas
A capacidade de memria primria e secundria (discos, CD, DVD, pen drive, etc.) e arquivos sempre representada usando a potncia de 2.
Smbolo KB MB GB TB Significado Valor Quantidade de Bytes Kilobyte Megabyte Gigabyte Terabyte 210 220 230 240 1.024 1.048.576 1.073.741.824 1.099.511.627.776

43 / 45

Arquitetura de Computadores Introduo

7. Unidades mtricas
Uma linha de comunicao de 1 Kbps pode transmitir a 1.000 bits por segundo e uma LAN de 10 Mbps funciona a 10.000.000 bits por segundo, porque essas velocidades no so potncias de 2.
Smbolo Kbps Mbps Gbps Tbps Significado Kilobit por segundo Megabit por segundo Gigabit por segundo Terabit por segundo Valor Quantidade de bits 103 106 109 1012 1.000 1.000.000 1.000.000.000 1.000.000.000.000

44 / 45

Arquitetura de Computadores Introduo

Referncias
1. TANENBAUM, A. S. Organizao Estruturada de Computadores. 5 edio. So Paulo: Pearson Prentice Hall, 2007. 449 p. 2. VASCONCELOS, L. Hardware Total. So Paulo: Makron Books, 2002. 1505 p.

45 / 45