Anda di halaman 1dari 49

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES.

ES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Apostila sobre Organizao e Arquitetura de Computadores


APOSTILA
ELABORADA PARA ALUNOS DO

PERODO DO CURSO DE SISTEMAS DE INFORMAO

NOTURNO DA UNICERP CENTRO UNIVERSITRIO DO CERRADO.

Este arquivo PDF de livre distribuio, impresso, cpia e reproduo, desde que respeitados os crditos para o autor.

Autor: Professor Paulo Cesar Caixeta 1

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

LISTA DE FIGURAS

Figura 1 Representa a Arquitetura de Computadores. .......................................................... 12 Figura 2 Representa a Organizao de Computadores. ....................................................... 12 Figura 3 Forma geral das instrues ........................................................................................ 13 Figura 4 Conjunto Clulas memrias ........................................................................................ 16 Figura 5 - Memrias ........................................................................................................................ 17 Figura 6 Ordenao dos Bytes .................................................................................................. 18 Figura 7 Numerao dos Bytes.................................................................................................. 18 Figura 8 Hierarquia da memria ................................................................................................ 19 Figura 9 Ciclo de Leitura (read)............................................................................................... 20 Figura 10 Organizao do Processador ................................................................................... 24 Figura 11 Detalhes organizao do processador ................................................................... 25 Figura 12 Ciclo de instruo ....................................................................................................... 30 Figura 13 Algoritmo de funcionamento ..................................................................................... 30 Figura 14 Diagrama Funcional da UCP .................................................................................... 31 Figura 15 Dispositivos de Entrada e sada .............................................................................. 34 Figura 18 Conectores de cabos paralelos................................................................................ 37 Figura 16 Organizao da memria .......................................................................................... 40 Figura 17 Barramentos de um microcomputador ................................................................... 48

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

LISTA DE TABELAS

Tabela 1 Agrupamento de bits e bytes ..................................................................................... 14 Tabela 2 Endereos das portas de comunicao do padro PC ......................................... 41 Tabela 3 - Ilustra o mapa de IRQs externos ............................................................................... 44 Tabela 4 - Mapa de DMA no Pc. ................................................................................................... 45

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

SUMRIO

1 1.1 1.2 2 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.2 2.2.1 2.2.2 2.2.3 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9

INTRODUO: ....................................................................................................... 6 Histrico dos Computadores ................................................................................... 6 Aplicaes da Computao ................................................................................... 10 Organizao de Computadores.......................................................................... 12 Conceitos sobre organizao de computadores. .................................................. 12 Funcionamento bsico dos sistemas de computao ........................................... 12 Bits, bytes & Cia; ................................................................................................... 13 Memrias; .............................................................................................................. 15 Ordenao dos Bytes: ........................................................................................... 18 Organizao e hierarquia da memria .................................................................. 19 Tempo e ciclo de acesso ....................................................................................... 19 Memria Cache: .................................................................................................... 20 Processadores ...................................................................................................... 24 Funo Processamento......................................................................................... 27 Barramentos Internos ............................................................................................ 29 Ciclo de instruo .................................................................................................. 29 Dispositivos de E/S................................................................................................ 33 Entrada e Sada .................................................................................................... 33 Conexes de perifricos de entrada e sada padres ........................................... 35 Monitor .................................................................................................................. 35 Teclado.................................................................................................................. 37 Porta paralela ........................................................................................................ 37 Portas seriais ......................................................................................................... 38 Universal Serial Bus (USB) ................................................................................... 39 Formas de comunicao entre CPU/MP e interface de I/O ................................... 40 Endereos de I/O para as portas de comunicao padro .................................... 41

2.3.10 Formas de realizao de entrada/sada ................................................................ 41 2.3.11 Entrada/sada por programa .................................................................................. 42 2.3.12 Interrupes .......................................................................................................... 42 4

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

2.3.13 Acesso direto memria ....................................................................................... 44 2.4 2.4.1 2.4.2 2.4.3 2.4.4 3 Barramentos .......................................................................................................... 45 Barramentos de expanso .................................................................................... 46 Os principais modelos so: ................................................................................... 46 Barramentos em microcomputadores.................................................................... 47 Conexes de perifricos de entrada e sada padres ........................................... 48 BIBLIOGRAFIA BSICA ...................................................................................... 49

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

ORGANIZAO & ARQUITETURA DE COMPUTADORES


1 1.1 INTRODUO: Histrico dos Computadores

O que podemos considerar como primeiro computador do mundo foi desenvolvido no MIT (Massachussetts Institute of Tecnology) em 1931 por Vannevar Bush. Era analgico e possua partes mecnicas, tendo sido construdo para resolver equaes diferenciais simples. Na verdade era mais uma calculadora do que qualquer outra coisa. Outra base numrica passou a ser utilizada - a binria. Nesta base s existem dois algarismos, "0" ou "1", ao contrrio do sistema decimal, aonde temos dez algarismos, de 0 a 9. Esta base numrica j era conhecida e j possua sistemas de subtrao, adio, multiplicao e diviso, aps pesquisa de Francis Bacon por volta de 1623 e posteriormente Gottfried Wilhelm Leibniz a partir de 1679. A base binria em si no serviria de muita coisa se o matemtico ingls George Boole no tivesse criado em 1854 toda uma lgica binria, que complementaria a base binria. Com esta lgica foi possvel criao de portas lgicas, o elemento bsico para a criao de computadores. Complementando o simples sim e no, ligado e desligado, etc que os nmeros 1 e 0 poderiam representar, juntou-se a base binria tradicional teoria dos conjuntos - como a condio E para a interseo de dois conjuntos e OU para a unio de dois conjuntos. Com isto teremos condies suficientes para criar um circuito lgico, um circuito capaz de reagir de acordo com dados entrados. Desta maneira, a matemtica utilizada em circuitos lgicos digitais chamada de lgebra booleana. J em 1937, Howard Aiken desenvolveu o que veio a ser o primeiro computador eletromecnico do mundo: o MARK I, apoiado pela IBM (International Business Machines) e pela marinha americana, que o custearam. Para que voc visualize o tamanho, o MARK I media dezoito metros de comprimento, por dois metros e meio de altura. O projeto do primeiro computador eletrnico do mundo foi o ABC (Atanasoff Berry Computer). Iniciado em 1937, seu criador no conseguiu conclu-lo, tendo abandonado completamente o projeto no ano de 1942. Foi o primeiro computador a utilizar vlvulas terminicas. A Alemanha de Hitler construiu em 1941 o Z3. A Inglaterra construiu um computador capaz de decifrar as mensagens utilizadas pelos pases do eixo, codificadas pelo prprio Z3. Em 1943 foram produzidos dez Colossus, o nome que este computador recebeu. Como o prprio nome sugere, possua dimenses gigantescas, cerca de 1.500 vlvulas e era capaz de processar cerca de 5.000 caracteres por segundo.

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

No mesmo ano da criao do Colossus foi iniciado o projeto do ENIAC (Electronic Numeric Integrator And Calculator), o primeiro computador a vlvulas dos Estados Unidos, terminado somente aps a guerra (1946), tambm para uso basicamente militar - como clculo de trajetria de msseis. Alan Turing, o mesmo criador do Colossus, ajudou neste projeto. O ENIAC tinha cerca de 18.000 vlvulas, sendo que de dois em dois minutos uma vlvula se queimava! Ocupava uma rea de 170 metros quadrados e pesava 30 toneladas. A partir de 1945, um novo marco foi colocado na histria dos computadores com John von Neumann, Arthur Burks e Herman Goldstine. Para se ter uma idia, a programao do ENIAC era toda feita atravs de ligao de cabos em conectores, o que demorava literalmente semanas. As ideias de Von Neumann - que so utilizadas at hoje fizeram com que os computadores pudessem ser programados atravs de programas, rotinas de manipulao de dados que utilizam instrues prprias do computador. A partir das idias de Von Neumann, os conceitos de programas foram criados: o EDSAC (Electronic Delay Storage Automatic Computer) e o EDVAC (Electronic Discrete Variable Automatic Computer), em 1949. O primeiro computador a ser produzido em escala comercial foi o UNIVAC (Universal Automated Computer), pelos mesmos criadores do ENIAC. O primeiro UNIVAC ficou pronto em 1951. O IBM 701 em 1953 e o IBM 650 em 1954. Este ltimo vendeu mais de mil unidades, um sucesso absoluto de vendas, e que veio refletir a real necessidade que o mundo teria no uso de computadores. A partir da criao da tcnica de circuito impresso, em 1957, os computadores puderam diminuir um pouco mais de tamanho. Nesse mesmo ano desenvolvida a linguagem FORTRAN (Formula Translator), a primeira linguagem de alto nvel para computadores. O primeiro transistor foi criado em 1947. Os transistores vieram a substituir as vlvulas. Gradativamente as vlvulas passaram a ser substitudas por transistores, fazendo com que a maioria dos equipamentos eletrnicos - e leia-se a os computadores passasse a ocupar um menor espao fsico. Os primeiros computadores a se utilizarem totalmente de transistores foram o IBM 1401 e IBM 7094 que juntos, venderam mais de 10.000 unidades. Outros computadores como os da DEC (Digital Equipment Corporation) foram de muitssima importncia. As sries de computadores da DEC recebiam o nome PDP, sendo o PDP-1 lanado em 1959. E em 1963 a DEC criou o primeiro minicomputador, o PDP-5. Em 1962 foi usado pela primeira vez discos magnticos para o armazenamento de informaes, no computador Atlas. Na poca, alm de serem gigantescos, os computadores usavam imensas unidades de fita magntica para o armazenamento de informaes para uso posterior, alm de sistemas de cartes perfurados. 7

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Em 1963 comeou a produo dos primeiros circuitos integrados, com a juno de vrios transistores em um s componente, colocando um circuito relativamente grande dentro de uma s pastilha de silcio. Um dos primeiros computadores a utilizar circuitos integrados foi o IBM/360, lanado em 1964. Avanadssimo para a poca, fez com que todos os outros computadores fossem considerados totalmente obsoletos, fazendo com que a IBM vendesse mais de 30.000 computadores deste. Importante ainda foi o PARC (Palo Alto Research Center), criado pela Xerox em 1970. Neste centro foi desenvolvida toda a base da comunicao visual que seria utilizada por computadores dali por diante - atravs de uma interface grfica, usando componentes em forma de cones, janelas e a estrutura WYSIWYG (What You See Is What You Get ). A Xerox, apesar de possuir toda essa tecnologia j na dcada de setenta, no estava interessada na utilizao da mesma em computadores pessoais - os microcomputadores. Um passo maior ainda foi dado quando foi desenvolvida, em 1971, a tecnologia LSI (Large Scale Integration), que permitiu a juno de vrios circuitos integrados em um s, dando origem aos microprocessadores. A empresa americana Intel foi a responsvel pela criao dos primeiros microprocessadores, o 4004, que manipulava palavras binrias de 4 bits. A Intel lana em seguida o primeiro microprocessador "de verdade", o 8080. Outra empresa, a Motorola, lana o microprocessador 6800, para concorrer com a Intel. E, ao mesmo tempo, diversos outros fabricantes de circuitos integrados comearam a desenvolver seus prprios microprocessadores, porm adotando as mesmas caractersticas do 8080. Entre as empresas que criaram seus prprios microprocessadores estavam a National Semiconductor, a Signestics, a Advanced Micro Devices e a MOS Technology. Um dos clubes de hobbistas que existia na poca era o Homebrew Computer Club, do qual faziam parte Steve Wozniak, que trabalhava na HP e Steve Jobs, que trabalhava na Atari. Eles desenvolveram um microcomputador baseado no microprocessador 6502. Eles levaram o projeto HP, que no se interessou. Decididos, resolveram produzir eles mesmos o tal microcomputador, batizado de Apple. E foi criado, logicamente, o primeiro sistema operacional, um programa que permitiria o acesso a unidades de disco magntico por parte dos microcomputadores. Este sistema operacional, o CP/M (Control Program / Microcomputers), criado por Gary Kildall atravs de sua empresa, a Digital Research. A consequncia direta disto foi a adoo desta linha de microprocessadores por todos os fabricantes de microcomputadores que queriam ter unidades de disco flexvel em suas mquinas. A Apple teve que, ento, criar seu prprio sistema operacional para o Apple II. Alm de operar sistemas, os microcomputadores precisavam de uma linguagem na qual as pessoas pudessem escrever seus programas. A escolha mais lgica foi linguagem 8

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

BASIC. Bill Gates criou a Microsoft, e desenvolveu um interpretador de BASIC em ROM para ser colocado em microcomputadores. O final dos anos 70 foi marcado pelo surgimento do microprocessador. Sua capacidade para aproveitar as melhorias na tecnologia de circuitos integrados de modo mais estreito que os mainframes e minicomputadores menos integrados levou a uma taxa maior de otimizao aproximadamente 35% de crescimento por ano no desempenho (Patterson, 2003). Duas importantes mudanas ocorrero neste perodo, a virtual eliminao da linguagem assembly, gerando uma maior compatibilidade com o cdigo-objeto, e a criao de sistemas operacionais padronizados e independentes do fornecedor, como o UNIX, e seu clone, o LINUX, reduziram o custo e o risco do lanamento de uma nova arquitetura. No inicio dos anos 80 com a implementao dessas novas mudanas surgidas no final dos anos 70, foi possvel o desenvolvimento de um novo conjunto de arquiteturas chamadas arquiteturas RISC (Reduced Instruction Set Computer ou Computador com um Conjunto Reduzido de Instrues). A combinao de avanos arquiteturais e organizacionais levou a 20 anos de crescimento constante no desempenho, a uma taxa anual de mais de 50%. A Sinclair, empresa do gnio ingls Sir Clive Sinclair, em 1980 lana o primeiro microcomputador barato: o ZX-80. Ele custava menos de 150 dlares. O ZX-80, baseado no Z-80, no ano seguinte foi melhorado e lanado o ZX-81. Persuadida pela Microsoft, a IBM decidiu utilizar a linha de microprocessadores da Intel, encabeada pelo 8086, em sua linha de microcomputadores. Finalmente, em 1981 a IBM lana o seu IBM-PC. Como o lanamento do CP/M-86 anunciado "para breve" demorou muito, ento a Seattle Computer - uma das empresas que estavam entrando no mercado na poca e havia lanado um microcomputador baseado no 8086 - resolveu ela mesmo desenvolver um sistema operacional para o seu microcomputador, chamando-o de QDOS. A Microsoft gostou e comprou todos os direitos sobre o QDOS, rebatizando-o de MS-DOS, e possuiu muita semelhana com o antigo CP/M. Assim, o IBM PC lanado junto com seu sistema operacional prprio, o MS-DOS 1.0 da Microsoft. Em 1983 a IBM lana o seu IBM PC XT (Extended Tecnology), agora com disco rgido (de incrveis 5 ou 10 MB) e uma nova verso do seu DOS, a 2.0. O Macintosh, Lanado em 1984, da Apple obteve um sucesso estrondoso com o seu Macintosh. A IBM lana o seu IBM PC AT (Advanced Technology) no mesmo ano em que a Apple lana o seu Macintosh e, logicamente, a Microsoft lana uma nova verso de seu MS-DOS, a 3.0 e a 3.1. Aps trs anos de sucessivos adiamentos, a Microsoft lanou um "ambiente operacional" grfico para a linha IBM PC - o Windows - teoricamente uma interface grfica similar ao do Macintosh. O atraso da Microsoft em lanar o Windows fez com que diversos outros fabricantes de 9

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

software criassem seus prprios ambientes grficos, tais como o DESQ (Quaterdeck) que foi re-desenvolvido e lanado depois como DESQView - o VisiOn (VisiCorp), o TopView (IBM) e o GEM (Digital Research). O Commodore lana outros microcomputadores, como o Commodore 128 e j em 1985 o Amiga 1000, baseado tambm no microprocessador 68000 e posteriormente nos seus sucessores, 68020, 68030 e 68040 (Amiga 2000, 3000 e 4000).O Amiga possui um grande campo de atuao nas reas de computao grfica, edio de vdeo e edio musical, que so campos onde o rpido e eficiente acesso memria so fatores fundamentais, devido grande quantidade de informaes a serem processadas e que esto, logicamente, armazenadas em uma rea de memria. A Microsoft tenta criar um novo padro de micros: o MSX (microsoft Extended), um projeto para tentar compatibilizar tudo o que existia para micros. O padro MSX foi imediatamente visto somente como um "brinquedo", um video-game "de luxo", j que seu marketing mostrava basicamente este lado da utilizao de microcomputadores que seguiam o padro MSX. Nesta poca a Compaq comeou a despontar com o novo maior fabricante mundial de microcomputadores, por liderar fabricantes construo de microcomputadores que utilizassem arquitetura aberta e seguissem o padro IBM PC original. O mesmo ocorreu com o lanamento de novos microprocessadores da famlia Intel, como o 80486, Pentium e Pentium Pro (P6). Apesar de diversos fabricantes tradicionais como a prpria IBM construrem microcomputadores com arquitetura fechada, a maioria dos fabricantes independentes optou por seguir uma arquitetura aberta, sendo o padro IBM PC nitidamente definido e estabilizado. Com isto ganhamos todos ns: apesar de construdos por diversos fabricantes, todos os microcomputadores que seguem esta arquitetura so compatveis entre si, no s pelo ponto de vista dos programas (softwares), mas principalmente da sua construo fsica (hardware). Nos ltimos anos, o significativo aperfeioamento na capacidade de circuitos integrados permitiu que arquiteturas mais antigas e menos eficientes, como a arquitetura x86(ou IA-32), adotassem muitas das inovaes surgidas pela primeira vez nos projetos RISC. Atualmente os modernos processadores x86 consistem basicamente em um frontend que busca e decodifica instrues x86 e as mapeia como operaes simples de ULA, acesso memria ou desvio, que podem ser executados em um processador com pipeline no estilo RISC. 1.2 Aplicaes da Computao

Somente os trabalhadores despreparados culpam seus instrumentos de trabalho pelo seu mau desempenho. Que tipo de trabalhadores no conhece seus instrumentos de trabalho, no sabem como funcionam e no distingue um bom instrumento de trabalho de um ruim? 10

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Muita gente ainda desconhece a composio e organizao dos componentes que integram um instrumento vital para o seu trabalho: o computador. Hoje em dia, um bom profissional da rea de informtica, deve possuir slidos conceitos sobre os componentes e a organizao dos computadores. Mesmo o profissional que ir se dedicar 100% de seu tempo a trabalhar projetando, construindo, testando, validando, instalando, treinando ou qualquer outra tarefa em nvel de software, deve, pelo menos, informar-se sobre o hardware. O trabalho em nvel de software pode ser profundamente influenciado, pelo hardware, quer seja na produtividade, quer seja em seu planejamento; desta forma, os componentes fsicos de um sistema computacional no podem ser desconhecidos a um profissional da rea de informtica. Saber usar um computador, reconhecer e saber usar seus principais perifricos de entrada e sada pode ser suficiente para futuros profissionais, mas voc estar subestimando seu potencial e a si prprio, alm de tornar-se limitado. Sem saber sobre a organizao e o funcionamento de seus principais componentes no saber se adquiriu ou indicou o computador mais adequado determinada funo, ou, um equipamento caro incapaz de realizar tarefas nas quais os modelos mais simples se sobressaem. Quando de uma consultoria, voc dever saber as reais necessidades de seu cliente, quais as aplicaes que sero utilizadas, para que tipo de servio, quais sero as pessoas que iro manipular o equipamento, somente diante destas informaes e com o conhecimento adequado pode-se fazer um indicao correta sobre o tipo de equipamento que o cliente necessita. Os computadores so como automveis. Voc no precisa saber detalhes do seu funcionamento para utiliz-los, mas algum conhecimento ajuda. As pessoas inteligentes sabem selecionar o carro certo ou componente de hardware certo para suas necessidades. (Meyer, 2000, p. 53) Atualmente temos computadores em praticamente todas as reas, oferecendo suporte e promovendo auxilio as decises. No iremos descrever reas e tipos de servios que se pode fazer utilizando-se da tecnologia, pois este no ser o foca de nossa apostila. A mesma tem o objetivo de mostrar aos alunos as principais funcionalidades da disciplina de organizao de computadores para que conheam os principais componentes dos computadores, como funcionam e se organizam.

11

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

2 2.1

Organizao de Computadores Conceitos sobre organizao de computadores.

Para estudar organizao de computadores alguns conceitos bsicos devem ser assimilados/revisados. Estes conceitos abrangem os componentes funcionais bsicos e as formas de representao/armazenamento de informaes, alm do funcionamento bsico dos sistemas de computao. 2.1.1 Funcionamento bsico dos sistemas de computao Arquitetura de computadores: Refere-se aos atributos de um sistema que so visveis para o programador ou em outras palavras, aos atributos que tem impacto direto sobre a execuo lgica de um programa. Organizao de computadores: Refere-se s unidades operacionais e suas interconexes que implementam as especificaes da sua arquitetura. Funes bsicas: Processamento de dados; Armazenamento de dados; Transferncia de dados; Computador Controle de dados.
E/S Barramento do Sistema Memria

CPU Registradores Interconexo Interna Controle

ULA

Figura 1 Representa a Arquitetura de Computadores.

Transferncia Controle Memria Processamento

Figura 2 Representa a Organizao de Computadores.

12

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Para que um computador trabalhe necessria insero de informaes (entrada). Seguindo as instrues fornecidas pelos programas, o computador processa os dados oriundos da entrada (processamento) armazenando-os logo em seguida para posterior utilizao. As informaes produzidas ficam disponveis para utilizao (sada) e a menos que se deseje as informar e produzir novamente, elas devem ser armazenadas em um dispositivo de armazenamento estvel. O esquema geral da figura 1 seguido por praticamente todos os computadores, sendo que os dados so produzidos atravs de instrues durante a etapa de processamento, realizada pela CPU (Unidade Central de Processamento - processador). Cada processador tem um conjunto nico de instrues para processar os dados, porm geralmente utilizam a mesma forma de composio das instrues.

Figura 3 Forma geral das instrues

A operao especifica a funo a ser desempenhada, por exemplo, soma, armazene ou desvie, entre outras. Os operandos fornecem os dados a serem utilizados na operao ou ainda a forma de alcanar a posio destes dados na memria. 2.1.2 Bits, bytes & Cia; Todas as informaes manipuladas pelos computadores devem ser entendidas pela mquina. Como o computador um dispositivo eletrnico, ele armazena e movimenta as informaes de forma eletrnica, podendo utilizar um valor de corrente. Para que a mquina representasse todos os smbolos da linguagem humana eletricamente seriam necessrias mais de 100 diferentes voltagens (corrente). Uma mquina deste tipo alm de ser de custo elevado, seria difcil de construir e de baixa confiabilidade. Desta forma, optou-se por construir mquinas binrias, capazes de entender apenas dois valores diferentes. Os computadores digitais so totalmente binrios, isto , trabalham apenas com dois valores, tornando assim simples o emprego da lgica booleana (Sim/No, Verdadeiro/ Falso, Aberto/Fechado,...) tanto na construo de componentes quanto como base para a escrita de programas (programao). Convencionou-se chamar os dois nveis eltricos de 0 e 1 sendo que cada algarismo da representao numrica binria denominado de bit, correspondente a abreviatura de binary digit (dgito binrio). Obviamente com apenas 1 bit isolado pode-se representar muito pouca coisa (apenas 2 valores), desta forma, usam-se agrupamentos ordenados de bits para a representao de informaes teis. A menor informao inteligvel aos seres humanos o caractere, como por exemplo, o nmero 5 ou a letra a.

13

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Existem diversos agrupamentos de bits para representar caracteres, sendo que o mais popularmente utilizado chamado de byte. Um byte uma sequncia ordenada de 8 bits, sendo cada bit tratado de forma independente dos demais e com um valor fixo de acordo com sua posio. Qualquer sequncia binria pode ser convertida para um nmero na base decimal, sendo utilizado este valor para encontrar o caractere correspondente, utilizando uma tabela de caracteres. As memrias geralmente armazenam e recuperam informaes byte a byte, ou ainda em mltiplos de bytes. A representao binria de valores tambm utilizada para a representao de nmeros dentro dos computadores. A metodologia a mesma, sendo convertido o valor em base decimal para o correspondente em base binria. Por exemplo, o nmero 2310 pode ser armazenado no seguinte byte 00010111. Os dispositivos de memria atuais utilizam agrupamentos de bytes para representar sua capacidade de armazenamento. Uma vez que tais agrupamentos so oriundos de uma base binria o fator de multiplicao utilizado 1024 (2 10). Cada faixa possui tambm uma letra para abreviar a categoria. A Tabela 1 demonstra alguns agrupamentos de bits e bytes utilizados. Tabela 1 Agrupamento de bits e bytes

Estes agrupamentos so utilizados na descrio das capacidades de armazenamento dos computadores hoje em dia, sendo que esta capacidade referenciada por um nmero e um smbolo correspondente. Por exemplo, 4GB de memria. Outro conceito importante muito utilizado na descrio do mecanismo de transferncia de informaes entre a CPU e a memria principal o conceito de palavra. A palavra utilizada para indicar a unidade de transferncia e processamento de um computador. As palavras so mltiplos de 1 byte, sendo que os microprocessadores geralmente utilizam 32bits 4 bytes como tamanho da palavra (j existem projetos e microprocessadores que utilizam palavras de 64 bits, porm estes microprocessadores ainda no se popularizaram). Mquinas de maior porte como estaes SUN j utilizam palavra de 64 bits h algum tempo.

14

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

2.1.3 Memrias; Uma das partes mais importante do computador a memria. O processador apenas recebe os dados e os processa segundo alguma programao predefinida, logo aps devolvendo-os, no importando de onde vem e para onde vo. Os programas a serem executados e os dados a serem processados (inclusive os que j o foram) ficam na memria, visto que a rea para armazenamento de dados do processador pequena. H basicamente dois tipos de memria: ROM (Read-Only Memory): S permitem a leitura de dados e so lentas; em compensao no perdem seu contedo quando desligadas; RAM (Random Access Memory): So rpidas, permitem leitura e escrita, porm, seu contedo perdido quando so desligadas. Dentro da ROM existem basicamente 3 programas: BIOS, POST e SETUP. comum acontecer confuso em relao aos nomes, sendo usado atualmente o termo BIOS como algo genrico. Para acessar o programa de configurao, basta acessar um conjunto de teclas durante o POST (geralmente na contagem da memria). Na maioria das mquinas, basta apertar a tecla DEL ou Delete, porm, esse procedimento pode variar de acordo com o fabricante. Quando o computador ligado, o POST (Power On Self Test) entra em ao, identificando a configurao instalada, inicializando os circuitos da placa-me (chipset) e vdeo, e executando teste da memria e teclado. Aps, ele carrega o S.O de algum disco para a memria RAM, entregando o controle da mquina para o S.O. Na RAM, ficam armazenados o S.O, programas e dados que estejam em processamento. O processador acessa a RAM praticamente o tempo todo. Atualmente a memria RAM, formada por circuitos de memria dinmica (DRAM - Dynamic RAM), mais lenta que o processador, ocasionando wait states (ou estado de espera o tempo de espera por parte do processador at que a memria esteja preparada para ler ou gravar dados.), diminuindo assim o desempenho do micro. Memrias mais rpidas amenizam este problema, assim como a utilizao de cache de memria. A cache uma memria esttica (SRAM - Static RAM) de alto desempenho, utilizada para intermediar a comunicao com o processador. Na maioria das vezes o processador no acessa o contedo da RAM, mas sim uma cpia que fica na cache. A cache utilizada desde o 386DX, e a partir dos 486, todos os processadores passaram a conter uma quantidade de memria esttica, conhecida como L1 ou interna. A cache fora do processador conhecida como L2 ou externa. Hoje, existem processadores com mais nveis de cache. Uma ressalva que os processadores a partir do Pentium II possuem a L2 dentro da caixa que envolve o processador, no fazendo mais sentido as denominaes interna e externa. A DRAM formada por capacitores, que so fcies de construir, baratos e podese aglomerar muitas clulas de memria em pequeno espao fsico. O problema que 15

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

aps algum tempo, eles descarregam, dessa forma dever haver um perodo de recarga, chamado refresh. Durante este perodo, a memria geralmente no pode ser acessada, limitando assim com uma imposio fsica sua velocidade. Por outro lado, a SRAM formada por caros circuitos digitais chamados flip-flops, que armazenam dados sem a necessidade de ciclos para refresh. Um flip-flop, por ser um circuito completo, maior que um capacitor, consequentemente, onde cabem muitos capacitores tm-se somente alguns flip-flops. Devido ao preo, tamanho e consumo, no possvel que um micro tenha toda sua RAM de memria esttica, ento a partir dos 386, utiliza-se um modelo hbrido com SRAM como cache e DRAM como RAM propriamente dita. A memria um conjunto de clulas, todas com o mesmo nmero de bits, sendo cada clula identificada por um nmero nico que seu endereo. Os acessos memria so realizados atravs de palavras de memria, sendo que a velocidade da memria, indicada pelo seu tempo de acesso, significativamente inferior velocidade com que o processador trabalha. Pode-se ler ou escrever dados em uma posio da memria.

Figura 4 Conjunto Clulas memrias

As memrias so muito importantes no desempenho dos computadores. Esto presentes tambm em outros aparelhos eletrnicos. A funo da memria armazenar dados. Elas so classificadas como volteis e no volteis. As memrias volteis dependem de estar energizadas para manter o armazenamento de seus contedos, j as no Volteis no dependem de energia, ou seja, armazenam seus contedos at que sejam apagados pelo usurio. A capacidade e velocidade das memrias influenciam diretamente no desempenho total do sistema, verifica se uma dependncia muito grande dessas caractersticas no funcionamento mximo do sistema. Uma memria armazena informaes binrias em grupos de bits chamados palavras. Uma palavra de memria pode ser usada para representar qualquer tipo de informao em codificao binria. 16

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

memria, que so mltiplas de oito. , uma palavra de 16 bits contm dois bytes. Uma palavra de 32 bits contm quatro bytes, e assim por diante. O nmero de palavras contidas em uma unidade memria e o nmero de bits em cada palavra definem a sua estrutura interna. s chamadas linhas de endereo so usadas para selecionar uma palavra em particular. para 2k-1, onde k o nmero de linhas de endereo. nas linhas de endereo da memria faz com que a mesma selecione uma palavra especfica na memria. Um decodificador integrado memria aceita o endereo e abre os caminhos necessrios para selecionar os bits na palavra especificada. Memrias de computador variam a partir de 1024 palavras, necessitando de um endereo de 10 bits, at 232 palavras, necessitando de 32 bits para endereamento. comum a referncia do nmero de palavras em uma memria ser feita com as letras K (kilo), M (mega), G (giga), T (tera), onde K igual a 210, M igual a 220, G igual a 230, e T igual a 240. Assim, 64K = 216, 2M = 221, 4G = 232 e 1T = 240.

Figura 5 - Memrias

Um endereo com M bits possui no mximo 2M clulas endereveis. Exemplo: na figura acima (a) precisa de 3 bits, (b) e (c) de 4 bits; O nmero de bits do endereo independente dos nmeros de bits da clula. Dentro da memria, os dados so organizados em uma matriz, composta de linhas e colunas, tendo seus endereos crescendo da esquerda para direita (coluna) e de cima para baixo (linha). Quando um endereo de memria necessrio, o circuito que controla acessos memria recebe o endereo a ser buscado, dividindo-o em 2(dois), gerando assim o valor da linha e da coluna (geralmente pela utilizao dos bits mais significativos e menos significativos).

17

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

2.1.4 Ordenao dos Bytes: Os bytes de uma palavra podem ser numerados: Da esquerda para a direita (Big Endian). Exemplo: SPARC da IBM; Da direita para a esquerda (Little Endian). Exemplo: Arquitetura da INTEL. Em ambos os sistemas um nmero representado pelo mesmo conjunto de bits; Problema: Quando uma mquina Big Endian tenta enviar um registro para uma mquina Little Endian;

Figura 6 Ordenao dos Bytes

Figura 7 Numerao dos Bytes

Idade impressa como 21x224 (c); Software para inverter posies, corrige o nmero, mas danifica as strings (d); Problema difcil de resolver: Cabealho Converso apenas dos dados necessrios Soluo ineficiente. A falta de um padro para a ordenao dos bytes da palavra dos computadores um dos principais problemas para a troca de dados entre mquinas diferentes. 18

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

2.1.5 Organizao e hierarquia da memria A memria deve ser antes de tudo organizada, para que o processador possa saber onde buscar um dado e onde colocar outro j processado. Para isso, ela organizada em pequenas reas, chamada endereos. Da mesma forma que um grande armrio, repleto de gavetas, sendo cada uma delas diferenciada atravs de um nmero, onde dentro de cada gaveta podemos colocar uma informao. Cada gaveta assemelha-se a um endereo de memria. Por motivos histricos e de retro compatibilidade a unidade de referncia memria continua sendo o byte, mesmo com os processadores atuais acessando a memria a 32 ou 64 bits por vez. Caso a RAM se esgote, o processador transfere o contedo atual da RAM para um arquivo em disco, chamado arquivo de troca (swapping), liberando espao na RAM. O contedo deste arquivo colocado de volta na RAM quando algum dado nele contido for solicitado sendo o processo conhecido como memria virtual. Quanto maior a quantidade de memria RAM, menor a probabilidade de arquivos de trocas, aumentando assim o desempenho do micro uma vez que o acesso ao arquivo de troca (H.D.) bem mais lento que a memria RAM. Dividindo as memrias em uma hierarquia, o objetivo que se deseja alcanar um sistema de memria com desempenho prximo ao da memria mais rpida e custo por bit prximo ao da memria com menor valor no mercado.

Figura 8 Hierarquia da memria

2.1.6 Tempo e ciclo de acesso Quando o processador ordena o armazenamento de um dado na memria ou solicita que a memria devolva um dado armazenado, isto no realizado imediatamente. Essa demora chamada de tempo de acesso, e uma caracterstica de todas as memrias. As DRAM possuem tempo de acesso entre 70 e 50ns, enquanto as SRAM apresentam tempo de acesso menor que 20ns (chegando atualmente a 5ns). Em memrias FPM, EDO e BEDO, o tempo de acesso vem estampado na nomenclatura do circuito integrado, como sufixo. O 6 em uma memria dinmica significa que esta tem 60 ns de tempo de acesso. Nas memrias SDRAM, por serem sincronizadas com o barramento local, o que h escrito NO seu tempo de acesso, mas sim sua frequncia mxima de operao, expressa em nano segundos.

19

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Figura 9 Ciclo de Leitura (read)

Outro fator a ser levado em conta nas memrias SDRAM o nmero de pulsos de latncia. O processador gasta, pelo menos, 2 pulsos de clock para acessar a memria RAM (clock externo, ou do barramento local). Um problema que a velocidade do barramento local aumentou sem uma reduo proporcional no tempo de acesso das memrias. Para resolver este problema so utilizados wait states, para realizar um ciclo de acesso. Um wait state um pulso extra de clock adicionado ao ciclo de leitura ou escrita da memria. Como o ciclo de acesso memria RAM de 2 pulsos de clock, com a adio de 1 wait state, o ciclo passa ater ter 3 pulsos. A adio de wait states reduz o desempenho do micro; desta forma a soluo para este impacto o uso da memria esttica (cache), deixando o processador conversando com a cache sem wait states, em pelo menos 80% de seu tempo. 2.1.7 Memria Cache: Parte do problema de limitao de velocidade do processador refere-se diferena de velocidade entre o ciclo de tempo da CPU e o ciclo de tempo da memria principal, ou seja, a MP transfere bits para a CPU em velocidades sempre inferiores s que a CPU pode receber e processar os dados, o que acarreta, muitas vezes, a necessidade de acrescentar-se um tempo de espera para a CPU (wait state). O problema de diferena de velocidade se torna difcil de solucionar apenas com melhorias no desempenho das MP, devido a fatores de custo e tecnologia. Enquanto o desempenho dos microprocessadores, por exemplo, vem dobrando a cada 18/24 meses, o mesmo no acontece com a taxa de transferncia e o tempo de acesso das memrias DRAM, que vm aumentando pouco de ano para ano. 20

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Na busca de uma soluo para este problema foi desenvolvida uma tcnica que consiste da incluso de um dispositivo entre a CPU e a MP, denominado de memria CACHE, cuja funo acelerar a transferncia de informaes entre CPU e MP e, com isso, aumentar o desempenho do sistema de computao. A cache um nvel na hierarquia de memria entre a CPU e a memria principal (MP). construda com memria SRAM, que muito mais rpida do que a DRAM, normalmente empregada na construo de MP. A cache fabricada com tecnologia semelhante da CPU e, em consequncia possui tempos de acesso compatveis, resultando numa considervel reduo da espera da CPU para receber dados e instrues. Como o custo da memria esttica muito alto, a cache normalmente muito menor Com a incluso da cache pode-se enumerar, de modo simplista, o funcionamento do sistema: 1. Sempre que a CPU vai buscar uma nova informao (instrues ou dados), ela acessa a memria cache; 2. Se a informao estiver na cache (chama-se cache hit acerto), ela transferida em alta velocidade (compatvel com a da CPU); 3. Se a informao no estiver na cache (chama-se cache miss falta), ento o sistema est programado para transferir a informao desejada da MP para a cache. S que esta informao no somente da instruo ou dado desejado, mas dele e de um grupo subsequente, na pressuposio de que as instrues/dados do grupo sero requeridas pela CPU em seguida e, portanto, j estaro na cache quando necessrio. Para haver algum aumento no desempenho de um sistema de computao com a incluso da memria cache necessrio que haja mais acertos (hits) do que faltas (miss). Isto , a memria cache somente produtiva se a CPU puder encontrar uma quantidade aprecivel de palavras na cache, suficientemente grande para sobrepujar as eventuais perdas de tempo com as faltas, que redundam em transferncia de um bloco de palavras da MP para a cache, alm da efetiva transferncia da informao desejada. A implementao de memrias foi referendada pela existncia muito forte de localidades na execuo dos programas. Existem dois tipos de localidades: a espacial e a temporal. Localidade Temporal: As posies da memria, uma vez acessadas, tendem a ser acessadas novamente num futuro prximo. Normalmente ocorrem devido ao uso de laos de instrues, acessos a pilhas de dados e variveis como ndices, contadores e acumuladores; Localidade Espacial: Se um programa acessa uma palavra de memria, h uma boa probabilidade de que o programa acesse num futuro prximo, uma palavra subsequente ou um endereo adjacente quela palavra que ele acabou de acessar. Em 21

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

outras palavras, os endereos em acessos futuros tendem a ser prximos de endereos de acessos anteriores. Ocorre devido ao uso da organizao sequencial de programas. O tamanho da cache influencia diretamente no desempenho do sistema, uma vez que para existir um aumento real de desempenho o nmero de acertos deve superar e muito o nmero de faltas. Com uma cache maior, h maior probabilidade de a informao desejada estar contida nela, porm outros fatores tambm devem ser levados em conta, como o tempo de acesso da MP, da memria cache e a natureza dos programas em execuo (principio da localidade). Um fator que influencia diretamente o desempenho da cache a forma de mapeamento dos dados da MP nela. Como o tamanho da cache bem menor que MP, apenas uma parte dos dados da MP pode ser copiada na cache. Existem basicamente trs formas de mapeamento: o associativo, o direto e o set-associativo. Mapeamento completamente associativo: A palavra pode ser colocada em qualquer lugar da cache. Neste caso deve ser armazenado na cache no somente o dado mas tambm o endereo. Para descobrir se a posio procurada est armazenada na cache, feita a comparao simultnea de todos os endereos, caso seja localizado (cache hit) o dado devolvido ao processador. Caso o endereo pesquisado no se encontre na cache (cache miss) a memria principal acessada. Mapeamento direto: Cada palavra deve ser armazenada em um lugar especfico na cache, o qual que depende do seu endereo na memria principal. O endereo dividido em duas partes: Tag e ndice. O ndice usado como endereo na cache. Indica a posio da cache onde pode estar armazenada a palavra. O tag usado para conferir se a palavra que est na cache a que est sendo procurada, uma vez que endereos diferentes, com o mesmo ndice sero mapeados sempre para a mesma posio da cache. Mapeamento set-associativo: O mapeamento set-associativo um projeto intermedirio entre os dois anteriores. Neste caso, existe um nmero fixo de posies onde a palavra pode ser armazenada (pelo menos duas) que chamado um conjunto. Uma cache com um conjunto de duas posies chamada 2-way set-associativa. Como na cache com mapeamento direto, o conjunto definido pela parte do endereo chamada ndice. Cada um dos tags do conjunto so comparados simultaneamente como tag do endereo. Se nenhum deles coincidir ocorre um cache miss. Outro problema a ser considerado na implementao de uma memria cache a poltica de substituio das palavras. Deve-se responder a seguinte pergunta: Em que local da cache ser colocada a nova linha? A poltica de substituio define qual linha ser tirada da cache para dar lugar a uma nova. No caso do mapeamento direto, cada palavra tem um lugar predefinido, ento no existe escolha. Para o mapeamento completamente associativo, pode-se escolher qualquer posio da cache e no set-associativo, qualquer posio dentro do conjunto definido pelo ndice. As principais polticas de substituio so: 22

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Substituio Aleatria: Neste caso escolhida uma posio qualquer da cache aleatoriamente para ser substituda. mais simples de implementar mas no leva em conta o princpio da localidade temporal. First-in First-out: Remove a linha que est h mais tempo na cache. Exige a implementao de uma fila em hardware. LRU - Least Recently Used: Menos recentemente utilizado. Remove-se a linha que h mais tempo no referenciada. Exige implementao de um contador para cada linha. Quando um hit ocorre na linha seu contador zerado enquanto todos os demais so incrementados. Quando for necessrio substituir uma linha, ser retirada aquela cujo contador tiver o valor mais alto. Uma vez que todas as solicitaes feitas memria so realizadas atravs da cache, caso a CPU fizer a escrita de uma posio que estiver armazenada na cache, se esta alterao no for repassada para a MP, pode-se perder a atualizao quando a linha da cache for substituda. Para evitar este problema pode-se adotar duas estratgias: Escrita em ambas (Write-through): Cada escrita na cache imediatamente repetida na memria principal; Escrita no retorno (Write-back): As escritas so feitas apenas na cache, mas ela ser escrita na MP quando for substituda. Pode-se escrev-la mesmo se no foi alterada ou somente se tiver sido modificada. Com a poltica write -through pode haver uma grande quantidade de escritas desnecessrias na MP, com natural reduo do desempenho do sistema. J a poltica write -back minimiza esta desvantagem, porm a MP fica potencialmente desatualizada para utilizao por outros dispositivos a ela ligados, como mdulos de E/S, o que os obriga a acessar dados na cache. Uma vez que tanto os dados como as instrues so mantidos na memria principal, ambos tiram proveito da memria cache. Pode-se adotar cache unificada ou separada para cada tipo de contedo. A cache separada possui como vantagem possuir uma Cache de instrues somente de leitura, o que simplifica o circuito e barramento independente ligando cada uma das caches e o processador, o que permite transferncias simultneas. Alm disso, podem-se adotar estratgias diferentes para cada cache (tamanho, organizao, etc.). Por outro lado, a abordagem de cache separada apresenta como desvantagem o fato de que instrues e dados colocados em posies prximas da memria podero estar nas duas caches.

23

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

2.2

Processadores

o crebro do computador. Executa os programas armazenados na memria principal; Barramento: o meio pelo qual os componentes de um computador so interligados. Veja suas divises: Barramento Externo ao processador serve para conect-lo memria e a E/S; Barramento Interno ao processador. O processador constitudo de: Unidade de Controle (UC): Busca de instruo na memria principal, determinao do tipo de cada instruo; Unidade de Aritmtica e Lgica (UAL): Realiza um conjunto de operaes; Memria pequena e de alta velocidade (conjunto de registradores); Program Counter (PC): Aponta para a prxima instruo a ser buscada na memria; Registrador de Instrues (IR): Armazena a instruo que est sendo executada. ORGANIZAO DO PROCESSADOR: Veja abaixo um modelo de organizao de um computador muito simples:

Figura 10 Organizao do Processador

24

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Detalhes da organizao do processador tpico (Von Neumann) Caminho de Dados: Registradores; UAL; Conjunto de barramentos.

Figura 11 Detalhes organizao do processador

As instrues de um processador podem ser classificadas em: Registrador Memria: Permite que o contedo de palavras de memria seja armazenado nos registradores e o contedo dos registradores armazenados na memria; Registrador: Busca dois operandos em registradores, coloca-os nas entradas da UAL, realiza alguma operao sobre eles e armazena o resultado em um dos registradores. Ciclo do Caminho de Dados: o processo de passar dois operandos pela UAL armazenando o resultado desse processamento. A velocidade do ciclo do caminho de dados determina, em ltima anlise, a velocidade do processador. EXECUO DE INSTRUES: Passos para ser executada uma instruo pelo processador: 1. Busca da prxima instruo na memria e armazenamento no registrador de instrues (IR); 2. Atualizao do valor do Program Counter (PC), fazendo-o apontar para a instruo seguinte; 25

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

3. Determinao do tipo da instruo que est armazenada no registrador de instrues; 4. Se a instruo precisa de uma palavra armazenada na memria, nesse passo deve ser determinado onde essa palavra est armazenada; 5. Busca de palavras, se necessrio, e armazenamento em um dos registradores do processador; 6. Execuo da instruo; 7. Retorno ao passo 1 para iniciar a execuo da instruo seguinte. Esta sequncia de passos conhecida como ciclo de busca-decodificaoexecuo; possvel escrever um programa que simule a funo de um processador e esse programa no precisa, necessariamente, ser executado por um processador eletrnico; Um programa pode ser executado por outro programa que busque, decodifique e execute suas instrues (interpretador); Equivalncia importante para a organizao e no projeto dos sistemas de computador; Definida a linguagem de mquina [L] de um novo processador, deve ser decidido: Construir processador real (hardware) para executar diretamente programas escritos em [L]; Escrever um interpretador para interpretar os programas escritos em [L]. Interpretador: Divide as instrues de sua mquina-alvo em conjunto de pequenos passos; Processador mais simples e barato: Diretamente proporcional a quantidade e complexidade das instrues (hardware substitudo por software); Como construir computadores de baixo custo capazes de executar todas as instrues complexas de mquinas de alta performance? Interpretao por meio de micro programao. Implementao em hardware puro era usada somente nos modelos mais caros; Vantagens das instrues interpretadas: A capacidade de corrigir no campo eventuais erros de implementao de instrues; A oportunidade de incorporar novas instrues s mquinas existentes, a um custo muito baixo, mesmo depois de as mesmas terem sido despachadas para o cliente; Projeto estruturado que permitia o desenvolvimento, o teste e a documentao de instrues complexas de maneira muito eficiente. Memrias de controle (Read-Only) contriburam para o sucesso da interpretao. 26

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

2.2.1 Funo Processamento Processar o dado executar com ele uma ao que produza algum tipo de resultado. Esta , pois, a atividade-fim do sistema computacional: ele existe para processar dados. Entre as tarefas comuns a esta funo podem ser citadas as que realizam: Operaes aritmticas: somar, subtrair, multiplicar, dividir, ...; Operaes lgicas: and, or, xor, not,... ; Movimentao de dados: memria-CPU, CPU-memria, registradorregistrador, ...; Desvios: alterao da sequncia de execuo das instrues; Operaes de entrada ou sada; O principal dispositivo da CPU para a realizao das atividades de processamento a ULA. Ela utiliza os registradores de propsito gerais (ACC) como auxiliares funo de processamento. A ULA (UAL) um aglomerado de circuitos lgicos e componentes eletrnicos simples que, integrados, realizam as funes acima citadas. Ela pode ser uma pequena parte da pastilha do processador, usada em pequenos sistemas, ou pode compreender um considervel conjunto de componentes lgicos, ocupando mais espao na pastilha do processador. A capacidade de processamento de uma CPU em grande parte determinada pelas facilidades embutidas no hardware da ULA1 para realizar as operaes matemticas projetadas. Um dos elementos fundamentais a definio do tamanho da palavra. O valor escolhido no projeto de fabricao da CPU ir determinar o tamanho dos elementos ligados a rea de processamento (ULA, barramentos internos e registradores). Um tamanho maior ou menor de palavra acarreta, sem dvida, diferenas fundamentais no desempenho da CPU, e, por conseguinte, do sistema como um todo. Os seguintes componentes possuem influncia direta do tamanho da palavra: Influncia no desempenho devido ao maior ou menor tempo de execuo com operaes matemticas na ULA; Influncia no desempenho devido ao tamanho escolhido para o barramento interno e externo da CPU. Em geral, Obtm-se o mximo de desempenho quando a largura (tamanho em bits) do barramento de dados , no mnimo, igual ao tamanho da palavra (barramento interno); Influncia tambm na implementao fsica do acesso memria. Embora atualmente a capacidade das memrias seja medida bytes (ou conjunto de), o movimento de dados entre CPU e memria normalmente medido em palavras (barramento externo).

27

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Funo de Controle A rea de controle de uma CPU a parte funcional que realiza as atividades de: (uma de cada vez, geralmente). a) Busca da instruo que ser executada, armazenando-a em um registrador especialmente projetado para esta atividade (RI); b) Interpretao das aes a serem desencadeadas com a execuo da instruo (se uma soma ou subtrao, por exemplo, como realiz-las); c) Gerao de sinais de controle apropriados para realizao das atividades requeridas para a execuo propriamente dita da instruo identificada. Esses sinais de controle so enviados aos diversos componentes do sistema, sejam internos da CPU (como ULA, por exemplo) ou externos (como a memria); A rea destinada funo de controle projetada para entender o que fazer como fazer e comandar quem vai fazer no momento adequado. Uma analogia pode ser feita com os seres humanos, imaginando que a rea de controle o crebro que comanda o ato de andar, enquanto a rea de processamento so os msculos e ossos das pessoas que realizam efetivamente o ato. Os nervos podem ser relacionados com os barramentos entre os diversos elementos envolvidos. Os dispositivos bsicos que fazem parte da rea de controle so: o o o o o o o Unidade de controle (UC); Decodificador de instrues; Registrador de instrues (RI); Contador de instrues (program counter PC); Relgio ou clock; Registrador de endereos da memria (REM); Registrador de dados da memria (RDM).

O componente vital para as funes de controle a Unidade de Controle (UC). Ela recebe como entrada o valor do registrador de instrues e decodifica-o (atravs do decodificador de instrues). Para cada cdigo de instrues ele gera uma seqncia de sinais diferentes, ativando os circuitos correspondentes para cada uma das tarefas necessrias para a busca e execuo da instruo a ser executada. Cada sinal de controle comanda uma microinstruo (que denota uma tarefa a ser executada para a execuo de uma operao). Uma microintruo pode ser responsvel pela realizao de uma carga em um registrador, uma seleo de um dado para entrada em um determinado componente, uma ativao da memria, a seleo de uma operao da ULA ou a habilitao de um circuito lgico, para citar alguns exemplos. Existem vrias formas de implementaes (organizaes) das unidades de controle. As duas usuais so:

28

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Organizao convencional: a unidade de controle composta por componentes digitais como flip-flops, contadores e decodificadores, que geram, seqencialmente e nos instantes de tempo adequados, todos os sinais de controle necessrios ativao da unidade operacional; Organizao microprogramada: em uma unidade de controle microprogramada, os sinais de controle esto armazenados numa memria especial chamada memria de controle. Vrios sinais de controle so buscados a cada acesso a memria de controle; 2.2.2 Barramentos Internos

Os barramentos internos interligam os componentes do processador para troca de sinais e valores. Assim como no caso da comunicao processador/memria, so trs os barramentos internos: Barramento Interno de Dados: Usado na transferncia de dados entre os registradores e entre os registradores e a ULA. A sua largura define o tamanho da palavra da mquina; Barramento Interno de Endereos: Permite a transferncia de endereos entre os registradores; Barramento Interno de Controle: Transmite os sinais do bloco de controle que comandam o funcionamento de cada circuito do processador. 2.2.3 Ciclo de instruo

Busca, decodificao e execuo de instrues so tarefas bsicas realizadas por um processador. Caracterizam um ciclo, pois as tarefas so executadas repetidamente, sempre e sempre, at que seja decodificada uma instruo que indique parada ao computador. O fluxograma do ciclo de instruo anteriormente mostrado ilustra o mesmo de forma simplificada. Um dos pontos omitidos o incremento do PC, funo indispensvel ao funcionamento de qualquer sistema de computao. Outro ponto tambm apresentado de forma resumida so os acessos memria. Tanto as instrues como os dados ficam armazenados na memria e portanto existem buscas de operandos na memria e clculo do endereo da prxima instruo a ser executada. A Figura 12 ilustra mais alguns detalhes do ciclo de instruo.

29

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Figura 12 Ciclo de instruo

Este ciclo de instruo pode ser descrito em LTR (Linguagem de Transferncia entre Registradores), de modo que possamos acompanhar sua realizao com a movimentao de informaes entre os componentes da CPU. A Figura 13 ilustra este Algoritmo de funcionamento.

Figura 13 Algoritmo de funcionamento

Inicialmente, o contedo de memria no endereo da prxima instruo a ser executada (PC), tem seu valor transferido para RI. Logo aps, o valor de PC incrementado para o endereo da prxima instruo a ser executada. O decodificador de instrues ir receber os bits referentes ao Cdigo da Operao e decodific-lo, dando entrada na UC este valor. A UC gera os sinais necessrios para a execuo da Instruo.

30

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Figura 14 Diagrama Funcional da UCP

Detalhando ainda mais, pode-se elencar uma srie de passos a serem realizados em cada parte do ciclo. So eles:

a) Busca o Copiar o PC para o registrador de endereos da memria (REM); o Ler uma instruo da memria; o Copiar o registrador de dados da memria (RDM) para o registrador de instrues (RI); o Atualizar o contador de programa (PC); b) Decodificao o Nesta fase determinada qual instruo deve ser executada; c) Execuo o o o o o o Clculo de endereo dos operandos (se houver); Busca dos operandos na memria (se houverem); Seleo da operao a ser realizada pela ULA; Carga de registradores; Escrita de operandos na memria; Atualizao do PC (somente no caso das instrues serem desvios)

Medidas de Desempenho A medida geral de desempenho de um sistema de computao depende fundamentalmente da capacidade e velocidade de seus diferentes componentes, da velocidade com que estes componentes se comunicam entre si e do grau de compatibilidade entre eles (p. ex., se a velocidade da CPU de um sistema muito maior que a da memria). 31

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Considerando a existncia de tantos fatores que influenciam o desempenho de um sistema de computao, desenvolveram-se diversos meios de medir seu desempenho, entre os principais relacionados exclusivamente com a CPU destacam-se: MIPS; e FLOPS. O desempenho dos processadores, em geral, medido em termos de sua velocidade de trabalho; como o trabalho da CPU executar instrues, criou-se a unidade MIPS Milhes de instrues por segundo. O MIPS muito questionado, pois mede apenas a execuo de instrues, sendo que existem diferentes instrues, com tempos de execuo distintos, como por exemplo, multiplicao de nmeros inteiros e multiplicao de nmeros reais (ponto flutuante). Em contraste com o MIPS, FLOPS Operaes de ponto flutuante por segundo, mede basicamente o desempenho da ULA, analisando apenas as instrues mais complexas (as que envolvem ponto flutuante). Hoje em dia, os microprocessadores esto na faixa de MFLOS (milhes de flops) sendo encontradas mquinas com GFLOPS (supercomputadores). O FLOPS foi inicialmente criado para ser a medida de estaes de trabalho e de supercomputadores, mas atualmente tambm utilizado em microcomputadores. Quando se trata da recuperao ou escrita de dados na memria, o tempo de acesso a unidade de medida apropriada, estando relacionada velocidade de cada componente e a do canal (barramento(s)) de interligao entre CPU e memria. Tempo de resposta uma medida ligada ao desempenho global do sistema e no de um ou outro componente. Trata-se do perodo de tempo gasto entre o instante em que o usurio iniciou uma solicitao e o instante em que o sistema apresentou ao usurio a resposta. O Conjunto de Instrues do Processador O conjunto de instrues um dos pontos centrais na arquitetura de um processador. Vrios aspectos na definio e implementao da arquitetura so influenciados pelas caractersticas do conjunto de instrues. Por exemplo, as operaes realizadas pela unidade lgica e aritmtica, o nmero e funo dos registradores e a estrutura de interconexo dos componentes da seo de processamento. Alm disso, as operaes bsicas que acontecem dentro da seo de processamento dependem das instrues que devem ser executadas. O conjunto de instrues afeta o projeto da seo de controle. A sua estrutura e a sua complexidade so determinadas diretamente pelas caractersticas do conjunto de instrues. Em geral, os programas so desenvolvidos em uma linguagem de alto nvel como FORTRAN, Pascal ou C. O compilador traduz o programa de alto nvel em uma seqncia de instrues de processador. O resultado desta traduo o programa em linguagem de montagem ou linguagem de mquina (assembly language). 32

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

A linguagem de montagem uma forma de representar textualmente as instrues oferecidas pela arquitetura. Cada arquitetura possui uma linguagem de montagem particular. No programa em linguagem de montagem, as instrues so representadas atravs de mnemnicos, que associam o nome da instruo sua funo, por exemplo, ADD ou SUB, isto soma e subtrao, respectivamente. O programa em linguagem de montagem convertido para um programa em cdigo objeto pelo montador (assembler). O montador traduz diretamente uma instruo da forma textual para a forma de cdigo binrio. sob a forma binria que a instruo carregada na memria e interpretada pelo processador. Programas complexos so normalmente estruturados em mdulos. Cada mdulo compilado separadamente e submetido ao montador, gerando diversos mdulos em cdigo objeto. Estes mdulos so reunidos pelo ligador (linker), resultando finalmente no programa executvel que carregado na memria. O conjunto de instrues de uma arquitetura se distingue atravs de diversas caractersticas. As principais caractersticas de um conjunto de instrues so: tipos de instrues e operandos, nmero e localizao dos operandos em instrues aritmticas e lgicas, modos de endereamento para acesso aos dados na memria, e o formato dos cdigos de instruo. 2.3 2.3.1 Dispositivos de E/S Entrada e Sada

Para que se possa desfrutar da rapidez e flexibilidade de um computador, no basta saber que ele pode armazenar na memria os programas e dados que desejamos processar e nem que ele pode executar mais de um milho de instrues por segundo. preciso que o programa que temos escrito, por exemplo, em uma folha de papel e os dados a serem manipulados por ele sejam inseridos no sistema, caractere a caractere, incluindo os espaos em branco, sinais de pontuao e smbolos de operaes matemticas. Para realizar estas tarefas necessrio um meio qualquer que faa esta comunicao homem-mquina. Da mesma forma que se necessita de comunicao com a mquina, tambm preciso comunicao no sentido contrrio (mquina-homem), de modo que o usurio possa entender os resultados de um processamento. Os dispositivos responsveis pela entrada/sada so tambm denominados de perifricos (instalados fora do ncleo principal CPU/MP ficam na maioria das vezes prximos, na periferia). O funcionamento dos dispositivos de entrada/sada em um computador geralmente caracterizado pela existncia de diversos elementos que, embora realizem o mesmo tipo de funo, possuem caractersticas diversas. Desta forma, costuma-se integrar os diversos elementos que cooperam no processo de entrada e sada num subsistema, parte do sistema de computao. Um subsistema de I/O deve ser capaz de realizar duas funes: 33

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

o receber ou enviar informaes ao meio exterior; o converter as informaes (de entrada ou de sada) em uma forma inteligvel para a mquina (se estiver recebendo) ou para o usurio (se estiver enviando). Os perifricos que compem o subsistema de I/O possuem diferentes caractersticas, como, por exemplo, velocidade de operao e taxa de transferncia das informaes. Na Figura 15 esto ilustradas algumas caractersticas dos principais perifricos de I/O.

Figura 15 Dispositivos de Entrada e sada

Devido s diferenas, a ligao entre os dispositivos de I/O e a CPU no realizada direta e individualmente. Uma ligao direta aconteceria se houvesse uma ligao direta entre CPU e teclado, por exemplo. Na prtica, a CPU se conecta a dispositivos que realizam a traduo e a compatibilizao das caractersticas de um (perifricos de I/O) para outro (CPU), alm de realizar outras tarefas de controle. Estes dispositivos costumam ser chamados de interface de I/O, porm, h outros nomes como controlador, canal e adaptador. Independente do nome a ser empregado, a funo a mesma: compatibilizar as diferentes caractersticas de cada perifrico e da CPU/MP, permitindo um fluxo correto de dados em uma velocidade adequada a ambos os elementos sendo conectados. H duas maneiras bsicas de se realizar a transmisso/recepo de dados entre perifricos/interfaces e interfaces/CPU: o Transmisso serial: a informao transmitida/recebida bit a bit; o Transmisso paralela: a informao transmitida/recebida em grupos de bits de cada vez. A velocidade de transferncia de dados de um perifrico geralmente muito menor que a da CPU. No eficaz conectar os perifricos ao barramento do sistema (local), pois isto reduziria a velocidade da comunicao entre CPU e MP. Alm disso, cada perifrico tem uma velocidade diferente, por exemplo, o teclado muito mais lento que o disco. 34

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Desta forma, no utilizado um nico caminho, mas vrios, ligados ao barramento de expanso. Os perifricos de I/O utilizam diferentes tamanhos de unidades de transferncia de dados (alguns transferem 1 bit, outros 1 byte enquanto outros podem enviar/receber centenas ou mesmo milhares de bits num nico bloco de transferncia). Da mesma forma, os fabricantes adotam diferentes tamanhos de palavras de dados. Todos estes aspectos garantem ser necessrio o emprego de um dispositivo intermedirio na ligao da CPU/MP a um perifrico de I/O. Estas interfaces podem servir a ligao de um nico dispositivo (vdeo) ou vrios (USB). Uma interface ou um controlador , em geral, responsvel pelas seguintes tarefas: a) Controlar e sincronizar o fluxo de dados entre CPU/MP e o perifrico; b) Realizar a comunicao com a CPU, inclusive interpretando suas instrues (sinais de controle) para acesso fsico ao perifrico; c) Servir de memria auxiliar para o trnsito das informaes entre os componentes (buffer de dados); d) Realizar algum tipo de deteco e correo de erros durante as transmisses. A utilizao de um buffer interno pelas interfaces um fator fundamental para a compatibilizao de velocidades diferentes entre o barramento do sistema e suas linhas externas. 2.3.2 Conexes de perifricos de entrada e sada padres

Grande parte das placas-me dos microcomputadores atuais incorporam os circuitos de controle dos principais perifricos de entrada e sada, porm ainda encontram-se casos que os mesmos so ligados a placas auxiliares (conectadas em slots do barramento de expanso). A conexo com o teclado, por exemplo, diretamente na placa-me h muito tempo, enquanto que o controle de vdeo passou h pouco tempo ser incorporado, porm, pode-se ainda instalar uma placa auxiliar de vdeo em slots. As principais conexes de entrada e sada do micro so o monitor, teclado, porta paralela e portas seriais. Cada um destes possui uma especificao diferente de pinos e conectores especficos, sendo neles ligados os mais diversos perifricos. O mouse, que no considerado perifrico padro de entrada, h muito tempo vem sendo utilizado, portanto, deve-se saber como e onde podemos conect-lo. As portas de comunicao so utilizadas para que o micro possa se comunicar com perifricos externos e at mesmo outros micros. 2.3.3 Monitor

Os monitores eram inicialmente utilizados para exibir apenas caracteres (modo caractere ou modo alfanumrico) em uma nica cor (geralmente um fsforo verde, algumas vezes branco ou ainda laranja). Dessa forma, o que trafegava na interface entre 35

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

computador e monitor eram apenas cdigos em bits (geralmente ASCII) que representavam os caracteres que seriam exibidos. Na interface esses cdigos digitais eram decodificados e transformados em sinais analgicos (sinais de vdeo) com os pontos que formariam cada caractere. Cada caractere possua poucos atributos, podendo apenas destacar brilho, exibir piscante ("blink") e reverso. Cada caractere requer apenas 7 bits no cdigo ASCII (ou 8 bits, no ASCII estendido) mais um bit para cada atributo (brilho normal x realado, normal ou piscante, normal ou reverso). Posteriormente, foram desenvolvidos monitores grficos (pixel oriented) em cores. Nesses monitores, a imagem passou a ser constituda, no mais por caracteres de uma s cor que podiam ser tratados como cdigos ASCII, mas agora por pontos individualmente produzidos e transmitidos para a tela e que vistos em conjunto formam a imagem grfica. Cada um desses pontos (chamados pixels - picture elements) passou a ter diversos atributos, entre eles a cor. Cada cor exibida precisa ser identificada por um cdigo, bem como pelos bits de atributo (um bit por atributo para cada ponto). Considerando apenas o atributo de cor, se tivermos 16 cores, sero necessrios 16 = 24 cdigos e, portanto sero necessrios 4 bits para identific-las individualmente. Sendo 256 cores, sero 256 = 28, portanto 8 bits e assim por diante, at a chamada "true color" com 64 milhes = 232 cores exigindo 32 bits. Tambm em termos de resoluo (nmero de pontos de imagem por tela) as exigncias cresceram muito. Quanto mais pixels maior resoluo, mas tambm maior nmero de bits a serem transmitidos em cada tela. A quantidade de informaes que passou a trafegar entre computador e monitor aumentou de forma extraordinria, exigindo novas solues de projeto para evitar que a exibio de informaes na tela se transformasse em um "gargalo" (bottleneck) para o desempenho do sistema. A soluo para esse problema veio com o desenvolvimento de interfaces mais elaboradas, possibilitando maior taxa de transmisso de informaes (throughput), bem como pela utilizao de verdadeiros processadores de imagem (interfaces dotadas de memria local e de processadores especializados para processamento grfico). Dessa forma, o computador passou a transmitir primitivas grficas (informaes codificadas que eram transformadas em imagem grfica definida em pixels apenas no processador grfico da interface). O processo de refresh tambm passou a ser atribuio somente do processador de vdeo, no havendo necessidade do processador principal (o processador do computador) reenviar uma imagem que no sofresse alteraes. Mais ainda: o processo de envio das modificaes de uma imagem passou a ser feito por diferena, isto , o processador principal transmite apenas o que mudou e o processador de vdeo se encarrega de alterar a imagem de acordo. De uma forma bastante simplificada, podemos calcular aproximadamente quantos bytes devem ser transferidos entre computador e interface para carregar uma determinada tela, pela seguinte expresso: 36

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Modo

Modo caractere: n de colunas x n de linhas x n de bytes por caractere grfico: n de colunas x n de linhas x n de bytes por pixel.

2.3.4 Teclado O teclado ainda o perifrico de entrada mais utilizado. Desde o incio de sua utilizao em micros, o nmero de teclas vem aumentando, comeando pelo teclado do PC original com 84 teclas at os dias de hoje com 101teclas ou mais. Utilizam em sua maioria o padro QWERTY US-Internacional, porm a ABNT j padronizou um layout de teclas (baseado no QWERTY, porm com caracteres a mais como a cedilha e uma melhor posio dos acentos grficos) para ser usado com palavras da lngua brasileira. Para sua ligao a placa-me do micro, utilizam basicamente dois padres: o DIN de 5 pinos e o mini-DIN com at 6 pinos, introduzido pelo PS/2. Pode-se ainda utilizar adaptadores, caso a placa-me no possua conector para um tipo especfico de teclado. Com o objetivo de diminurem o risco de L.E.R. (Leso por Esforo Repetitivo) em usurios, foram criados teclados ergonmicos. Outra maneira de diminuir o risco de leses a utilizao de um apoio de punho de material emborrachado na base do teclado. 2.3.5 Porta paralela

A porta paralela permite que dados saiam do micro diretamente para um dispositivo externo byte a byte. Ela utiliza a comunicao paralela, que apesar de serextremamente rpida e segura, est sujeita a rudos; extremamente rpida e segura est sujeita a rudos, deste modo no pode ser usada para comunicar dispositivos muito longe um do outro. A porta paralela tradicional unidirecional, permitindo apenas que dados sejam enviados pelo micro ao perifrico. A interface da porta paralela constituda de um conector de 25 pinos (DB-25) fmea, enquanto as impressoras que utilizam interface paralela possuem um conector Centronics de 36 pinos fmea. Para a ligao deve ser utilizado um cabo com um conector DB-25 macho em uma ponta e um conector Centronics macho na outra extremidade. A Figura 18 mostra os conectores de cabos paralelos.

Figura 16 Conectores de cabos paralelos

Existem basicamente 3 (trs) modos de operao das portas paralelas: SPP (Standard Parallel Port): este o modo de operao padro, unidirecional com transferncia mxima de 150 KB/s; EPP (Enhanced Parallel Port): introduziu o modo bidirecional e aumentou a taxa de transferncia, podendo alcanar taxas de transferncia de 2MB/s, porm na prtica 37

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

alcana 800KB/s. Necessita de cabo com blindagem especial, conhecido como bidirecional ; ECP (Extended Capabilities Port): possibilita na prtica taxa de 2MB/s, pois utiliza compactao automtica de dados e utiliza DMA. De maneira semelhante a EPP deve utilizar cabo com blindagem especial. Os circuitos de controle tanto da porta paralela, quanto das portas seriais vm atualmente na placa me. Dessa forma, pode-se alterar o modo de operao da porta paralela atravs do SETUP. Os conectores chegam at a parte traseira do micro para conexo atravs de adaptadores, com exceo da porta paralela em placas super IDE, que a conexo diretamente na placa. O uso tpico da porta paralela a conexo do micro com a impressora.

2.3.6 Portas seriais As portas seriais realizam a comunicao serial, enviando os dados bit a bit ao invs de palavra por palavra. Isso faz com que a comunicao seja mais lenta e propensa a erros, por outro lado, menos fios so necessrios para ligar transmissor e receptor e a distncia entre eles pode ser grande. Existem dois tipos de comunicao serial: sncrona e assncrona. No primeiro tipo h um canal para transmisso de dados e um para o sincronismo, que mostra ao receptor onde comea e termina cada conjunto de dados que est sendo transmitido no canal de dados. Na comunicao assncrona, utilizada nos computadores, o mesmo canal que transmite os dados responsvel pelo sincronismo, enviando sinais de incio e fim do conjunto de dados. Na porta serial do micro geralmente conecta-se o mouse, muito embora cada vez surjam mais aplicaes em que a porta serial utilizada, como conexes micro micro, de agendas eletrnicas, de cmeras digitais e modem externo. A porta serial mais lenta que a paralela, pois alm de enviar dados bit a bit, ela necessita de bits extras para o incio e fim do conjunto de dados e ainda bits para os mecanismos de deteco e correo de erros. Fisicamente, as interfaces seriais podem apresentar 2 conectores: 9 pinos (DB-9) ou 25 pinos (DB-25), ambos com conectores macho e fmea. Em geral, o micro tem 2 portas seriais, uma com conector DB-9 macho, onde se liga geralmente o mouse, que possui um conector DB-9 fmea, e outra com conector geralmente DB-25 fmea, que fica na maioria dos casos disponvel. Com relao conexo de mouse, existe um tipo chamado mouse de barramento que no conectado a porta serial do micro e sim a uma porta prpria. Chamado tambm de mouse PS/2, utiliza o mesmo conector mini-DIN de 6 pinos utilizado tambm nos teclados. Este conector pode vir diretamente na placa-me, ou sendo nela ligado atravs de um adaptador. A Figura 25 mostra conectores min-DIN. 38

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

2.3.7

Universal Serial Bus (USB)

Universal Serial Bus (USB) um tipo de conexo "ligar e usar" que permite a conexo de perifricos sem a necessidade de desligar o computador. USB 1.1 O padro 1.1 foi lanado em 1998 para corrigir problemas encontrados no padro 1.0. Ao ser lanado o padro USB 1.1 trouxe uma srie de vantagens, pois graas a uma interface nica, a tarefa de conectar diversos tipos de aparelho ao computador tornou-se mais fcil, e aumentou a diversificao de tipos de perifricos, porm tinha como um grande ponto fraco a baixa velocidade na transio de dados (1,5 a 12 Mbps), elevado em considerao as portas seriais, mas muito deficiente em relao a outros tipos de barramentos como o SCSI (80 a 160 Mbps) e o FireWire, principal concorrente cujo o maior desenvolvedor era a Apple. At ento a baixa transio no era um agravante para as aplicaes da poca, mas medida que o uso crescia aumentava a necessidade de taxas maiores na transferncia de dados entre um dispositivo e o computador, prejudicando o uso de equipamentos como HDs removveis, gravadores de DVDs externos, e scanner de alta resoluo tornando-se nesse necessrio o upgrade do padro. USB 2.0 O padro USB 2.0 foi lanado em abril de 2000 com a velocidade de 480 Mbps, o equivalente a cerca de 60 MB por segundo. O conector continuou sendo o mesmo da verso anterior, totalmente compatvel com dispositivos que funcionam com o USB 1.1, mas nesse caso com a mesma velocidade de transferncia reduzida do padro 1.1. Isso ocorre porque o barramento USB 2.0 tentar se comunicar velocidade de 480 Mbps. Se no conseguir, tentar a velocidades mais baixas at obter xito. Outra novidade importante que, a partir dessa verso, os fabricantes poderiam adotar o padro em seus produtos sem a obrigatoriedade de pagar uma licena de uso da tecnologia. Esse foi um fator importante para a ampliao de novos perifricos que usam a tecnologia e o barateamento desses perifricos. O lanamento do USB 2.0 tambm trouxe outra vantagem: o padro FireWire foi padronizado principalmente para trabalhar com aplicaes que envolvem vdeo e udio, mas como a velocidade do USB 2.0 supera a velocidade das primeiras implementaes do FireWire, ele tambm se tornou uma opo vivel para aplicaes multimdia, o que aumentou seu leque de utilidades. USB 3.0 Mantendo praticamente a mesma arquitetura e a mesma praticidade do USB 2.0, a sua designao comercial ser USB SuperSpeed.

39

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Caracteriza-se principalmente por um aumento das velocidades de transferncia que ser de 4,8 Gigabits por segundo, o equivalente a mais ou menos 614.4 MiB/segundo, e ser full-duplex (transferindo dados bidireccionalmente, capacidade semelhante s ligaes de rede).

2.3.8

Formas de comunicao entre CPU/MP e interface de I/O

H duas formas de se organizar a comunicao entre CPU, memria principal e interface de entrada/sada: por memria compartilhada (memory -mapped) e E/S (I/O) isolada. No primeiro caso, a memria principal compartilhada tanto por instrues e dados comuns de um programa quanto por instrues/dados de operaes de I/O. O processo de entrada/sada com memria isolada consiste em criar um espao de memria prprio de I/O e diferente, portanto, da memria principal. A figura 16 ilustra ambas as formas de organizao da memria para comunicao com a interface de I/O.

Figura 17 Organizao da memria

Formas de organizao de memria para comunicao com interface de I/O Com memria compartilhada, basta haver no barramento de controle uma nica linha de leitura (read) de escrita (write), visto que a memria a mesma e, portanto, somente poder ocorrer em cada instante uma operao de leitura/escrita para CPU/MP ou uma para CPU/E-S. No caso da memria isolada necessrio que haja um sinal de identificao no topo de operao, sempre que um endereo for colocado no barramento, para saber se o mesmo de I/O ou no. Os microprocessadores da famlia Intel e similares, por exemplo, usam mais comumente a tcnica de memria isolada do que a de memria compartilhada. Os endereos de I/O isolados so chamados portas (ports). No caso dos microprocessadores h em geral uma conveno que os endereos de I/O podem ter 8 ou 16 bits. Com 8 bits so endereados dispositivos localizados na prpria placa principal (me), como controlador de tempo (timer) e o interface de teclado. Com 16 bits so endereados os dispositivos externos, como vdeo e controladores de disco. O mtodo de I/O isolada tem a vantagem de no utilizar espao da memria principal, deixando-a toda para outras aplicaes, mas tem a desvantagem de s ser utilizado com instrues especiais de I/O (no caso dos microprocessadores Intel, so 40

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

usadas apenas as instrues IN, INS, OUT e OUTS). Alm disso, tambm foram desenvolvidos sinais especiais de controle para o espao de I/O. Por outro lado, o mtodo de memria compartilhada tem a vantagem de no necessitar de qualquer instruo especial, ou seja, qualquer instruo que utilize a memria principal se aplica tambm a I/O. Mas tem a desvantagem de ocupar parte do espao de memria principal para o uso de entrada/sada.

2.3.9

Endereos de I/O para as portas de comunicao padro

Para a comunicao com os perifricos de entrada/sada, o processador precisa programar os circuitos de apoio perifricos da placa me (chipset). Essa comunicao realizada atravs de uma rea distinta e independente, chamada rea de I/O. A rea de I/O nos processadores compatveis com o padro x86 de 64KB, ou seja, h 65535 endereos (0000h a FFFFh) que so utilizados pelo processador para se comunicar com algum circuito perifrico (ligado ao barramento). Para exemplificar os endereos de I/O Base, vamos utilizar a comunicao do micro com a impressora a fim de que alguma informao seja impressa. A comunicao realizada pela porta paralela, que normalmente usa o endereo 378h. Dessa forma, quando o micro quer enviar algum dado a impressora, ele simplesmente joga esse dado par a o endereo de I/O 378h, sendo posteriormente lido e interpretado pela impressora. Todos os perifricos de entrada ou sada utilizam um endereo de I/O para a comunicao com o processador. As portas de comunicao utilizam endereos de entrada e sada geralmente padro, sendo mostrados na tabela abaixo. Tabela 2 Endereos das portas de comunicao do padro PC

Tanto as portas de comunicao serial quanto as paralelas utilizam um buffer para o envio das informaes. Inicialmente, as informaes a serem enviadas devem ser copiadas para o buffer para aps serem transmitidas no canal (abstrao do cabo de transmisso). Quando ocorre o recebimento das informaes, elas chegam diretamente ao buffer, sendo aps repassadas a CPU. 2.3.10 Formas de realizao de entrada/sada Durante a execuo de um programa, por diversas vezes a CPU se depara com a necessidade de enviar ou receber dados de algum dispositivo perifrico. Para tanto, da mesma forma que acontece com a comunicao CPU/MP necessrio que a CPU 41

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

indique o endereo correspondente ao perifrico desejado, pois h sempre mais de um perifrico ligado a um sistema de computao. Cada perifrico conectado ao sistema de computao possui um endereo, denominado de endereo de I/O (port number). Conforme a quantidade de bits que tenha sido estabelecida no projeto do sistema para definir os endereos de I/O teremos o limite de perifricos que podem ser conectados ao sistema. O acesso acesso da CPU a um perifrico obtido atravs do barramento do sistema e da respectiva interface do perifrico. H 3 mtodos distintos de efetuar operaes de entrada e sada: o Entrada/sada por programa; o Entrada/sada com emprego de interrupo; o Acesso direto a memria (DMA Direct Memory Access). 2.3.11 Entrada/sada por programa Por esse mtodo, a CPU executa diretamente instrues de I/O, enviando e recebendo dados da interface de I/O. Cada instruo serve para uma ao tpica, como: examinar o estado de uma interface, realizar a operao de I/O com a interface (enviar ou receber dados). Na entrada/sada por programa toda a transferncia de dados entre a CPU e o dispositivo de E/S controlada pelo programa que o processador executa. A CPU solicita o incio da transferncia de dados controladora e depois a CPU fica testando o estado do dispositivo para verificar se a operao de E/S terminou. Assim, a CPU fica em um loop de espera e teste (polling). A grande desvantagem deste mtodo consiste no uso intenso de CPU. Como tem que manter um loop de execuo para diversas atividades (por exemplo, verificar o estado de uma interface, se este completar uma operao e estiver com um dado disponvel), ocorre um desperdcio de uso em detrimento de atividades mais importantes. Neste mtodo de I/O, uma soluo para compatibilizar as diferentes velocidades entre o processador e o perifrico justamente o loop de interrogao do estado do perifrico, no se devendo enviar o dado enquanto ele no estiver pronto para receb-lo. 2.3.12 Interrupes Na utilizao de I/O por interrupo a CPU no fica continuamente interrogando sobre o estado de um dispositivo; ao invs disso, funciona da seguinte forma: a) A CPU emite uma instruo de I/O para a interface e, como no dever receber uma resposta imediata, em vez de ficar continuamente verificando o estado do perifrico, a CPU desvia-se para realizar outra atividade (provavelmente executar um outro programa), suspendendo a execuo do programa que requer I/O; 42

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

b) Quando a interface estiver pronta para enviar os dados do perifrico a CPU, ela avisa a CPU atravs de um sinal de interrupo. Chama-se interrupo porque realmente o sinal interrompe a atividade corrente da CPU para que esta d ateno ao dispositivo que a interrompeu; c) A CPU inicia ento as rotinas de I/O requisitadas. Uma interrupo consiste em uma srie de procedimentos que suspendem o funcionamento corrente da CPU, desviando sua ateno para outra atividade. Quando esta outra atividade concluda, a CPU retorna execuo do ponto que estava antes de ser interrompida. Existem basicamente dois tipos de interrupo: o Internas: Geradas pela execuo de uma instruo, como por exemplo uma diviso por zero, overflow, cdigo de operao invlido, tentativa de acesso a uma rea de memria protegida ou inexistente, etc. o Externas: Causadas por um sinal externo CPU. Geralmente ativada devido a uma interface de E/S que est avisando que um determinado perifrico deseja a ateno para transferir dados. A deteco de uma interrupo faz com que o processador transfira o controle para uma rotina de tratamento de interrupo ("interrupt handler"). A rotina de tratamento de interrupes faz o processador executar as seguintes aes: 1. Identificar o tipo de interrupo; 2. Detectar qual o dispositivo que sinalizou (interrompeu); 3. Executar as aes apropriadas (que dependem do dispositivo), 4. Retornar ao ponto do programa em que estava quando iniciou o atendimento interrupo. Para que o processador possa executar esta rotina, ele deve conhecer o endereo de memria onde ela est armazenada. Alguns computadores mais simples utilizam uma nica rotina para o tratamento de todas as interrupes sendo que esta rotina esta armazenada em um endereo definido da memria. Para aumentar a versatilidade, a maioria dos sistemas utiliza vetores de interrupes, que armazenam o endereo da rotina especfica para o tratamento de cada interrupo. Aps a CPU receber o sinal de interrupo, ela deve terminar a execuo da instruo corrente e salvar todo o contexto de execuo (valores de registradores como PC e ACs, entre outros). A operao de armazenamento do contexto necessria para que quando a CPU terminar a rotina de tratamento de I/O, ela possa retornar ao ponto correto, com os valores de execuo dos registradores corretos. Desta forma, quando pressionamos uma tecla no teclado, o prprio teclado gera um pedido de interrupo, fazendo com que o processador pare o que esteja fazendo, receba os dados, prosseguindo aps com o processamento normal das atividades. Os microprocessadores da famlia Intel possuem apenas uma entrada para interrupo externa, o que muito pouco, pois permite que se conecte apenas um 43

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

perifrico de E/S ao micro. A soluo encontrada foi utilizao de um circuito controlador de interrupes, capaz de gerenciar at 8 pedidos de interrupo (IRQ0 IRQ7). Cada linha de interrupo est conectada a um perifrico distinto, no podendo dois perifricos compartilhar a mesma IRQ. Com apenas 8 pedidos de interrupo, as linhas disponveis foram rapidamente preenchidas e no projeto do AT o nmero de IRQs foi aumentado, adicionando-se um segundo controlador de interrupes conectado em cascata ao primeiro controlador. Essa conexo foi realizada utilizando a IRQ2, disponibilizando 15 IRQs para uso, sendo este esquema utilizado at hoje. Os perifricos configurados para a IRQ2 foram automaticamente reconfigurados pelo chipset para a IRQ9. A tabela XX ilustra o mapa de IRQs externas geralmente utilizadas em um PC. Convm ressaltar que os perifricos podem ser configurados para IRQs diferentes das constantes na tabela. Tabela 3 - Ilustra o mapa de IRQs externos

Pode-se observar que esta modalidade de realizar operaes de I/O melhorou o desempenho dos sistemas, mas ainda apresenta algumas desvantagens. Embora a CPU no necessite mais interrogar o estado de disponibilidade de um perifrico, ela continua gastando tempo para executar o programa de I/O e para efetivar a transferncia de dados (salvar o contexto). 2.3.13 Acesso direto memria Para o acesso a dados da memria, o meio a ser utilizado deve ser o processador. Porm esta regra teve de ser revista, pois imagine a carga na memria de um arquivo de 100KB; teramos vrias instrues do tipo: Leia do disco e armazene no endereo X a 44

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

serem realizadas pelo processador, o que demandaria muito tempo alm atrasar o processamento de outras informaes. Para esses casos, o perifrico pode usufruir um circuito de apoio chamado controlador de DMA (Direct Memory Access Acesso Direto Memria). Este circuito j existia no PC original, onde at 4 perifricos (ligados aos canais DMA0 a DMA3) que poderiam ser conectados ao controlador de DMA, melhorando o desempenho, pois enquanto uma transferncia memria via DMA estivesse sendo realizada, o processador poderia estar executando outra tarefa. De modo geral, a tcnica DMA consiste na realizao da transferncia de dados entre uma determinada interface e a memria principal, praticamente sem a interveno da CPU. Esta se limita a solicitar a transferncia para o dispositivo denominado controlador de acesso direto a memria (DMA controller), o qual realiza por si s a transferncia. A CPU fica liberada para realizar outras atividades, quando o controlador termina a transferncia, ele sinaliza para a CPU atravs de uma interrupo. Da mesma forma que as IRQs, o nmero de canais de DMA do PC original era insuficiente. Assim no projeto do AT, o controlador de DMA foi substitudo por outro de 16bits (o original era de 8 bits), permanecendo o controlador antigo, por questes de compatibilidade, ligado em cascata com o novo controlado pelo DMA4. A tabela 4 ilustra os endereos para acesso direto memria. Tabela 4 - Mapa de DMA no Pc.

Hoje em dia o controlador do DMA encontra-se no chipset, podendo manipular toda a quantidade de memria da mquina a mesma frequncia de operao da placa me (barramento local), liberando quase que totalmente a CPU das tarefas de transferncia de dados entre perifricos de I/O e a memria.

2.4

Barramentos

Um barramento (omnibus) um conjunto de fios, condutores etc. que operam em paralelo tal quais as pistas de uma grande avenida cuja funo interligar duas localidades ou regies geogrficas. Semelhantemente s avenidas, os barramentos so utilizados para interligar os componentes de um computador. 45

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Em verdade um barramento nada mais do que uma coleo de fios utilizada para transmitir sinais em paralelo, ou seja, simultaneamente. Em uma linguagem simples: um barramento um caminho eltrico comum entre mltiplos dispositivos. Um exemplo tpico o barramento de sistema presente em todos os microcomputadores, o qual consiste em umas poucas dezenas de fios de cobre paralelos gravados na placa me (motherboard), com conectores regularmente espaados onde sero inseridas as placas inerentes a dispositivos de E/S (I/O). Os barramentos tambm se destinam a outras funes e/ou aplicaes tais como interligar um microprocessador (CPU Unidade Central de Processamento) a um ou mais coprocessadores ou a memrias locais etc. Tambm no se pode ignorar que dentro da prpria pastilha do microprocessador existem vrios barramentos para interligar os componentes internos que o constituem. Uma aplicao tpica possibilitar que o contedo de um registrador possa ser copiado para outro registrador e vice-versa. Barramentos possuem duas principais caractersticas: A largura do barramento: nmero de bits transportados numa operao; A frequncia de operao: velocidade com que os dados so transmitidos.

2.4.1 Barramentos de expanso Para que uma simples placa de vdeo ou um H.D. possa ser utilizado em qualquer computador, independentemente do processador instalado, utiliza-se diversos modelos de barramentos de expanso. Os barramentos de expanso so disponibilizados na placa me dos micros atravs de slots (exceo do USB, Firewire e IrDA, que so diretamente conectados a placa me). Os slots nada mais so do que encaixes para que as conexes entre placas presentes no sistema computacional utilizem determinados padres de barramento. Na parte superior dos slots, encontram-se ranhuras para a conexo de placas de circuito que funcionam com a placa me. Sem as ranhuras, os micros ficariam limitados aos circuitos que estivessem permanentemente montados na placa me. 2.4.2 Os principais modelos so: ISA (Industry Standard Architecture): origina-se dos primeiros computadores IBM PC-AT. Os slots ISA so ligados em paralelo, possibilitando que uma placa seja ligada em qualquer slot. Utiliza conectores de 62 e 96 pinos. Trabalha com uma largura de barramento de 8 ou 16 bits a uma frequncia mxima de 8,33MHz; VLB (VESA Local Bus): desenvolvido pelo grupo Vdeo Eletronics Standard Association, para ser ligado ao barramento local dos 486. Trabalha na velocidade do processador, porm limitado a 3 slots. Compatvel com o ISA adaptou-se bem a vdeo e 46

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

disco rgido, entretanto como era muito direcionado ao 486, entrou em desuso com o declnio do 486. Utiliza conectores de 168 pinos, largura de barramento de 32bits a uma frequncia mxima de 50MHz (limitado pelo barramento local); PCI (Peripheral Component Interconnect): desenvolvido pela Intel para ser seu prprio padro de barramento, matou o VLB. Diferente do VLB, no ligado diretamente ao barramento local, mas atravs de uma ponte (bridge parte do chipset). No compatvel com o ISA, porm totalmente independente de processador. Possui conectores menores e ranhuras mais densamente acondicionadas que as ISA. Em geral, trabalha com slots de 32bits (existindo verses de slots para 64bits), a uma frequncia de 33MHz (usual) ou 66MHz; AGP (Accelerated Graphics Port): conector projetado especialmente para vdeo, pela Intel, que permite a uma interface de vdeo a comunicar-se diretamente com a memria RAM do computador. Fisicamente o barramento AGP conectado ao mesmo circuito que contm a ponte PCI-barramento local (norte). Utiliza largura de barramento de 32bits, operando a uma frequncia mxima de 66MHz, porm possuindo 4 modos de operao: x1, x2, x4 e x8; USB (Universal Serial Bus): um barramento onde atravs de um plugue na placa me pode-se ligar todos os perifricos externos (at 127). Passvel de cascateamento ou instalao de HUBs utiliza duas taxas de transferncia: 12Mbits e 1,5Mbits. Para muitos, no exatamente um barramento, mas uma porta serial de alta velocidade; Firewire (IEEE 1394): a ideia semelhante a do USB, porm com diferente foco: pretende substituir o padro SCSI (Small Computer System Interface). Com taxa de transferncia maior que o USB (200 a 400Mbits), poder num futuro prximo ser utilizado na conexo de discos rgidos; IrDA (Infrared Developers Association): um barramento sem fios, onde a comunicao feita atravs de luz infravermelha. Pode-se ter at 126 perifricos conversando em uma mesma porta. Comum em notebooks pode estar diretamente na placa me ou conectado a porta serial. Existem dois padres, com taxas de transferncia de 115200bps e 4Mbps; Junto com a evoluo dos computadores, o desempenho dos barramentos tambm evolui. Novos barramentos e/ou melhorias nos atuais esto sempre surgindo. Convm lembrar que no desempenho de um computador o que conta no apenas o desempenho do processador ou o barramento local (interligao com a memria). Esses so fatores de extrema importncia, porm todos os auxiliares contribuem para o desempenho geral. 2.4.3 Barramentos em microcomputadores componentes

Para ilustrar o conhecimento sobre a organizao dos barramentos locais e de expanso, vamos tomar como exemplo um microcomputador. A Figura XX mostra o esquema de barramentos de um microcomputador atual. 47

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

Figura 18 Barramentos de um microcomputador

A comunicao dos barramentos de expanso com o local realizada por um circuito chamado ponte (no necessariamente apenas uma, mas podendo conter tambm buffers), que faz parte dos circuitos de apoio da placa me (chipset). Os componentes on-board, normalmente so ligados ao barramento local, por uma extenso do barramento de expanso, chamado barramento X (eXtension bus). Assim, mesmo que o perifrico esteja integrado placa me, ele tratado como se estivesse conectado a um dos slots de expanso. 2.4.4 Conexes de perifricos de entrada e sada padres As principais conexes de entrada e sada do micro so o monitor, teclado, porta paralela, portas seriais conexo USB entre outras. Cada um destes possui uma especificao diferente de pinos e conectores especficos, sendo neles ligados os mais diversos perifricos. 48

UNICERP CENTRO UNIVERSITRIO DO CERRADO. CURSO: SISTEMAS DE INFORMAO 3 PERODO NOTURNO. DISCIPLINA: ORGANIZAO & ARQUITETURA DE COMPUTADORES. PROFESSOR: PAULO CESAR CAIXETA. E-MAIL: paulocaixeta@gmail.com MSN: paulocaixeta@gmail.com

BIBLIOGRAFIA BSICA HENNESSY, J. L.; PATTERSON, D. A. Arquitetura de Computadores: Uma abordagem Quantitativa. 3 edio. Rio de Janeiro:Campus, 2003. BIBLIOGRAFIA COMPLEMENTAR Tanenbaum, A. Computer Arquitecture. 3 edio. So Paulo:Prentice Hall, 1998. Tanenbaum, A. Organizao Estruturada de Computadores. 4 edio. So Paulo:Prentice Hall, 1999. Stallings, W. Computer Organization and Architecture. 4 edio. So Paulo:Prentice Hall,1996. Stallings, W. Arquitetura e Organizao de Computadores. 5 edio. So Paulo:Prentice Hall, 2002. Organizao e projeto de de Computadores: A Interface hardware/Software, David A. Patterson, John L. Hennessy - Campus 2005 Arquitetura e Organizao de Computadores Quinta Edio - William Stallings Prentice Hall - 2002 Analysis and Design of Digital Systems with VHDL - Allen Dewey - PWS Publishing Company - 1997

49