Você está na página 1de 30

V - Organizao de Computadores

sta disciplina consiste no estudo dos componentes fsicos que compem o computador, cuja configurao bsica e mais geral pode ser vista como na figura V.1 abaixo.

Disp E dados

Memria

Disp S instrues

UCP UAL Sinais de Controle e Status UC

Figura V.1 - Organizao de um Computador onde, por definio, considera-se: computador - como sendo uma mquina eletrnica, capaz de solucionar problemas atravs da execuo automtica de instrues que lhe sejam previamente fornecidas. hardware - constitudo pelos circuitos eletrnicos que compem o computador e que o tornam capaz de reconhecer e executar um conjunto limitado de instrues simples. software - constitudo pelo conjunto de programas necessrios para tornar o hardware til e operacional. programa - como sendo uma pea de software constituda por uma seqncia de instrues que descrevem ao computador como executar uma determinada tarefa. linguagem de mquina - constituda pelo conjunto bsico de instrues que so reconhecidas pelo hardware e, para a qual todo programa precisa ser convertido para que possa ser executado. tradutor - um programa que converte outros programas para a linguagem de mquina. Pode ser de trs tipos: montador (para a linguagem assembly), interpretador (traduo e execuo passo a passo) e compilador (traduo e execuo em fases distintas).

V.1 Mquina Virtual


Constitui-se de uma abstrao onde, dentro de um nico computador hospedeiro, o universo gerado por cada linguagem define uma mquina hipottica (virtual) capaz de reconhecer e executar diretamente as instrues daquela linguagem. a generalizao do conceito de hardware.

Organizao de Computadores

Vantagens desta abordagem: 1. Um computador pode ser considerado como composto por "n" mquinas virtuais, cada uma delas com sua prpria configurao e linguagem de mquina; 2. Uma pessoa, cujo trabalho seja gerar programas (aplicativos) para a mquina virtual de nvel "k" ou outro qualquer, no precisa conhecer ou se preocupar com as particularidades dos nveis inferiores ao seu; 3. A estrutura de nveis permite ver o computador como um conjunto hierrquico de facilidades que possibilitam flexibilidade e independncia ao usurio. " As linguagens de 4a gerao - orientadas a objeto, com interfaces grficas e super amigveis derrubou o mistrio e abriu as portas do computador ao usurio leigo e ao pblico em geral."
Mquina Virtual Mn Ling Mq - Ln

Programas em Ln so interpretados e traduzidos por um interpretador residente na mquina Mn-1 Programas em L0 so interpretados e executados diretamente pelo hardware do computador

Mquina Virtual M1 Ling Mq - L1

Mquina Virtual M0 Ling Mq - L0

Figura V.2 - Mquina Virtual O Modelo Multinvel Contemporneo A maioria dos computadores modernos possui dois ou mais nveis, sendo que mquinas com seis ou mais nveis so cada vez mais comuns. Tais nveis se subdividem basicamente em Hardware, Firmware, Software Bsico, Utilitrios e Softwares Aplicativos. A figura V.3 abaixo, descreve um computador hipottico composto por 6 nveis, a saber: nvel 0 - Lgica Digital constitui o hardware do computador. O advento dos microprocessadores (pastilhas VLSI) e dos microcomputadores tm despertado o interesse e aberto, cada vez mais, o mundo da lgica digital aos profissionais de informtica e ao pblico em geral. no nvel 0 encontram-se: os circuitos eletrnicos (cap. IV) e os diversos sistemas (mdulos) que compem o computador: UCP, memria, dispositivos de E/S, dispositivos de comunicao e interfaces. o nvel 0 executa diretamente as instrues (ou microinstrues) submetidas pelo nvel 1.

Organizao de Computadores

Mquina Virtual M5 Orientada ao Prob.


Software Aplicativo

Ling. Alto Nvel

traduo (compilador)

Mquina Virtual M4 Ling de Montagem

Ling. Baixo Nvel (assembly)

traduo (montador)

Software Bsico e Utilitrios

Mquina Virtual M3 Sistema Operacional


interpretao parcial (SO)

Mquina Virtual M2 Mq. Convencional


interpretao (microprograma)

Firmware

Mquina Virtual M1 Microprogramao


execuo pelo hardware

Hardware

Mquina Virtual M0 Lgica Digital

Figura V.3 - Modelo Multinvel nvel 1 - Microprogramao o verdadeiro nvel de linguagem de mquina. O microprograma, residente em memria permanente (ROM), compe o que conhecido por firmware e tem por funo interpretar e traduzir as instrues que lhe so submetidas pelos nveis superiores. nem todas as mquinas possuem este nvel, veja as mquinas RISC por exemplo. Nas mquinas no microprogramadas, o nvel 2, chamado de mquina convencional, diretamente executado pelo hardware. as vantagens da microprogramao so: a) facilitar o projeto e a construo dos circuitos digitais, atravs da implementao de parte da lgica digital dentro do firmware; b) flexibilizar e possibilitar o desenvolvimento de instrues mais potentes a nvel de mquina convencional. o conjunto de microinstrues geralmente pequeno, no entorno de duas ou trs dezenas, sendo que a maior parte delas envolvendo a movimentao de dados de uma parte da mquina para outra, ou a realizao de alguns testes simples. um mesmo computador pode suportar mais de um microprograma, cada um definindo uma mquina virtual de nvel 1 diferente.

Organizao de Computadores

o microprograma, escrito pelo microprogramador e armazenado em uma memria no voltil, tem como funo interpretar (buscar, examinar e executar) cada uma das instrues de um programa em nvel de mquina convencional. Para isto, o microprograma deve acessar e controlar todos os recursos de hardware (registradores, barramentos, ULAs, memrias e outros). as microinstrues so compostas apenas por sinais de controle e o microprograma executado por um dispositivo chamado sequenciador que, juntamente com os demais circuitos de hardware, compe a microarquitetura. um dos pontos de projeto da microarquitetura a definio da largura das microinstrues ou seja, da memria do microprograma, isto , da micromemria. Projetos do tipo horizontal fazem uso de um nmero relativamente pequeno de microinstrues largas, e os do tipo vertical muitas microinstrues estreitas. outra opo de projeto a adoo da nanoprogramao, que consiste basicamente na adoo de uma terceira memria, a nanomemria, para armazenar as instrues do nanoprograma. com a nanoprogramao a microarquitetura fica composta da memria principal, voltil, que armazena o programa em execuo, a micromemria, no voltil, que armazena o microprograma e a nanomemria, tambm no voltil, que armazena o nanoprograma, veja figura V.4. a nanoprogramao se constitui na realidade, de um artifcio para reduzir o tamanho do microprograma naqueles casos em que ocorra muitas repeties de uma ou mais microinstrues. O nanoprograma passa a conter o conjunto das microinstrues usadas no microprograma, armazenados sem repetio, e o microprograma matm a lgica original usando no mais as microinstrues propriamente ditas mas seus endereos na nanomemria.

W bits

Log2m

microprograma (b) microprograma (a) nanoprograma m


n

W bits

Figura V.4 - Microprogramao convencional (a) e nanoprogramao (b) (*) Observe na figura que, na microprogramao convencional o tamanho gasto para armazenar o microprograma de "n x w" (nmero de instrues multiplicado pela largura em bits de cada microinstruo) e na nanoprogramao de "n x log2m + m x w" (nmero de microinstrues multiplicado pelo logaritmo na base dois do tamanho da memria de nanoprogramao somado ao tamanho da memria de nanoprogramao. nvel 2 - Mquina Convencional

Organizao de Computadores

, na verdade, a "mquina" vendida ao usurio genrico. Suas caractersticas tcnicas, operacionais e funcionais so fornecidas atravs dos manuais de referncia, comercializados junto com o equipamento. o nvel onde reside o "kernel" do sistema operacional, que interpreta os utilitrios, a linguagem de controle e as rotinas que residem no nvel 3. o SO pode ser interpretado pelo microprograma ou executado diretamente pelo hardware, naquelas mquinas desprovidas do nvel 1. nvel 3 - Sistema Operacional o nvel em que o usurio interage diretamente (atravs do uso de utilitrios e da linguagem de controle) ou indiretamente (atravs de programas aplicativos desenvolvidos em mquinas de nveis superiores). o windows 3.1, por exemplo, uma mquina virtual colocada acima deste nvel e cuja finalidade proporcionar ao usurio uma interface mais amigvel e de mais fcil assimilao. geralmente, um nvel hbrido, onde parte de suas instrues so interpretadas pelo "kernel" do SO (nvel 2) e parte so interpretadas diretamente pelo microprograma (nvel 1). nvel 4 - Linguagem de Montagem genericamente chamada de assembly, embora cada mquina tenha seu prprio assembly, e traduzida para o nvel inferior pelo montador, comumente chamado de assembler. o assembly j foi muito importante em pocas passadas, porm hoje totalmente suplantado pelas linguagens de alto nvel para o desenvolvimento de programas aplicativos e at utilitrios. nvel 5 - Linguagens Orientadas para o Problema consiste em diferentes mquinas virtuais, cada uma definida pelo ambiente criado por sua linguagem de programao de alto nvel. as linguagens de alto nvel so mais complexas que o assembly e requerem tradutores mais bem elaborados e potentes dos tipos interpretadores e compiladores. nvel 6 e superiores constitudo por sistemas projetados para criar "shells" - mquinas virtuais especialmente adequadas para certas aplicaes, como por exemplo o word, o access, o excel, o lotus, etc. Em resumo, os computadores modernos so constitudos de uma srie hierrquica de mquinas virtuais, cada uma projetada e construda sobre suas predecessoras. Cada nvel representa um grau distinto de abstrao, com a presena de diferentes recursos e operaes; o que possibilita, atravs da supresso de detalhes irrelevantes, tornar o computador mais amigvel e mais fcil de ser compreendido pelo pblico em geral. Na estrutura de um PC, por exemplo, conforme pode ser visto na figura V.5 abaixo, 4 nveis virtuais podem ser considerados: o dos programas aplicativos, o do sistema operacional,

Organizao de Computadores

o dos programas de interface com os dispositivos perifricos (drivers) e as rotinas de entrada e sada padro fornecidas pela BIOS. Observe que a segurana pode ser afetada uma vez que qualquer dos nveis pode realizar acesso direto s rotinas da BIOS e, portanto, sem se submeter aos critrios e procedimentos de proteo.

Programas Aplicativos SO - residente

Drivers

ROM BIOS Device Drivers

Figura V.5 - Estrutura do MS-DOS

V.2 A Unidade Central de Processamento (UCP)


A Unidade Central de Processamento - UCP, o "crebro" do computador, e sua funo executar os programas armazenados na memria principal, buscando instrues e executando-as uma aps a outra. Na figura V.6 abaixo, pode ser visto um esquema simplificado da organizao interna do hardware. Observe que a UCP faz uso de um barramento para se comunicar com os demais componentes do sistema, como a memria principal e os demais dispositivos perifricos que compem o computador. Este barramento constitudo por diversas vias paralelas por onde transitam os sinais. Grupos distintos destas vias, na prtica, configuram diferentes barramentos, tais como o de dados, o de endereos e o de sinais de controle. O nmero de vias utilizado em cada um destes barramentos depende das caractersticas fsicas de projeto do computador.
UCP
UC UAL MP REGs HD IMP

Perifricos de E/S

Barramento (dados + endereos + controle)

Figura V.6 - Organizao do Hardware

Organizao de Computadores

As principais consideraes de projeto de um barramento, alm do nmero de vias, so: a temporizao, o mecanismo de arbitragem, o tratamento de interrupes e o tratamento de erros. Quanto a temporizao, um barramento pode ser do tipo sncrono ou do tipo assncrono. Num barramento sncrono existe um relgio temporizador que define a freqncia de operao do mesmo, chamada de ciclo de barramento. Neste tipo de barramento, toda atividade ou operao de transferncia alinhada, ou seja, sincronizada com a freqncia do barramento e sempre consome um nmero inteiro e conhecido destes ciclos. No barramento assncrono no existe tal relgio, ou seja, os ciclos so variveis e podem tomar a durao que for requerida pela operao. Na figura V.7a, por exemplo, mostrado um barramento sncrono com um relgio de temporizao de 5Mz, que produz um ciclo de 200ns, e uma operao de leitura de um byte da MP que consome 4 ciclos de barramento, ou seja, 800ns. Observe o sinal do relgio definindo o ciclo do barramento, os sinais de controle RD e MREQ definindo respectivamente a operao a ser realizada, leitura, e a requisio de uma operao de memria. O barramento de endereos disponibiliza para a MP a posio a ser lida, durante um determinado nmero de ciclos de barramento. Posteriormente a MP coloca no barramento de dados o contedo lido e a UCP, aps um nmero prefixado de ciclos de barramento sabe que pode buscar o dado que estar estvel e disponvel no barramento. No barramento assncrono, face a inexistncia do relgio para disciplinar a transferncia, introduzido um processo de sinalizao, conhecido por handshake, entre a UCP e o dispositivo envolvido na operao. Na figura V.7b, o handshake representado pelos sinais MSYN - Master Synchronism (sincronismo mestre) e SSYN - Slave Synchronism (sincronismo escravo). Observe que em resposta ao MSYN a MP coloca o dado no barramento e responde ao mestre ativando o sinal SSYN, que informa o cumprimento da misso. Os barramentos assncronos apresentam maior flexibilidade de uso e oferecem vantagens para atendimento a um conjunto heterogneo de dispositivos (lentos e rpidos), uma vez que seus ciclos no so fixos. Por outro lado, um sistema sncrono mais fcil de ser construdo e oferece maior velocidade de operao. A maioria dos barramentos sncrona. Mecanismos de arbitragem tem a ver com a forma como um dispositivo se torna mestre do barramento. Pode ser centralizado, onde um nico rbitro, decide quem ser o prximo a controlar o barramento, ou descentralizado, quando no h rbitro e sim um procedimento distribudo e observado por todos os candidatos a mestre. Sempre que a UCP compete pelo barramento ela o faz com menor prioridade, para evitar que dispositivos de E/S mais lentos fiquem prejudicados no acesso a condio de mestre. Uma vez que mltiplos dispositivos podem querer causar uma interrupo simultaneamente, o mesmo tipo de problemas de arbitragem est presente e a soluo usual assinalar prioridades aos dispositivos e usar um rbitro para controlar o problema. A organizao interna da UCP varia em funo do grau de sofisticao e avano tecnolgico do hardware. Sua organizao genrica bsica constituda pela UC - Unidade de Controle, pela UAL - Unidade Aritmtica e Lgica e por um banco de registrados.

Organizao de Computadores

T1

T2

T3

T4

Endereo da Posio de Memria


Dado

MREQ RD tempo

(a)
Endereo da Posio de Memria MREQ RD MSYN
Dado

SSYN tem-

(b)

Figura V.7 - Barramento Sncrono (a) e Barramento Assncrono (b) A UC a parte encarregada de executar as operaes de controle do ciclo de instruo e de sinalizao para todos os demais componentes do sistema. A ULA se encarrega da execuo de todas as operaes aritmticas e lgicas decorrentes da execuo dos programas. O banco de registradores serve de memria local para armazenamento dos dados em uso na UCP. A figura V.8 abaixo mostra o esquema da organizao interna de uma UCP bsica, onde: barramentos o barramento interno a via de comunicao entre os componentes internos da UCP. o data bus o barramento para transferncia de dados entre a UCP e os demais componentes (8, 16 e 32 bits so os mais comuns). address bus o barramento para endereamento de memria (10 bits - 1Kb, 20 bits - 1 Mb, 32 bits - 4Gb). registradores de controle e de estado MBR - Memory Buffer Register, (RDM em portugus) serve de armazenamento temporrio de dados no caminho de/para a MP.

Organizao de Computadores

MAR - Memory Address Register, (REM em portugus) serve para armazenamento temporrio do endereo do dado a ser lido ou gravado na memria. I/O BR - serve de armazenamento temporrio de dados no caminho de/para dispositivos de E/S. I/O AR - serve para especificar um determinado dispositivo de E/S. IR - Instruction Register, registrador para armazenamento da instruo corrente. PC - Program Counter, registrador que contm o endereo da prxima instruo a ser executada. PSW - Program Status Word, que contm informaes sobre o estado do processamento, tais como: sign (sinal), zero, carry (vai um ou vem um), equal, overflow (estouro), interrupt enable/disable (habilitao ou no de interrupo) e supervisor (modo de execuo). registradores de dados AC - Accumulator, registrador que, no caso apresentado na figura, armazena uma das entradas da ULA. TR - Temporary Register registradores de uso genrico registradores para endereamento SP - Stack Pointer SX - Segment Pointer IX - Index Register
data bus
I/O AR I/O BR

address bus MAR barramento interno

MBR

AC

TR

IR UC
Decodifcador de Instruo e Controlador do Ciclo de Mquina

PC R1

ULA

sinais de controle

Figura V.8 - Organizao interna da UCP a. O Ciclo de Instruo A UCP executa cada instruo atravs de uma seqncia de pequenos passos conforme a seguir: FETCH (busca) a) recupera da MP a prxima instruo a ser executada, isto , a instruo apontada pelo PC e a armazena no registrador instruo IR. b) atualiza o PC para que aponte para a prxima instruo a ser executada. DECODE (decodificao) c) interpreta a instruo armazenada em IR. DATA FETCH (busca dos operandos)

Organizao de Computadores

10

d) se a instruo necessitar de dados armazenados na memria, calcula o endereo dos mesmos e, e) recupera-os armazenando nos registradores internos. EXECUTION (execuo) f) executa a instruo (aritmtica, lgica ou desvio) WRITE BACK (salva o resultado) g) salva o resultado na MP ou em um dos registradores internos e, h) retorna ao primeiro passo.

V.3 A Memria Principal


o dispositivo onde so armazenados os programas e os dados de uso corrente. organizada segundo uma matriz de clulas, cada uma podendo armazenar um determinado nmero de bits (8 / 16 / 32 / ...). Cada clula de memria identificada por um endereo nico e imutvel. O acesso aleatrio e o tempo de acesso o mesmo para qualquer clula, que tambm representa a unidade de acesso memria (menor quantidade de bits que pode ser lida ou gravada). a. Conexo UCP x MP

UCP

M A R M B R

Address Bus MP Data Bus

R/W bit MREQ bit

Figura V.9 - Conexo UCP x MP onde, R/W bit especifica se a operao de leitura "R" ou de escrita "W". MREQ bit Memory REQuest, especifica uma ordem de acesso memria emitida pela UCP. b. Tipos de Memria voltil - perde o contedo armazenado quando no energizada. (RAM - Random Access Memory). tipos de RAM a) Esttica - a gravao estvel, s se alterando atravs de operaes de escrita (consome mais energia); b) Dinmica - a gravao do bit "1" se descarrega com o tempo, precisando ser "refrescada" periodicamente (ciclo de refresh). no voltil - no perde o contedo armazenado. (ROM, PROM, EPROM, EEPROM)

Organizao de Computadores

11

c) ROM - Read Only Memory (gravada de fbrica - permanente); d) PROM - Programable ROM (pode ser gravada uma nica vez pelo usurio, atravs de equipamentos especiais); e) EPROM - Erasable PROM (pode ser apagada atravs de raios ultravioletas); f) EEPROM - Electrical EPROM (pode ser apagada atravs de sinais eltricos); g) Memria Flash - uma memria que pode ser utilizada como apenas de leitura ou como de leitura e gravao, dependendo do driver utilizado. Geralmente utilizada como um disco em pastilhas (chips), SSD - Solid State Disk. c. Endereamento de Memria realizado por lgica combinacional (cap. IV), onde os bits de endereamento mais o sinal R/W habilitam a leitura ou gravao de uma nica ou de um conjunto de clulas de cada vez, dependendo do tamanho do barramento de dados. d. Ordem dos Bytes A ordem em que os bytes so considerados dentro da clula completamente transparente ao usurio, mas de fundamental importncia quanto compatibilidade de sistemas e transportabilidade dos dados. A ordem pode ser do tipo big endian (da esquerda para a direita), usado pelos processadores Motorola, ou little endian (da direita para a esquerda), caracterstico dos processadores Intel. A figura V.10 mostra um problema de transportabilidade de dados entre uma mquina little endian (PC486) e uma big endian (SPARC Station). Observe que a simples inverso dos dados no soluciona o problema.

Byte nmero 3 2 1 0 0 0 0 5 Y R A M (a)

Byte nmero 0 1 2 3 5 0 0 0 M A R Y (b)

Byte nmero 0 1 2 3 0 0 0 5 Y R A M (c)

Figura V.10 - (a) mensagem original no 486 - little endian, (b) mensagem aps ser recebida pela SPARC - big endian, (c) mensagem aps ser invertida (observe que a inverso pura corrige o valor numrico porm inverte o alfanumrico) e. Deteco e Correo de Erros Os sistemas de deteco e correo de erros so implementados de forma a aumentar a confiabilidade do armazenamento e da transferncia de dados entre os diversos componentes do computador.

Deteco Simples

Organizao de Computadores

12

Tcnicas Deteco e Correo a) Deteco Simples Apenas detecta o erro, provocando procedimentos de regravao do dado, de mensagem de erro na recuperao de um dado gravado ou, no caso de transmisso de dados, de sua retransmisso. Um mtodo simples, porm largamente utilizado o da adio de um bit de paridade (VRC - Vertical Redundancy Checking) ao cdigo base do caracter. par Paridade mpar soma dos bits "1" deve ser mpar ex. Paridade par adicionada ao cdigo ASCII de 7 bits caracter b c z 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 1 1 0 1 0 1 soma dos bits "1" deve ser par

bit 1 2 3 4 5 6 7 VRC

a 1 1 0 0 0 0 1 1

A 1 0 0 0 0 0 1 0

. (*) este mecanismo de paridade no detecta um nmero par de erros no caracter b) Deteco e Correo b.1) Cdigo BCC Uma tcnica simples usar uma paridade longitudinal para blocos de memria - BCC (Block Check Character) em adio ao VRC. caracter b c z 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 1 1 0 1 0 1 BCC A 1 0 0 0 0 0 1 0 1 0 1 1 0 1 1 1

bit 1 2 3 4 5 6 7 VRC

a 1 1 0 0 0 0 1 1

Organizao de Computadores

13

Neste caso garantida a deteco de erros do tipo rajada (vrios bits consecutivos), que tenham comprimento menor ou no mximo igual ao tamanho do caracter. Para rajadas maiores a deteco no garantida. A correo possvel pelo cruzamento do VCR e BCC e identificao da(s) clula(s) com erro. Ex. caracter BCC bit a b c z A 1 2 3 4 5 6 7 VRC 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 1 0 1 0 1 1 0 0 0 0 0 1 0 1 0 1 1 0 1 1 1

Neste exemplo acima, o erro de rajada na letra "b" (4 bits em negrito) pode ser detectado pela paridade horizontal. Observar que a identificao dos bits errados s possvel quando o erro puder ser detectado simultaneamente pelas paridades horizontal e vertical. caracter b c z 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 1 1 0 1 1 0 BCC A 0 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1

bit 1 2 3 4 5 6 7 VRC

a 1 1 0 0 0 0 1 1

Neste outro exemplo o rudo atingiu parte das letras "Z" e "A". Observe que o erro foi detectado e ainda os bits errados de "A" puderam ser identificados. J no exemplo abaixo voc pode observar que nenhum erro foi detectado apesar da ocorrncia de uma rajada de comprimento 12, maior que o comprimento de um caracter. caracter b c z 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1 1 1 1 0 1 0 1 BCC A 1 0 0 0 0 0 1 0 1 0 1 1 0 1 1 1

bit 1 2 3 4 5 6 7 VRC

a 1 1 0 0 0 0 1 1

Organizao de Computadores

14

b.2) Cdigo de Hamming Baseia-se na distncia de hamming (HD), introduzida em 1950 por Richard Hamming, que conta o nmero de bits diferentes entre 2 palavras de mesmo tamanho. ex. de distncia de hamming 0 1 0 1 1 0 1 1 byte A 0 0 1 0 0 1 1 0 byte B ----------------11111 1 hd= 6

O cdigo de Hamming consiste basicamente na introduo de vrios bits de paridade em redundncia que, atravs de um processo de excluso combinatria, possibilitam identificar a falha e em alguns casos corrigir o bit errado.

O nmero de bits de redundncia necessrios calculado atravs da equao:


m n 2 ( n + 1) 2 m m+ r 2 ( m + r + 1) 2

m + r + 1 2

onde: n=m+r bits de redundncia bits de dados As posies dos bits de redundncia so obtidas atravs da frmula: posx = 2x, x = [0, r-1]. ex. para um cdigo ASCII com m = 7 temos que: a) (7 + r + 1) 2r r 4 ( mnimo de 4 bits de redundncia)

b) a posio dos bits de redundncia ser: 1 (20), 2 (21), 4 (22) e 8 (23). X 1 no relativo do bit X 2 X 4 X 8

10 11 bits de redundncia

Na verificao do erro, mede-se a paridade par ou mpar, conforme tenha sido previamente definida, para cada bit de redundncia aplicado sobre seu universo de atuao. Universo este obtido com base na composio do nmero que indica a posio relativa do bit de dado. ex. bit de redundncia 1 (20)

o universo de atuao do primeiro bit de paridade (bit 1) composto pelos bits de dado pertencentes s seguintes posies: {3, 5, 7, 9 e 11}.

Organizao de Computadores

15

justificativa: 7 = 20 + 21 + 22 bit de redundncia 2 (21)

11 = 20 + 21 + 23

O segundo bit de paridade avalia os dados pertencentes s posies: {3, 6, 7, 10 e 11}. justificativa: 7 = 20 + 21 + 22 11 = 20 + 21 + 23

Em resumo, para um cdigo de 4 bits de Hamming, o universo de atuao de cada bit de redundncia dado por: bit 1 (20) {3,5,7,9 e 11} bit 2 (21) {3,6,7,10 e 11} 2 bit 3 (2 ) {5, 6 e 7} 3 bit 4 (2 ) {9, 10 e 11} Com base nos bits de redundncia e seus respectivos universos de atuao que se realiza o processo de deteco e possvel identificao do bit errado. Assim, se os bits de redundncia nmero 1, 2 e 4 acusarem erro, ento conclu-se que o bit errado o da posio 11 porque 1 + 2 + 8 = 11 (20 + 21 + 23). A capacidade do mtodo em detectar e corrigir erros depende da menor distncia de hamming - HD obtida com a codificao adotada. A capacidade de detectar "d" erros requer um hdmin > d + 1 A capacidade de corrigir "d" erros requer um hdmin > 2d + 1 Assim, um cdigo com hdmin = 4 capaz de detectar erro de at 2 bits e corrigir erros de at 1 bit.

hd = 4 Exemplos: a) erro no bit de posio 6 representao do caracter ASCII "a" (1100001) com 4 bits de redundncia em paridade mpar. 0 1 1 2 1 3 0 4 1 5 0 6 0 7 0 8 0 9 0 1 10 11

clculo dos bits de redundncia: bit 1: {3, 5, 7, 9 e 11} bit 2: {3, 6, 7, 10 e 11} bit 3: {5, 6 e 7} bit 4: {9, 10 e 11} {1, 1, 0, 0, 1} {1, 0, 0, 0, 1} {1, 0, 0} {0, 0, 1} 0 1 0 0

um erro no bit de posio 6 ter a seguinte representao:

Organizao de Computadores

16

0 1

1 2

1 3

0 4

1 5

1 6

0 7

0 8

0 9

0 1 10 11

a verificao atravs dos bits de redundncia fornecer: bit 1: {1, 1, 0, 0, 1} bit 2: (1, 1, 0, 0, 1} bit 3: (1, 1, 0} bit 4: {0, 0, 1} 0 0 1 0 correto errado errado correto 0 1 1 0

(610)

Olhando-se de traz para a frente possvel visualizar a posio do bit errado. Lembre que este mesmo valor, conforme visto no incio desta seo, pode ser obtido pela frmula da potncia de 2: (21 + 22 = 6). b) erro nos bits 6 e 9 0 1 1 2 1 3 0 4 1 5 1 6 0 7 0 8 1 9 0 1 10 11

verificao dos bits de redundncia: bit 1: {1, 1, 0, 1, 1} bit 2: (1, 1, 0, 0, 1} bit 3: (1, 1, 0} bit 4: {1, 0, 1} 1 0 1 1 errado errado errado errado 1 1 1 1

(1510)

Observe que o erro foi detectado porm os bits errados no puderam ser identificados.. c) erro nos 3, 6 e 9 0 1 1 2 0 3 0 4 1 5 1 6 0 7 0 8 1 9 0 1 10 11

verificao dos bits de redundncia: bit 1: {0, 1, 0, 1, 1} bit 2: (0, 1, 0, 0, 1} bit 3: (1, 1, 0} bit 4: {1, 0, 1} 0 1 1 1 correto correto errado errado 0 0 1 1

(1210)

O erro de 3 bits foi detectado porm os bits errados no puderam ser identificados. d) erro nos bits 3, 5 e 6 0 1 1 2 0 3 0 4 0 5 1 6 0 7 0 8 0 9 0 1 10 11

verificao dos bits de redundncia:

Organizao de Computadores

17

bit 1: {0, 0, 0, 0, 1} bit 2: (0, 1, 0, 0, 1} bit 3: (0, 1, 0} bit 4: {0, 0, 1}

0 1 0 0

correto correto correto correto

0 0 0 0

(010)

Observe que neste caso o mtodo falhou na deteco do erro de 3 bits.

V.4 Memria Secundria


utilizada para armazenar grandes volumes de dados. constituda por diferentes dispositivos, todos mais lentos e mais baratos por byte armazenado que a memria principal. Os tipos principais de memria secundria so: disquetes discos magnticas fitas ticas CDs removveis fixos rolo cassete cartucho Zip drives

V.4.1 Discos Magnticos rgidos - so discos de metal, geralmente de dimetro entre 5 e 10 polegadas e coberto, em ambos os lados, por uma superfcie magnetizvel. Os discos giram a velocidades muito elevadas (da ordem de 5000 rpm) e as cabeas de leitura / gravao no tocam a superfcie, flutuam a uma distncia de alguns microns (10-6m). O maior risco de falha a aterrissagem das cabeas que causa perda total do disco e, praticamente, de todos os dados gravados. flexveis - disco de material plstico, flexvel, e coberto em ambas as faces por uma superfcie magnetizvel. As cabeas de leitura / gravao tocam a superfcie, o que provoca um desgaste de ambas as partes. Para reduzir este desgaste, as cabeas so recolhidas e a rotao interrompida enquanto a unidade no est lendo ou gravando. a) Formatao a operao que subdivide o disco em cilindros, trilhas, clusters e setores. trilhas so crculos concntricos onde os dados so gravados magneticamente. Um disco geralmente formatado com um valor entre 40 e algumas centenas de trilhas por superfcie.

Organizao de Computadores

18

setores so espaos radiais que subdividem as trilhas para endereamento e acesso. O setor contm um determinado nmero de bytes, geralmente 512. Nos sistemas mais antigos representava a unidade lgica de acesso para leitura e gravao.

trilha

setor

Figura V.11 - Formatao clusters so utilizados nos sistemas mais modernos e representam a unidade lgica de acesso. O tamanho de um cluster depende do tipo do disco, variando desde um simples setor at um conjunto de vrios setores. O sistema DOS, por exemplo, adota a seguinte formatao: Tipo do Disco 3.5" / 1.44M 3.5" / 720K 5.25" / 1.2M Tamanho do Cluster 512 bytes 1024 bytes 512 bytes Tipo do Disco HD 16M 513M a 1,024G 1.025 a 2,048 Tamanho do Cluster 4096 bytes (8 setores) 16K bytes (32 setores) 32K bytes (64 setores)

cilindros formados pelo conjunto de trilhas de um mesmo raio e pertencentes a diferentes superfcies. O conceito utilizado para agilizar o acesso e a transferncia de dados, pois as cabeas de leitura/gravao ficam todas simultaneamente posicionadas sobre um mesmo cilindro. A figura V.12 abaixo destaca alguns detalhes sobre a estrutura fsica de uma unidade de disco magntico.
cabeotes para leitura / gravao

face superior

brao dos cabeotes

face inferior

cilindro

Figura V.12 - Estrutura de um Disco Magntico

Organizao de Computadores

19

Cada sistema operacional implementa uma organizao prpria de controle e acesso aplicado sobre a formatao fsica da unidade de disco vista acima. No sistema DOS, por exemplo, a superfcie do disco logicamente dividida em duas partes, conforme mostrado na figura V.13 abaixo, uma para armazenamento das informaes utilizadas pelo sistema operacional (rea do sistema) e outra para armazenamento dos arquivos propriamente ditos (rea de dados).

Setor 0

ltimo setor

Boot FATs

Diretrio Root

rea de Dados

rea do Sistema

Figura V.13 - Partes de uma Estrutura DOS O Boot ocupa apenas um setor e tem por finalidade carregar o sistema operacional para a MP quando da ocasio da inicializao do computador. A FAT - File Alocation Table, utilizada pelo sistema para armazenar a situao de cada um dos clusters que compem o disco, se o mesmo est desocupado, ocupado ou defeituoso, por exemplo. Pela sua importncia, o sistema operacional mantm uma cpia da FAT afim de dobrar a confiabilidade do disco. A terceira e ltima rea do sistema o Diretrio Raiz (Root), que mantm uma entrada para cada arquivo ou diretrio ali registrado. No sistema DOS, cada entrada em uma FAT geralmente possui comprimento de 12 (para os disquetes) ou 16 bits (para os HDs com mais de 16Mbytes). O comprimento da entrada na FAT e o tamanho adotado para o cluster definem a capacidade mxima de armazenamento do disco, como pode ser visto na tabela abaixo:

Disco 16M ou menos 17M a 128M 129M a 256M 257 a 512M 513M a 1,024G 1,025G a 2,048G

Cluster 4K 2K 4K 8K 16K 32K

FAT (entrada) 12 bits 16 bits 16 bits 16 bits 16 bits 16 bits

212 x 4K 216 x 2K 216 x 4K 216 x 8K 216 x 16K 216 x 32K

No diretrio raiz, para cada entrada so reservados 32 bytes para armazenar as seguintes informaes: nome e extenso do arquivo, tamanho, data e hora da ltima alterao, atributos de segurana e o endereo do primeiro cluster (rea do disco onde inicia o arquivo). O endereo dos demais clusters ocupados pelo arquivo so obtidos diretamente na FAT, em seqncia, a partir do primeiro, como pode ser visto na figura V.14 a seguir.

Organizao de Computadores Obtido no Root 3 1 2 5 3 4

20

ENTRADAS DA FAT
900 5 1005 end

.....

900

.....

1005

.....

Figura V.14 - Encadeamento de Clusters de uma arquivo, o endereo do primeiro cluster fornecido pela entrada no diretrio do mesmo

b) Taxa de Transferncia o nmero de bytes capaz de ser transferido do disco para a MP por unidade de segundo:

tx =

bytes transferidos , ta

onde "ta" o tempo de acesso, que dado por:

ta = seek + latncia + tempo de transferncia ,


sendo que: seek - o tempo que a unidade gasta para posicionar o cabeote de leitura e gravao sobre o cilindro desejado (um disco rgido gasta tipicamente 3ms entre trilhas adjacentes e de 20 a 100ms para ir do cilindro mais externo ao mais interno e viceversa. latncia - o tempo gasto esperando pelo setor desejado (varia de 0 a 16.67ms para discos rgidos girando a 3600rpm). tempo de transferncia - o tempo gasto na transmisso dos dados (leitura ou gravao) propriamente dita. (*) para os discos flexveis existe mais um componente por conta do tempo de acelerao necessrio para fazer com que a velocidade de cruzeiro do motor seja atingida. V.4.2 Discos pticos Usam tecnologia laser e possuem densidade de gravao muito superiores a dos discos magnticos. Tipos: CDROM - Compact Disc Read Only Memory (s podem ser lidos). WORM - Write Once Read Many (admitem uma nica vez). Magneto-pticos - combinam a tecnologia ptica com a magntica (admitem reutilizao). a) CDROMs Disco plstico com uma fina camada de alumnio depositada nas superfcies, seguida por uma camada plstica transparente para proteo.

Organizao de Computadores

21

Trilhas em espiral

Setores

Figura V.15 - Disco tico A gravao feita por raio laser que faz furos de aproximadamente 1 micron, em uma trilha espiralada. Os furos so chamados "pits" e as reas no queimadas, entre os pits, so chamadas "lands". A leitura feita atravs da projeo de um raio de luz, que refletido de forma diferente pelos pits e lands, possibilitando a distino entre ambos. A unidade de endereamento o setor, geralmente de 2Kbytes. O byte, por sua vez, expandido para 14 bits pela adoo do cdigo "reed-solomon" para deteco e correo de erros. capacidade - 650Mbytes taxa de transferncia - aprox 150Kbps (uma ordem de grandeza mais lentos que os magnticos rgidos) confiabilidade - muito mais robustos que os magnticos quanto ao calor, sol e poeira, porm muito mais suscetveis a erros de gravao. aplicao - para armazenamento de grandes volumes de dados que no se alteram. b) Magneto-pticos Representa a 3a gerao de CDs, onde a superfcie plstica coberta com exticas ligas metlicas (trbio e gadolnio) que possuem a interessante propriedade de serem insensveis ao campo magntico quando em baixa temperatura e se tornarem sensveis a ele quando em alta temperatura. A cabea de leitura / gravao possui um laser e um magneto. O laser dispara uma rajada de onda ultracurta, elevando instantaneamente a temperatura do local e, a seguir, o magneto cria o campo na direo desejada ("1" ou "0"). V.4.3 - Fitas Magnticas So dispositivos de acesso sequencial e de taxa de transferncia mais baixa que os discos, mais baratas e muito utilizadas para backup. densidade de gravao - 800, 1600 e 6250 bpi formatao - na organizao mais comum, dividida em 9 trilhas longitudinais e frames verticais contendo 8 bits de dados e 1 de paridade cada. unidade de acesso - o bloco ou registro fsico.

Organizao de Computadores

22

IRG - o espao para repouso do cabeote de leitura/gravao existente entre dois blocos consecutivos. Seu tamanho de 3/4" e usado para estabilizar a velocidade da fita nos perodos de acelerao e desacelerao. Um bloco pode conter um ou mais registros lgicos. O tamanho do bloco determinado pelo programador, que deve atentar para o binmio eficincia e otimizao. rolo - carretis de 600, 1200 e 2400 ps cartucho - acondicionadas em caixas plsticas cassete - de baixa velocidade

Tipos

9 trilhas

Bloco ou Registro Fsico

IRG - Inter Record Gap

frame

Figura V.16 - Organizao de uma Fita Magntica

V.5 - Dispositivos de Entrada e Sada

Barramento de Memria MP

UCP

Barramento de E/S

Canal Multiplex

Canal Seletor
Disco

Controladora de terminais

Impressora

Disco Disco

Figura V.17 - Canais de E / S So as unidades que possibilitam a comunicao do computador com o meio externo. A interligao destes dispositivos com o restante do computador pode ser via canais de E/S -

Organizao de Computadores

23

processadores dedicados (caractersticos dos mainframes) ou atravs de formas mais rudimentares de E/S (caractersticas dos mini, superminis e microcomputadores). Os canais de E/S liberam a UCP para executar outras atividades enquanto eles se encarregam da comunicao com o dispositivo de E/S e a transferncia dos dados. Um computador tpico pode ter vrios canais, cada qual atendendo um ou mais dispositivos. Existem trs tipos de canais: multiplexador, seletor e bloco-multiplexador. O canal multiplexador geralmente assncrono e utilizado para os dispositivos de baixa ou mdia velocidade, transmite um byte por vez e pode atender a diversos dispositivos simultaneamente. O canal seletor geralmente sncrono e projetado para atender uma nica operao de E/S a cada instante, sendo normalmente utilizado para controlar um dispositivo de alta velocidade. O canal bloco-multiplexador combina as caractersticas dos canais multiplexador e seletor, prov conexo a diversos dispositivos de alta velocidade e transfere um bloco de dados em cada operao. Sistemas de E/S O sistema de E/S se constitui basicamente de quatro elementos: o dispositivo (device ou drive), a interface (controladora), o programa de comunicao (device driver) e as rotinas de E/S do sistema operacional.
Discos
In bloco n Disco x cilindro y trilha z setor w Acessa x x

read registro x Processo Rotina E/S

Disk Driver

Controla-dora

Figura V.18 - Sistema de E/S As rotinas de E/S pertencem camada de mais alto nvel do sistema operacional e tm por objetivo permitir ao usurio realizar operaes de E/S sem se preocupar com detalhes de operao do dispositivo que est sendo acessado. Assim, quando um usurio cria um arquivo em disco, no lhe interessa saber como a formatao do disco, nem em que trilha ou setor o arquivo ser gravado. Um dos principais objetivos das rotinas de E/S propiciar uma interface simples entre as aplicaes e os dispositivos bem como entre os dispositivos e o restante do sistema operacional. Elas so tambm responsveis por implementar todo um mecanismo de proteo de acesso aos dispositivos e arquivos.

Organizao de Computadores

24

Os device drivers so as rotinas do sistema operacional que tm como funo se comunicar com os dispositivos em nvel de hardware, geralmente atravs de placas controladoras. Elas especificam caractersticas fsicas de um dispositivo. Cada device drive manipula somente um tipo de dispositivo ou um grupo de dispositivos semelhantes. Os drivers tm como funo receber comandos gerais repassados pelas rotinas de E/S e traduzi-los para comandos especficos que so executados pelas controladoras. As controladoras so componentes eletrnicos, isto , so placas instaladas nos slots da placa me de um PC por exemplo, responsveis por manipular diretamente os dispositivos de E/S. Suas principais funes so: controle e temporizao; comunicao com o processador; comunicao com o dispositivo externo; armazenamento temporrio (bufferizao) dos dados e deteco de erro. Estas placas variam em complexidade e no nmero de dispositivos que controlam. Geralmente possuem memria e registradores prprios para poder executar as instrues enviadas pelo device driver. Podem ser dos tipos serial ou paralela. (fig. V.19)

Reg. de Dados dados Reg. de Estado

Interface com o Dispositivo Dispositivo

Vias de Endereo Lgica de E/S Vias de Controle

Interface com o Dispositivo

estado controle

Figura V.19 - Diagrama de Blocos de uma Placa Controladora

As formas de acionamento e execuo das operaes de E/S, podem ser dos seguintes tipos: 1. Programada com espera ocupada (busy wait) 2. acionada por interrupo 3. acesso direto memria.

Vdeo

Teclado

Printer

HD

UCP

MP

Interfa-ce Serial

Interfa-ce Serial

Interfa-ce Paralela

Interfa-ce Paralela

Barramento

Figura V.20 - Estrutura de um Sistema de E/S

Organizao de Computadores

25

E/S programada com espera ocupada (Busy Wait) o mtodo mais simples possvel, onde o computador possui apenas uma instruo de entrada (IN) e uma de sada (OUT). Dependendo da implementao, estas instrues podem ler e gravar diretamente na memria (caracterizando o memory-mapped I/O) ou acessar diretamente a interface do dispositivo. Em ambos os casos dois ou trs buffers (registradores) so utilizados para cada dispositivo, um para status, um para entrada (read) e outro para sada (write). Um nico caractere transferido entre um registrador da UCP e o dispositivo de E/S selecionado, sendo que a UCP deve executar a instruo explcita desejada (IN ou OUT) para cada caractere transmitido ou recebido.

read Dispositivo

processo

write

CTL

status UCP MP ou I/O

Figura V.21 - E/S Programada Ao usar E/S programada para leitura de um caractere por exemplo, a UCP fica em loop lendo repetidamente o registrador de status, esperando que o bit que autoriza a operao seja setado pelo dispositivo. A seguir ela l o dado colocado pelo dispositivo no buffer de leitura (read) e limpa (resseta) o bit previamente setado pelo dispositivo no buffer de status. O processo de escrita semelhante. A principal desvantagem da E/S programada que a UCP gasta a maior parte do seu tempo em loop, esperando um dispositivo ficar pronto. Esta prtica chamada de espera ocupada (busy wait), que uma espera dispendiosa. Uma maneira de evitar esta perda desnecessria de capacidade de processamento da UCP fazer com que esta no precise ficar esperando pelo dispositivo que deve, ele prrpio, informar UCP quando do trmino da execuo da operao solicitada. Este o mtodo da interrupo. E/S acionada por interrupo O termo interrupo usado para identificar a ocorrncia de um evento no-freqente, no-esperado ou aleatrio, que obriga a UCP a desviar, temporariamente, o fluxo do programa em execuo para o de uma rotina que atenda a interrupo. A grande vantagem desta tcnica em relao a da E/S programada, est no fato de que a UCP deixa de esperar em loop pelo dispositivo. O mtodo mais usual de implementar a tcnica de interrupo pela ativao de um sinal de controle chamado interrupt request (IR), ao qual a UCP responde ativando uma rotina de tratamento especfica para cada dispositivo (device drive). O processamento da interrupo envolve:

Organizao de Computadores

26

1. a UCP identifica a fonte da interrupo; 2. a UCP recupera o endereo inicial da rotina de tratamento da interrupo (interrupt table); 3. o PC (program counter) e o vetor de status do processo corrente (PSW) so salvos na pilha (stack); 4. o PC carregado com o endereo inicial da rotina de tratamento da interrupo; 5. aps a execuo da rotina de tratamento, o PC e a PSW do processo interrompido so recuperados da pilha, e o processo interrompido reinicia o processamento de onde havia parado. Embora a E/S por interrupo represente um avano em relao E/S programada, ela est longe de ser perfeita. O problema que ela requer a ocorrncia de uma interrupo para cada caractere transmitido e processar uma interrupo uma tarefa cara. A soluo voltar a E/S programada porm no deixar a responsabilidade de sua execuo nas mos da UCP surge ento, a tcnica do DMA (Acesso Direto Memria). E/S por DMA a transferncia de dados diretamente entre o dispositivo de E/S e a MP, sem a interveno da UCP. Na operao de DMA, a UCP atua apenas nas fases de inicializao (fornecendo o endereo e o nmero de bytes a ser transferido) e de finalizao. Toda a transferncia feita automaticamente pela controladora de DMA. Ao receber um pedido de DMA (DMA request), a UCP interrompe suas atividades em um dos pontos permitidos dentro do ciclo de instruo (fig. V.21), e atende o DMA.
ciclo de instruo

ciclo de UCP

fetch

decode

data fetch

execution

store

DMA breakpoints

IR breakpoint

Figura V.21 - Ciclo de Instruo x Pontos de Interrupo A tcnica de DMA pode ser implementada segundo duas filosofias: 1. block transfer ==> transfere grandes volumes de dados em uma nica operao (durante a transferncia dos dados a UCP pode continuar operando normalmente porm no pode acessar a MP);

Organizao de Computadores

27

2. cycle stealing ==> transfere apenas um ou dois bytes de cada vez, "roubando" pequenos ciclos de memria que no so sentidos pela UCP em virtude da parada do seu relgio. A pastilha de DMA possui (pelo menos) 4 registradores internos, todos podendo ser carregados pelo processo em execuo na UCP. O primeiro deles contm o endereo de memria a ser lido ou escrito, o segundo contm o contador de quantos bytes (ou palavras) devem ser transferidos, o terceiro especifica o dispositivo a ser usado e o quarto informa a operao a ser realizada (leitura ou gravao). (a)
UCP I/O
Comando de leitura

(b)
UCP I/O

(c)

Comando de Comando de UCP DMA leitura leitura

I/O UCP Verifica Estado


No

I/O UCP Verifica Estado Interrupo DMA UCP

L Estado do DMA

No

Pronto ?
Sim

No

OK ?
Sim

Erro

I/O UCP L da Interface

I/O UCP L da Interface

UCP MP

Grava na Memria

Grava na Memria

FIM ?

FIM ?

Figura V.22 - Fluxograma representativo das 3 estratgias de comunicao com dispositivos de E/S. (a) entrada e sada programada; (b) por interrupo e por DMA

V.6 Arquiteturas Paralelas


Caracteriza-se pela execuo em paralelo e, portanto, ao mesmo tempo, de 2 ou mais instrues de um mesmo processo ou de diferentes processos. As arquiteturas paralelas podem ser classificadas segundo Flynn em trs categorias, com base no nmero de fluxos de dados e de instrues que elas suportam: 1) SISD - Single Instruction Single Data (fluxo nico de instruo e de dado - caracterizado pelo computador seqencial - tambm conhecido como Von Newman)

Organizao de Computadores

28

2) SIMD - Single Instruction Multiple Data (fluxo nico de instruo porm mltiplo de dados - caracterizados pelas vector e array machines) 3) MIMD - Multiple Instruction Multiple Data (mltiplos fluxos de instrues e de dados - caracterizados por arquiteturas com matrizes de processadores) SISD a mquina convencional, com um nico programa executado passo a passo por uma nica UCP. uma quantidade limitada de paralelismo pode ser alcanada com a introduo de algumas modificaes na estrutura SISD bsica, como por exemplo: a) pipelining
Estaes / instrues

P1 P2 P3 P4 P5

A 1

B A 2

C B A 3

D C B A 4

E D C B A 5

F E D C B 6 t

Figura V.23 - Mquina SISD com Pipeline Baseia-se no processamento do ciclo de instruo por partes, como numa linha de montagem, onde cada estao de trabalho responsvel pelo processamento de apenas uma fase do ciclo total. b) mquina com mltiplas unidades funcionais A UCP busca tantas instrues quantas forem as unidade funcionais disponveis ou at que uma instruo dependa do resultado de outra ainda em execuo.

registradores

Figura V.24 - Mquina SISD com Mltiplas Unidades Funcionais

Organizao de Computadores

29

SIMD Ideal para aplicaes vetoriais e matriciais, onde uma mesma operao se repete sobre vrios dados.

Vetor A

Vetor B

ULA

Vetor Resultado

A+B

Figura V.25 - Estrutura SIMD MIMD So vrios processadores independentes, cada um executando um programa diferente. Dependendo do granularidade de integrao pode caracterizar um multiprocessador, uma rede de computadores ou um sistema distribudo.

V.7 Arquiteturas CISC e RISC


A tecnologia RISC (Reduced Instruction Set Computer), criada nos laboratrios da IBM Research em 1987, pelo Dr. Jolm Cocke, representou uma quebra na tendncia at ento predominante, que era na direo de mquinas cada vez maiores e mais complexas, conhecida como tecnologia CISC (Complex Instruction Set Computer). Embora no haja uma definio precisa para RISC, os primeiros projetos nesta linha fizeram uso de um pequeno conjunto de instrues simples, que eram executadas rapidamente, em um nico ciclo de mquina. Esta caracterstica era oposta a da tecnologia CISC, onde as instrues consumiam vrios ciclos de mquina. Em funo desta caracterstica, as instrues RISC podiam ter sua execuo realizada diretamente pelo hardware, como nas mquinas mais antigas desprovidas de microcdigo, o que simplificava e reduzia os custos de projeto e fabricao dos computadores. Uma conseqncia do princpio de que toda instruo RISC s pode consumir um ciclo de mquina que qualquer operao que consuma mais do que um ciclo no pode pertencer ao conjunto de instrues. Assim, muitas mquinas RISC no possuem instrues de multipli-

Organizao de Computadores

30

cao e de diviso. Estas e as demais instrues de ponto flutuante so executadas por um coprocessador aritmtico. Em 1991 a IBM lanou a chamada 2a gerao da tecnologia RISC, baseada na tecnologia pipeline e de processadores de funes mltiplas. As mquinas desta gerao, como por exemplo o Power PC e o Power 2, geralmente possuem um processador de desvio, um de ponto-fixo e um de ponto-flutuante, e podem executar at quatro ou cinco operaes por ciclo de mquina. Em resumo, uma mquina RISC se caracteriza por:
a) ter instrues simples executadas em um ciclo de mquina; b) usar apenas as instrues Load e Store para referenciar a memria; c) fazer uso da tecnologia pipeline; d) ter instrues executadas diretamente pelo hardware; e) ter instrues com formato fixo; f) ter poucas instrues; g) delegar a complexidade para o compilador; e h) fazer uso de mltiplos conjuntos de registradores.

V.8 Referncias Bibliogrficas


Stallings, William, Operating Systems,Ed. Acmillan Publishing Company, 1992. Tanenbauum, Andrew S., Organizao Estruturada de Computadores, Ed. Campus, 1993. Silberschatz, Abraham e Galvin, Peter B., Operating Systems Concepts, Ed. AddisonWesley Publishing Company, 1994.

Você também pode gostar