Baixe o app para aproveitar ainda mais
Prévia do material em texto
Guia de Estudo Arquitetura e Organização de Computadores 2º Período Unidade 1 a 3 Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 1 SABE – Sistema Aberto de Educação Av. Cel. José Alves, 256 - Vila Pinto Varginha - MG - 37010-540 Tele: (35) 3219-5204 - Fax - (35) 3219-5223 Instituição Credenciada pelo MEC – Portaria 4.385/05 Centro Universitário do Sul de Minas - UNIS/MG Unidade de Gestão da Educação a Distância – GEaD Mantida pela Fundação de Ensino e Pesquisa do Sul de Minas - FEPESMIG Varginha/MG Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 2 004.165 G633g. GOMES, José Eduardo Silva. Guia de Estudo - Arquitetura e Organização de Computadores - José Eduardo Silva Gomes. Varginha: GEaD-UNIS/MG, 2007. 103p. 1. Sistemas Digitais. 2. Microprocessadores. 3. Programação. 4. Informática I. Título Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 3 REITOR Prof. Ms. Stefano Barra Gazzola GESTOR Prof. Ms. Tomás Dias Sant’ Ana Supervisor Técnico Prof. Ms. Wanderson Gomes de Souza Coord. do Núcleo de Recursos Tecnológicos Profª. Simone de Paula Teodoro Moreira Coord. do Núcleo de Desenvolvimento Pedagógico Profª. Vera Lúcia Oliveira Pereira Revisão ortográfica / gramatical Profª. Maria José Dias Lopes Grandchamp Design/diagramação Prof. César dos Santos Pereira Equipe de Tecnologia Educacional Profª. Débora Cristina Francisco Barbosa Jacqueline Aparecida da Silva Prof. Lázaro Eduardo da Silva Autor JOSÉ EDUARDO SILVA GOMES Técnico em Eletrônica (1984) pela ETEFMC, Santa Rita do Sapucaí – MG, Bacharel em Administração de Empresas (1992) pela FACECA, Varginha – MG, Bacharel em Ciência da Computação (2002) pelo UNIS, Varginha – MG, Pós-Graduação em Redes de Computadores (2003) pelo UNIS e mestrando em Engenharia Elétrica pela UNIFEI (Universidade Federal de Itajubá). Atua também como Supervisor Técnico do Departamento de Engenharia da EPTV Sul de Minas, emissora de televisão afiliada a Rede Globo e é professor das instituições UNIS e FACECA nos cursos de Sistemas de Informação, Ciência da Computação, Engenharia de Produção. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 4 TABELA DE ÍCONES REALIZE. Determina a existência de atividade a ser realizada. Este ícone indica que há um exercício, uma tarefa ou uma prática para ser realizada. Fique atento a ele. PESQUISE. Indica a exigência de pesquisa a ser realizada na busca por mais informação. PENSE. Indica que você deve refletir sobre o assunto abordado para responder a um questionamento. CONCLUSÃO. Todas as conclusões, sejam de idéias, partes ou unidades do curso virão precedidas desse ícone. IMPORTANTE. Aponta uma observação significativa. Pode ser encarado como um sinal de alerta que o orienta para prestar atenção à informação indicada. HIPERLINK. Indica um link (ligação), seja ele para outra página do módulo impresso ou endereço de Internet. EXEMPLO. Esse ícone será usado sempre que houver necessidade de exemplificar um caso, uma situação ou conceito que está sendo descrito ou estudado. SUGESTÃO DE LEITURA. Indica textos de referência utilizados no curso e também faz sugestões para leitura complementar. APLICAÇÃO PROFISSIONAL. Indica uma aplicação prática de uso profissional ligada ao que está sendo estudado. CHECKLIST ou PROCEDIMENTO. Indica um conjunto de ações para fins de verificação de uma rotina ou um procedimento (passo a passo) para a realização de uma tarefa. SAIBA MAIS. Apresenta informações adicionais sobre o tema abordado de forma a possibilitar a obtenção de novas informações ao que já foi referenciado. REVENDO. Indica a necessidade de rever conceitos estudados anteriormente. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 5 Índice de Figuras Figura 1 – Ábaco. ..................................................................................................... 14 Figura 2 – Bastões de Napier. .................................................................................. 14 Figura 3 – Régua de Cálculo. ................................................................................... 14 Figura 4 – Calculadora de Pascal............................................................................. 15 Figura 6 – Z3, fabricado em 1941 por Konrad Zuse. ................................................ 15 Figura 7 – Mark I, construído em 1944 pela Universidade de Harvard e a IBM........ 15 Figura 8 – Relé e Válvulas........................................................................................ 16 Figura 9 – ENIAC...................................................................................................... 17 Figura 10 – IBM 650. ................................................................................................ 17 Figura 11 – DEC PDP-1............................................................................................ 18 Figura 12 – IBM 7094. .............................................................................................. 18 Figura 13 – IBM 360. ................................................................................................ 19 Figura 14 – DEC PDP-11.......................................................................................... 19 Figura 15 – Microprocessadores Intel 386 e 486/DX2.............................................. 19 Figura 16 – Altair 8800.............................................................................................. 20 Figura 17 – Apple II. ................................................................................................. 20 Figura 18 – IBM/XT................................................................................................... 20 Figura 19 – Osborne I. .............................................................................................. 20 Figura 20 – Processadores: Intel Core 2 Extreme e AMD Athlon 64 X2 Dual-Core. 21 Figura 21 – Modelo de von Neuman......................................................................... 22 Figura 22 – Modelo de von Neuman (Estrutura em Barramento). ............................ 22 Figura 23 – Componentes de um Computador......................................................... 23 Figura 24 – Unidade Central de Processamento (CPU). .......................................... 24 Figura 25 – Hierarquia de Memórias. ....................................................................... 27 Figura 26 – Dispositivos de Entrada. ........................................................................ 28 Figura 27 – Dispositivos de Saída. ........................................................................... 28 Figura 28 – Dispositivos de Entrada e Saída............................................................ 28 Figura 29 – Disco Magnético. ................................................................................... 50 Figura 30 – Memórias RAM e Cache........................................................................ 53 Figura 31 – Diagrama em Blocos do SAP-1. ............................................................ 57 Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 6 Figura 32 – Diagrama em Blocos do SAP-2. ............................................................ 69 Figura 33 – Utilização de tempo e circuito em um computador básico..................... 88 Figura 34 – Modificação para uma estrutura com pipeline. ...................................... 89 Figura 35 – Movimento da instrução na pipeline. .....................................................90 Figura 36 – Movimento da instrução e temporização da pipeline. ............................ 90 Figura 37 – Fluxo da instrução por meio do circuito de pipeline. .............................. 91 Figura 38 – Aumento da velocidade de um processador de von Neumann.............. 97 Figura 39 – Símbolo para um elemento de processamento genérico....................... 98 Figura 40 – Máquina de instrução única, segmento de dados único (SISD). ........... 98 Figura 41 – Máquina de instrução única, segmento de dados múltiplo (SIMD). ....... 99 Figura 42 – Máquina de instrução múltipla, segmento de dados único (MISD). ..... 100 Figura 43 – Máquina de instrução múltipla, segmento de dados múltiplo (MIMD).. 101 Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 7 Índice de Tabelas Tabela 1 – Tabela de Medidas. ................................................................................ 29 Tabela 2 – Conversão de Base Numérica. ............................................................... 36 Tabela 3 – Porta NOT............................................................................................... 37 Tabela 4 – Porta OR................................................................................................. 38 Tabela 5 – Porta AND............................................................................................... 38 Tabela 6 – Porta NOR. ............................................................................................. 39 Tabela 7 – Porta NAND. ........................................................................................... 40 Tabela 8 – Porta XOR............................................................................................... 41 Tabela 9 – Porta XNOR. ........................................................................................... 42 Tabela 10 – Regras da Álgebra Booleana. ............................................................... 43 Tabela 11 – Conjunto de Instruções do SAP-1......................................................... 59 Tabela 12 – Códigos de Operação do SAP-1........................................................... 61 Tabela 13 – Conjunto de Instruções do SAP-2......................................................... 79 Tabela 14 – Ciclos de Clock / Utilização do Circuito................................................. 90 Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 8 Sumário Apresentação .......................................................................................................... 11 1. INTRODUÇÃO ..................................................................................................... 12 1.1. Conceitos Básicos ...................................................................................... 12 1.2. Arquitetura X Organização ......................................................................... 12 1.3. Evolução Histórica das Arquiteturas de Computadores ............................. 13 1.3.1. Geração Zero (1642 - 1945) – Mecânicos e eletromecânicos............. 14 1.3.2. As Máquinas de Primeira Geração (1945 - 1955) – Válvulas .................. 16 1.3.3. As Máquinas de Segunda Geração (1955 - 1965) – Transistores.......... 17 1.3.4. As Máquinas de Terceira Geração (1965 - 1980) – Circuitos Integrados 18 1.3.5. As Máquinas de Quarta Geração (1980 - 1990) – Circuitos LSI.............. 19 1.3.6. As Máquinas de Quinta Geração (1990 - dias atuais) – Circuitos ULSI .. 20 1.3.7. O modelo de von Neumann..................................................................... 22 1.4. Principais Componentes de um Computador................................................ 23 1.4.1. A Unidade Central de Processamento (CPU) ..................................... 23 1.4.2. Barramentos........................................................................................ 25 1.4.3. Clock ................................................................................................... 25 1.4.4. Memória Principal................................................................................ 26 1.4.5. Memória Cache ................................................................................... 26 1.4.6. Memória Secundária ........................................................................... 27 1.4.7. Dispositivos de Entrada e Saída (E/S ou I/O)...................................... 27 2. SISTEMAS DIGITAIS........................................................................................... 29 2.1. O Bit, a Palavra, o Caractere, o Nibble e o Byte......................................... 29 2.2. Sistemas Numéricos................................................................................... 30 2.2.1. Sistema Decimal ................................................................................. 30 2.2.2. Sistema Binário ................................................................................... 31 2.2.2.1. Conversão de Binário em Decimal.................................................... 31 2.2.2.2. Conversão de Decimal em Binário.................................................... 32 Exercícios: Converta os valores para as bases indicadas. ............................ 33 2.2.3. Sistema Octal ...................................................................................... 33 Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 9 2.2.3.1. Conversão de Binário em Octal ........................................................ 33 2.2.3.2. Conversão de Octal em Binário ........................................................ 33 2.2.3.3. Conversão de Octal em Decimal....................................................... 34 2.2.3.4. Conversão de Decimal em Octal....................................................... 34 2.2.4. Sistema Hexadecinal........................................................................... 34 2.2.4.1. Conversão de Hexa em Binário ........................................................ 35 2.2.4.2. Conversão de Binário em Hexa ........................................................ 35 2.2.4.3. Conversão de Hexa nos demais sistemas e vice-versa.................... 35 2.3. Portas Lógicas............................................................................................ 36 2.3.1. Portas NOT (Inversoras) ..................................................................... 37 2.3.2. Portas OU (OR, + , ∨).......................................................................... 37 2.3.3. Portas E (AND, . , ∧)............................................................................ 38 2.3.4. Portas NÃO OU (NOR)........................................................................ 39 2.3.5. Portas NÃO E (NAND) ........................................................................ 39 2.3.6. Portas OU Exclusiva – XOU (XOR, ⊕) ................................................ 40 2.3.7. Portas NÃO OU Exclusiva – XNOU (XNOR, �).................................. 41 2.4. Álgebra Booleana e Mapa de Karnaugh..................................................... 42 2.4.1. Álgebra Booleana................................................................................ 42 2.4.1.1. Expressões Lógicas – Aplicações das Portas................................... 43 2.4.1.2. Simplificação de Expressões Lógicas ............................................... 44 2.4.2. Mapas de Karnaugh ............................................................................ 45 2.4.2.1. Regras para Minimização (Simplificação) ......................................... 46 2.5. Memórias.................................................................................................... 49 2.5.1. Memória de Massa..............................................................................50 2.5.2. Memória Semicondutora ..................................................................... 51 2.5.2.1. Memória ROM................................................................................... 51 2.5.2.2. Memória RAM .................................................................................. 52 3. MICROPROCESSADORES ................................................................................. 55 3.1. O Microprocessador SAP-1........................................................................ 55 3.1.1. Definição dos Blocos do SAP-1........................................................... 55 3.1.2. Diagrama em Blocos .............................................................................. 57 3.1.3. Conjunto de Instruções do SAP-1 ....................................................... 57 3.1.4. Programação do SAP-1 ...................................................................... 61 3.1.5. Análise do Diagrama Temporal (Fasorial) ........................................... 62 Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 10 3.2. O Microprocessador SAP-2........................................................................ 67 3.2.1. Definição dos Blocos do SAP-2............................................................. 67 3.2.2. Diagrama em Blocos .............................................................................. 69 3.2.3. Instruções do SAP-2................................................................................ 70 3.2.3.1. Instruções com Referência à Memória............................................. 70 3.2.3.2. Instruções de Registradores ............................................................ 70 3.2.3.3. Instruções de JUMPS (Saltos) ......................................................... 72 3.2.3.4. Instruções Lógicas ........................................................................... 75 3.2.3.5. Outras Instruções............................................................................. 76 3.2.4. Conjunto de Instruções do SAP-2............................................................ 78 3.3. A Linguagem Assembly.............................................................................. 85 3.3.1. Linguagem de Máquina....................................................................... 85 3.3.2. Linguagem Assembly .......................................................................... 85 3.3.3. Linguagem de Alto Nível ..................................................................... 86 3.3.4. Vantagens e Desvantagens da Linguagem Assembly ........................ 86 3.3.5. Aplicações da Linguagem Assembly................................................... 86 3.3.6. Programa Debug ................................................................................. 87 3.4. A Técnica do Pipeline................................................................................. 87 3.5. Arquiteturas CISC e RISC .......................................................................... 94 3.5.1. Máquinas CISC ................................................................................... 94 3.5.2. Máquinas RISC ................................................................................... 95 3.5.3. Computadores Modernos.................................................................... 96 3.6. Conceitos Básicos em Processamento Paralelo ........................................ 96 3.6.1. Classificação de Máquinas Paralelas.................................................. 98 3.6.1.1. SIMD ................................................................................................ 99 3.6.1.2. MISD .............................................................................................. 100 3.6.1.3. MIMD.............................................................................................. 100 REFERÊNCIAS ...................................................................................................... 102 Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 11 Apresentação Tenha em mente que tudo que você aprende na escola é trabalho de muitas gerações. Receba essa herança, honre-a, acrescente a ela e, um dia, fielmente, deposite-a nas mãos de seus filhos. Albert Einstein Prezado(a) aluno(a): Este é o seu Guia de Estudos da disciplina de Arquitetura e Organização de Computadores, ministrada para o curso de Bacharelado em Sistemas de Informação pelo Centro Universitário do Sul de Minas – UNIS-MG. Ele será utilizado no desenvolvimento da disciplina, apresentando os conteúdos e demais informações para que você realize as atividades programadas. O estudo de Arquitetura e Organização de Computadores apresenta a estrutura interna de um microprocessador e as várias técnicas utilizadas na sua construção. Este conhecimento irá ajudá-lo a entender melhor o funcionamento de um sistema operacional, e você terá uma idéia de como as instruções são, fisicamente, executadas na implementação de programas computacionais, apesar da abstração do hardware que as modernas linguagens de programação proporcionam. Porém, antes de estudarmos o funcionamento dos microprocessadores, veremos os conceitos básicos de sistemas digitais. O estudo de sistemas digitais exige o domínio de outros sistemas de numeração além do decimal, que usamos no nosso cotidiano. Assim inicialmente estudaremos os sistemas binário, octal e hexadecimal. Então iremos projetar sistemas digitais, usando dispositivos lógicos, metodologias e técnicas empregadas no desenvolvimento de circuitos digitais que podem ser usadas em outras situações como, por exemplo, em programação. Darei uma especial atenção à fixação destes conceitos uma vez que, se não forem bem assimilados, poderão comprometer o seu desempenho no decorrer da disciplina. Trata-se de uma disciplina básica, diretamente inserida no escopo do curso. O conhecimento da Arquitetura e Organização de Computadores será empregado em diversas áreas de estudo do curso como: Linguagens e Técnicas de Programação, Sistemas Operacionais, Estrutura de Dados, Redes de Computadores, etc. A minha expectativa é mostrar a relação entre hardware e software focalizando conceitos que são a base dos atuais computadores e apresentar os paradigmas organizacionais que determinam a capacidade e o desempenho de sistemas de computação. Acredito que o curso de Sistemas de Informação esteja sendo um período de desenvolvimento intelectual e de crescimento pessoal e desejo que esta disciplina contribua para o seu sucesso profissional, portanto, mãos à obra. José Eduardo Silva Gomes Professor de Arquitetura e Organização de Computadores Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 12 1. INTRODUÇÃO A mente que se abre a uma nova idéia jamais voltará ao seu tamanho original. Albert Einstein Neste primeiro capítulo, você encontrará os conceitos básicos da arquitetura e organização de computadores e um breve histórico sobre os computadores. Para finalizar o tópico, serão apresentados os principais componentes de um computador. 1.1. Conceitos Básicos A Arquitetura de Computadores trata do comportamento funcional de um sistema computacional do ponto de vista do programador. Tamanho de um tipo de dados – 32 bits para um inteiro. A Organização de Computadores trata da estrutura interna que não é visível para o programador. Freqüência do relógio (clock) ou tamanho da memória física. Existe um conceito de níveis na arquitetura de computadores. A idéia básica é que existem muitos níveis nos quais o computador pode ser considerado, do nível mais alto, onde o usuário executa programas, ao nível mais baixo, que consiste de transistores e fios (MURDOCCA, 2000). 1.2. Arquitetura X Organização Arquitetura: são os atributos visíveis para oprogramador: � conjunto de instruções; � número de bits utilizado para a representação de dados; � mecanismos de E/S; � técnicas de endereçamento. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 13 Existe uma instrução de divisão? Quais os formatos de endereçamento existentes? Organização: como as características da arquitetura são implementadas: � sinais de controle disponíveis; � interfaces; � tecnologias de memória. � como o conjunto de instruções é executado. Existe uma unidade para divisão ou a divisão é feita por subtrações sucessivas? � Toda a família Intel X86 possui a mesma arquitetura básica. � A organização é diferente de uma máquina para outra dentro da mesma família. � Ter a mesma arquitetura garante a compatibilidade do código. 1.3. Evolução Histórica das Arquiteturas de Computadores O computador se desenvolveu paralelamente à necessidade crescente de cálculos rápidos e exatos da humanidade. Os ancestrais do computador remontam a mais de 3000 anos. O primeiro elemento com que o homem contou para fazer seus cálculos foi o conjunto de dedos de suas mãos, daí a palavra digital deriva de dígito, que por sua vez procede do latim digitus, significando dedo. Com a evolução da humanidade, fizeram-se necessárias novas invenções para auxiliar os cálculos. � Ábaco (aproximadamente 2500 a.C.). � Bastões de Napier (1610 - 1614). � Réguas de Cálculo (1621). Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 14 Figura 1 – Ábaco. Figura 2 – Bastões de Napier. Figura 3 – Régua de Cálculo. 1.3.1. Geração Zero (1642 - 1945) – Mecânicos e eletromecânicos O primeiro a construir uma máquina de calcular foi o filósofo e matemático francês Blaise Pascal em 1642. Essa máquina era inteiramente mecânica e só somava e subtraía. A linguagem de programação PASCAL é assim chamada em homenagem a esse cientista. Trinta anos mais tarde, surge um filósofo e matemático alemão chamado Leibnitz que cria uma máquina que realizava as quatro operações. No século XIX, o matemático inglês Charles Babbage construiu sua máquina de diferenças que calculava tabelas úteis à navegação naval, mais tarde construiu a máquina analítica que possuía quatro componentes: o armazenamento (memória), o engenho (unidade de cálculo), a seção de entrada (leitora de cartões perfurados) e a seção de saída (saída perfurada e impressa). Uma vez que essa máquina era programável, ele contrata a 1ª programadora da história chamada Ada Lovelace cujo nome serviu para a moderna linguagem de programação, ADA, desenvolvida para o departamento de defesa dos EUA. Em 1889, Herman Hollerith desenvolveu o cartão perfurado para guardar os dados e também uma máquina tabuladora mecânica, acionada por um motor elétrico, que contava, classificava e ordenava informações armazenadas em cartões perfurados. Ele fundou a empresa Tabulating Machines Corporation que, em 1924, transformou- se na famosa IBM (International Business Machines). Konrad Zuse (Alemanha) construiu durante a década de 1930 uma série de máquinas de calcular baseadas em relés eletromagnéticos, mas a Segunda Guerra Mundial impediu o seu avanço e ainda causou a sua destruição. Howard Aiken Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 15 (Estados Unidos da América) construiu em 1944 uma máquina de propósito geral chamada Mark I, baseada no trabalho de Babbage, mas que usava relés eletromagnéticos no lugar de engrenagens. Figura 4 – Calculadora de Pascal. Figura 5 – Máquina Diferencial de Babbage. Figura 6 – Z3, fabricado em 1941 por Konrad Zuse. Figura 7 – Mark I, construído em 1944 pela Universidade de Harvard e a IBM. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 16 1.3.2. As Máquinas de Primeira Geração (1945 - 1955) – Válvulas Os computadores de primeira geração eram baseados em tecnologias de relés e válvulas eletrônicas. Eles normalmente quebravam após não muitas horas de uso. Tinham dispositivos de entrada/saída primitivos, calculavam com uma velocidade só de milésimos de segundo e eram programados em linguagem de máquina. Figura 8 – Relé e Válvulas. Os cartões perfurados foram o principal meio usado para armazenar os arquivos de dados e para carregá-los no computador. A grande utilidade dessas máquinas era o processamento de dados. No entanto tinham uma série de desvantagens como: custo elevado, relativa lentidão, pouca confiabilidade, grande quantidade de energia consumida e necessitavam de grandes instalações de ar condicionado para dissipar o calor gerado por um alto número de válvulas (cerca de 20 mil). A Segunda Grande Guerra estava no seu auge e a demanda por computadores cada vez mais rápidos vinha crescendo. Os britânicos criavam a menos famosa Colossus para decifrar os códigos nazistas, e, em 1945, os americanos apresentavam o ENIAC (Eletronic Numerical Integrator and Calculator). O modelo utilizava válvulas eletrônicas e os números eram manipulados na forma decimal. Apesar da alta velocidade para a época, era extremamente difícil mudar as instruções contidas dentro do computador, já que a programação era feita por meio de válvulas e fios que eram trocados de posição de acordo com o que se desejava. O sucessor do ENIAC foi o EDVAC (Electronic Discrete Variable Computer), apesar de ser mais moderno, não diminuiu de tamanho e ocupava 100% do espaço que o ENIAC ocupava. Todavia ele era dotado de cem vezes mais memória interna que o ENIAC - um grande salto para a época. Um outro grande avanço do EDVAC foi o abandono do modelo decimal e a utilização dos códigos binários, reduzindo drasticamente o número de válvulas. Baseado na revolucionária teoria de von Neumann, em 1951, foi construído o UNIVAC I (Universal Automatic Computer) era bem menor que seus predecessores. Tinha "apenas" vinte metros quadrados e cerca de cinco toneladas. O computador recebia as instruções de cartões magnéticos e não mais de cartões perfurados. Foram produzidas quinze unidades do UNIVAC I e ele foi o primeiro computador comercial da história. O computador IBM 650 foi disponibilizado publicamente nos USA pela IBM em dezembro de 1954. Media 1,5 m X 0,9 m X 1,8 m e tinha uma massa de 892 Kg. O Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 17 IBM 650 era indicado para resolver problemas comerciais e científicos. A empresa projetou a venda de 50 exemplares do computador (mais do que todos os computadores do mundo juntos) - o que foi considerado um exagero. Apesar do pessimismo, em 1958, duas mil unidades do IBM 650 estavam espalhadas pelo mundo. Figura 9 – ENIAC. Figura 10 – IBM 650. 1.3.3. As Máquinas de Segunda Geração (1955 - 1965) – Transistores Em 1948, surgiu um novo componente que apresentava inúmeras vantagens em relação às antigas válvulas: ele tinha características como menor aquecimento, maior poder de cálculo e confiabilidade e um consumo de energia bem menor - com o adicional de que não necessitava de tempo para aquecer. A Bell Laboratories inventava o transistor. Os cálculos passaram a ser medidos de segundos para microssegundos. As linguagens utilizadas para esses computadores eram normalmente a FORTRAN, COBOL ou ALGOL. A partir desse momento, devido à maior facilidade e praticidade do transistor, muitos modelos de computador surgiram. O primeiro modelo de computador 100% transistorizado foi o TRADIC, da Bell Laboratories. Outro modelo dessa época era o IBM 1401, com uma capacidade memória base de 4.096 bytes operando em ciclos de memória de 12 microssegundos. A instalação de um IBM 1401 ocupava uma sala, e o tamanho dos computadores ainda era bastante grande. Existiam também outros modelos, como o sofisticado IBM 7094. O IBM TX-0, de 1958, tinha um monitor de vídeo de alta qualidade, além de ser rápido e relativamente pequeno.A Digital Equipment Corporation (DEC) tinha então uma posição proeminente no setor com sua linha PDP. O primeiro minicomputador foi o PDP-1, criado em 1959 e instalado em 1961. No entanto, os elevados custos destas máquinas restringiam sua utilização a aplicações estratégicas do governo, grandes empresas e universidades. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 18 Figura 11 – DEC PDP-1. Figura 12 – IBM 7094. 1.3.4. As Máquinas de Terceira Geração (1965 - 1980) – Circuitos Integrados A terceira geração inicia-se com a introdução dos circuitos integrados (transistores e outros componentes eletrônicos miniaturizados e montados numa única pastilha de silício - o chip), aos computadores. Com esses circuitos integrados, o tempo passou a ser medido em nanosegundos (bilionésimos de segundos). A tecnologia utilizada, na época, era a de pequena escala de integração (SSI – Small Scale of Integration) com a qual ao redor de mil transistores podiam-se integrar no circuito de uma pastilha. Com isso os computadores eram menores, mais confiáveis, com maior velocidade de operação e um custo bem mais baixo do que as máquinas das gerações anteriores. Também eram usados discos magnéticos para armazenamento, o que permitiu o acesso direto a arquivos muito grandes. Os custos de produção de um computador começavam a cair, atingindo uma faixa de mercado que abrangia empresas de médio porte, centros de pesquisa e universidades menores. O Burroughs B-2500 foi um dos primeiros modelos dessa geração. O PDP-5, produzido pela DEC, foi o primeiro minicomputador comercial e o INTEL 4004 o primeiro microprocessador. O exemplo típico dessa geração foi o IBM 360, série que introduziu o conceito de família de computadores compatíveis, facilitando a migração dos sistemas quando é necessário mudar para um computador mais potente. Esta estratégia permitiu que a IBM se posicionasse, já neste período, como líder do mercado de computadores. Outros computadores desta geração que conheceram grande sucesso, particularmente nas universidades e centros de pesquisa, foram os minicomputadores da série PDP-11. Mais uma novidade introduzida por esta classe de computadores foi o conceito de multiprogramação, na qual diversos programas poderiam estar residentes na memória da máquina. No caso em que um programa entrasse em espera para uma operação de entrada/saída de dados, a unidade central passava a executar a parte de um outro programa. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 19 Figura 13 – IBM 360. Figura 14 – DEC PDP-11. 1.3.5. As Máquinas de Quarta Geração (1980 - 1990) – Circuitos LSI Ainda mais avançados que os circuitos integrados, eram os circuitos LSI (Large Scale of Integration) com mil transistores por "chip" e VLSI (Very Large Scale of Integration) com cem mil transistores por "chip". O uso desses circuitos na construção de processadores representou outro salto na história dos computadores. As linguagens mais utilizadas eram a PROLOG, FP, UNIX e o início da utilização da linguagem C. Logo em 1981, nasce o microprocessador 286 utilizando slots ISA de 16 bits e memórias de 30 pinos. Quatro anos mais tarde, era a vez do 386, com maior velocidade de processamento. Ao contrário do 286, era possível rodar o Windows 3.11 no 386. Introduziram-se, no mercado, as placas VGA e suporte a 256 cores. Em 1989, eram lançados os primeiros 486 DX, eles vinham com memórias de 72 pinos (muito mais rápidas que as antigas de 30 pinos) e possuíam slots PCI de 32 bits - o que representava o dobro da velocidade dos slots ISA. Figura 15 – Microprocessadores Intel 386 e 486/DX2. Desde o início da década de 80, os preços haviam caído de tal maneira que começava ser possível a uma pessoa ter o seu próprio computador. Foi cunhado o conceito de "PC", ou "Personal Computer", e os computadores pessoais passaram a ser utilizados de uma maneira relativamente distinta dos grandes computadores de então. O primeiro microcomputador da história foi o Altair 8800, que usava o chip Intel 8088, tornou-se o padrão mundial da época para os microcomputadores de uso pessoal, abrindo uma nova era na história da informática. Sthephen Wozniak e Steve Jobs criaram, em 1976, uma pequena empresa, a Apple, quando construíram, numa garagem de fundo de quintal, o Apple I. Um ano depois, com um novo e melhor projeto, surge o Apple II, primeiro microcomputador com Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 20 grande sucesso comercial e, mais tarde, o Apple III. Em 1983, entra no mercado o Lisa e, em 1984, o Macintosh, com tecnologia de 32 bits. Figura 16 – Altair 8800. Figura 17 – Apple II. Em 1981, a IBM entrou no mercado de micros, introduzindo o PC, um microcomputador com tecnologia de 16 bits (Intel 8088) que em pouco tempo se tornou um padrão. O PC/XP usava o sistema operacional PC/MS-DOS, uma versão do MS-DOS desenvolvida para a IBM pela Microsoft. Além disso, diversos modelos e estilos foram sendo lançados nessa época: Lotus 1- 2-3, Sinclair ZX81/ZX Spectrum, Osborne1, etc. Figura 18 – IBM/XT. Figura 19 – Osborne I. 1.3.6. As Máquinas de Quinta Geração (1990 - dias atuais) – Circuitos ULSI As aplicações exigem cada vez mais uma maior capacidade de processamento e armazenamento de dados. Sistemas especialistas, sistemas multimídia (combinação de textos, gráficos, imagens e sons), banco de dados distribuídos e redes neurais, são apenas alguns exemplos dessas necessidades. Uma das principais características dessa geração é a simplificação e miniaturização do computador, além de melhor desempenho e maior capacidade de armazenamento. Tudo isso, com os preços cada vez mais acessíveis. A tecnologia VLSI foi substituída pela ULSI (Ultra Large Scale Integration). O conceito de processamento está partindo para os processadores paralelos, ou seja, Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 21 a execução de muitas operações simultâneas pelas máquinas. A redução dos custos de produção e do volume dos componentes permitiu a aplicação destes computadores nos chamados sistemas embutidos, que controlam aeronaves, embarcações, automóveis e computadores de pequeno porte. Os micros que utilizam a linha de processadores Pentium, da Intel, são exemplos desta geração de computadores que surgiu em 1993. As grandes mudanças neste período ficariam por conta das memórias DIMM de 108 pinos, do aparecimento das placas de vídeo AGP e de um aprimoramento da slot PCI melhorando ainda mais seu desempenho. Em 1997 surge o Pentium II, em 1999 o Pentium III, em 2001 o Pentium 4 e mais recentemente os processadores da nova microarquitetura Intel Core, com processadores com mais de um núcleo em um único encapsulamento (sem contar os modelos similares da concorrente AMD). Figura 20 – Processadores: Intel Core 2 Extreme e AMD Athlon 64 X2 Dual-Core. Enfim, a informática evolui cada vez mais rapidamente e as velocidades de processamento dobram em períodos cada vez mais curtos. Para se ter uma noção disso, basta observar que entre os modelos de computador mais antigos, os espaçamentos entre uma novidade e outra eram de dezenas de anos, sendo que hoje não chega a durar nem um mês. Isso nos leva a concluir que o avanço científico e do poder de cálculo avança de maneira que não se encontra paralelo na história humana, barateando os custos e tornando acessíveis os computadores às pessoas de baixa renda. Quem sabe uma nova geração de computadores não está por vir? Alguns falam em processadores quânticos quando os limites da miniaturização do silício forem atingidos, enquanto outros falam em moléculas de água armazenando informações - mas o fato é que coisas novas vão surgir e novas gerações deixarão a atual tão longe e ultrapassada como está a segunda para nós. Mesmo rompendo recentemente a barreira dos terabytes, a evoluçãodos computadores ainda está longe de terminar. Leia, no Ambiente Virtual de Aprendizagem, na Midiateca, a apresentação “Uma Breve História da Computação”. Material baseado em uma compilação da Profa. Dra. Rosely Sanches. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 22 Pesquise a respeito das especificações técnicas (memória, processamento, barramento, clock, instruções, etc.) dos computadores de 1ª a 5ª geração. Faça um pequeno relatório com as especificações técnicas de uma máquina de cada geração. 1.3.7. O modelo de von Neumann A grande maioria dos computadores existentes atualmente segue um modelo proposto pelo matemático americano John von Neumann por volta de 1940. Nesse modelo, um elemento processador segue as instruções armazenadas em uma memória de programas, para ler canais de entrada, enviar comandos sobre canais de saída e alterar as informações contidas em uma memória de dados. A Figura 21 indica a estrutura desse modelo. Figura 21 – Modelo de von Neuman. Esse modelo inicial evoluiu para uma estrutura em barramento (Figura 22), que é a base dos computadores modernos. Nessa estrutura, as memórias de dados e de programa são fundidas em uma memória única, e as comunicações entre elementos são efetuadas através de uma via comum de alta velocidade. Figura 22 – Modelo de von Neuman (Estrutura em Barramento). Uma variante do modelo básico de máquinas von Neumann é denominado de máquinas Harvard, no qual há vias separadas para dados e instruções entre Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 23 memória principal e CPU. A origem do termo vem dos computadores Mark I a Mark IV, desenvolvidos em Harvard, com memórias de dados e instruções separadas. 1.4. Principais Componentes de um Computador Existem três elementos fundamentais em um sistema computacional, cada um executando uma tarefa especial. Estes elementos são: 1. A Unidade Central de Processamento (CPU). 2. A Memória Principal. 3. Os Dispositivos ou Portas de Entradas e Saídas (I/O). Figura 23 – Componentes de um Computador. 1.4.1. A Unidade Central de Processamento (CPU) A CPU, ou processador, tem como função principal unificar todo o sistema, controlando as funções realizadas por cada unidade funcional. A CPU executa o processamento numérico, as operações lógicas e as funções de temporização. As operações da CPU são controladas por um conjunto de instruções que, quando organizadas em uma seqüência lógica, formam o chamado programa. Os programas e os dados a serem manipulados obrigatoriamente deverão estar armazenados na memória principal. A CPU é alimentada com dados e sinais de controle, executa uma instrução por vez e produz como saída dados e sinais de controle. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 24 Internamente, uma CPU é formada por 3 unidades fundamentais: 1. Os Registradores. 2. A Unidade Lógica e Aritmética (ULA). 3. O Circuito de Controle. Figura 24 – Unidade Central de Processamento (CPU). Registradores – são dispositivos de alta velocidade para armazenamento temporário de dados. Os registradores, geralmente numerosos, são utilizados para assegurar o armazenamento temporário de informações importantes para o processamento de uma determinada instrução. Um registrador memoriza um número limitado de bits, geralmente uma palavra de memória. Os registradores mais importantes são: • Contador de Programa (PC - Program Counter), que aponta para a próxima instrução a ser executada. • Registrador de Instrução (IR - Instruction Register) que armazena a instrução em execução. • Outros registradores que permitem o armazenamento de resultados intermediários. Unidade Lógica e Aritmética (ALU) – assume todas as tarefas relacionadas às operações lógicas (ou, e, negação, etc.) e aritméticas (adições, subtrações, etc...) a serem realizadas no contexto de uma tarefa. Unidade de Controle – coordena todas as atividades do microprocessador. É esta unidade que assume toda a tarefa de controle das ações a serem realizadas pelo computador, comandando todos os demais componentes de sua arquitetura. Através de pulsos externos de temporização chamados "clocks", o circuito de controle gera as seqüências apropriadas de eventos necessários à execução das tarefas de processamentos. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 25 1.4.2. Barramentos A CPU, a memória principal e os dispositivos de I/O são interligados por meio de linhas de comunicação denominadas barramentos ou vias. Um barramento (bus) é um conjunto de fios paralelos (linhas de transmissão), nos quais trafegam informações como dados, endereços ou sinais de controle. Os dados trafegam na CPU, memória e I/O através de via de dados. Estes dados poderão ser instruções para CPU ou informações da CPU para portas I/O e vice- versa. A via de endereço é utilizada pela CPU para selecionar uma célula de memória ou um dispositivo I/O por meio de um código binário. A via de controle conduz os sinais de controle para a memória e para os dispositivos I/O, especificando as direções dos dados em relação à CPU, o momento exato da transferência, o tipo de operação, etc. Se um processador quiser armazenar um dado 10101100b no endereço 5h, ele deverá colocar, no barramento de dados, o valor do dado (10101100b), no barramento de endereços, o valor do endereço (5h) e, no barramento de controle, confirmar que se trata de uma operação de escrita em memória. Tudo isso é feito simultaneamente e é transparente ao usuário. 1.4.3. Clock Clock é um circuito oscilador que tem a função de sincronizar e ditar a medida de velocidade de transferência de dados no computador, por exemplo, entre o processador e a memória principal. Esta freqüência é medida em ciclos por segundo, ou Hertz. Existe a freqüência própria do processador, comandando operações internas a ele e a freqüência do computador a ele associado, basicamente ciclos CPU-Memória principal. Os processadores Pentium-100, Pentium MMX-233, Pentium II-300 acessam a memória principal a 66 MHz. Suas freqüências respectivas de 100, 233 e 300 MHz são atingidas, tão somente, no interior do chip. Dizem respeito, portanto, ao processamento interno do processador e não à freqüência na relação CPU-Memória do computador. Já o processador Pentium II-350 tem uma freqüência externa de 100 MHz, acarretando um desempenho melhor do microcomputador, tanto no processamento propriamente dito quanto nas operações de disco e vídeo. 25MHz são 25 milhões de ciclos por segundo. A duração de um ciclo, seu período, é o inverso da freqüência, então cada ciclo será o inverso de 25.000.000 ou 1/25.000.000 = 0,00000004 ou 40x10-9 = 40 ηseg. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 26 1.4.4. Memória Principal É o componente do sistema com a função de armazenar informações que são, foram ou serão manipuladas pelo processador. Ela é conhecida também como primária e é formada por dois tipos de memória: RAM (Random Access Memory) – Memória de Acesso Aleatório e a ROM (Read Only Memory) – Memória Somente de Leitura. Atualmente, os microcomputadores possuem memória principal (RAM) de 256MB (Mega Bytes) a 2GB (Giga Byte). A RAM é uma memória volátil, porém há uma pequena parte da memória principal composta por memória não volátil (ROM) que armazenamos instruções que são sempre executadas quando o computador é ligado. O software gravado na ROM recebe o nome de firmware. Eles são basicamente três: • BIOS (Basic Input/Outpu System) – Conjunto de instruções básicas de software que permite ao processador trabalhar com periféricos básicos. • POST (Power-On Self Test) – Autoteste de inicialização, realizado sempre que o computador é inicializado. • SETUP – Programa de configuração do hardware do computador. 1.4.5.Memória Cache A memória cache é uma memória volátil de alta velocidade normalmente integrada aos processadores. O tempo de acesso a um dado nela contido é muito menor que se fosse buscá-lo diretamente na memória principal. Este tempo é de 10 a 25ηs e normalmente sua capacidade varia de 256KB, 512KB e 1MB. Toda vez que o processador faz referência a um dado armazenado na memória principal, ele “olha” antes na memória cache. Se o processador encontrar o dado na cache, não há necessidade do acesso à memória principal; do contrário, o acesso é obrigatório. Um computador sem cache: • 30% mais lento para processamento. • 20% mais lento para acesso a disco. • 10% mais lento para acesso a vídeo. Imagine a memória RAM como uma mesa do outro lado da sala. Quando você vai pegar uma informação lá, por exemplo, um número de telefone, você vai anotá-lo para trazê-lo para sua mesa. Por quê? Se você precisar do mesmo número de telefone outra vez, não vai precisar se levantar e buscá-lo na outra mesa, só precisa ler no papel perto de você. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 27 1.4.6. Memória Secundária Conhecida também como memória auxiliar ou memória de massa é um meio permanente (não volátil) de armazenamento de programas e dados. Enquanto a memória principal precisa estar sempre energizada para manter suas informações, a memória secundária não precisa de alimentação. A memória secundária pode ser constituída por diferentes tipos de dispositivos, alguns diretamente ligados ao sistema para acesso imediato, como no caso dos discos rígidos (HDs), e outros que podem ser conectados quando desejado (disquetes, fitas, CD-ROM, DVD, etc.). O acesso à memória secundária é lento se comparado com o acesso à memória cache ou à principal, porém seu custo é baixo e sua capacidade de armazenamento é bem superior à da memória principal. O tempo de acesso/ciclo de memória é alto devido a esses dispositivos serem, em geral, eletromecânicos e não circuitos puramente eletrônicos. HDs de 5 a 40ms, CD-ROM de 120 a 300 ms e fitas magnéticas na ordem de segundos. Figura 25 – Hierarquia de Memórias. 1.4.7. Dispositivos de Entrada e Saída (E/S ou I/O) Os dispositivos de entrada e saída, também conhecidos por periféricos, são utilizados para permitir a comunicação entre o computador e mundo externo. Através desses dispositivos, o computador pode armazenar, ler, transmitir e receber dados. Dentre os diversos dispositivos de E/S, existem alguns que são especializados apenas em ENTRADA, outros especializados apenas em SAÍDA e outros em ENTRADA e SAÍDA. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 28 � Entrada: teclado, mouse, microfone, scanner, caneta óptica, mesa digitalizadora, leitora de códigos de barras, leitora de cartão magnético, joystick, câmera de vídeo, sensores, etc. � Saída: monitor de vídeo, projetor de vídeo, impressora, plotadora, caixa de som, controladores, etc. � Entrada e Saída: drive de disquete (floppy disk), disco rígido (HD), modem, placa de rede, leitor e gravador de CD/DVD, pen drive, etc. Figura 26 – Dispositivos de Entrada. Figura 27 – Dispositivos de Saída. Figura 28 – Dispositivos de Entrada e Saída. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 29 2. SISTEMAS DIGITAIS Os computadores são equipamentos eletrônicos digitais, portanto toda a informação a ser armazenada, movimentada e processada internamente deverá ser transformada para o código binário, ou seja, usam apenas DUAS grandezas, representadas pelos algarismos 0 e 1. 2.1. O Bit, a Palavra, o Caractere, o Nibble e o Byte A menor unidade de informação armazenável em um computador é o algarismo binário ou dígito binário, conhecido como bit (binary digit). O bit assume dois valores: 0 e 1. O menor grupo ordenado de bits representando uma informação útil e inteligível para o ser humano é o caracter. Cada sistema poderá definir como cada conjunto de bits irá representar um determinado caractere, quantos bits e como se organizam. O conjunto de 4 bits é chamado de nibble, termo pouco empregado. O conjunto de 8 bits foi definido pela primeira vez pela IBM e é chamado de byte. Daí em diante, todos os fabricantes adotam o mesmo padrão até os dias de hoje. A palavra é o conjunto de bits que representa uma informação útil e está relacionada com o armazenamento e a transferência de informações entre a Memória Principal e a CPU. Portanto a palavra é um conjunto de bytes. Um computador com uma palavra de 32 bits tem 4 bytes/palavra. As operações de armazenamento e recuperação de dados na memória são feitas byte a byte ou palavra a palavra, portanto é comum mencionarmos o tamanho de uma memória em termos de bytes. Para representar valores maiores, utilizaremos o sistema métrico de grandeza, com algumas adaptações para os computadores. Sufixo Quantidade Kilo (K) 1 Kilobytes ou 1 KB = 1024 = 210 Mega (M) 1 Megabytes ou 1 MB = 1.048.576 = 220 Giga (G) 1 Gigabytes ou 1 GB = 1.073.741.824 = 230 Tera (T) 1 Terabytes ou 1 TB = 1.099.511.627.776 = 240 Peta (P) 1 Petabytes ou 1 PB = 1.125.899.906.843.624 = 250 Exa (E) 1 Exabytes ou 1 EB = 1.152.921.504.607.870.976 = 260 Tabela 1 – Tabela de Medidas. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 30 Devemos ter cuidado para não cometermos falsos arredondamentos. 65.536, por exemplo, representa, em binário, 64 K (e não 65 K, como parece), assim como 157.286.400 representa 150 M (e não 157 M). (TORRES, 1999). 2.2. Sistemas Numéricos Sistemas numéricos são sistemas de notação usados para representar quantidades abstratas denominadas números. Um sistema numérico é definido pela base que utiliza. A base de um sistema é o número de símbolos diferentes, ou algarismos, necessários para representar um número qualquer. O sistema decimal, utilizado hoje de forma universal, utiliza dez símbolos diferentes ou dígitos para representar um número e é, portanto, um sistema numérico na base 10. Os computadores utilizam a base 2 (sistema binário) e os programadores, por facilidade, usam em geral uma base que seja uma potência de 2, tal como 24 (base 16 ou sistema hexadecimal) ou eventualmente ainda 23 (base 8 ou sistema octal). Se na base 10, dispomos de 10 algarismos para a representação do número: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. Na base 2, seriam apenas 2 algarismos: 0 e 1. Na base 16, seriam 16: os 10 algarismos aos quais estamos acostumados, mais os símbolos A, B, C, D, E e F, representando respectivamente 10, 11, 12, 13, 14 e 15 unidades. Generalizando, temos que uma base b qualquer disporá de b algarismos, variando entre 0 e (b-1). 2.2.1. Sistema Decimal Entre os sistemas numéricos existentes, o sistema decimal é o mais utilizado. Os símbolos ou dígitos utilizados são os algarismos 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. Os elementos são agrupados de dez em dez e, por essa razão, os números podem ser expressos por intermédio de potência de dez e recebem o nome de sistema de numeração decimal. 486 = 400 + 80 + 6 = 4 x 100 + 8 x 10 + 6 x 1 = 4 x 102 + 8 x 101 + 6 x 100, ou seja, 486 = 4 x 102 + 8 x 101 + 6 x 100. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 31 Observe que o número 4 está numa posição tal que seu peso é igual a 2 e que o número 6, por sua vez, tem o peso igual a zero. Então podemos concluir que o algarismo ou dígito, dependendo do seu posicionamento, terá um peso. Note que aquele situado na extrema esquerda do número está sendo multiplicado pela potência de dez maior, ou seja, é o dígito mais significativo (most significant digit – MSD). Analogamente, o que está situado na extrema direita será multiplicado pela menor potência, ou seja, é o dígito menos significativo (least significant digit – LSD). a) O princípiode posicionamento, que formula o expoente da base 10, pode ser estendido a qualquer sistema numérico, ou seja, independe da base numérica em que está representado. b) Por ser o sistema padrão de uso (é o sistema que utilizamos em nosso dia-a-dia), o sistema decimal não necessita de representação de base, a fim de simplificação de escrita. 2.2.2. Sistema Binário Como o próprio nome já indica tem base 2, pois utiliza apenas dois símbolos ou algarismos: 0 e 1. Também vale ressaltar que, em processamentos digitais, o dígito 1 também é conhecido por nível lógico 1, nível lógico alto, ligado, verdadeiro e energizado. Já o dígito 0 pode ser nível lógico 0, nível lógico baixo, desligado, falso e desenergizado. Assim, a cada posição de cada algarismo corresponde uma potência de 2, como foi exposto para número decimal, ao qual correspondia uma potência de 10. 2.2.2.1. Conversão de Binário em Decimal É o mesmo processo já estudado para base 10, ou seja: 10111(2) = 1x2 4 + 0x23 + 1x22 + 1x21 + 1x20 = 16 + 0 + 4 + 2 + 1 = 23, ou seja, 10111(2) = 23(10) ou 10111(2) = 23 Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 32 Como os dígitos binários são chamados de bit, da mesma forma como falamos no sistema decimal, dependendo do posicionamento o algarismo ou bit terá um peso; o da extrema esquerda será o bit mais significativo (most significant bit – MSB) e o da extrema direita o bit menos significativo (least significant bit – LSB). 4 3 2 1 0 1 1 0 1 1(2) = 1x2 4 + 1x23 + 0x22 + 1x21 + 1x20 = 16 + 8 + 0 + 2 + 1 = 27 MSB LSB 2.2.2.2. Conversão de Decimal em Binário Na conversão decimal-binário, podem ser utilizados dois métodos: o primeiro que é mais geral, dito das divisões sucessivas, consiste em dividir sucessivamente o número por 2 até obtermos o cociente 0 (zero). O resto dessa divisão colocado na ordem inversa corresponde ao número binário correspondente ao decimal dado. 54 = ?(2) 54 = 1 1 0 1 1 0 (2) O segundo método de conversão consiste em, começando como número decimal a ser convertido, extrair a maior potência de 2 (menor ou igual) possível. Repetindo este processo para o resto dessa subtração até que o resto seja zero. Concluindo, marque com o dígito 1 os expoentes utilizados e com o dígito zero os expoentes não utilizados. 54 = ?(2) 256 128 64 32 16 8 4 2 1 54 – 32 = 22 22 – 16 = 6 6 – 4 = 2 2 – 2 = 0 Portanto nós utilizamos as potências 32=25, 16=24, 4=22 e 2=21, ou seja: 5 4 3 2 1 0 32 16 8 4 2 1 Resposta = 1 1 0 1 1 0 (2) Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 33 Este método, evidentemente, exige um pouco mais de raciocínio, devido ao problema de memorização das potências de dois e subtrações. Exercícios: Converta os valores para as bases indicadas. a) 111011(2) = ? b) 110110(2) = ? c) 10011(2) = ? d) 10110(2) = ? e) 215 = ? (2) f) 43 = ? (2) g) 101 = ? (2) h) 36 = ? (2) i) 543 = ? (2) 2.2.3. Sistema Octal O sistema octal ou base 8 é composto por oito símbolos ou dígitos: 0, 1, 2, 3, 4, 5, 6, e 7. Os números binários, como vimos, são longos demais para manipularmos; são muito apropriados para as máquinas ou computadores, mas para seres humanos são muito trabalhosos. Se considerarmos três dígitos binários, o maior que pode ser expresso por esses três dígitos é 111(2) ou em decimal 7. Como o 7 é também o algarismo mais significativo do sistema octal, conclui-se que com a combinação de três dígitos binários pode-se ter o algarismo octal correspondente; daí também se pode dizer que os números octais têm um terço do comprimento de um número binário e fornecem a mesma informação. 2.2.3.1. Conversão de Binário em Octal É feita pela combinação de três dígitos binários, podendo assim ter todos os algarismos octais: 11011011(2) = 11 011 011 = 3 3 3 (8) →→→→ 11011011(2) = 333(8) 1011101(2) = 1 011 101 = 1 3 5 (8) →→→→ 1011101(2) = 135(8) 2.2.3.2. Conversão de Octal em Binário A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa à já descrita, ou seja, basta converter individualmente cada dígito octal em três binários. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 34 137(8) = ?(2) O número 1 equivale a 001(2), o número 3 igual a 011(2) e o número 7 vale 111(2). Portanto: 137(8) = 001011111(2), ou seja, 137(8) = 1011111(2). 2.2.3.3. Conversão de Octal em Decimal Esta conversão se passa pela conversão em binário e posteriormente em decimal, ou seja: 17(8) = ? 17(8) →→→→ 001 111(2) →→→→ 1x2 3 + 1x22 + 1x21 + 1x20 →→→→ 8 + 4 + 2 + 1 = 15. 2.2.3.4. Conversão de Decimal em Octal Conforme vimos anteriormente, também neste caso, devemos passar pelo sistema binário. 22 = ?(8) 22 →→→→ 10110(2) →→→→ 10 110(2) →→→→ 26(8),ou seja, 22 = 26(8). Exercícios: Converta os valores para as bases indicadas. a) 45(8) = ?(2) = ? b) 1011(2) = ? (8) = ? c) 56(8) = ? d) 101 = ? (8) e) 101(2) = ? (8) = ? f) 47(8) = ?(2) = ? 2.2.4. Sistema Hexadecinal O sistema hexadecimal (hexa) foi criado com o mesmo propósito do sistema octal, para minimizar a representação de um número binário que é o utilizado em processamento. Tanto os números em hexa como em octal são os meios de manipulação do homem, porém existirão sempre conversores internos à máquina que os converta em binário, com o qual a máquina trabalha. Analogamente, se considerarmos quatro dígitos ou bits binários, o maior número que pode ser expresso por esses quatro dígitos é 1111 ou em decimal 15, da mesma forma que 15 é o algarismo mais significativo do sistema hexadecimal, portanto com Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 35 a combinação de 4 bits ou dígitos binários pode-se ter o algarismo hexadecimal correspondente. Assim, com esse agrupamento de 4 bits ou dígitos, podem-se definir 16 símbolos, de 0 até 15. Contudo, como não existem símbolos dentro do sistema arábico que possam representar os números decimais entre 10 e 15 sem repetir os símbolos anteriores, foram usados os símbolos A, B, C, D, E e F, portanto o sistema hexadecimal será formato por 16 símbolos alfanuméricos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F. 2.2.4.1. Conversão de Hexa em Binário Basta converter cada dígito hexadecimal em seu similar binário, ou seja, cada dígito em hexa equivale a um grupo de 4 bits. B15(16) = ? (2) B(16) →→→→ 11 →→→→ 1011(2) 1(16) →→→→ 1 →→→→ 0001(2) 5(16) →→→→ 5 →→→→ 0101(2) Logo, B15(16) = 101100010101(2) 2.2.4.2. Conversão de Binário em Hexa De maneira análoga, basta realizar o processo inverso de hexa para binário. 10011011(2) = ? (16) 1001(2) →→→→ 9 →→→→ 9(16) 1011(2) →→→→ 11 →→→→ B(16) Portanto, 10011011(2) = 9B(16) 2.2.4.3. Conversão de Hexa nos demais sistemas e vice-versa Como podemos perceber, para realizarmos a conversão nos demais sistemas, basta passarmos pela binária e/ou pelo sistema decimal. Exercícios: Converta os valores para as bases indicadas. a) 211 = ? (2) = ? (8) = ? (16) b) 1101011(2) = ? (16) = ? = ? (8) c) 3747(8) = ? (16) = ? (2) = ? d) AAE(16) = ? = ? (8) = ? (2) e) Fazer um programa para conversão de sistemas numéricos entre as diversas bases (2, 8, 10 e 16), somente números inteiros. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 36 Baixe da Midiateca, no Ambiente Virtual de Aprendizagem, o programa Sisnum.exe que é um conversor de base numérica desenvolvido pelo aluno Márcio Henrique da Silva. Este software será útil para a correção dos exercícios propostos. TABELA DE CONVERSÃ0 Decimal Binário Octal Hexadecimal 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 8 9 1001 9 10 1010 A 111011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F Tabela 2 – Conversão de Base Numérica. 2.3. Portas Lógicas Durante séculos, os matemáticos sentiram que havia uma conexão entre a Matemática e a Lógica, mas ninguém antes de George Boole pôde achar este elo ausente. Em 1854, ele inventou a lógica simbólica, conhecida por álgebra booleana. Cada variável, na álgebra booleana, tinha qualquer um de dois valores: verdadeiro ou falso. Após algumas décadas, os engenheiros entenderam que a álgebra booleana podia ser aplicada à Eletrônica dos Computadores. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 37 2.3.1. Portas NOT (Inversoras) Uma inversora é uma porta com apenas um sinal de entrada e um sinal de saída, o estado da saída é sempre o oposto da entrada. Simbologia: Tabela Verdade A Ā 0 1 1 0 Tabela 3 – Porta NOT. Representação em Álgebra Booleana: AS = 2.3.2. Portas OU (OR, + , ∨∨∨∨) A porta OR tem dois ou mais sinais de entrada (padrão 2 ou 3), mas somente um sinal de saída. Se qualquer sinal de entrada for alto (nível 1 - fechado), o sinal de saída será alto. Simbologia: Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 38 Tabela Verdade A B C S 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 Tabela 4 – Porta OR. Representação em Álgebra Booleana: CBAS ++= 2.3.3. Portas E (AND, . , ∧∧∧∧) A porta AND tem dois ou mais sinais de entrada (padrão 2 ou 3), mas somente um sinal de saída. Se qualquer sinal de entrada for baixo (nível 0 - aberto), o sinal de saída será baixo. Simbologia: Tabela Verdade A B S 0 0 0 0 1 0 1 0 0 1 1 1 Tabela 5 – Porta AND. Representação em Álgebra Booleana: B.AS = Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 39 Exercícios: a) Fazer o circuito de portas lógicas equivalente para seguinte equação booleana: B.C)(AS += b) Fazer a tabela verdade para porta AND com 3 entradas. c) Fazer a tabela verdade para porta OR com 4 entradas. d) Fazer o circuito de portas lógicas equivalente a: BC).(AC).B)((AS +++= e) Fazer o circuito de portas lógicas para: C.)BA(.C)B).((AS ++= 2.3.4. Portas NÃO OU (NOR) As portas NOR apresentam as mesmas características das portas OR, com relação à entrada e saída. Sua diferença está no fato de ter associado a sua saída uma porta NOT, o que inverte o resultado de S, ou seja, só teremos nível lógico 1 na saída quando todas as entradas forem de nível 0. Simbologia: Tabela Verdade A B S 0 0 1 0 1 0 1 0 0 1 1 0 Tabela 6 – Porta NOR. Representação em Álgebra Booleana: BAS += 2.3.5. Portas NÃO E (NAND) De maneira análoga às portas NOR, as portas NAND nada mais são que portas AND onde foram acrescentadas portas NOT em sua saída. Portanto, só obteremos nível 0 quando todas as suas entradas forem de nível 1. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 40 Simbologia: Tabela Verdade A B S 0 0 1 0 1 1 1 0 1 1 1 0 Tabela 7 – Porta NAND. Representação em Álgebra Booleana: B.AS = Talvez esta porta seja a mais importante de todas, pois através dela podemos implementar as demais: Porta NOT Porta AND Porta OR 2.3.6. Portas OU Exclusiva – XOU (XOR, ⊕⊕⊕⊕) Uma porta XOR reconhece apenas quando houver um número ímpar de entradas em nível alto. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 41 Circuito equivalente: Simbologia: Tabela Verdade A B S 0 0 0 0 1 1 1 0 1 1 1 0 Tabela 8 – Porta XOR. Representação em Álgebra Booleana: BAB.AB.AS ⊕=+= 2.3.7. Portas NÃO OU Exclusiva – XNOU (XNOR, ����) Como nas demais portas, para obtermos uma porta XNOR, basta adicionarmos ao final de uma porta XOR uma porta inversora, o que provocará a inversão dos resultados na saída. Simbologia: Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 42 Tabela Verdade A B S 0 0 1 0 1 0 1 0 0 1 1 1 Tabela 9 – Porta XNOR. Representação em Álgebra Booleana: BABAB.AB.AS �=⊕=+= Exercícios: Consultar o livro Microcomputadores e Microprocessadores, do autor Albert Paul Alvino. Fazer os problemas 2-1 a 2-25 e os problemas 3-1 a 3-34 do livro. 2.4. Álgebra Booleana e Mapa de Karnaugh Iremos estudar a álgebra booleana e os mapas de Karnaugh, tópicos indispensáveis ao projetista digital. O projeto digital, usualmente, inicia-se especificando uma saída desejada com uma tabela-verdade. A pergunta então é como apresentar um circuito lógico que tenha a mesma tabela-verdade? A álgebra booleana e os mapas de Karnaugh são as ferramentas usadas para transformar uma tabela-verdade num circuito lógico prático. 2.4.1. Álgebra Booleana O que se segue é uma discussão das relações básicas em álgebra booleana. Muitas destas relações são as mesmas da álgebra comum, o que facilita lembrá-las. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 43 Relações Booleanas: Leis Comutativas, Associativas e Distributivas: RELAÇÕES BOOLEANAS A0A =+ 11A =+ AAA =+ 1AA =+ AA = A1.A = 00.A = AA.A = 0A.A = B.ABA =+ BAB.A += AB.AA =+ A)BA(.A =+ BAB.AA +=+ B.A)BA(.A =+ ABBA +=+ BAB.A = ABBA = C)BA()CB(A ++=++ C)BA()CB(A = CABA)CB(A +=+ )CA()BA(CBA +++=+ ⇒ Vale lembrar que não se trata de álgebra comum. Tabela 10 – Regras da Álgebra Booleana. 2.4.1.1. Expressões Lógicas – Aplicações das Portas Uma expressão lógica ou uma função lógica pode ser definida como sendo uma expressão algébrica formada por variáveis lógicas (binárias), por símbolos representativos de uma operação lógica (+, . , etc.), por parênteses (às vezes) e por um sinal de igual. Prioridades: 1º - sempre serão resolvidos os parênteses, do mais interno para o mais externo; 2º - o operador NOT quando ele envolve apenas um elemento; 3º - o operador AND; 4º - o operador OR; 5º - o operador XOR. )BA(C.BAX +⊕+= Para A = 1 , B = 0 e C = 1: 1º - 0101BA ==+=+ ⇒ Resolvemos primeiro o parêntese 2º - 01.0C.B == 3º - 101C.BA =+=+ 4º - 101)BA()C.BA( =⊕=+⊕+ Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 44 Exercícios: Seja A = 1001, B = 0010, C = 1110 e D = 1111. Calcule: a) )DB()DC.B(AX ⊕++⊕= b) )BC(.))D.CB(A(Y +⊕+= c) )C.A()DC(.)BA(W +++= 2.4.1.2. Simplificação de Expressões Lógicas � Utilização das regras da álgebra Booleana para obter expressões mais simples. � Usualmente há mais de uma possibilidade de simplificação. C.AC.B.AC.B.AF ++= C.AC.B.AC.B.A ++ ⇒ C.A)C(C.B.A ++= ⇒ ⇒ C.A1.B.A += ⇒ C.AB.AF += Exercícios: a) Desenhar o circuito digital simplificado para: a.1) DCBADCBADCB A S ++= a.2) DCBADCBADCBADCBA S +++= b) Escreva a equação booleana para: Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 45 c) Determinar o circuito lógico digital e tabela verdade para a seguinte expressão booleana: C)(BACB S ++= A B C BC Ā B+C Ā(B+C) S 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 d) Idem ao exercício anterior para a expressão: BAC)(BAS ++= 2.4.2. Mapas de Karnaugh Como se pode constatar, a minimização ou simplificação é imprescindível em um comando digital. Para realizarmos tal tarefa utilizaremos a minimização por mapas de Karnaugh que é um método, uma vez entendido, muito simples. O método consiste em fazer a minimização a partir de uma tabela da verdade, ou mapa, porém a simplificação é feita sobre um mapa característico chamado mapa de Karnaugh, que contém os mesmos elementos de uma tabela verdade comum, porém com uma distribuição diferente. Tabela Verdade: A B C S 0 0 0 0 0 0 1 0 0 10 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 Mapa de Karnaugh: Obs.: Observe que há uma inversão de seqüência no mapa. AB C 00 01 11 10 0 0 1 0 1 1 0 1 1 1 Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 46 Podemos observar que no mapa de Karnaugh a combinação para as variáveis A, B e C se obtém pela combinação de uma linha com uma coluna, ou seja, a combinação 0, 0 e 0 se obtém pela combinação da primeira linha com a primeira coluna. Assim, observamos que temos todas as combinações de entrada mostradas na tabela verdade. Devemos ressaltar que a expressão booleana é escrita a partir da tabela verdade perguntando-se quando obteremos a saída igual a nível 1, ou seja: C.B.AC.B.AC.B.AC.B.AC.B.AS ++++= 2.4.2.1. Regras para Minimização (Simplificação) A simplificação consiste em reunir células adjacentes que possuam a mesma saída (1), formando conjuntos denominados de subcubos e obedecendo às seguintes regras: a) o número de células reunidas deve ser o maior possível, mesmo que para isso uma mesma célula possa pertencer a dois ou mais conjuntos diferentes; b) o número de células reunidas em um subcubo deve ser sempre potência de 2, ou seja, 1, 2, 4, 8, 16,...; c) uma mesma célula pode pertencer a subcubos diferentes para satisfazer o item a, mas não fazer agrupamentos desnecessários (pelo menos uma célula tem de pertencer a um subcubo somente) e d) deve-se formar tantos agrupamentos até que não reste nenhuma saída igual a 1 que não tenha sido agrupada. A expressão da saída se obtém dos subcubos formados. Cada subcubo define uma função AND entre as variáveis que não mudam de nível lógico dentro do subcubo. Os diversos subcubos obtidos no mapa formam uma função OR. Voltando ao exemplo anterior e aplicando-se o mapa de Karnaugh, obteremos a seguinte expressão booleana simplificada: B.AC.AB.AS ++= ou B.AC.BB.AS ++= Um mapa de Karnaugh para 4 variáveis (A, B, C e D) seria da seguinte forma: C AB 00 01 11 10 0 0 1 0 1 1 0 1 1 1 C AB 00 01 11 10 0 0 1 0 1 1 0 1 1 1 CD AB 00 01 11 10 00 01 11 10 Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 47 Exercícios: a) Dado a tabela verdade abaixo, determinar a expressão booleana simplificada por Karnaugh e o circuito digital resultante. A B C S 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 b) Um guindaste deve permitir a elevação de massas compreendidas entre 20 e 80 quilos, pela atuação do motor M (é a nossa saída S). Para isso ele possui uma plataforma repousando sobre molas. De acordo com o peso das cargas a elevar, três sensores de carga (A, B e C) são atuados. As condições de funcionamento são as seguintes: � em vazio o guindaste deve funcionar, isto é, quando nenhum dos sensores é acionado; � para cargas até 20 Kg, ou seja, 0<peso<20, o guindaste não deve funcionar. Situação em que somente o sensor A está atuado; � para cargas compreendidas entre 20 e 80 Kg, 20<peso<80, o guindaste deve funcionar, quando os sensores A e B permanecem atuados e � para cargas superiores a 80 Kg, peso>80, o guindaste não deve funcionar, quando todos os sensores permanecem atuados. Com base no sistema descrito, determinar: 1) tabela verdade de funcionamento; 2) equação Booleana simplificada por Karnaugh e 3) circuito digital. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 48 c) Em um circuito digital eletrônico, utiliza-se um DISPLAY de 7 segmentos (a, b, c, d, e, f, g) para representar os números decimais positivos de um dígito somente. Com base nas informações de posicionamento dos segmentos e tabela de atuação, completar a tabela e montar o circuito lógico digital simplificado que atenda às necessidades decimais. Dec. A B C D a b c d e f g LED 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 2 0 0 1 0 1 1 0 1 1 0 1 3 0 0 1 1 1 1 1 1 0 0 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 Obs: 1) Os números que não estão sendo utilizados na codificação ABCD, não interferem no resultado, ou seja, são condições irrelevantes (representados no mapa de Karnaugh por um “X”). Tais condições de irrelevância devem ser utilizadas como sendo nível lógico 0 ou 1, o que irá facilitar nas simplificações. 2) Cada segmento deve ser considerado como uma saída individual do nosso circuito. Baixe da Midiateca, no Ambiente Virtual de Aprendizagem, o programa mk.exe que resolve Mapas de Karnaugh até 3 variáveis e foi desenvolvido pelo aluno Márcio Henrique da Silva. Este software será útil para a correção dos exercícios propostos. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 49 Baixe da Midiateca, no Ambiente Virtual de Aprendizagem, o programa DW20_95.exe, Digital Works versão 2.0 (freeware). Este software é um simulador de circuitos digitais que permite a construção de circuitos com portas lógicas, flip-flops, dispositivos tri-state e memórias. As entradas podem ser implementadas usando chaves, clocks, seqüenciadores e dispositivos de entrada iterativos. As saídas podem ser visualizadas usando LED's, dispositivos de sete segmentos e dispositivos numéricos. Baixe da Midiateca, no Ambiente Virtual de Aprendizagem, o vídeo ExemploDW.avi. Nele implemento, usando o Digital Works, o circuito digital mostrado no Exercício b do item 2.4.1.2. (Simplificação de Expressões Lógicas), do nosso Guia de Estudo. Este vídeo procura apenas mostrar um exemplo de utilização do software. O programa possui vários componentes e ferramentas que permitem que você construa circuitos digitais mais complexos. Exercícios: No Ambiente Virtual de Aprendizagem, na Midiateca, você vai encontrar o arquivo ExercSisDig.doc com uma lista de exercícios para aplicação de Álgebra Booleana e Mapa de Karnaugh. 2.5. Memórias Existem 2 tipos de memórias: 1. Memória de Massa. 2. Memória Semicondutora. Os microprocessadores usam dispositivos semicondutores para armazenar programas e dados. Os mais utilizados são: • RAM (Random Access Memory): memória de acesso aleatório. • ROM (Read Only Memory): memória somente de leitura. Para expandir o espaço de armazenamento de dados, os sistemas microprocessados usam alguns dispositivos de armazenamento de massa, tais como: • discos flexíveis (disquetes); • discos rígidos (HDs); • fitas magnéticas; • disco Óptico (CD, DVD). Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 50 2.5.1. Memória de Massa São memórias utilizadas para armazenagem de grandes quantidades de informações, ficam externamente à CPU e normalmente requerem dispositivo periférico de interfaceamento. Todos os discos magnéticos (disquetes, discos rígidos, Zip disk, etc.) são divididos magneticamente em círculos concêntricos chamados trilhas. As trilhas, por sua vez, são divididas em setores. Em cada setor cabem 512 bytes de informação (esse valor é fixo). Dependendo do disco, ele poderá ter uma formatação com um maior número de trilhas e setores. Quanto maior esse número, mais dados o disco poderá armazenar (TORRES, 1999). Para calcular a capacidade máxima de um disco, você pode utilizar a fórmula abaixo: Capacidade de armazenamento = número de trilhas x número de setores por trilha x número de faces do disco x 512 bytes. Um disco formado por 80 trilhas, 18 setores por trilha e possuindo duas faces, terá a capacidade de 1.474.560 bytes ou 1.440 KB. Essa é a formatação utilizada pelo nosso conhecidíssimo disquete de 1.44 MB. Figura 29 – Disco Magnético. O termo formatar um disquete ou HD consiste em criar trilhas e setores neles. Guia de Estudo – ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES 51 2.5.2. Memória Semicondutora
Compartilhar