arquitetura de computadores-resumo

5
Arquitetura de Computadores Breve Histórico Data de 1623 a primeira calculadora mecânica e da metade do século XIX o primeiro computador mecânico. Este último nunca foi construído, mas concebido por Charles Babbage (precursor do computador) e teve a colaboração de Ada Augusta Byron (precursora do software). Em 1853 George Boole publicou seu trabalho que daria origem a álgebra de Boole, fundamento da informática moderna. Os cartões perfurados foram inventados por Herman Hollerith, funcionário do censo norte-americano; eles agilizaram em cem vezes o processamento censitário. A companhia de Hollerith deu origem à IBM. O período de 1943 a 1945 foi marcado pelo ENIAC, o primeiro computador programável universal conseguia realizar cinco mil operações por segundo e seu funcionamento era baseado em válvulas e no sistema decimal. A programação era manual através de operações de ligar/desligar e conectar/desconectar chaves e cabos. O resultado era em forma de luzes. A maioria dos programadores eram mulheres. O período entre 1945 e 1952 foi marcado pelo EDVAC e as ideias de Von Neumann para adoção do sistema binário e alguma forma de armazenamento ordenado. O primeiro bug foi causado em uma mariposa num Mark II em 1945. O Mark I foi construído com a colaboração Alan Turing entre 1939 e 1944. Nele, em 24 de junho de 1948, foi executado o primeiro programa gravado. Máquina de Von Neumann A arquitetura base dos computadores atuais é a máquina de Von Neumann. Ela possibilita resolver qualquer problema exprimível em forma de algoritmo. Seus componentes são a memória principal (guarda dados usando a representação binária), a unidade central de processamento (UCP; controle das operações e execução das instruções) e os dispositivos de entrada e saída (comunicação com o exterior). A UCP é composta pela unidade lógica aritmética (ULA; executa as operações lógicas e aritméticas) e pela unidade de controle (UC; controla as operações interna e externas à UCP). A UCP pode ser fixa ou programável e executa três ações: busca, decodificação e execução. As instruções de máquina podem envolver: operações aritméticas, lógicas, de controle de sequência de execução e de transferência entre a UCP e a memória central ou as unidades de entrada e saída. Unidades, Sistemas Numéricos e Números Negativos O bit só pode ter ou o valor zero ou o valor um. Agrupamentos de bits criam significados úteis. O byte é um grupo ordenado de oito bits. O conceito de palavra está relacionado ao processamento, armazenamento e transferência. A palavra é fixa e constante em um dado processador. O sistema decimal trabalha com potências de 10, o binário com potências de dois, o hexadecimal com potências de 16. Um overflow ocorre quando o resultado de uma operação ultrapassa o limite máximo possível. É esperada uma sinalização do processador

Upload: marcio-abreu

Post on 26-Sep-2015

11 views

Category:

Documents


0 download

DESCRIPTION

Resumo Arquitetura de Computadores

TRANSCRIPT

  • Arquitetura de Computadores

    Breve Histrico

    Data de 1623 a primeira calculadora mecnica e da metade do sculo XIX o primeiro

    computador mecnico. Este ltimo nunca foi construdo, mas concebido por Charles Babbage

    (precursor do computador) e teve a colaborao de Ada Augusta Byron (precursora do

    software). Em 1853 George Boole publicou seu trabalho que daria origem a lgebra de Boole,

    fundamento da informtica moderna. Os cartes perfurados foram inventados por Herman

    Hollerith, funcionrio do censo norte-americano; eles agilizaram em cem vezes o

    processamento censitrio. A companhia de Hollerith deu origem IBM. O perodo de 1943 a

    1945 foi marcado pelo ENIAC, o primeiro computador programvel universal conseguia realizar

    cinco mil operaes por segundo e seu funcionamento era baseado em vlvulas e no sistema

    decimal. A programao era manual atravs de operaes de ligar/desligar e

    conectar/desconectar chaves e cabos. O resultado era em forma de luzes. A maioria dos

    programadores eram mulheres. O perodo entre 1945 e 1952 foi marcado pelo EDVAC e as

    ideias de Von Neumann para adoo do sistema binrio e alguma forma de armazenamento

    ordenado. O primeiro bug foi causado em uma mariposa num Mark II em 1945. O Mark I foi

    construdo com a colaborao Alan Turing entre 1939 e 1944. Nele, em 24 de junho de 1948,

    foi executado o primeiro programa gravado.

    Mquina de Von Neumann

    A arquitetura base dos computadores atuais a mquina de Von Neumann. Ela possibilita

    resolver qualquer problema exprimvel em forma de algoritmo. Seus componentes so a

    memria principal (guarda dados usando a representao binria), a unidade central de

    processamento (UCP; controle das operaes e execuo das instrues) e os dispositivos de

    entrada e sada (comunicao com o exterior). A UCP composta pela unidade lgica

    aritmtica (ULA; executa as operaes lgicas e aritmticas) e pela unidade de controle (UC;

    controla as operaes interna e externas UCP). A UCP pode ser fixa ou programvel e

    executa trs aes: busca, decodificao e execuo. As instrues de mquina podem

    envolver: operaes aritmticas, lgicas, de controle de sequncia de execuo e de

    transferncia entre a UCP e a memria central ou as unidades de entrada e sada.

    Unidades, Sistemas Numricos e Nmeros Negativos

    O bit s pode ter ou o valor zero ou o valor um. Agrupamentos de bits criam significados teis.

    O byte um grupo ordenado de oito bits. O conceito de palavra est relacionado ao

    processamento, armazenamento e transferncia. A palavra fixa e constante em um dado

    processador. O sistema decimal trabalha com potncias de 10, o binrio com potncias de

    dois, o hexadecimal com potncias de 16. Um overflow ocorre quando o resultado de uma

    operao ultrapassa o limite mximo possvel. esperada uma sinalizao do processador

  • sobre este fato. H trs formas convencionadas para representar nmeros negativos: sinal e

    magnitude (bit mais a esquerda indica o sinal; 0 com positivo, 1 como negativo; o restante dos

    bits a magnitude - o valor de fato; h duas representaes do zero), complemento de um

    (nmeros negativos representados pelo complemento de um do nmero positivo),

    complemento de dois (mais utilizado; nmeros negativos representados por duas operaes

    sucessivas com o nmero positivo: primeiro faz-se o complemento de um e depois ao

    resultado soma-se um; acarreta em faixas assimtricas - mais nmeros negativos que

    positivos; possui uma nica representao para o nmero zero).

    Memria: tipos, caractersticas e classificao

    Os diversos tipos de memria utilizadas no computador so interligadas de forma estruturada

    formando o subsistema de memria. As principais caractersticas da memria so custo (preo

    por byte), tempo de acesso (espao de tempo entre a solicitao e a disponibilizao) e

    persistncia do armazenamento (volatilidade e tempo de permanncia da informao). As

    memrias podem ser ordenadas hierarquicamente comeando-se das com menor custo,

    velocidade e capacidade da seguinte forma: memria secundria (tica e magntica), memria

    principal, memria cache, registradores. Existem diversas tecnologias de fabricao dentre elas

    as memrias de semicondutores, as memrias de meio magntico e as memrias ticas. A

    volatilidade diz respeito capacidade de reter a informao armazenada quando a energia

    eltrica desligada. Os registradores e a memria RAM so volteis. As memrias magnticas,

    ticas, ROM, EPROM so no volteis. Tempo de ciclo de memria o espao de tempo entre

    duas operaes sucessivas na memria. As memrias podem ser classificadas quanto leitura

    e escrita em R/W (Read and Write; geralmente denominadas de RAM), ROM (Read Only

    Memory; uma vez gravada no pode ser apagada), PROM (Programmable Read Only Memory;

    processo de programao mais simples que os da ROM; no pode ser apagada), EPROM

    (Erasable Programmable Read Only Memory; o processo de apagar feito com mquinas

    adequadas ou raios ultra-violeta) e EEPROM ou E2PROM ou EAROM (Electrically Erasable

    Programmable Read Only Memory/Eletrically Alterable ROM; reprogramavel por processo

    eltrico com equipamento e software adequado) . A memria principal controlada pelo

    sistema operacional e armazena programas e dados enquanto estes esto sendo necessrios

    para a UCP. A clula a menor unidade enderevel; seu tamanho depende da arquitetura da

    mquina. Cada clula tem um endereo nico. A funo da memria cache acelerar o

    processamento. A memria cache mais rpida que a memria principal, sendo compatvel

    com a velocidade da UCP. Seu funcionamento baseia-se no princpio da localidade temporal

    (probabilidade de um mesmo item ser referenciado novamente em um curso espao de

    tempo) e localidade espacial (probabilidade de itens com endereos prximos serem

    referenciados em um curto espao de tempo). Existem duas possibilidades quando o

    processador busca uma informao no cache: ou ela est l (cache hit) ou ela no est (cache

    miss). Denomina-se tempo de acerto o tempo necessrio para acessar uma informao que

    est no cache. Penalidade por falta o tempo gasto substituindo informaes que no esto

    no cache. A quantidade de registradores depende do modelo e fabricante do processador.

    Poucos registradores resultam em mais referncia memria, entretanto um nmero muito

    grande no reduz significativamente a referncia memria. O tamanho do registrador de

  • endereos deve ser suficiente para o endereamento da arquitetura. O tamanho do

    registrador de dados deve atender maioria dos tipos de dados disponveis na arquitetura.

    Existem dois tipos de registradores: os visveis para os usurios e os de controle e estado

    usados por programas privilegiados do sistema operacional. Os do primeiro tipo podem ser de

    uso geral, de dados e de endereos. Os registradores de endereo podem ser de segmento, de

    ndice ou apontadores de topo de pilha. So quatro os registradores essenciais de controle de

    estado: contador de instruo (CI; indica a prxima instruo a ser executada), registrador de

    instruo (RI; contm a ltima instruo); registrador de endereamento memria (MAR;

    contm o endereo de uma posio de memria) e registrador de armazenamento temporrio

    de dados (MBR; contm uma palavra de dados lida ou a ser escrita).

    Programa e Linguagem

    Um programa uma sequncia lgica de instrues com o objetivo de realizar determinada

    tarefa. Uma linguagem de programao permite escrever programas de computador.

    Linguagem de mquina nica que o computador pode entender diretamente; nela cada

    instruo corresponde a uma ao (relao um para um); sua especificidade para uma

    famlia de computadores. Ela um cdigo binrio totalmente vinculado ao conjunto de

    instrues da mquina. So disponibilizadas instrues para operaes matemticas,

    movimentao de dados, entrada/sada e controle (desvio de sequncia de execuo). Cada

    instruo identificada unicamente por um cdigo binrio e composta por um cdigo de

    operao (OPCODE) e, se for o caso, parmetros (ou operandos; OP 1...OP N). O ciclo de

    instruo o processamento necessrio para executar uma instruo. Um ciclo composto

    pelas seguintes etapas: 1) busca e armazenamento no registrador de instruo da prxima

    instruo; 2) incremento do contador de instruo; 3) determinao do tipo de instruo,

    determinar, se for o caso, os endereos dos operandos; 4) buscar, se for o caso, operandos na

    memria; 5) executar instruo. A linguagem de montagem (Assembly Language) substitui os

    cdigos numricos da linguagem de mquina por mnemnicos; ela tambm dependente de

    uma famlia de mquinas; o processo de transformao da linguagem de montagem para a

    linguagem de mquina denominado de montador (assembler). As linguagens de alto nvel

    so afastadas do nvel da mquina; o processo de converso da linguagem de alto nvel para a

    linguagem de mquina chama-se compilao; uma linguagem de alto nvel geralmente faz

    chamada a diversas funes pr-programadas (bibliotecas); o ligador (linker), dentre outras

    funes, decide como tratar a referncias s bibliotecas; para um programa em linguagem de

    alto nvel ser executado ele precisa passar pela compilao e pela linkedio (feito no

    momento da construo do programa) ou pela interpretao (feito no momento da execuo);

    a interpretao o processo que executa toda a traduo e resoluo de referncias externas

    em tempo de execuo. Na tcnica de compilao o tempo de execuo menor e a

    identificao de erros mais difcil em tempo de execuo do que na tcnica de interpretao

    onde o consumo de memria maior e o processo (de traduo e resoluo de referncias)

    tem que ser repetido todas s vezes quando o cdigo for executado. Mquina virtual uma

    camada de emulao criada em um ambiente de interpretao. Este ambiente de emulao

    faz com que uma mquina se comporte como outra. Na linguagem Java o cdigo compilado

  • para o bytecode (cdigo intermedirio) que depois interpretado pela Mquina Virtual Java

    (JVM).

    Modos de Endereamento

    A forma como os operandos indicam os dados a serem processados chamada de modo de

    endereamento. So quatro os principais modos de endereamento: modo imediato

    (operando indica o valor do dado), modo direto (indica o endereo da memria), modo

    indireto (operando indica um ponteiro para o dado), modo de endereamento por registrador

    (operando indica um registrador). O modo de endereamento por registrador pode ser direto

    (registrador contm o dado a ser manipuado) ou indireto (registrador armazena o endereo de

    uma clula de memria).

    Pipeline

    O objetivo da tcnica de pipelining melhorar o desempenho do processador aumentando seu

    throughput. O tempo para executar uma operao em pipeline geralmente ligeiramente

    maior que o tempo para execut-la sem pipeline, graas a overheads como, por exemplo, o de

    transferncia de dados. A transferncia de dados entre os estgios do pipeline pode ser

    assncrona (utiliza sinais de handshaking para indicar disponibilidade de dados) ou sncrona

    (utiliza latches para armazenar dados intermedirios durante a transferncia de estgios;

    controlado por sinal de relgio). O mtodo assncrono permite maior velocidade, mas o

    mtodo sncrono mais adotado devido sua simplicidade.

    Interface de Entrada e Sada, Barramento

    A interface de entrada e sada (E/S) controla os perifricos de modo a proporcionar

    transparncia para o processador. Nesta operao esto envolvidos no mnimo o registrador

    de dados (envio/recebimento de dados), o registrador de controle (envio de comandos) e o

    registrador de estado (indica os estados da operao e condies de erro). Nas operaes de

    E/S as trs principais tcnicas para transferncia de dados so polling (tcnica de

    implementao em software; utiliza o done bit do registrador de estado para sinalizar o fim da

    transferncia de dados entre a memria e a interface E/S; exige dedicao exclusiva do

    processador), interrupo (requer suporte de hardware; no exige dedicao; interface sinaliza

    ao processador sobre fim de operao de E/S; o controlador de interrupo decide, com base

    em uma lista de prioridades, qual pedido de interrupo ser atendido em caso de pedidos

    simultneos; para decidir que rotina ser executada o processador consulta a tabela de

    vetores de interrupo que contm ponteiros para as rotinas correspondentes a cada

    interrupo) e acesso direto memria ou Direct Memory Access (DMA) (o processador no

    participa da transferncia de dados; o controlador de DMA controla o processo de

    transferncia de dados entre a memria e a interface de E/S e arbitra pedidos simultneos; o

    controlador de DMA solicita o barramento ao processador com o sinal PDMA; o processador

  • libera o barramento para a operao com o sinal LIVRE e entra no hold state; ao final do

    processo de DMA o processador liberado para utilizar o barramento). O barramento de

    entrada e sada forma um padro de comunicao entre o processador e os dispositivos. Ele

    consiste em um caminho comum pelo qual os dados trafegam; seu tamanho determina

    quantos dados podem ser transmitidos por vez e sua largura de banda precisa ser

    compartilhada. H trs conjuntos de barramentos: barramento de endereo (unidirecional; os

    endereos de memria e dispositivos trafegam do processador), barramento de dados

    (bidirecional; os dados da memria e dos dispositivos de E/S trafegam do e para o

    processador) e barramento de controle (bidirecional; os sinais de controle da memria e dos

    dispositivos E/S trafegam do e para o processador; indica estado ou determina operao de

    leitura/gravao). Os eventos de interao com o barramento ocorrem em sincronia com o

    sinal do clock. O barramento ISA (Industry Standard Architecture) opera a 8Mhz com

    transferncia de 8 ou 16 bits. O EISA (Extended Industry Standard Architecture) amplia o ISA

    para 32 bits e permite compartilhamento do barramento por processadores; compatvel com o

    ISA. MCA (MicroChannel Architecture) um barramento de 32 bits da IBM com suporte a

    multiprocessamento e desenvolvida para prevenir conflito; no compatvel com o ISA. VESA

    (Video Electronic Standards Association) Local Bus um barramento de 32 bits compatvel com

    ISA utilizado para principalmente para vdeo e controladores de disco. O PCI (Peripheral

    Component Interconnect) opera na faixa entre 25 e 33 Mhz, permite a transferncia a 32 ou 64

    bits com taxas de at 132 MB/s; incorpora recursos Plug and Play. O AGP (Accelerated Graphic

    Port) exclusivo para placas de vdeo; suas taxas podem chegar a 1GB/s e dependem da placa

    de vdeo e da frequncia do barramento da placa-me. O USB (Universal Serial Bus) permite a

    comunicao serial de at 127 perifricos por porto; tambm incorpora os recursos Plug and

    Play; dispositivos podem ser conectados e desconectados com a mquina ligada; capaz de

    fornecer at 5 V de energia. O Firewire (IEEE 1394) um barramento serial que permite

    transferncia de at 400 Mbps e aceita at 63 dispositivos por porto.

    Portas de Comunicao

    As portas de comunicao permitem a interligao fsica com os perifricos. Na comunicao

    serial o byte desmembrado em bits e enviado separadamente um aps o outro. Na

    comunicao paralela os bits do byte so enviados simultaneamente por meios fsicos

    diferentes (cada um em seu fio). Na interface paralela pode ocorrer dos bits no chegarem

    todos ao mesmo tempo (skew).