Registra Dores

download Registra Dores

of 92

Transcript of Registra Dores

1

1.1CONCEITOS

1.1.1Processamento Dados

Processar dados consiste em manipular informaes iniciais com o objetivo de produzir outras informaes, outros dados ou os mesmos dados sob uma nova forma, tarefa esta desenvolvida desde os primrdios da civilizao em todas as atividades.

1.1.2 Computador

um equipamento constitudo de componentes eletrnicos e mecnicos criado com a finalidade de executar operaes repetitivas com grande velocidade.

Com o avano do computador que passou a executar as tarefas repetitivas, o processamento de dados passou a ser chamado de processamento eletrnico de dados e quase como um acrnimo, voltou-se a chamar de Processamento de Dados.

A necessidade de se criar uma mquina com as caractersticas do computador nasceu do crescente volume de dados a serem manipulados e demandada de tempo para a obteno dos resultados, bem como a preciso destes.

O termodado considerado como o elemento bsico para a gerao de uma informao, entretanto, umainformaoque acabamos de produzir pode ser considerada apenas como um dado inicial para gerao de outra informao.

Os avanos tecnolgicos, principalmente da microeletrnica e da mecnica, permitem o desenvolvimento de dispositivos capazes de coletar, armazenar e processar dados cada vez mais rapidamente.

Figura 1.2 - Fluxo bsico de um Processamento de Dados

1.1.3Programa

Conjunto de ordens, escrito em uma linguagem inteligvel pelo computador, elaboradas e executadas sistematicamente com objetivo de realizar uma determinada tarefa. Cada ordem considerada como uma instruo para cada computador, que as executa da forma e seqncia tal qual esto descritas no programa.

1.1.4Sistema de Computao

um conjunto de componentes integrados que realizam algum tipo de operao sobre os dados com o objetivo de se obter um determinado resultado.

1.1.5 A Linguagem do Computador

O computador possui uma linguagem prpria, formada por conjuntos especficos dezeroseuns( Linguagem Binria ou de Mquina) para a qual todos os caracteres da linguagem humana so convertidos de modo que o computador possa entender os comandos que desejamos que ele execute .

A Linguagem de Mquina a forma de se representar os dois estados (ligado/desligado) da corrente eltrica utilizados nos circuitos eletrnicos dos computadores. a nica linguagem inteligvel pelo computador.

1.1.6Linguagem de Programao

Como a Linguagem de Mquina de difcil compreenso e manipulao, foram desenvolvidas linguagens intermedirias entre a da mquina e a do homem; estas linguagens denominam-se Linguagens de Programao. Dizemos que quanto mais prxima da linguagem humana for a linguagem de programao ela dealto nvel, caso contrrio consideradobaixo nvel.

Os programas so geralmente, escritos em linguagem de programao e convertidos para linguagem de mquina atravs de programas especficos.

1.1.7Hardware, Software e Firmware

Chamamos deHardwareao conjunto formado pelos circuitos eletrnicos e partes eletromecnicas de um computador. DeSoftwareao conjunto de qualquer tipo de programa , em qualquer linguagem de programao , que seja utilizado pelo computador.Firmware,a integrao dos dois componentes anteriores, por exemplo, um conjunto microinstrues armazenadas em memria ROM.

1.2HISTRICO

Todo profissional deve conhecer, mesmo que basicamente, o histrico da evoluo e o desenvolvimento da sua ferramenta de trabalho.

A idia de se criar um dispositivo que auxiliasse nos clculos cada vez mais esternos e complicados com os quais o homem se deparava a cada vez que tentava progredir, data de muito tempo .

1.2.1Dispositivos Mecnicos (500 a.C. - 1880)

O primeiro equipamento para efetuar clculos matemticos, data do sculo Ac, inventado pelos babilnicos, foi obaco.

O baco foi utilizado tambm pelos romanos e pelos chineses que mantm em uso at os dias de hoje no ensino da aritmtica bsica.

A evoluo do baco s ocorreu no sculo XVII(1642), proporcionada pelo trfego e matemtico francs Blaise Pascal que construiu um contador mecnico que realizava operaes aritmticas de soma e subtrao atravs de rodas e engrenagens dentadas. Cada engrenagem continha 10 dentes que, aps um giro completo, acarretava o avano de um dente de uma segunda engrenagem, exatamente o mesmo princpio de um odmetro de um automvel e base das calculadoras mecnicas.

O alemo Gottfried Leibniz, tambm filsofo e matemtico aperfeioou o invento de pascal. Construiu uma calculadora que executava as quatro operaes bsicas da aritmtica , sendo que multiplicao e diviso eram realizados atravs de somas e subtraes sucessivas , respectivamente .

A primeira utilizao prtica de dispositivos mecnicos para computar dados automaticamente data de incio de 1801, quando Joseph Jacquard introduziu no processo de tecelagem, o controle das mquinas atravs de instrues registradas em orifcios em cartes perfurados.

Um dos mais importantes trabalhos pioneiros em computao por processos mecnicos foi realizado pelo ingls Charles Babbage, que em 1823, foi contratado pelo governo ingls para produzir uma calculadora programvel, capaz de gerar as tabelas de navegao para a Marinha Britnica. Na poca, as tabelas eram escritas manualmente por diversos funcionrios que tinham duas tarefas bsicas:

1) Realizar sucessivas e repetidas operaes de adio e multiplicao;

2) Escrever os resultados.

Foi constatado que, devido natureza permanente e repetitiva do processo realizado por pessoas, ocorriam erros (tanto nos clculos, quanto no registro dos resultados).

Babage projetou dois tipos de mquina: amquina de diferenas e a mquina analtica.Amquina de diferenasutilizava o processo matemtico de diferenas finitas - s realizava operaes de adio e subtrao e como a mquina de Pascal, possua um conjunto de registradores mecnicos, cada um contendo rodas com dgitos que serviam para armazenar um valor decimal. A mquina era movida por um motor a vapor, que realizava uma srie de etapas e finalmente apresentava um resultado. Alm disso, ela possua um dispositivo de gravao em uma chapa de cobre, uma espcie de agulha que marcava os valores na chapa, a qual servia de matriz para posterior impresso em papel. Este processo de gravao pode ser considerado como pioneiro em termos de dispositivos de armazenamento secundrio.

Amquina analticaera, na realidade, um computador mecnico capaz de armazenar 100 nmeros de 20 algarismos e que possua um programa que permitia modificar o funcionamento da mquina, fazendo - a realizar diferentes clculos. Por esta capacidade, pode - se dizer que esta mquina foi a percussora dos primeiros computadores eletrnicos, inclusive no seu mtodo de introduzir instrues por cartes perfurados.

Embora inteiramente mecnica, a mquina analtica de Babbage possua essencialmente os mesmos componentes que um computador atual, quais sejam:

Memria Constituda de rodas dentadas de contagem;

Processador: Com uma unidade capaz de realizar as quatro operaes aritmticas (operando com pares de registradores) e unidades de controle, constituda de cartes perfurados convenientemente para realizar esta ou aquela operao;

Sada: Para impressora ou para um dispositivo perfurado de cartes.

O projeto final de Babbage, que pretendia calcular valores com 50 algarismos, nunca chegou a se tornar realidade fsica, por ser avanado demais para uma poca em que a tecnologia no dispunha da devida capacidade para a fabricao dos dispositivos necessrios ao funcionamento das engrenagens.

O projeto de Babbage tambm fez ressaltar alguns detalhes Histricos, como o tempo estimado para execuo de adio - um segundo - e de multiplicao - um minuto - e que o programa criado para fazer a mquina funcionar foi desenvolvido por uma mulher chamada Ada ovelace, que pode ser, ento considerada a primeira programadora de computadores da histria e que surgiu de nome para uma linguagem moderna de programao ADA desenvolvida para o departamento de defesa dos EUA.

1.2.2 Dispositivos Eletromecnicos (1880-1930)

Com a inveno do motor eltrico no fim do sculo passado, surgiu uma grande quantidade de mquinas de somar acionadas por motores eltricos, baseados no princpio de funcionamento da mquina de Pascal.

Em 1889, Herman Holleritrh desenvolveu o carto perfurado para guardar dados e tambm uma mquina tabuladora mecnica, acionada por um motor eltrico, que contava classificava e ordenava informaes armazenadas em cartes perfurados. A sua inveno utilizava na apurao do censo americano de 1890 pelo Bureau of Census dos EUA, que contratou Hollerith. O trabalho durou apenas dois anos e meio, o que manualmente levaria 10 anos

O sucesso de Hollerith o conduziu a criao da Computer Tabulating Machine Company, em 1896, que em 1914 juntou-se a mais duas e surgiu a tabulating Recording Corporation. Em 1924, Thomas Watson mudou o nome da empresa para IBM - International Business Machine.

Os cartes perfurados foram utilizados at a dcada de 80, como um dos principais elementos de entrada de dados dos computadores.

A primeira mquina de calcular eletrnica foi criada pelo engenheiro alemo Konrad Zuse, Chamada Z1. Baseava-se em rels eletromecnicos que atuavam como chaves, abrindo e fechando automaticamente o fluxo de corrente eltrica, o que levou utilizao de nmeros binrios em vez de algarismos decimais, utilizados nas engrenagens da mquina de Babage.

Com o aperfeioamento, a mquina passou a ter um teclado como dispositivo de entrada e l6ampadas como sada. Em 1941, Zuse concluiu o Z3 que era controlado por um programa, sendo talvez o primeiro computador operacional do mundo.

O modelo Z4 foi utilizado por militares alemes para auxiliar no projeto de avies e msseis durante a Segunda Guerra, os bombardeiros aliados destruram a maior parte dos computadores construdos por Zuse, restando apenas o registro histrico dessas invenes.

Outro inventor desta poca foi o americano Howard Aiken, fsico e matemtico, que desenvolveu o computador chamado MARK I, utilizado os princpios de Babage, ou seja, com engrenagens decimais. O MARK I foi concludo em 1944, era capaz de armazenar 72 nmeros, realizar uma soma em seis segundos e uma diviso em doze, e as instrues eram introduzidas na mquina atravs de fita de papel perfurada. Est mquina tornou-se obsoleta antes de operar comercialmente em escala, pois a eletrnica j comeava a substituir os componentes eletromecnicos pelas vlvulas, muito mais rpidas.

1.2.3Componentes eletrnicos (1930-1945)

Os sistemas de armazenamento e chaveamento utilizado nos computadores eletromecnicos desgastavam-se com o tempo, tornando-os lentos e no muito confiveis os seus resultados.

Esses problemas foram solucionados com a utilizao davlvula, (inventada em 1906) que permitiam maior velocidade de processamento e armazenamento, pois no necessitavam de partes mecnicas para realizar as operaes.

Desta poca, destacam-se dois cientistas, o ingls Alan Turing que desenvolveu um computador com a finalidade nica de decifrar cdigos militares alemes, portanto uma mquina de emprego especfico, denominado Colossus. O outro foi John Macuchilyn, um dos construtores do ENIAC, que foi reconhecido como o que deu incio computao eletrnica.

A evoluo dos computadores eletrnicos est dividida em gerao que so caracterizadas de acordo com o elemento bsico utilizado na fabricao do processador central, como veremos a seguir.

2.GERAES DE COMPUTADORES ELETRNICOS

2.1Primeira Gerao: Computadores vlvula

O ENIAC (Eletrnic Numeral Integrator And Computer) foi o primeiro computador eletrnico digital construdo para emprego geral, isto , podia-se alterar o tipo de clculo a ser realizado com os dados, mudando-se o programa. Esta mquina foi projetada por John Macuchlyn e John P. Eckert, de 1943 a 1946 e funcionou at 1955.

O projeto foi proposto ao exrcito americano com a finalidade de auxiliar nos clculos de elaborao das tabelas balsticas (alcance e trajetria dos tiros de armas), que na poca empregava mais de 200 pessoas e gastavam muito tempo para sua confeco.

O ENIAC era uma mquina de propores gigantescas, contendo mais de 17.000 vlvulas e 800.000 metros de cabos; pesava cerca de 30 toneladas e consumia uma grande quantidade de energia eltrica, alm do consumo com vlvulas, que queimavam com grande freqncia devido ao calor.

Como s ficou pronto aps a guerra no foi utilizado para o seu propsito inicial. Esta mquina era decimal e no binria, sendo cada dgito representado por 10 vlvulas, e sua programao era feita atravs da combinao de cabos em tomadas diferentes e de arranjo de chaves (cerca de 6.000), tarefas que consumiam vrios dias, porm, a sua velocidade de processamento era alta, realizava 10.000 operaes por segundo.

Nesta mesma poca, John von Neumann, colaborador no projeto ENIAC iniciou o projeto do inicialmente chamado IAS (Institute for Advanced Studies da Universidade de Princeton) que era um aperfeioamento do ENIAC. Enquanto Macuchlyn e Eckert iniciaram a construo do EDVAC (Eletronic Discret Variable Automatic Computer), este projeto no foi concludo pois os dois cientistas deixaram a Universidade para criarem sua prpria empresa , que mais tarde tornou-se a Univac que, uniu-se Burroughs e atualmente denomina-se UNISYS.

Jhon Von Neumann assume o desenvolvimento do EDVAC e define uma arquitetura de computadores com programa armazenado que utilizada at os dias atuais.

Em 1949, a univac de Macuchlyn e Eckert, construiu o primeiro computador para fins comerciais, O UNIVAC II e a srie 1110, voltada para computao cientfica.

Em 1953, a IBM lana seu primeiro computador eletrnico de programa armazenado, o IBM-701, com memria de 2K palavras de 36 bits, destinado ao processamento cientfico, e em seguida os IBM-702 e 709, com 4K palavras de memria, para fins comerciais.

2.2Segunda Gerao : Computadores transistorizados

Os cientistas do Bell Laboratries produzem em 1947 otransistor. Dispositivos que permite controlar a conduo de corrente eltrica de circuito eletrnico (ligar/desligar) com uma velocidade muito maior, menor custo, menor tamanho e menor consumo de energia do que as vlvulas. Esse dispositivo tornou-se a base de todos os computadores e da industria eletrnica digital.

A NCR foi a primeira empresa a lanar o computador transistorizado, seguido da RCA. Esta Gerao teve grande participao da IBM com seus computadores para fins comerciais e cientficos, por exemplo, a srie 7000 e grande sucesso comercial que foi o IBM-1401.

Marcaram, tambm esta gerao, o surgimento da DEC (Digital Equipment Corporation), que tambm lanou mquinas eficazes tecnologicamente, com nvel superior ao famlia VAX e, o aparecimento de linguagens de programao com nvel superior ao Assembly.

2.3 Terceira Gerao: Computadores com circuitos integrados

Em 1958 a Texas Instruments Co, atravs de Jack Kilby, criou o que seria o primeirocircuito integrado, interligando dois circuitos em pea de germnio. Pouco depois, Robert Noyce integrou vrios circuitos em pastilha de silcio, que provou ter muita vantagem sobre o germnio.

Surgia uma nova gerao de computadores mais poderosos e menores, devido a integrao em larga escala (LSI-Large Scale Integration) Proporcionada pelos circuitos integrados.

A IBM, nesta gerao, consolida sua posio como a maior fabricante no mercado de computadores , pois utilizou-se dos novos avanos tecnolgicos da microeletrnica e lanou a srie 1360. Este sistema incorporou diversas inovaes que se tornaram um marco histrico em termos de computao, dentre elas, podemos citar:

a) O conceito da famlia de computadores, em vez de mquina individual. Este conceito permite que o fabricante oferea o mesmo tipo de mquina, ou seja, mesma arquitetura, linguagem de mquina semelhante etc, porm com diferentes capacidades e preos , o que garantia uma maior quantidade de clientes . Como por exemplo, a famlia 360 foi lanada com cinco modelos diferentes. A figura 1.3 mostra um quadro comparativo da famlia 360.

b) Emprego da tcnica demultiprogramao, que permite que vrios programas compartilhem da mesma memria principal e o mesmo processador, dando a impresso ao usurio de que vrios programas esto sendo executados simultaneamente.

c) Elevada capacidade de processamento, com palavras de 32 bits e ciclo de instrues de at 250 nanosegundos e grande capacidade de armazenamento na memria principal, 16 Mbytes, valores considerados surpreendentes para a poca (1964).

d) Memria Principal orientada a Byte, ou seja, em grupo de oito Bytes. Esta caracterstica tornou-se padro no mercado, mantendo-se at hoje; exceto nos computadores cientficos.

Surgiram tambm, nesta gerao, os microcomputadores da Dec, com circuitos integrados, memria principal orientada a byte e palavra de 16 bits, o PDP-11 e o seu sucessor, o VAX-11 que teve grande sucesso no ambiente universitrio.

CARACTERSTICA DA FAMLIA IBM 360

CaractersticaModelo 30Modelo 40Modelo 50Modelo 65Modelo 75

Capacidade mxima de MP (Bytes)64 Kb256 Kb256 Kb512 Kb512 Kb

Ciclo do Processo em micros segundos10,6250,50,250,2

Quantidade mxima de canais (E/S)33466

Bytes movidos da MP para UCP por ciclo1241616

Figura 1.3 - Caractersticas da Famlia IBM/360

2.4Quarta Gerao: Computadores que utilizam VLSI

VLSI (Very Large Scale Integration) consiste na tcnica de armazenar, em um mesmo recipiente, milhes de microcomponentes eletrnicos. Este dispositivo denominadochip(pastilha), constitui a base da estrutura da todos sistemas de computao modernos.

Esta tcnica de miniaturizao de componentes eletrnicos deu incio ao desenvolvimento dos microcomputadores ou computadores pessoais, isto por volta de 1972.

2.5 Evoluo dos Microcomputadores

Em 1971, a Intel Corporation produziu a primeira CPU em um nico chip de circuito integrado, com cerca de 2.300 transistores e palavra de 4 bits, chamada de INTEL - 4004. Esta CPU foi desenvolvida para equipar uma calculadora. Em seguida, foi lanado o microprocessador 8008, com 8 bits de palavra , 16K de memria e cerca de 3.500transistores, tambm com a mesma finalidade.

Em 1973, a Intel lana o 8080, o primeiro microprocessador de emprego geral do mundo. O 8080 possua cerca de 5.000 transistores, palavras de 8 bits, podia enderear at 64 Kbytes de memria e conjunto de 78 instrues de mquina.

Com este lanamento, a Intel assume o mercado de microprocessadores, vendendo milhes de exemplares e desenvolvendo novos produtos, at o lanamento do seutopde linha, o Pentium, com cerca de 3,5 milhes de transistores em um nico chip.

A figura 1.4 mostra um quadro comparativo entre as principais caractersticas dos microprocessadores de maior mercado

Quadro Comparativo de Caractersticas de Microprocessadores

MicroprocessadorData deLanamentoPalavra deDadosEndereamento Mximo de MP

Intel 4004197141 K Bytes

Intel 80801973864 K Bytes

Intel 80881980161 K Bytes

Intel 8028619821616 M Bytes

Intel 803861985324 G Bytes

Intel 804861989324 G Bytes

Intel Pentium1993324 G Bytes

Motorola MC 68001974864K Bytes

MC 6800019793216 M bytes

MC 6801019833216 M Bytes

MC 680201984324 G Bytes

MC 600301987324G bytes

MC 680401989324 G bytes

Zilog Z801974864 K bytes

Zilog Z801979161M Bytes

Figura 1.4 - Quadro comparativo de caractersticas de microprocessadores.

Outros fabricantes tambm desenvolveram microprocessadores, citados acima, como a Motorola, que equipa os microcomputadores Machintoshi(Aplle) e Amiga(da Comodore).

A Zilog, constituda pelos dissidentes da intel, deixou o mercado de microcomputadores de emprego geral e s fabrica microprocessadores especficos para controle de processos .

EXERCCIOS:1 Conceitue os termos dados e informao, no que se refere a seu emprego em processamento de dados.

2 Caracterize as etapas principais de um processamento de dados.

3 Conceitue um sistema.

4 O que voc entende por um programa de computador?

5 Conceitue os termos Hardware e Software.

6 O que e para que serve uma linguagem de programao de computador?

7 Quem desenvolveu a mquina analtica?

8 Qual foi a caracterstica marcante do censo de 1890 dos EUA, no que se refere a contabilizao dos dados levantados?

9 Qual foi o propsito que conduziu ao desenvolvimento do primeiro computador

eletrnico do mundo?

10 Qual foi o primeiro microprocessador de 8 bits lanado comercialmente? Qual o nome da empresa proprietria?

11 Quais eram as caractersticas bsicas da arquitetura proposta pelo Dr. Jhon Von Neumann?

3.COMPONETES BSICOS DE UM SISTEMA DE COMPUTAO

3.1DESCRIO DOS COMPONENTES

Um sistema de computao constitudo de um conjunto de componentes integrados que tem por finalidade manipular dados de forma a se obter informao.

No capitulo anterior, vimos os conceitos dehardwareesoftware, que formam basicamente um sistema de computao.

Para que um computador possa realizar uma determinada tarefa necessrio a integrao destes elementos.

Uma tarefa deve, primeiro ser escrita em uma linguagem (de programao) que possa ser convertida para linguagem de mquina, pois s esta entendida pelo hardware do computador e, logicamente, nesta linguagem, sero executadas todas as operaes a ele submetidas.

A converso transforma o programa em vrias instrues que sero executadas uma a uma e, as armazenem na memria. Tambm devem ser introduzidos na memria, os dados a serem manipulados pelo programa.

A introduo dos programas e dados em um computador pode ser feita atravs do teclado ou disco, por exemplo, a estes equipamentos chamamos de dispositivos ou perifricos de entrada.

O processador central - CPU (Central Unit Processing), localiza, interpreta e executa as instrues sobre os dados encontrados na memria e armazena o resultado, tambm na memria.

Os resultados de um processamento podem ser exibidos ao usurio, numa forma inteligvel para ele, em um monitor de vdeo impresso em papel, ou armazenado em outro formato para posterior utilizao; como por exemplo, em discos magnticos. Aos dispositivos utilizados para estas finalidades, denominamos dispositivos ou perifricos de sada.

A figura 2.1 mostra, esquematicamente os procedimentos e os componentes bsicos envolvidos n processo de dados.

Figura 2.1 - Componentes Bsicos de um Computador.

Unidade Central de Processamento - o principal componente do sistema. Responsvel pela execuo e controle de todas as operaes executadas por todos os componentes do computador.(UCP ou CPU

Memria(Local onde os dados e os programas so armazenados para imediata execuo (memria Principal - MP) ou para uso posterior (memria secundria - MS), conforme veremos no prximo captulo.

Perifricos ou dispositivos de Entrada ou Sada(Basicamente permitem a comunicao entre o sistema e o mundo externo, ou seja, introduzir dados e/ou programas e guardar e/ou exibir resultados. Tambm chamamos os perifricos que armazenam dados de memria secundria.

Nos captulos seguintes, esses componentes sero vistos detalhadamente.

3.2REPRESENTAO DAS INFORMAERS NO COMPUTADOR

3.2.1Bit, Caracter, Byte e Palavra

Os computadores so equipamentos eletrnicos digitais. Portanto, toda informao a ser armazenada, movimenta e processada internamente, deve ser transformada para o formato binrio. Os circuitos eletrnicos digitais permitem que represente os valores de voltagem eltrica de seus componentes com os dois dgitos do sistema binrio (0 e 1).

O principio de funcionamento dos circuitos digitais totalmente bsico na lgica digital oubooleana, que admite apenas dois estados para um nico elemento (SIM/NO, LIGADO/DESLIGADO, ABERTO/FECHADO etc.).

Em vista disso, teremos como menor unidade de informao que pode ser armazenado em um computador, o conhecido bit (Binary Digit), que admite apenas dois valores:0e1.Um bit nos permite representar apenas duas informaes, ou smbolos, um de cada vez, e a linguagem humana possui vrios smbolos (Caracteres); por essa razo , as informaes manipuladas pelo computador so codificadas em grupo ordenados de 8 bits, chamadosbyte(BinaryTerm). O nome Byte foi institudo pela IBM e, utilizado por praticamente todos os fabricantes como unidade de armazenamento e transferncia de dados. Os caracteres podem ser codificados com outras quantidades de bits diferentes de 8, atravs de outros cdigos de representao de caracteres, porm , neste trabalho , usaremos sempre o conceito de byte.

Vejamos um Exemplo:

Com 8 bits possvel representar um grupo de 256 smbolos diferente, como o caso dos caracteres padres utilizados pela maioria dos computadores.

Como cada bit pode assumir dois valores e utilizamos 8 bits , ento, teremos:

2xonde:

2 o nmero de valores assumidos por um bit e,

X a quantidade de bits utilizados

28= 256 combinaes diferentes, cada uma representando um caracter.

Por conseguinte, com 3 bits, podemos representar 8 diferentes smbolos , com 5 bits, 32 smbolos; com 9 bits, 512 smbolos e assim por diante.

Nas memrias dos computadores as operaes de armazenamento e recuperao de informao so realizadas byte ou palavra a palavra (grupo de bytes), unidades de transferncias. Portanto, costume mencionar a quantidade de mercadoria do computador em bytes. Porm, um byte armazena apenas um caracter e precisamos de muito mais para escrever um simples nome, como por exemplos, logicamente, precisamos de quantidades maiores de memria para efetuar qualquer trabalho.

Para representar valores maiores, - que aumentam a cada dia - utilizaremos os smbolos de grandezas mtricas, com alguma modificao, visto que nos computadores as indicaes numricas so tratadas em potncia de 2 (Sistema binrio, lembra-se ?).

Vejamos alguns exemplos:

8 bits(1 byte

1024 bytes (potncia de 2 1.024 = 2(Kilobytes ou KB 10)

1024 KB ou 1.024 x 1.024 = 1.048.576 bytes(Megabytes ou MB

Gigabytes(1.024 MB = 1.048.576 x 1024 = 1.073.741.824 bytes

1024 x GB = 1.073.741.824 x 1024 = 1.099.511.627.776 bytes(Terabytes ou TB

Um outro conceito importante para o armazenamento e transferncia de dados entre a MP e a UCP apalavra.A definio de palavra no atende rigorosamente a todos os fabricantes de computadores, pois cada um adota o conceito baseado em seus componentes internos e outro, de uma forma mais abrangente.

De modo geral, usam-se dois valores diferentes: um relacionado unidade de armazenamento - o Byte (oito Bits) e outro para indicar unidade de transferncia e processamento - a palavra (na qual emprega-se quantidades mltiplas do byte - 16 (2 bytes) ou 32 (4 bytes, so os valores mais usados ).

Atualmente, os micros Pentium e similares, utilizam palavra com 32 bits, enquanto que mquinas com processador RISC, da DEC, empregam 64 bits.

Conceitos aqui citados sero mais bem detalhados nos captulos seguintes.

3.2.2Arquivos e Registros e Campos

J sabemos que uma tarefa efetuada por um computador, a execuo de um programa (conjunto de instrues) sobre os dados e, que estes dois elementos devem estar armazenados na memria principal para que haja o processamento.

Os conceitos utilizados para arquivo, registro e campos em processamento de dados, tm exatamente o mesmo significado e a mesma aplicao para a Administrao, ou mesmo para a vida prtica.

Tanto os programas quanto os dados so identificado por grupos distintos de armazenamento denominado arquivo.O arquivo , portanto, um conjunto organizado de dados de um mesmo tipo ou para uma mesma aplicao. Por exemplo, o arquivo dos produtos de uma loja, contendo informaes individuais de cada produto, ou contendo as instrues de um programa.

Um arquivo formado por um conjunto de itens individuais de informao (como cada produto, no exemplo), denominadosregistros.Assim, um arquivo que possua 500 produtos, ter 500 registros.

O registro constitudo de dados elementares, denominadoscampos, que armazenam caractersticas de cada registro armazenado no arquivo (como o cdigo de um produto, no exemplo).

Para melhor entendermos os conceitos citados acima, vamos fazer uma analogia a um sistema manual de controle de produtos de uma loja de produtos de limpeza possua 5.000 itens diferentes em seu estoque e necessite controlar a entrada de produtos. Vejamos como isso acontece na prtica:

As informaes sobre os produtos so escritos em uma ficha padronizada, uma para cada produto(registro), estruturada em campos separados para cada um dos dados elementares sobre o produto, tais como: cdigo do produto, nome do produto, fornecedor, preo unitrio etc;

As fichas so guardadas em uma gaveta (arquivo), somente para produtos, que sero identificados com um nome que lembre o seu contedo.

A figura 2.2 Exemplifica a estrutura de um arquivo de dados.

3.3CLASSIFICAO DE SISTEMAS DE COMPUTAO

No existe um consenso no mercado em relao classificao dos computadores. no entanto, uma descrio bsica de cada tipo de mquina comumente utilizado atualmente nos ajudar a identificar as principais nomenclaturas.

Microcomputador -O nome relativo ao seu tamanho e sua capacidade de processamento; surgiu com advento dos microprocessadores nos meados da dcada de 70. O micro, por ser utilizado por uma nica pessoa de cada vez, ganhou ttulo de PC (Personal Computer).

Existem, hoje em dia vrias categorias de microcomputadores, baseadas em seus tamanhos e seu grau de portabilidade. Eles podem ser do tipo de mesa ou torre (Desktop), em geral, constitudo por 3 partes separadas:unidade de processamento(UCP, acionadores de discos e memria),monitor de vdeo e teclado. Outros microcomputadores, ainda menores so conhecidos porNotebooks(tamanho e formato parecidos com um livro) ePalmtopsque tm tamanho pouco maior que a da palma da mo.

Podemos citar como exemplos de micros, os das marcas IBM, Compaq e Machintoshi. Estas marcas fabricam o microprocessador e os demais componentes, no entanto, encontramos com mais freqncia no mercado, micros com processadores de um fabricante e os demais componentes fabricados por vrios outros.

Os principais de microprocessadores so Intel, AMD e Cyrix.

Estao de Trabalho - um micro projetado para efetuar tarefas mais pesadas nas reas industriais, Cientificas e gerais. Estas mquinas possuem maior velocidade de processamento e capacidade de memria, requeridas por tarefas com CAD (Computer Aided Design), CAM (Computer Aided Manufacturing) e composio, manipulao e apresentao de imagens de altssima resoluo.

Como exemplo, podemos citar: DECstation 5000/33, IBM RS/6000

Minicomputadores -So mquinas empregadas para atender simultaneamente a demanda de execuo de programas de vrios usurios. Para suportar mltiplos usurios e programas, requer maior velocidade /capacidade de memria e uma grande potencialidade para manipular diversos perifricos.

Exemplos para essas mquinas so: VAX-11/780, AS400 da IBM

Computadores de Grande Porte -So computadores projetados para manusear grandes volumes de dados e executar simultaneamente programas de uma grande quantidade de usurios e gerenciar unidades de armazenamento em grande escala. Processos controlados por estes tipos de mquinas operam com tempo de resposta muito rgidos, na casa de dcimos de segundos.

Exemplos tpicos so sistemas IBM 3090 e o Control Data CDC 6600.

Supercomputadores -So computadores construdos para atender um propsito especfico; realizar grandes quantidades de clculos matemticos com grande velocidade, o que exige muito do processador e pouco dos demais componentes. So empregados em tarefas como: Previso do tempo, simulao de situaes que gerariam riscos a pessoas, modelagem tridimensional. Estas mquinas so capazes de realizar dois bilhes de operaes matemticas por segundo.

Exemplos deste tipo de mquina so o Cray Y-MP e o IBM 90221.

3.3.1EXERCCIOS

1 Explique o que voc entende por memria. Cite exemplos de memria na vida prtica (evite usar exemplo de memria de computador).

2 Descreva as funes de uma Unidade Central de processamento.

3 Faa o mesmo para a memria de computador.

4 Para que servem os dispositivos de entrada e sada de um computador. Cite alguns exemplos.

5 Imagine uma empresa qualquer. Cite exemplos de arquivos e registros a serem criados para o armazenamento das informaes que circulam na tal empresa.

6 conceitue o bit, o byte e a palavra.

7 Em que um supercomputador difere de um computador de grande porte?

8 Quais so as principais caractersticas que definem um microcomputador?

9 Qual a diferena entre linguagem de alto nvel e linguagem de mquina?

4.SUBSISTEMA DE MEMRIA

A memria um componente do Sistema do Computador, cuja funo guardar (armazenar) informaes (na forma de bits) e recuper-las usando desejado. Seu funcionamento baseia-se nas aes deescrita(transferncia de bits de outro componente do Sistema; por exemplo: da UCP de um disco) e deleitura(transferncia de bits da memria para a UCP, disco, etc.).

A ao de armazenar consiste em guardar uma informao (ou um conjunto de informaes) na memria e a operao denominadaescritaougravao (write). Esta operao ser sempre uma sobreposio de contedos da memria.

Recuperar uma informao (ou um conjunto de informaes) da memria copi-la para uma outra posio na memria ou para outro componente do sistema. Esta operao denominadaleitura(read).

A ao de armazenar ou recuperar uma informao em uma memria denomina-seacesso.

No sistema de computador existe uma variedade grande de tipos de memria, cada uma com sua finalidade e caracterstica especificas, mas que interligam e se integram para o funcionamento do sistema.

A figura 4.1 mostra uma pirmide hierrquica dos tipos de memria, mais mencionados, representando suas capacidades de armazenamento, velocidade, tempo de uso e custo.

Figura 4.1 - Pirmide Hierrquica de tipos de memria

4.1Registradores

J sabemos que a UCP responsvel pela execuo das instrues (parte de um programa), manipulao dos dados e pela produo dos resultados. Porm, para isto ocorrer, tanto o programa quantos dados, que esto armazenados na memria principal, devem ser transferidos para UCP (uma cpia deles). A execuo , na realidade, tarefa da UAL (Unidade Aritmtica e Lgica), Componente da UCP.

Os registradores so unidades de memria que armazenam, temporariamente, na UCP, os dados a serem manipulados por uma instruo ou seus resultados parciais ou finais de um processamento . Sendo um resultado parcial, armazenado em um registrado, este ser transferido para a memria principal (externa a UCP).

O registrador o tipo de memria com maior velocidade de transferncia no computador, menor capacidade de armazenamento (armazena um nico dado) e maior custo devido a sua tecnologia de construo . Ele uma memria se semicondutores, portanto, voltil, ou seja, para o seu funcionamento necessrio que haja corrente eltrica.

4.2Memria Cache

Durante a execuo de uma instruo, a UCP realiza um ou mais acessos memria principal, para buscar a instruo e transferi-la para um dos registradores, para transferir os dados para a UAL ou para armazenar o resultado de operao que se encontra em um registrador.

O tempo de acesso memria principal muito maior que o tempo de execuo de uma instruo, devido a diferena de velocidade entre a UCP e a MP (Memria Principal). Isto causa ociosidade da UCP, pois esta precisa esperar que a instruo e os dados sejam transferidos para a UCP.

A CACHE uma memria construda com tecnologia similar da UCP, consequentemente, com velocidade de transferencia compatvel, reduzindo consideravelmente o tempo de espera da UCP por instrues e dados. A cache est inserida entre a UCP e a MP; no mesmo CHIP da UCP (cache interna). A sua capacidade de armazenamento baixa, se compara com a MP, atualmente 8 Kbytes.

A UCP acessa, primeiramente, a CACHE, para buscar a informao requerida. Caso encontre, a transferncia; realizada com grande velocidade; caso contrrio, a informao ter que ser transferida da MP para a cache e da para a UCP, aumentando o tempo de acesso.

As memrias cache externas (localizadas na placa me) so constitudas de circuitos eletrnicos, portanto tambm volteis. A tecnologia empregada; a SRAM (Static RAM) - a corrente eltrica que mantm as informaes armazenadas na cache contnua - no sendo necessrio a recarga peridica de seus circuitos (refreshing), como ocorre na memria principal. Esta tecnologia possui custo elevado, causa da sua utilizao baixa capacidade de armazenamento.

4.3Memria Principal

A memria principal, ou memria primria, formada por dois tipo a de memria: MemriaRAM(Randomic Acess Memory) - memria de acesso aleatrio - o acesso a qualquer uma de suas posies consome o mesmo tempo e memriaROM(Read Only Memory) - memria somente de leitura - os dados nela contidos so gravados de fbrica, no sendo possvel alter-los , portanto, uma memria no voltil.

s informaes gravadas na ROM constituem basicamente um programa denominado IPL (Initial Program Load), que contm rotinas, especficas de cada processador, necessrias ao funcionamento do computador, tais como: contagem echeckeletrnico damemria RAM, as conexes da UCP com as interfaces que a interligam aos perifricos e a leitura do Sistema Operacional do disco para a memria RAM. Este programa executado, automaticamente, assim que ligamos o computador.

Ao final da execuo do I.P.L e carga do Sistema Operacional est pronto para ser utilizado, o que, em ambientes de microcomputadores chamamos deboot. Isto devido ao Sistema Operacional D.O.S (Disk Operation System) utilizar o conceito de setor de boot nos discos que possuem o seu formato.

A memriaRAM a memria bsica do computador. Nela so armazenados, o programa a ser executado e seus dados, que a UCP busca, instruo por instruo, portanto, nesta memria podem ser executadas tanto as operaes de leitura quanto asa de gravao . Doravente, quando nos referimos memria principal ou primria, estaremos tratando apenas da RAM, onde podemos, tambm, gravar dados.

AMP construda, tambm, de semicondutores, portanto, voltil e com grande velocidade de acesso; abaixo, porm, dos registradores e da cache. Devido a sua finalidade, possui grande capacidade de armazenamento. Atualmente, os microcomputadores possuem memria principal de 4, 8, 16 e 32 MB (Mega Bytes); embora estes possam enderear at 4 Giga Bytes. Computadores de grande Porte costumam funcionar com memria principal de at 512 Megabytes.

A tecnologia utilizada nas memrias RAM , Geralmente, a Dram (Dinamic Ram) - a corrente eltrica neste tipo de memria depende da carga de capacitores, que com o tempo vo perdendo a carga, necessitando de peridicas recargas (refreshing) para manter o valor do dado armazenado inalterado.

O refreshing ocorre, geralmente a cada 2 ms (milisegundos 10-3seg), deixando a Ram indisponvel por um longo tempo , visto que esta operao demora muito mais que um acesso . Portanto, podemos constatar que em memriasDramo tempo de acesso acrescido do tempo de refreshing, o que causa a sua baixa velocidade de transferncia de dados quando comparadas aos registradores e a memria cache.

4.4Memria Secundria

A memria secundria, tambm chamada de auxiliar ou memria de massa, tem a finalidade de armazenar de forma permanente as informaes (dados e programas) necessrios ao processamento. Conseqentemente, a memria secundria no - voltil e possui maior capacidade de armazenamento que a memria principal.

A memria secundria do computador pode ser constituda por diferentes dispositivos perifricos, tais como: discos magnticos rgidos (Hard Disk HD), discos e Fitas, so eletromecnicos e pem esta razo, seus tempos de acesso so relativamente altos, se comparados com os dos outros tipos de memria.

Por exemplo, os discos rgidos possuem tempo de acesso na faixa de 10 mil segundos, o CD-ROM trabalha com tempos entre 200 e 800 mil segundos, enquanto as fitas, ainda mais lentas, podem gastar at segundos para ler um arquivo.

Atualmente, os discos rgidos de microcomputadores possuem capacidade de armazenamento variando entre 600 Mbytes e 3 Gbytes. os CD-ROM tm capacidade de 600 MBYTES, nas fitas magnticas a capacidade de armazenamento depende do comprimento e da densidade de gravao da fita .

4.5Memria Principal

Neste item estudados a organizao e funcionamento bsico da memria principal, tendo em vista que j citamos suas principais caractersticas, no item 3.1.3. Sero descritas as operaes de escrita e leitura .

4.5.1Organizao da Memria Principal

A memria principal de qualquer computador constituda como um conjunto de Nclulas(unidades de armazenamento). Todas as clulas de uma memria principal possuem o mesmo tamanho, ou seja, so formadas pela mesma quantidade de bits, geralmente so organizadas em grupos de 8bits(1byte).

Cada clula possui umendereoque identifica individual e seqencialmente a sua posio dentro do conjunto da memria principal. Cada clula armazena um grupo de M bits, que representa o seucontedo(pode ser dado ou parte dele, uma instruo ou parte dela). a figura 3.2 ilustra a definio de clula de memria principal.

Uma informao pode ocupar mais de uma clula de MP (no caso de um dado booleano, ocupar apenas um bit - 0 ou 1), porm o seu endereo ser o da primeira clula ocupada. A quantidade de clulas que podem ser ocupadas por uma informao, denomina-sepalavra, que por sua vez, tambm no possui um padro de tamanho, variando conforme o fabricante e seus interesses tcnicos e comerciais.

O conceito de palavra geralmente utilizado como unidade de transferncia de dados entre a UCP e a MP, ou seja, quantos bits podem ser manipulados em um acesso.

A quantidade de bits transferida num acesso depende, tambm do tamanho do barramento de dados (elemento que transporta os bits entre a UCP e MP). Teoricamente, a MP deveria ser organizada por palavras seqncias, assim como, uma clula deveria corresponder a uma palavra, que isto no ocorre na realidade.

Por exemplo, o processador Intel 80486 possui palavra e barramento de 32 bits e cada clula de memria armazena 8bits . j o processador Pentium possui palavra de 32 bytes, clulas de 8 bits e o barramento de dados tem 64 bits.

OBS: Neste trabalho consideramos que uma clula de memria corresponde a uma palavra e representaremos endereo e contedo de uma clula em hexadecimal.

A figura 3.3 exemplifica as observaes tratadas.

Figura 3.2 Organizao bsica da memria principal

Figura 3.3 Exemplificao da observao sobre memria principal.

4.5.2Operaes com a memria Principal

A UCP realiza sobre a MP somente as operaes de leitura e gravao.

Operao de Gravao (Write) - armazenar informao na memria principal.

Operao de leitura (read) - recuperar uma informao armazenada na memria.

Para que estas operaes ocorrem, so, necessrios outros elementos que compes a ligao entre a MP e a UCP. Portanto, vamos defin-los neste item,. Ver Figura 3.4.

Barramento de dados Interliga a RDM MP, para transferncia de informaes entre a MP e a UCP. Barrramento de dados bidirecional, isto , os sinais percorrer o barramento da UCP para a MP (leitura) ou MP para UCP (escrita).(Barramento de dados formado por conjunto de fios ((por cada fio passam um dos bits da palavra de dados). Portanto , o tamanho de dados , em bits , igual ou superior ao de uma clula de memria ).

Registrador de dados de Memria (RDM) Armazena, temporariamente, a informao (contedo de uma ou mais clulas) que est sendo transferido da MP para UCP ou da UCP para a MP. Possui o mesmo tamanho do barramento de dados.(- Memory Buffer Register (MBR)

Barramento de endereos Interliga o REM MP para transferncia dos bits que representa o endereo de uma posio de memria que ser utilizada em um acesso. Este barramento unidirecional, visto que somente a Ucp aciona a MP para realizao das operaes de leitura e Gravao. Possui tantos fios quantos so os bits que representam um endereo de memria.(Registrador de memria (REM) (MAR) Registrador que armazena, temporariamente, o endereo da posio de memria que ser acessada. Possui a mesma capacidade de armazenamento, em bits, do REM e do barramento de endereos.(Barramento de controle Interliga a UCP MP para passagem de sinais de controle durante uma leitura ou gravao. Este Barramento bidirecional, pois a UCP pode enviar sinal para a MP indicando que a operao a ser realizada de leitura (read) ou de escrita (write) e a MP pode enviar sinal de WAIIT (para a UCP aguardar o trmino de uma operao).(Registrador de Instruo (RI) Registrador que tem finalidade de armazenar a instruo a ser executada pela UCP. A instruo a ser executada pela UCP. A instruo transferida da MP, via barramento de dados a RDM, para RI.(Contador de Instrues (CI)- Program Counter (PC) registrador que armazena o endereo da prxima instruo a ser executada . ele determina a seqncia de execuo de um programa. No incio do ciclo de instruo, o seu contedo incrementado (CI = CI+1) e passa a armazenar o endereo de memria da prxima instruo na seqncia.(Barramento de controle

Barramento de endereos

Barramento de dados

Figura 3.4 - Barramento de Ligao UCP - Memria Principal

4.5.3Operao de Leitura

Uma operao de leitura constituda de algumas etapas, isto , micro operaes realizadas para transferir uma informao da MP para UCP. O tempo decorrido para a realizao de todas as etapas de um acesso, denomina-setempo de acessoe o intervalo de tempo entre duas operaes consecutivas , chama-seciclo de memria .Nas memrias do tipo SRAM, o tempo de acesso igual ao ciclo de memria. J nas memrias DRAM, o ciclo de memria acrescido de tempo derefreshinge denomina-se deciclo de mquina.

Nas memrias do Tipo DRAM, o tempo de acesso ou ciclo de memria est entre 50 e 100 ns (nonosegundos - 10-9seg) e nas SRAM, em torno de 30 ns.

Independente do tipo de memria principal, o tempo de acesso a qualquer posio ser sempre igual; o que caracteriza oacesso aleatrioda MP.

Seqncia de passos de gravao.

1. A Unidade de Controle (UC) transfere o endereo desejado (C6A7) do registrador de instrues (RI) para o registrador de endereos a de memria (REM);

2. O endereo desejado contido no REM,, colocado no barramento de endereos ;

3. A UC envia para a memria Principal (MP) um sinal de leitura (READ), atravs do barramento de controle;

4. A MP identifica a posio de Memria, cujo endereo est contido noREMe transfere o seu contedo para o RDM atravs do barramento de dados. Dai, ento, para o registrador de instrues (RI) na UCP.

Aps a leitura, os dados so transferidos para outros registradores de uso geral, onde sero processados de acordo com Instruo a ser executada pela UCP.

A figura 3.5 ilustra uma operao de leitura

AB

END. 0000

END C6A7

END. FFFF

UCP

CI

RI I

C6A7

UC

A8

Figura 3.5 Exemplo de operao de leitura

4.5.4Operao de Gravao

A operao de gravao segue procedimento similar ao da operao de leitura, diferenciando, logicamente no sentido da transferncia que da UCP para a MP.

Seqncia de passos da operao de gravao:

1.- a unidade de controle (UC). Transfere o Endereo da Primeira posio de memria disponvel (3F1A), Registrador de Instruo (RI) para o registrador de Endereos da Memria (REM);

2. - A UCP transfere o dado a ser armazenado (2B), de um Registrador de uso geral, para o RDM;

3. - A UC envia para a memria Principal (MP) um sinal de Gravao (Write), atravs do barramento de controle;

4. - O dado transferido do RDM para a posio de memria, indicada pelo endereo contido no REM.

O tempo de acesso ou ciclo de memria o tempo gasto na realizao das etapas de leitura ou gravao. Se a memria for do tipo SRAM, ao final de acesso, a memria estar pronta para atender mais acesso. Sendo memria DRAM, a UCP aguardar o tempo de realizao de um refreshing da MP.

A figura 3.6 ilustra uma operao de gravao.

Figura 3.6 Exemplo de operao de gravao

4.5.5Capacidade da Memria Principal

A capacidade da memria principal a quantidade de informao que nela pode estar contida. Como j sabemos que as informaes armazenadas esto organizadas em clulas de 8 bits (1 byte), podemos dizer que o seu tamanho em bytes.

O tamanho ou capacidade da memria principal o produto da quantidade de clulas pelo tamanho desta. Portanto, teremos:

T = N x M; onde:

Capacidade total da Mp(T

Quantidade de clulas ou endereos(N

Tamanho da clula, em bits ou bytes(M

exemplo 3.1Uma memria possui 2.048 clulas de capacidade igual a 8 bits (1 byte). Qual o total em bytes desta memria?

soluo:Se N = 2.048 clulas e M = 8 bits (1byte), ento

T= 2.048 X 8 = 16.384 bits

Resposta: Total de bits = 16.384 ou 2.048 bytes ou 2 Kbytes.

exemplo 3.2Uma memria RAM tem capacidade de armazenamento igual a 4 Kbytes e cada clula tem tamanho de 16 bits. Pergunta-se:

a) Qual a quantidade de clulas que podem ser endereadas?

b) Qual o tamanho da barra de Endereos?

c) Qual o tamanho da barra de dados?

d) Qual o tamanho do REM e do RDM?

Soluo:M = 16 bits = 2 bytes

T= 4 Kbytes = 4 x 1.024 = 4.096 bytes

a) N = T/M = 4.096/2 = 2.048 clulas

b) A barra de endereos deve possuir uma quantidade de bits capaz de enderear todas as clulas da memria RAM.

Como esta MP possui 2.048 clulas, ento a barra de endereos precisa ter, o tamanho mnimo de 11 bits, pois 211= 2.048. Quantidade de bits necessria para representar o valor 2.048 em binrio

c) Pela barra de dados trafega o contedo das clulas. Por Tanto, seu tamanho mnimo igual ao tamanho da clula, que de 16 bits.

d) O REM e o RDM devem ser de tamanhos compatveis com os seus contedos. O REM armazena endereos, logo deve ter o mesmo tamanho da barra de endereos, enquanto o RDM armazena dados, devendo ter o mesmo tamanho da barra de dados. Neste caso, RDM = 16 bits e REM = 11 bits.

Exemplo 3.3Um microcomputador possui o RDM com tamanho de 16 bits e a barra de endereos de 20 bits. Pergunta-se:

a) Qual a capacidade mxima de armazenamento desta MP?

b) Qual o tamanho de cada clula de memria?

c) Qual o tamanho da barra de dados?

d) Qual o tamanho do RI e do CI?

Soluo:Se RDM = 16 bits; barra de endereos = 20 bits e sabendo que,

RDM = Barra de dados = clula = RI e

REM = Barra de Endereos = CI.

Teremos ento:

a) Como o REM possui 20 bits e o RDM tem 16 bits, ento, N = 220clulas e M = 16 bits; dai, temos T = N x M.

T = 220x 16 = 16.777.216 bits ou T = 2 Mbytes

(1Mbyte = 1048.576 bytes) e (bits = bytes/8)

b) clula = RDM = 16 bits

c) Barra de Dados = RDM = 16 bits

d) RI = RDM = 16 bits e CI = REM = 20 bits

3.2.2 - Memrias do tipo ROM

Memria PROM - (Programable ROM), memria ROM programvel. Tipo de memria cujo contedo gravado uma vez aps o processo de fabricao (a memria construda virgem e depois gravada), no podendo ser reutilizada.

Memria EPROM - (Erasable PROM); memria prom apagvel. Aps a gravao, seu contedo pode ser apagado atravs de luz ultravioleta e gravar outra informao.

Memria EEPROM (Eletronic EPROM) ou EAROM (Eletronic Alterable Rom) - Podem ser apagadas e reprogramadas para controle da UCP. Este tipo de memria muito empregado em configuraes desetupdos micros computadores e definio de Funes das teclas para aplicativos especficos.

4.6MEMRIA CACHE

Como j foi descrito (ver item 3.1.2) a velocidade de processamento da UCP muito superior a de acesso memria principal , devido a diferena de tecnologia empregada na construo de cada um destes componentes. Isto gera perodos de espera (waite state) na UCP, at que os dados sejam transferidos da MP.

Os Projetos de memria cache baseiam-se em estatsticas de execuo de programas, avaliando-se que os acessos, geralmente, so repetidos, as mesmas palavras de memria ou palavra localizadas continuamente na memria. So os conceitos de localidade temporal e localidade especial.

Localidade Temporal - Quando um programa acessa uma palavra de memria, h uma grande probabilidade de que em breve a mesma palavra seja acessada novamente pelo Programa.

Localidade espacial - Quando um programa acessa uma palavra de memria, h uma grande probabilidade de que o prximo acesso solicitado pelo programa seja a uma palavra de endereo subseqente ou adjacente quela que ele acabou de acessar.

A figura 3.7 mostra a ligao UCP/cache/MP. (Cache interna)

Transferncia bloco por bloco de palavras

Figura 3.7 - Ligao UCP/ Cache/ Memria Principal

EXERCCIOS1 - O que voc entende por acesso memria?

2 - Quais so as possveis operaes que podem ser realizadas em uma memria?

3 Qual a diferena conceitual entre uma memria do tipo SRAM e outra do tipo DRAM?

4 Qual a funo do registrador de endereos de memria (REM)? E do registrador de memria (RDM)?

5 Descreva os barramentos que interligam UCP e MP, indicando funo e direo do fluxo de sinais de cada um.

6 Descreva passo a passo uma operao de leitura.

7 Descreva passo a passo uma operao de escrita.

5.UNIDADE CENTRAL DE PROCESSAMENTO

J sabemos que a Unidade Central de Processamento (UCP) ou simplesmente processador o principal componente do Sistema. Responsvel pela execuo e controle de todas as operaes executadas por todos os componentes do computador.

Neste captulo analisaremos o processador de uma forma mais detalhada, descrevendo suas funes bsicas:processamento(efetuada pela Unidade Aritmtica e lgica - UAL) eControle(efetuada pela Unidade de Controle - UC).

Um Programa constitudo de instruo de mquina e que deve estar armazenamento em clulas da memria principal para que seja executado pela UCP. A atuao da UCP neste processo consiste das seguintes atividades:

a) buscar uma instruo na MP (Operao de leitura);

b) Interpretar (decodificar) qual operao a instruo est indicando;

c) buscar , na MP, os dados que sero manipulados pela instruo;

d) Executar efetivamente a operao com os dados e guardar o resultado na MP;

e) reiniciar o processo buscando nova instruo na MP.

Estas etapas compem um ciclo de instruo. O ciclo de Instruo se repete at que encontre uma instruo de parada ou ocorra algum erro no programa. Ver figura 4.1

Figura 4.1 - Fluxo bsico de um ciclo de instruo

As atividades realizadas pela UCP podem ser divididas em duas grandes categorias funcionais:

Funo de processamento

Funo de Controle

5.1FUNO DE PROCESSAMENTO

Realiza as atividades diretamente relacionadas com efetiva execuo de instruo.

5.1.1Tarefas das Funes de Processamento

Operaes aritmticas (soma, subtrao, multiplicao, diviso);

Operaes lgicas (AND, OR, XOR, etc);

Movimentao de dados (MP/UCP, UCP/MP e entre registradores);

Desvios (Alterao da seqncia de execuo de instrues);

Operaes de entrada ou sada

A UAL (Unidade Lgica e Aritmtica) o principal dispositivo desta funo, sendo responsvel pela execuo de todas as operaes lgicas e aritmticas. Os demais componentes relacionados com a funo de processamento so registradores, que armazenam dados ou guardam resultados parciais a serem usados pela UAL. A interligao entre os componentes realizada pelo barramento interno da UCP.

Os registradores servem como memria auxiliar da UAL e so nmeros tpicos de cada arquitetura de UCP. Em Alguns sistemas, um desses registradores, denominadoacumulador(ACC), alm de armazenar dados, serve de elemento de ligao da UAL com os Outros elementos da UCP.

A figura 4.2 ilustra os componentes empregados na funo de processamento (um dos registradores acumulador).

Figura 4.2 - Componentes da funo de processamento

A capacidade de processamento de uma UCP, ou seja, a velocidade de execuo de um ciclo de instruo, determinada pelas operaes aritmticas que a UAL capaz de executar e pelo tamanho da Palavra que a UCP pode manipular.

Em processamento simples, a UAL s pode realizar apenas uma pequena quantidade de operaes bsicas, como soma e subtrao. Operaes mais complexas, como multiplicao e diviso, so nesses processadores, implementados por software (programa), enquanto em processadores mais poderosos, o Hardware da UAL capaz de executar diretamente as operaes de soma, subtrao, multiplicao e diviso e com muito mais rapidez.

O tamanho de palavra escolhido para UCP determinar o tamanho dos componentes (registradores e barramentos internos) ligados rea de processamento e, de certo modo, a velocidade e a capacidade de processamento do sistema.

Se uma UCP for projetada para ter uma palavra de 16 bits, como intel 8088, 8086 e Motorola 68000, por exemplo, significar que:

O ACC, demais registradores e vias de dados tero capacidade para armazenar valores de 16 bits;

A Ual somente poder efetuar operaes aritmticas e lgicas com valores representados com 16 bits

Dessa forma, para somar dois valores com 32 bits, essa operao ser realizada em duas etapas: primeiro ser acionada a 1 metade de cada valor (16 bits) e depois a parte restante.

Em outros sistemas nos quais a palavra tem 32 bits, exemplo intel 80486 e Pentium teremos:

O ACC, demais registradores e vias de dados permitem o armazenamento e transferncia de valores com 32 bits (O Pentium possui barramentos de 64 bits)

A UAL capaz de efetuar operaes aritmticas e lgicas entre valores com 32 bits.

Nesses sistemas, a soma de dois valores de 32 bits ser realizada em uma nica etapa e, evidentemente, gastar um tempo muito menor.

5.2FUNES DE CONTROLE

a funo da UCP responsvel pelo funcionamento sincronizado de todos os componentes envolvidos na execuo de uma instruo.

5.2.1Tarefas da funo de Controle

Busca e transferncia da instruo a ser executada, armazenando-a no RI (ciclo de busca ou ciclo de fetch);

Interpretao (decodificao) da instruo de modo a identificar qual a operao a ser realizada pela UAL (ciclo de instruo) e;

Gerao dos sinais de controle para ativao das atividades requeridas para a execuo da instruo identificada. Esses sinais so enviados, pela UC, aos diversos componentes internos a UCP (como a UAL) externos (como a MP e os perifricos).

A Unidade de Controle (UC) o principal dispositivo envolvido nesta funo. Alm de efetuar a movimentao de dados entre a UCP e MP ela controla o funcionamento da UAL e de vrios componentes do sistema, atravs dos sinais de controle. Ver figura 4.3

Figura 4.3 - Esquema bsico da UCP

A emisso dos Sinais de controle ocorre em vrios instantes durante o ciclo de instruo , j que este constitudo por vrios passos , como j foi visto anteriormente . os sinais possuem , de modo geral , a mesma durao , denominadaciclo de mquina, isto , cada operao do ciclo de instruo realizado em um ou mais ciclos de mquina. Podemos ter tambm, a execuo de mais de uma operao num mesmo ciclo de mquina - UCPs que empregam o sistema de execuo pipeline (arquiteturas RISC). Estes ciclos so gerados por um dispositivo conhecido como relgio ( clock) .

O relgio um gerador de pulsos eletrnicos cuja funo chamada de ciclo possui uma freqncia - quantidade de vezes que um ciclo ocorre em um segundo - que medida em Hetz (Hz) - portanto, a velocidade de execuo de ciclos de instrues depende, no somente, da quantidade de ciclos de mquina gastas, mas tambm, na durao do ciclo e de quantas operaes (passo) so realizados em um mesmo ciclo de mquina.

Atualmente, microprocessadores, como o Intel Pentium, possuem freqncia de UCP na faixa de 100 a 200 MHz, o que proporciona um ciclo de mquina bem reduzido e conseqentemente, a realizao de mais operaes num mesmo perodo de tempo.

Ao iniciar o ciclo de instruo, a UC emite o sinal de controle para a busca de uma instruo na MP e, via barramento de dados e RDM (Registrador de Dados de Memria), est armazenada no RI (Registrado de Instrues). Neste instante, a UC incrementa o contedo do CI (Contador de Instrues), para que este passe a armazenar o endereo da prxima instruo . Esta fase do ciclo de instruo denomina-seciclo de busca (fetch).O outro dispositivo envolvido na funo de controle odecodificador,que tem a finalidade de identificar por um cdigo individual.

5.3INSTRUES DE MQUINA

5.3.1Definio de Instruo de Mquina

Uma instruo de mquina um grupo de bits que indica ao processador uma operao ou ao que ele deve realizar. Essas instrues de mquina sendo diretamente interpretadas e executadas pelo Hardware so dependentes das caractersticas de uma especfica UCP, pois manipulam informaes cuja quantidade e movimentao de bits especfica da UAL, ACC, RI, CI e demais componentes.

Dentre as operaes normalmente implementadas pelos processadores, podemos citar algumas, como:

- Transferir um dado de uma clula para outra.- Realizar uma operao lgica entre dois valores.- Efetuar a soma entre dois operandos, guardando o resultado em um deles ou num terceiro operando.- Executar um desvio incondicional para outro endereo.- Parar a execuo de um programa- Adicionar 1 ao valor de um operando.- Substituir o operando pelo seu valor absoluto.- Testar uma condio.- Transferir um byte de dados de uma porta de E/S para a MP- Transferir um byte de dados da MP para uma porta de E/S.Um processador fabricado com a capacidade de realizar uma certa quantidade de operaes bsicas (Primitivas), cada operao corresponde a uma instruo de mquina que compem oconjunto de instrues(set introduction).

Atualmente, so empregadas duas tecnologias de projeto de microprocessadores:

Computadores com conjunto de instrues complexo (complex Instruction Set Computer -Cisc) e;

Computadores com conjunto de instrues reduzidas (Reduces Instruction set Computer - RISC).

OsProgramas fonte, isto , escritos em linguagem de Programao (Pascal, C, Clipper, etc.), utilizamcomandospara representar as tarefas que desejamos que o computador execute. Esses comandos no so diretamente interpretados e executados pela UCP, tendo que ser convertidos para instrues de mquina (processo chamado de compilao ou interpretao).

Por exemplo, o comando, em linguagem pascal, do tipo: X:= a * b + c - d, ser convertido , para execuo , em trs instrues de mquina (Ual s capaz de executar uma de cada vez), a saber:

1) X:= a * b, que significa multiplicar o valor armazenado no endereo de memria simbolizado por A pelo valor armazenado no endereo de memria simbolizado por b; armazenando o resultado em x;

2) X:= x + c, somar o valor de X com o valor armazenado em c; armazenar o resultado em X ( o valor de X ser destrudo);

3) X := x - d , subtrair o valor armazenado em d do valor de x; armazenando o resultado novamente em x.

5.3.2Formato de Instrues de Mquina

Uma instruo de mquina , que a partir de agora chamamos apenas de instrues , construda de duas partes , grupos de bits (campos):cdigos de operaoeoperandoA figura 4.4 mostra os formatos mais comuns de instruo de mquina.

Figura 4.4 - Formatos de Instrues de mquina

5.3.3Cdigo de Operao

a parte da instruo que especifica a operao a ser realizada pela UAL, por exemplo somar dois valores, mover de uma clula para um registrador etc.

O cdigo de operao um conjunto d bits que indica a operao a ser executada (o C.oP interpretado pelo decodificador). A quantidade de bits do cdigo de operao determina quantas instrues o processador capaz de executar.

Nos processos Intel (do 8086/88 at o Pentium), o cdigo de operao tem tamanho igual a 8 bits , portanto , seu conjunto de instrues poder ter at 256 instrues .

A decodificao a etapa inicial da efetiva execuo da operao especificada pelo C.oP, tarefa da funo de controle.

5.3.4Operando(s)

a parte da instruo que , quando existe , o seu valor binrio determina a localizao do(s) dado(s) que ser(o) manipulado(s) pela operao especificada pelo C. op

A localizao de um dado pode ser um endereo de memria ou um registrador da UCP onde esse est armazenado.

Veja no exemplo abaixo, ilustrado pela figura 4.5

Supondo que o valor binrio 1010001 ou hexadecimal A3 identifica a operao de soma de dois valores armazenados na memria principal , nos endereos especificados por Operando 1 e Operando 2.

8 bits 16 bits 16 bits

Como mencionado anteriormente, por questes prticas, usaremos os valores binrios convertidos para hexadecimal. Portanto, a instruo de mquina abaixo corresponde a anterior e significa, somar o valor armazenado no endereo 9577 com o valor armazenado n endereo E2D6 e gravar o resultado no endereo 9577.

4.5 - Exemplo de instrues de mquina com dois operandos.

As instrues podem ter mais de um operando , isto , a operao a ser realizada utilizar mais de um dado , sendo assim, cada operando da instruo poder conter o endereo de memria de cada dado manipulado e tambm o endereo de onde ser armazenado o resultado da mesma .

O tamanho, em bits, do C.Op determina a quantidade de instrues que a UCP capaz de implementar e o tamanho do operando determina a quantidade de clulas de memria que o computador pode enderear , j que este representa um endereo de memria . No exemplo, o Set Instruction ter 256 instrues e a MP 65.536 clulas.

Atualmente a quantidade de clulas das MP tem aumentado bastante , podendo - se enderear at 4Gbytes

. consequentemente, o tamanho dos operandos deveria crescer de forma igual (32 bits)-, o que acarretaria em instrues de mquina com tamanho muito grande.

Na realidade, existem tcnicas de endereamento que permitem gerenciar grande quantidade de clulas de memria , utilizando as instrues de tamanho reduzido , com , isto, economizando memria.

Uma destas tcnicas de endereamento chamada de Endereamento por base mais deslocamento , emprega-se registradores especficos da Ucp como parte do endereo do dado (Base) e a MP subdividida em partes iguais , identificadas por cada um dos registradores utilizados.

Existem outras tcnicas de reduzir o consumo de memria para a representao de instrues , sejam por modos de endereamentos, supresso de operando e utilizao de outro registrador especfico da UCP, o acumulador (ACC).

Instruo com quantidades menores de operandos ser abordado no prximo captulo.

5.3.5Ciclo de Instruo

o conjunto de tarefas realizadas pela UCP para a execuo de uma instruo. A execuo repetitiva do ciclo de instruo a funo bsica durante todo o tempo em que o computador permanece ligado.

As tarefas de um ciclo de instruo so as seguintes:

1- A Unidade de Controle , busca na MP a instruo , cujo endereo est armazenado no CI(Contador de Instruo);

2- A UCP incrementa o contedo do CI, indicando o endereo da prxima instruo.

3- O decodificador interpreta o cdigo de operao da instruo (interpretao da instruo ) e gera uma sada para a Unidade de Controle (UC), indicando a operao a ser executada;

4- A UCP busca na MP 0(s) operando(s), se algum for requerido pela instruo ;

5- A Unidade Aritmtica (UAL) executa a operao sobre o(s) dado(s) que j est(o) armazenados nos registradores da rea de processamento.

O ciclo de instruo na realidade constitudo por 2 ciclos - ciclos de Busca (Fetch), composto pelas duas primeiras tarefas e o ciclo de execuo , que engloba as demais tarefas.

As tarefas do ciclo de instruo so definidas como microoperaes e so executadas em instantes de tempo definidos (ciclos de relgio) sob o comando da unidade de Controle(UC), podendo haver a execuo de mais de uma micooperao num mesmo instante.

A figura 5.6 representa o fluxograma de um ciclo de instruo

Incio

Clculo do Endereamento da Instruo

Ciclo

de Busca

Ciclo

de

Execuo

No

Buscar a prxima instruo

Incrementar o C.I

Decodificao do C. Op.

Clculo do

endereo do

operando (*)

Buscar e

Armazenar

operando

Executar

a operao

sim

Tem operando

Figura 5.6 Fluxograma de um ciclo de instruo.

EXERCCIOS1 Descreva as funes bsicas de uma UCP, indicando os seus componentes principais.

2 Quais so as funes da unidade aritmtica e lgica UAL?

3 O que e para que serve o ACC?

4 Qual o componente de um processador que determina o perodo de durao de cada uma de suas atividades e controla o sincronismo entre elas?

5 Quais so as funes da unidade de controle de um processador?

6 Qual o registrador cujo contedo determina a capacidade de memria de um computador? Justifique.

6.REPRESENTAO DE INSTRUO DE MQUINA

No captulo anterior foram apresentados vrios formatos de instrues de mquina.

O conjunto de instrues de uma determinada UCP constitudo de vrias instrues de formatos diferentes, isto , as operaes que so executadas pela UCP podem requerer nenhum, um ou mais operandos.

Cada formato de instruo possui caractersticas prprias que proporcionam vantagens e desvantagens , dependendo da aplicao .

6.1QUANTIDADE DE OPERANDOS

Como j visto , as instrues de mquina so formadas pelo cdigo de operao, que identifica a operao a ser realizada pela UCP, e pelo(s) operando(s) que tem por finalidade identificar e localizar o(s) dado(s) a ser(em) processado(s).

Um dos primeiros formatos de instruo idealizados foi empregado no sistema SEAC, com data de 1949 e que possua quatro operandos.

Esse formato de instruo era completo , possua a indicao explicita da localizao de todos os operandos e tambm j indicava o endereo da prxima instruo, conforme mostra o exemplo da figura 5.1.

Obs:. Em nossos exemplos, faremos sempre referncias a operao aritmticas e endereamento direto de memria.

C. Op.Operando 1Operando 2Operando 3End. Prxima

instruo

Figura 5.1 Exemplo de instruo de 4 operandos

Supondo um computador com memria principal de 2.048 clulas (endereo), isto , REM de 11 bits, e instrues com cdigo de operao de 6 bits , cada instruo de mquina teria um total de 50 bits.

Cada operando contm o endereo de memria (representado por 11 bits) e a instruo possu 4 operandos, teremos : 4 X 11 + 6 (C.Op.) = 50 bits.

Essa mquina poderia ter, por exemplo , uma instruo de soma do tipo ADD, X,Y,Z,P (Assembler) representada pela expresso X + Y, P; onde P endereo da prxima instruo .

Podemos citar vantagens a respeito desse formato de instruo , tais como :

A)completeza -a instruo possui todos os operando necessrios a realizao de uma operao aritmtica, dispensando at instruo de desvio incondicional , pois este consta do campo P;

B) Menor quantidade de instruo em programa , comparada com outros formatos de instruo .

Porm, a grande desvantagem desse formato de instruo a ocupao demasiada de espao de memria , principalmente pelo fato de que a grande maioria das instrues de um programa no necessita de todos os trs operandos

Por exemplo , uma instruo de desvio incondicional precisaria de um nico operando e haveria, ento, um desperdcio de 33 bits , pois trs operando no seriam utilizados .

O tamanho das instrues de uma UCP um fator importantssimo de seu projeto. A escolha dos formatos implica e depende de vrias caractersticas da mquina, tais como:

Capacidade total de memria;

Tamanho e organizao das clulas da MP.

Velocidade de acesso e

Organizao da barra de dados.

No projeto de uma UCP, depara-se no dilema de criar um conjunto um de instrues poderosas ou de economizar espao de memria (memria ainda o componente mais caro nos computadores).

Num conjunto de instrues , digamos, completo, com instrues que atendam a vrios tipos de aplicaes , implica em cdigos de operao com grande quantidade de bits .Como desejamos instrues completas , tambm seria necessrio uma grande quantidade de bits. para atender o nmero elevado de operandos.

Esse conjunto de instrues consumiria um grande espao de memria para armazenar as instrues..

Uma possvel soluo para o problema reside na reduo da quantidade de operadores nas instrues , mantendo-se a flexibilidade das mesmas.

Por exemplo, se na instruo de 4 operandos, citada anteriormente, fosse retirado um operando, mantendo-se o seu tamanho (50 bits), poderamos redistribuir os bits da segunda forma:

O cdigo de operao passaria a ter 8 bits, com isto , o conjunto de instrues poderia conter at 256 instrues . Antes eram apenas 64 (C. Op. = 6 bits);

Os 3 operandos teriam 14 bits e seria possvel endereo at 16.384 clulas de memria, em vez das 2.048 anteriores.

O operando retirado dessa instruo era o que indicava o endereo da prxima instruo. A indicao desse endereo passou a ser realizado pelo CI (Contador de Instruo), que incrementado pela UCP.

6.2Instruo com Trs Operandos

Nesse formato , em geral , os operandos 1 e 2 representam os endereos dos dados a serem utilizados em uma operao e o terceiro operando ser armazenado o resultado da operao. Ver figura 5.2.

Tipos de instruo aritmticas utilizando instrues de 3 operandos:

Assembly ExpressoADD A,B,X (A) + (B)((X)

(A) - (B)(SUB A,B,X (X)

MPY A,B,X (A) * (B)((X)

(A) / (B)(DIV A,B,X (X)

Na instruo da soma (ADD A,B,X), significa: Somar o contedo do endereo simblico de memria , representado por A ao contedo do endereo B e armazenar o resultado no endereo representado por X. O mesmo se aplica as demais operaes aritmticas referidas.

Por exemplo, consideremos a execuo de um programa para resolver a expresso algbrica X = A ( B + C * D - E / F). Convertida para linguagem Assembly, o programa equivalente ao seguinte:

MPY C,D,T1T1 E T2 SO VRIAVEIS TEMPORRIAS DE MEMRIA

DIV E,F,T2ADD B,T1,X

SUB X,T2,X

MPY A,X,X

Podemos observar que na seqncia de instrues h operandos com endereos iguais, o que acarreta desperdcio de espao em memria. O nmero de instrues igual ao de operandos, visto que cada instruo de 3 operandos resolve uma operao por completo.

Mesmo com a reduo de um operando, o consumo de memria continua demasiado na utilizao efetiva dos operandos. Vrias instrues exigem o emprego de apenas dois operandos, sendo o terceiro repetido.

6.2.1Instrues com dois Operandos

A operao executada com os contedos dos endereos indicados pelos operandos 1 e 2 e o resultado armazenado no operando 1. (ou operando 2). Ver figura 5.3

C. Op.6.2.1.1.1.1.1.1.1Operando 16.2.1.1.1.1.1.1.2Operando 2

Figura 5.3 Formato de instruo com 2 operandos

Como esse formato de instruo reduz-se o consumo de memria, pois emprega-se apenas dois operandos. Assim, teremos as operaes aritmticas representadas da seguinte forma:

Assembly ExpressoADD A,B (A)((A) + (B)

SUB A,B (A)((A) - (B)

MPY A,B (A)((A) * (B)

DIV A,B (A)((A) / (B)

O contedo do endereo indicado pelo operando 1 ser substitudo pelo resultado da operao. Quando necessrio, pode-se SALVAR o contedo do operando 1 em uma varivel auxiliar, atravs de uma nova instruo (MOVE), que executada antes da operao. O exemplo do item anterior, agora com 2 operandos, ficaria deste modo:

MPY C,D

DIV E,F

ADD B,C

SUB B,E

MPY X,A

MOVE X,A

Observe que na sequncia existe uma instruo a mais (MOVE), que salva o contedo de A em X, e que os contedos de B, C e D foram destrudos.

Uma varivel auxiliar pode ser usada mais de uma vez no mesmo programa e , se quisermos salvar todos os valores , poderamos alterar o programa para o seguinte:

MOVE X,C

MPY X,D

MOVE Xt1,,F

ADD X,T1SUB X,B

MPY X,A

6.2.2Instrues com Um Operando

Com base nas vantagens da reduo da quantidade de operandos, foram criados instrues com apenas um operando. Uma instruo menor que , consequentemente , consome menos memria e tambm tempo de acesso.

Nesse formato de instruo , um dos operandos foi substitudos pelo acumulador (ACC). Como s h um ACC, no necessrio especificar seu endereo na instruo . O ACC guarda o valor de um dos dados da operao e , posteriormente, o valor o resultado.

As operaes aritmticas so representadas da seguinte forma:

Assembly ExpressoADD Op ACC(ACC + (Op)

SUB Op ACC(ACC - (Op)

MPY Op ACC(ACC * (Op)

DIV Op ACC(ACC / (Op)

Para complementar o execuo desse tipo de instruo , foram criados , duas novas instrues que permitem a transferncia de dados entre o ACC e a MP, que so:

Assembly ExpressoCarrega o ACC com contedo do endereo indicado pelo operando

LDA Op (Op)(ACC

Armazena o contedo do ACC no endereo indicado pelo operando.

STR Op (Op)(ACC

Usando como exemplo o mesmo programa dos itens anteriores, teremos como instrues de um operando e mantendo os valores das variveis, a seqncia em Assembly.

LDA C

MPY D

STA X (Salva o resultado)

LDA E

STA Y (Salva o resultado)

LDA A

ADD X

SUB Y

MPY A

EXERCCIOS1 Cite uma possvel vantagem do emprego de instrues com menor quantidade de operandos.

2 Crie um conjunto de instrues de dois operandos, definidas em linguagem Assembly, necessrias para a realizao de operaes aritmticas e elabore programas para clculo das seguintes equaes:

1. X = A + (B * (C A) + (D E / B) * D)

2. Y = (A + B) * (C D * (E / (B F)) + B) * E)

3 Considere as instrues definidas a seguir (de um operando)

LDA Op ACC((Op) STA Op (Op)(ACC

ADD Op ACC(ACC + (Op) SUB Op ACC(ACC (Op)

MPY Op ACC(ACC * (Op) DIV Op ACC(ACC / (Op)

LDA Op ACC((Op)

Obtenha a equao que resultou no seguinte programa:

LDA A

ADD C

STA X

LDA B

MPY D

SUB E

STA Y

LDA X

ADD Y

DIV F

STA X

7.EXECUO DE PROGRAMAS

Neste ponto , j sabemos o que um programa e uma linguagem de programao (vide Captulo 1). Sabemos, tambm , que os programas escritos em linguagem de programao devem ser convertidos para instruo de mquina, de modo que o computador possa entender e executar as tarefas desejadas.

Ainda no Capitulo 1, vimos que a linguagem de mquina forma de se representar os estadosligadosedesligadoda corrente eltrica. Devemos lembrar que a manipulao da corrente eltrica o princpio de funcionamento dos circuitos eletrnicos de que so compostos os computadores.. Portanto, toda e qualquer tarefa a ser executada por um computador deve estar escrita em linguagem de mquina.

Outro fato que se faz necessrio lembrar, que a representao dos estados de corrente eltrica feita atravs de um cdigo binrio que possui dois smbolos , 0 e 1 e, que todos os caracteres da linguagem humana so representados pelas combinaes dos smbolos binrios (item 3.2)

Neste capitulo veremos uma descrio bsica sobre as linguagens de programao e os processos de converso dos programas escritos nessa linguagem para linguagem de mquina

7.1LINGUAGEM DE PROGRAMAO

Umalinguagem de Programao uma linguagem criada para instruir o computador a realizar tarefas. Um programa escrito em uma linguagem de programao denominadocdigo.Desse modo, codificar um algoritmo significa converter suas declaraes em comando ou instrues especficas de uma determinada linguagem de programao. A primeira linguagem de programao implementada exatamente a que descreve diretamente as instrues a serem executadas pela UCP, isto , a Linguagem de mquina .

Como j temos conhecimento de instrues de mquina , seus formatos e representaes, podemos imaginar a dificuldade de escrever um programa utilizando o cdigo de mquina para representar as operaes e os endereos dos dados a sero manipulados .

Alm da dificuldade da escrita, deve-se ter conhecimento de todo o conjunto de instrues da UCP que estiver utilizando , bem como os endereos reais de memria e dos registradores.

Para exemplificar a dificuldade de entendimento da linguagem de mquina

A figura 6.1 representa um exemplo de programa, simblico, nesta linguagem . Neste exemplo, tanto o cdigo de operao quanto os operandos possuem 4 bits. Cada linha corresponde diretamente a uma instruo de mquina.

1001 0101 1001 0011

0100 0100 1001 1110

1110 0001 1000 1111

1111 0011 0111 1100

0001 0010 1111 1101

0011 0110 0001 0101

0000 0000 0000 0000

Figura 6.1 - Exemplo de programa em linguagem de mquina.

Devido as complexidade e dificuldades da linguagem de mquina , foi desenvolvida uma linguagem simblica, denominadaLinguagem de Montagem (Assembly Language), ou simplesmente linguagem Assembly.

A linguagem Assembly representa as instrues de mquina atravs demneumnicosdos nomes das operaes (em ingls) e os dados e endereos por smbolos (caractres alfabticos e alfanumricos ), com a finalidade de tornar maisamigvela comunicao entre o homem e a mquina.

A linguagem Assembly considerada comoLinguagem de Baixo nvel, devido a sua proximidade com a linguagem de mquina , porm alguns autores a definem como linguagem de mquina.

A figura 6.2 apresenta um programa escrito em linguagem Assembly.

Incio: ORG ZERO ; Origem do programa. Endereo 0.

LDA CONTADOR ; Carregar valor do contador no ACC.

JZ FIM ; Se contador = 0, ento PARAR (desvia para FIM).

LDA Parcela 1 ; Ler valor de parcela 1 para ACC.

ADD Parcela 2 ; Realizar operao de soma com dados.

STR Resultado ; Transferir o contedo do ACC para Resultado.

LDA Contador ; Ler valor do contador para ACC.

DCR Zero ; Decrementar 1 do contador.

JMP Incio ; Volta para o incio do loop.

Fim: HLT ; Parar.

DAD Parcela 1 ; Exibir contedo de parcela 1.

DAD Parcela 2 ; Exibir contedo de parcela 2.

DAD Resultado ; Exibir contedo de resultado.

DAD Contador ; Exibir contedo de contador.

Mesmo com a criao de linguagens montadoras, o entendimento e rapidez de trabalho para os programas ainda era difcil.

Na dcada de 50 comearam a ser desenvolvidas linguagens mais simples e com menos instrues do que as de montagem, chamada linguagens procedurais, cujos comandos e estruturas so voltados para a soluo do problema e no para as operaes especficas de uma determinada UCP ou memria na qual o programa ser executado.

A essas linguagens procedurais, chamamos de linguagens delinguagens de Alto Nvel, pois sua forma de descrever as aes est mais prxima da linguagem humana. Elas so , em geral , estruturadas a nvel de software e por isso , na maioria dos casos , independem da mquina onde os programas sero executados.

Geral, o programa escrito em uma linguagem de alto nvel denominadocdigo fonte, ou programa fonte ou simplesmentefonteAlm da facilidade de aprendizado, as linguagens de alto nvel permitem que se elabore uma documentao sobre os programas de fcil compreenso e conseqentemente , uma melhor manuteno dos mesmos.

As Linguagens de alto nvel , geralmente , so categorizados de acordo com a aplicao a que se destinam , podendo ser comerciais, cientficas e de emprego geral.

A tabela a seguir mostrar alguns exemplos de linguagens de programao de alto nvel.

LINGUAGEMDATADESCRIO / APLICAO

FORTRAN1957FORmulaTRANslation - Utilizada em clculos numricos

ALGOL1958ALGOrithmLanguage - Linguagem de Emprego Real

COBOL1959CommonBusinessOrientedLanguage - Linguagem Comercial

BASIC1960BeginnerAll puposeSymbolicInstructionCode - Emprego Geral

PL/11964Linguagem de Emprego geral

PASCAL196XLinguagem de Emprego Geral - Homenagem a Blaise Pascal

C196XLinguagem de Emprego Geral

ADA1980Inicialmente de uso exclusivo do Pentgono Americano

CLIPPER1985Linguagem de Emprego geral

Tabela 6.1 - Exemplos de Linguagens de Programao de Alto nvel

7.2PROCESSOS DE CONVERSO DE PROGRAMAS

Qualquer cdigo fonte (programa escrito em linguagem de programao ) precisa ser convertido para a linguagem de mquina (cdigo binrio). A converso feita atravs de um programa especfico para cada linguagem de programao , chamadoprograma tradutor7.2.1Montagem

o processo de traduo de um programa em linguagem Assembly para o seu equivalente em linguagem de mquina . Conforme mostra a figura 6.3.

Durante a montagem , o programa fonte escrito em Assembly analisado instruo por instruo , por um programa chamadoassembly(montador). O Programa montador especfico para cada UCP utilizada. Em seguida gerado um programa em cdigo de mquina, denominadocdigo objeto, diretamente executvel pela UCP.

Figura 6.3 - Fluxograma de Montagem

O processo de montagem simples e direto , pois cada instruo em Assembly convertida para uma nica instruo de mquina, ou seja, a traduo do tipo um para um, conforme mostra a figura 6.4

Instrues Assembly Instruo de MquinaADD X 1011011101101010MPY Z 0101011011011101STR B 1010100110000111HLT 1111010000000000Figura 6.4 - Converso de cdigo Assembly em cdigos de Mquina

O Programa Montador executa, basicamente, as seguintes funes:

Examinar a escrita de cada instruo .

Substituir cdigos de operao e nomes simblicos por cdigos binrios

Reservar espao em memria para armazenar instrues e dados.

Converter valores de constantes para cdigos binrio.

7.2.2Compilao

Processo de converso de programas escritos em linguagem de alto nvel para o cdigo binrio . Esta tarefa realizada por um programa chamadocompilador,que especfico para a linguagem de alto nvel na qual o programa fonte foi escrito . em microcomputadores

, no h a necessidade do compilador ser especfico para UCP utilizada.

Na compilao , a traduo do tipo um para vrios , isto , um nico comando de linguagem de alto nvel convertido para vrias instrues de mquina, na maioria dos casos.

O compilador analisa o cdigo fonte , comando por comando e realiza vrias tarefas , dependendo do comando analisando e , ao , final, gera um programa, em linguagem de mquina denominadocdigo objetoou mdulo objeto; porm, ainda no executvel, diferentemente da montagem. Este processo ilustrado na figura 6.5

Figura 6.5 - Fluxograma de Processo de Compilao

A primeira fase da compilao , que analise do cdigo fonte, divide-se em trs partes distintas:

Analise Lxica Decomposio do fonte em comandos, operadores, variveis etc., cada um dos elementos analisado de acordo com as regras de escrita da linguagem empregada, por exemplo , em Pascal o operador de igualdade := e no apenas =. O compilador gera mensagens de erro, ao encontr-los, em qualquer das trs etapas.(Anlise Sinttica Criao das estruturas apropriadas parra cada comando obtido da anlise lxica e a correo das estruturas , com base nas regras da linguagem. As estruturas formam a base da criao do cdigo objeto.(Anlise Semntica Verificao da integridade e compatibilidade de um tipo de dado usado em uma expresso, isto , o tipo de dado tem que ser coerente com o que foi declarado no programa.(A segunda fase completa o processo alocando espao de memria para as variveis definindo que registradores sero empregados e que dados neles sero armazenados e, gerando o cdigo objeto . Este cdigo , no executvel . Falta ainda ligar a este,rotinas externasespecficas referenciadas no programa fonte.

7.2.3Linkedio ou Ligao

Quando se escreve um programa, no necessrio codificar determinadas operaes , como as de entrada e sada , pois de mquina destas j faz parte do Sistema Operacional. Essas operaes so chamadas de rotinas internas, pois so utilizados por qualquer programa, portanto, incorporado ao cdigo objeto automaticamente durante a compilao.

No entanto , existem rotinas especficas que pertencem ao programa compilador, e que no so utilizados por todos os programas (rotinas externas). Por exemplo, rotinas matemticas especiais para clculo trigonomtrico, rotinas grficas etc.

As rotinas externas so arquivos , em linguagem de mquina, organizados em diretrios por grupos de rotinas. Cada grupo de rotina denomina-se biblioteca (library).

Durante a gerao do cdigo objeto, se o compilador encontra um comando que requer o uso de rotina externa, ele insere uma chamada de biblioteca (library call) no cdigo objeto. Esta chamada tambm conhecida como referncia externa no resolva e contm o nome da rotina e o endereo do dado a ser passado para rotina.

Para que programa se torne executvel, a rotina referenciando no cdigo fonte, deve ser incorporada ao mdulo objeto (a linha que contm a chamada de biblioteca substituda pelo cdigo objeto da rotina).

Este processo , que inclui a interpretao da chamada de biblioteca e a ligao do mdulo objeto com a rotina referenciada, denomina-se linkedio ou ligao e executado pelo programa linkeditor ou programa ligador.

O resultado da linkedio um conjunto de cdigos de mquina, interligados e prontos para execuo , denominado cdigo executvel ou mdulo de carga.

O fluxograma da figura 6.6 ilustra as etapas de compilao e linkedio de um programa fonte.

Figura 6.6 - Fluxograma do processo de compilao e linkedio.

Os processos de compilao e linkedio so distintos e independentes, gerando produtos diferentes, cdigo objeto e executvel, respectivamente. No entanto , podem ser realizados em seqncia e imediatamente, como se fosse um processo nico..

Gerado o cdigo executvel, no mais necessrio ter o compilador, o f