Você está na página 1de 46

Arquitetura de Computadores

FACILITADOR: JOS DOS SANTOS DE MOURA


E-MAIL: MOURA.DOSSANTOS@OI.COM.BR

O que um computador digital?


uma mquina que pode resolver problemas executando uma srie de instrues que lhe so fornecidas (programas).

Conceitos
O programa um conjunto de instrues que descreve como realizar tal tarefa.
Exemplo do rob.

Linguagem de mquina: so instrues muito bsicas e simples implementadas pelos projetistas a fim de dar funcionalidade a um computador. Devido a sua simplicidade, sua utilizao difcil e tediosa. A linguagem de mquina (binria - baixo nvel) est muito distante de uma linguagem natural (humana alto nvel).

Conceitos
Os circuitos de um computador (Hardware) reconhecem e executam um conjunto limitado e simples de instrues (linguagem de mquina - binria) exemplo: soma, comparao, transferncia de dados de uma parte da memria para outra . As Instrues da linguagem de mquina (a decidida pelos projetistas de computadores) devem:
Ser simples; Ser compatvel com o uso da mquina ; Ser compatvel com a performance requerida ; Ter custo e complexidade da eletrnica reduzida (aplicao).

LINGUAGENS, NVEIS E MQUINAS VIRTUAIS


Supondo a existncia das linguagens:
L1: linguagem natural, do usurio (alto nvel e complexa) L0: linguagem da mquina (baixo nvel e simples)

Como compatibiliza L1 com L0?


Temos duas solues: Usar um tradutor Usar um interpretador

Compilador
Compilador um programa ou um grupo de programas que escrito por uma linguagem (esta sendo necessria de compilao para sua execuo) ao ser compilado gera outro cdigo que interpretado pelo computador. Este cdigo compilado chamado de cdigo objeto, podendo ser um arquivo executvel que reproduzido em um sistema operacional, por exemplo. Este tipo de tradutor um dos mais utilizados. Os compiladores analisam o cdigo em trs partes, de forma sinttica ou hierrquica, anlise lxica ou linear e anlise semntica.

VANTAGENS
O cdigo compilado mais rpido de ser acessado; Impossibilita ou pelo menos dificulta ser quebrado e visualizado o cdigo-fonte original; Permite otimizao do cdigo por parte do compilador; Compila o cdigo somente se estiver sem algum erro.

DESVANTAGENS
Para ser utilizado o cdigo precisa passar por muitos nveis de compilao; Assim como a vantagem possibilidade de no poder visualizar o cdigo-fonte, pode ser uma desvantagem; Processo de correo ou alterao do cdigo requer que ele seja novamente recompilado.

INTERPRETADOR
O interpretador ao contrrio do compilador roda o cdigo-fonte escrito como sendo o cdigo objeto, ele traduz o programa linha a linha, o programa vai sendo utilizado na medida em que vai sendo traduzido. Cada execuo do programa precisa ser novamente traduzido e interpretado. O interpretador analisa sintaticamente e semanticamente o cdigo, se estas duas etapas forem realizadas e executadas de forma correta o cdigo est pronto para funcionar.

VANTAGENS
Correes e alteraes so mais rpidas de serem realizadas; Cdigo no precisa ser compilado para ser executado; Consomem menos memria.

DESVANTAGENS
Execuo mais lenta do programa; Necessita sempre ser lido o cdigo original para ser executado;

TRADUTOR
Cada instruo de L1 substituda por um conjunto de instrues equivalentes de L0; Assim, o Processador executa programa em L0; Todo programa em L0 carregado em memria e executado ; O Programa pode ser traduzido uma nica vez e executado vrias vezes .

INTERPRETADOR
Cada instruo de L1 substituda por um conjunto de instrues equivalents de L0 Processador executa instruo de L1 (transformada para L0) antes de executar prxima instruo. Cada instruo de L1, transformada para L0, carregada na memria e executada No criado um programa em L0 Programa deve ser novamente interpretado para ser executado

OBSERVAO:
Pode ser utilizada uma metodologia hbrida: tradutor + interpretador; Ao invs de pensar em traduo ou interpretao, pode -se imaginar a existncia de um computador hipottico, ou de uma mquina virtual M1, cuja linguagem de mquina seja L1 (e uma mquina real M0 com linguagem L0). Os programas poderiam ser escritos em L1, para a mquina M1 e:
Serem executados diretamente em M1, se esta mquina fosse de custo de construo baixo, ou Serem traduzidos ou interpretados para L0 e executados em M0;

MQUINAS MULTINVEIS CONTEMPORNEAS


A grande maioria dos computadores modernos formada por dois ou mais nveis. A Figura a seguir mostra o esquema de um computador com seus nveis:

Nvel 0: Nvel da Lgica Digital


O Nvel mais baixo da estrutura Objetos de interesse so conhecidos como portas lgicas; Cada porta lgica tem um ou mais entradas digitais (aceitam 0 ou 1) e calculam funes lgicas simples sobre essas entradas. Exemplo: AND, OR, XOR,... A combinao de um pequeno nmero de portas formam uma memria de 1 bit; Portas lgicas so combinadas para formar o Processador - principal dispositivo do computador.

Nvel 1: Nvel da Microarquitetura


Enxergamos uma memria local (8 a 32 registradores) e a UAL (Unidade Aritmtica Lgica) que realiza operaes aritmticas muito simples ; Os registradores so conectados a ULA formando o caminho dos dados atravs do qual os dados transitam, selecionando um ou dois registradores, fazendo com que a ULA efetue algo com eles; Operaes so controladas por um microprograma ou diretamente por hardware ; Microprograma um interpretador para as instrues do nvel 2.

Nvel 2: Nvel da Arquitetura do Conjunto de Instrues ( nvel ISA - Instruction Set Architeture)
Definida pelo fabricante e dependente da arquitetura da mquina ; Fabricantes disponibilizam "Manual de Referncia da Linguagem de Mquina" ou "Princpios de operao do Computador Modelo XYZ4W), ou algo similar; Manuais descrevem como as instrues so executadas interpretativamente pelo microprograma ou como elas so executadas diretamente pelo hardware; Essas informaes so necessrias para os desenvolvedores de sistemas operacionais.

Nvel 3: Nvel do Sistema Operacional


Instrues da linguagem deste nvel tambm podem conter instrues do nvel ISA. Suporta uma organizao diferente de memria ; Suporta capacidade de rodar 2 ou mais programas simultaneamente ; Suporta sistemas de comandos ou de janelas (windows); Programadores deste nvel, e tambm dos nveis mais baixos, so conhecidos como programadores de sistema . Os programadores dos nveis mais altos que so chamados programadores de aplicao .

Nvel 4: Nvel da linguagem do montador ou de montagem (Assembly language)


Linguagem de montagem: forma simblica de representao das linguagens do nvel mais baixo. Programas nessa linguagem so primeiro traduzidos para as linguagens dos nveis 1, 2 e 3 e depois interpretados pela mquina virtual apropriada ou pela prpria mquina real. Programa que realiza essa traduo chamado de montador.

Nvel 5: Nvel das linguagens orientadas para soluo dos problemas


Conhecidas como linguagens de alto nvel. Exemplos Basic, C, Pascal, Java, LISP, etc; Programas so geralmente traduzidos para os nveis 3 e 4 por compiladores; Alguns so interpretados: Exemplo : programas em Java, C, C++, Lisp, Prolog, etc.

OBSERVAES IMPORTANTES
O conjunto de dados, operaes e caractersticas de cada nvel denominado de arquitetura; Computadores so projetados como uma srie de nveis, cada um deles construdos em cima de seus precursores; Cada nvel representa uma abstrao distinta, com diferentes objetos e operaes;

OBSERVAES IMPORTANTES
A abstrao permite ignorar, "abstrair", temporariamente detalhes irrelevantes, de nveis mais baixos, reduzindo uma questo complexa h algo muito mais fcil de ser entendido. So parte da arquitetura, as caractersticas que um programador do nvel deve enxergar, por exemplo, a disponibilidade de memria .

EVOLUO DAS MQUINAS DE VRIOS NVEIS


1. Os programas escrito na verdadeira linguagem de mquina de um computador (Nvel 1) podem ser executados diretamente pelos circuitos eletrnicos/ hardware (nvel 0) desse computador, sem necessidade da interveno de interpretadores ou de tradutores. 2. Em contraste ao hardware, o software composto de algoritmos e por suas representaes computacionais, que podem ser armazenados em discos, sendo sua essncia o conjunto de instrues e no o meio fsico no qual eles so gravados.

EVOLUO DAS MQUINAS DE VRIOS NVEIS


3. Com a evoluo dos sistemas a fronteira entre hardware e software tem desaparecido, por conta do acrscimo, da remoo e da combinao de nveis. Hardware e software so equivalentes logicamente Qualquer operao realizada por software pode tambm ser realizada por hardware, pois o hardware simplesmente o software petrificado. A deciso em deixar algumas funes a cargo de hardware ou de software baseia-se em fatores como custo velocidade, confiabilidade e freqncia esperada de mudanas.

4.

5.

A inveno da microprogramao
Na dcada de 40 os computadores tinham somente dois nveis: O nvel ISA(Arquitetura do Conjunto de Instrues ) onde toda programao realizada e o nvel da lgica digital, onde os programas so executados. Os circuitos do nvel da lgica digital eram complicados, difceis de entender e construir, alm de pouco confiveis.

A inveno da microprogramao
Na dcada de 50, surgiu a idia de se construir um computador em trs nveis. Este deveria ter acoplado a si um interpretador (microprograma) com a funo de executar programas escritos no nvel ISA(Arquitetura do Conjunto de Instrues ) por interpretao , fazendo com que os computadores precisassem de menos circuitos eletrnicos . H de se considerar que os computadores da poca eram construdos com vlvulas e sua diminuio aumentava a confiabilidade dos sistemas. Em 1970 essa prtica tornou se comum.

A inveno do Sistema Operacional


Nos primrdios os computadores eram operados pelo prprio programador, o qual com seus cartes perfurados carregavam um programa na memria e ele executava sua tarefa. Por volta de 1960, pare reduzir o tempo gasto na execuo de programas, automatizando os trabalhos de operao da mquina, foi criado o sistema operacional. Este era mantido na memria do computador durante todo o tempo, automatizava e gerenciava as atividades antes desenvolvidas pelo programador .

A inveno do Sistema Operacional


Com o tempo os sistemas operacionais evoluram incorporando novas funes ao nvel ISA, incluindo novas operaes para tratamento de entrada e sada. Estas instrues foram conhecidas como macros do sistema operacional ou como chamadas ao supervisor. Atualmente usada a expresso chamada de sistema.

Migrao de Funcionalidade para o Microcdigo


Os projetistas perceberam que poderiam acrescentaram novas instrues ao conjunto de instrues do processador simplesmente expandindo o microprograma. Em outras palavras eles poderiam acrescentar hardware (novas instrues de mquina) por programao.

Migrao de Funcionalidade para o Microcdigo


Instrues, como as abaixo relacionadas foram incorporadas:
Instrues para multiplicao e para diviso de nmeros inteiros; Aritmtica em ponto flutuante; Chamada e retorno de procedimentos; Acelerar a execuo de loops; Manipular strings e caracteres.

Migrao de Funcionalidade para o Microcdigo


Pela facilidade incluram algumas funcionalidades: Funcionalidade para acelerar o processamento de programa envolvendo clculo matricial; Funcionalidade para permitir que os programas pudessem ser deslocados de posio na memria aps o incio da execuo; Sistemas de interrupo que enviam um sinal para o processador to logo um a operao de entrada ou de sada termine. Capacidade de suspender a execuo de um programa e iniciar a execuo de outro, usando para isso um nmero muito pequeno de instrues. Dentro outras.

A Eliminao da Microprogramao
Os microprogramas engordaram e tendiam a ficar cada vez mais lentos media que se tornavam mais volumosos. Alguns pesquisadores perceberam que, eliminando o micriporograma, promovendo 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 maquinas ficassem mais rpida.

A Mquina de Von Neumann


Constituda de cinco partes:
Memria; Unidade Lgica e Aritmtica; Unidade de Controle; Equipamentos de Entrada; Equipamentos de Sada.

Caractersticas do modelo de von Neumann


O programa armazenado na memria do computador junto com os dados a serem processados; Instrues dos programas armazenadas de maneira seqencial; Existncia de registradores dedicados ao armazenamento dos operandos e dos resultados das operaes; Existncia de um nico barramento do sistema, realizando a transferncia de dados e instrues entre os diversos blocos.

Computadores descartveis
Na extremidade inferior desse tipo encontramos um chip colocado na parte interna de um carto de congratulaes que toca Um feliz Aniversrio.

Microcontroladores
Computadores embutidos em dispositivos que no so vendidos com computadores, denominados de microcontroladores, com a funo de gerenciar dispositivos e manipular interface de usurio.

Microcontroladores
Exemplos:
Eletrodomsticos (rdio-relgio, mquina de lavar, secadora, forno microondas); Aparelhos de comunicao (telefone sem fio, telefone celular, fax, pager); Equipamentos de entretenimento (VCR, DVD, aparelho de som, MP3 play); Aparelhos de reproduo de imagens (TV, Cmera digital, lentes, fotocopiadora); Brinquedos (bonecas que falam, consoles de jogos, carro ou barco com radio controle); Entre outros.

Computadores de jogos
Um nvel acima esto as mquinas de videogame. Computadores com recursos grficos especiais e capacidade de som, mas software limitado e pouca capacidade de extenso.

Computadores pessoais
Computadores de mesa e notebooks.