Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Organização de Computadores, Notas de estudo de Informática

Máquina virtual, Unidade Central de Processamento (UCP), Memória Principal, Memória Secundária, Dispositivis de Entrada e Saída, Arquiteturas Paralelas, Arquiteturas CISC e RISC.

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 13/11/2009

natalia-petrucelli-12
natalia-petrucelli-12 🇧🇷

2 documentos

Pré-visualização parcial do texto

Baixe Organização de Computadores e outras Notas de estudo em PDF para Informática, somente na Docsity! Disp SMemóriaDisp E UCP UC Sinais de Controle e Status dados instruções V - Organização de Computadores sta disciplina consiste no estudo dos componentes físicos que compõem o computador, cuja configuração básica e mais geral pode ser vista como na figura V.1 abaixo. Figura V.1 - Organização de um Computador onde, por definição, considera-se: • computador - como sendo uma máquina eletrônica, capaz de solucionar problemas através da execução automática de instruções que lhe sejam previamente forneci- das. • hardware - constituído pelos circuitos eletrônicos que compõem o computador e que o tornam capaz de reconhecer e executar um conjunto limitado de instruções simples. • software - constituído pelo conjunto de programas necessários para tornar o har- dware útil e operacional. • programa - como sendo uma peça de software constituída por uma seqüência de instruções que descrevem ao computador como executar uma determinada tarefa. • linguagem de máquina - constituída pelo conjunto básico de instruções que são re- conhecidas pelo hardware e, para a qual todo programa precisa ser convertido para que possa ser executado. • tradutor - um programa que converte outros programas para a linguagem de má- quina. Pode ser de três tipos: montador (para a linguagem assembly), interpretador (tradução e execução passo a passo) e compilador (tradução e execução em fases distintas). V.1 Máquina Virtual Constitui-se de uma abstração onde, dentro de um único computador hospedeiro, o universo gerado por cada linguagem define uma máquina hipotética (virtual) capaz de reco- nhecer e executar diretamente as instruções daquela linguagem. É a generalização do conceito de hardware. E UAL Organização de Computadores 2 Vantagens desta abordagem: 1. Um computador pode ser considerado como composto por "n" máquinas virtuais, cada uma delas com sua própria configuração e linguagem de máquina; 2. Uma pessoa, cujo trabalho seja gerar programas (aplicativos) para a máquina virtual de ní- vel "k" ou outro qualquer, não precisa conhecer ou se preocupar com as particularidades dos níveis inferiores ao seu; 3. A estrutura de níveis permite ver o computador como um conjunto hierárquico de facilida- des que possibilitam flexibilidade e independência ao usuário. " As linguagens de 4a geração - orientadas a objeto, com interfaces gráficas e super amigáveis derrubou o mistério e abriu as portas do computador ao usuário leigo e ao público em geral." Figura V.2 - Máquina Virtual O Modelo Multinível Contemporâneo A maioria dos computadores modernos possui dois ou mais níveis, sendo que máquinas com seis ou mais níveis são cada vez mais comuns. Tais níveis se subdividem basicamente em Hardware, Firmware, Software Básico, Utilitários e Softwares Aplicativos. A figura V.3 abai- xo, descreve um computador hipotético composto por 6 níveis, a saber: nível 0 - Lógica Digital • constitui o hardware do computador. O advento dos microprocessadores (pastilhas VLSI) e dos microcomputadores têm despertado o interesse e aberto, cada vez mais, o mundo da lógica digital aos profissionais de informática e ao público em ge- ral. • no nível 0 encontram-se: os circuitos eletrônicos (cap. IV) e os diversos sistemas (módulos) que compõem o computador: UCP, memória, dispositivos de E/S, dis- positivos de comunicação e interfaces. • o nível 0 executa diretamente as instruções (ou microinstruções) submetidas pelo nível 1. Máquina Virtual Mn Ling Máq - Ln Máquina Virtual M1 Ling Máq - L1 Máquina Virtual M0 Ling Máq - L0 Programas em Ln são inter- pretados e traduzidos por um interpretador residente na máquina Mn-1 Programas em L0 são inter- pretados e executados dire- tamente pelo hardware do computador Organização de Computadores 5 • é, na verdade, a "máquina" vendida ao usuário genérico. Suas características técni- cas, operacionais e funcionais são fornecidas através dos manuais de referência, comercializados junto com o equipamento. • é o nível onde reside o "kernel" do sistema operacional, que interpreta os utilitários, a linguagem de controle e as rotinas que residem no nível 3. • o SO pode ser interpretado pelo microprograma ou executado diretamente pelo hardware, naquelas máquinas desprovidas do nível 1. nível 3 - Sistema Operacional • é o nível em que o usuário interage diretamente (através do uso de utilitários e da linguagem de controle) ou indiretamente (através de programas aplicativos desen- volvidos em máquinas de níveis superiores). • o windows 3.1, por exemplo, é uma máquina virtual colocada acima deste nível e cuja finalidade é proporcionar ao usuário uma interface mais amigável e de mais fá- cil assimilação. • é geralmente, um nível híbrido, onde parte de suas instruções são interpretadas pelo "kernel" do SO (nível 2) e parte são interpretadas diretamente pelo microprograma (nível 1). nível 4 - Linguagem de Montagem • é genericamente chamada de assembly, embora cada máquina tenha seu próprio as- sembly, e é traduzida para o nível inferior pelo montador, comumente chamado de assembler. • o assembly já foi muito importante em épocas passadas, porém hoje é totalmente suplantado pelas linguagens de alto nível para o desenvolvimento de programas aplicativos e até utilitários. nível 5 - Linguagens Orientadas para o Problema • consiste em diferentes máquinas virtuais, cada uma definida pelo ambiente criado por sua linguagem de programação de alto nível. • as linguagens de alto nível são mais complexas que o assembly e requerem traduto- res mais bem elaborados e potentes dos tipos interpretadores e compiladores. • nível 6 e superiores • constituído por sistemas projetados para criar "shells" - máquinas virtuais especial- mente adequadas para certas aplicações, como por exemplo o word, o access, o ex- cel, o lotus, etc. Em resumo, os computadores modernos são constituídos de uma série hierárquica de máquinas virtuais, cada uma projetada e construída sobre suas predecessoras. Cada nível re- presenta um grau distinto de abstração, com a presença de diferentes recursos e operações; o que possibilita, através da supressão de detalhes irrelevantes, tornar o computador mais amigá- vel e mais fácil de ser compreendido pelo público em geral. Na estrutura de um PC, por exemplo, conforme pode ser visto na figura V.5 abaixo, 4 níveis virtuais podem ser considerados: o dos programas aplicativos, o do sistema operacional, Organização de Computadores 6 o dos programas de interface com os dispositivos periféricos (drivers) e as rotinas de entrada e saída padrão fornecidas pela BIOS. Observe que a segurança pode ser afetada uma vez que qualquer dos níveis pode realizar acesso direto às rotinas da BIOS e, portanto, sem se subme- ter aos critérios e procedimentos de proteção. Figura V.5 - Estrutura do MS-DOS V.2 A Unidade Central de Processamento (UCP) A Unidade Central de Processamento - UCP, é o "cérebro" do computador, e sua fun- ção é executar os programas armazenados na memória principal, buscando instruções e exe- cutando-as uma após a outra. Na figura V.6 abaixo, pode ser visto um esquema simplificado da organização interna do hardware. Observe que a UCP faz uso de um barramento para se comunicar com os demais componentes do sistema, como a memória principal e os demais dispositivos periféricos que compõem o computador. Este barramento é constituído por diversas vias paralelas por onde transitam os sinais. Grupos distintos destas vias, na prática, configuram diferentes barramentos, tais como o de dados, o de endereços e o de sinais de controle. O número de vias utilizado em cada um destes barramentos depende das características físicas de projeto do computador. Figura V.6 - Organização do Hardware Drivers ROM BIOS Device Drivers SO - residente Programas Aplicativos Barramento (dados + endereços + controle) UCP UC UAL IMPHDMP REGs Periféricos de E/S Organização de Computadores 7 As principais considerações de projeto de um barramento, além do número de vias, são: a temporização, o mecanismo de arbitragem, o tratamento de interrupções e o tratamento de erros. Quanto a temporização, um barramento pode ser do tipo síncrono ou do tipo assíncro- no. Num barramento síncrono existe um relógio temporizador que define a freqüência de operação do mesmo, chamada de ciclo de barramento. Neste tipo de barramento, toda ativida- de ou operação de transferência é alinhada, ou seja, sincronizada com a freqüência do barra- mento e sempre consome um número inteiro e conhecido destes ciclos. No barramento assín- crono não existe tal relógio, ou seja, os ciclos são variáveis e podem tomar a duração que for requerida pela operação. Na figura V.7a, por exemplo, é mostrado um barramento síncrono com um relógio de temporização de 5Mz, que produz um ciclo de 200ns, e uma operação de leitura de um byte da MP que consome 4 ciclos de barramento, ou seja, 800ns. Observe o sinal do relógio definindo o ciclo do barramento, os sinais de controle RD e MREQ definindo respectivamente a opera- ção a ser realizada, leitura, e a requisição de uma operação de memória. O barramento de en- dereços disponibiliza para a MP a posição a ser lida, durante um determinado número de ciclos de barramento. Posteriormente a MP coloca no barramento de dados o conteúdo lido e a UCP, após um número prefixado de ciclos de barramento sabe que pode buscar o dado que estará estável e disponível no barramento. No barramento assíncrono, face a inexistência do relógio para disciplinar a transfe- rência, é introduzido um processo de sinalização, conhecido por handshake, entre a UCP e o dispositivo envolvido na operação. Na figura V.7b, o handshake é representado pelos sinais MSYN - Master Synchronism (sincronismo mestre) e SSYN - Slave Synchronism (sincronismo escravo). Observe que em resposta ao MSYN a MP coloca o dado no barramento e responde ao mestre ativando o sinal SSYN, que informa o cumprimento da missão. Os barramentos assíncronos apresentam maior flexibilidade de uso e oferecem vanta- gens para atendimento a um conjunto heterogêneo de dispositivos (lentos e rápidos), uma vez que seus ciclos não são fixos. Por outro lado, um sistema síncrono é mais fácil de ser construí- do e oferece maior velocidade de operação. A maioria dos barramentos é síncrona. Mecanismos de arbitragem tem a ver com a forma como um dispositivo se torna mestre do barramento. Pode ser centralizado, onde um único árbitro, decide quem será o próximo a controlar o barramento, ou descentralizado, quando não há árbitro e sim um procedimento distribuído e observado por todos os candidatos a mestre. Sempre que a UCP compete pelo barramento ela o faz com menor prioridade, para evitar que dispositivos de E/S mais lentos fiquem prejudicados no acesso a condição de mestre. Uma vez que múltiplos dispositivos podem querer causar uma interrupção simultanea- mente, o mesmo tipo de problemas de arbitragem está presente e a solução usual é assinalar prioridades aos dispositivos e usar um árbitro para controlar o problema. A organização interna da UCP varia em função do grau de sofisticação e avanço tec- nológico do hardware. Sua organização genérica básica é constituída pela UC - Unidade de Controle, pela UAL - Unidade Aritmética e Lógica e por um banco de registrados. Organização de Computadores 10 d) se a instrução necessitar de dados armazenados na memória, calcula o ende- reço dos mesmos e, e) recupera-os armazenando nos registradores internos. • EXECUTION (execução) f) executa a instrução (aritmética, lógica ou desvio) • WRITE BACK (salva o resultado) g) salva o resultado na MP ou em um dos registradores internos e, h) retorna ao primeiro passo. V.3 A Memória Principal É o dispositivo onde são armazenados os programas e os dados de uso corrente. É or- ganizada segundo uma matriz de células, cada uma podendo armazenar um determinado núme- ro de bits (8 / 16 / 32 / ...). Cada célula de memória é identificada por um endereço único e imutável. O acesso é aleatório e o tempo de acesso é o mesmo para qualquer célula, que também representa a uni- dade de acesso à memória (menor quantidade de bits que pode ser lida ou gravada). a. Conexão UCP x MP M B R Address Bus Data Bus MREQ bit UCP R/W bit M A R MP Figura V.9 - Conexão UCP x MP onde, R/W bit ⇒ especifica se a operação é de leitura "R" ou de escrita "W". MREQ bit ⇒ Memory REQuest, especifica uma ordem de acesso à memória emitida pela UCP. b. Tipos de Memória • volátil - perde o conteúdo armazenado quando não energizada. (RAM - Random Access Memory). ∗ tipos de RAM a) Estática - a gravação é estável, só se alterando através de operações de es- crita (consome mais energia); b) Dinâmica - a gravação do bit "1" se descarrega com o tempo, precisando ser "refrescada" periodicamente (ciclo de refresh). • não volátil - não perde o conteúdo armazenado. (ROM, PROM, EPROM, EE- PROM) Organização de Computadores 11 c) ROM - Read Only Memory (gravada de fábrica - permanente); d) PROM - Programable ROM (pode ser gravada uma única vez pelo usuário, através de equipamentos especiais); e) EPROM - Erasable PROM (pode ser apagada através de raios ultraviole- tas); f) EEPROM - Electrical EPROM (pode ser apagada através de sinais elétri- cos); g) Memória Flash - é uma memória que pode ser utilizada como apenas de leitura ou como de leitura e gravação, dependendo do driver utilizado. Ge- ralmente é utilizada como um disco em pastilhas (chips), SSD - Solid State Disk. c. Endereçamento de Memória É realizado por lógica combinacional (cap. IV), onde os bits de endereçamento mais o sinal R/W habilitam a leitura ou gravação de uma única ou de um conjunto de células de cada vez, dependendo do tamanho do barramento de dados. d. Ordem dos Bytes A ordem em que os bytes são considerados dentro da célula é completamente transpa- rente ao usuário, mas é de fundamental importância quanto à compatibilidade de sistemas e transportabilidade dos dados. A ordem pode ser do tipo big endian (da esquerda para a direita), usado pelos proces- sadores Motorola, ou little endian (da direita para a esquerda), característico dos processado- res Intel. A figura V.10 mostra um problema de transportabilidade de dados entre uma máquina little endian (PC486) e uma big endian (SPARC Station). Observe que a simples inversão dos dados não soluciona o problema. Byte número Byte número Byte número 3 2 1 0 0 1 2 3 0 1 2 3 0 0 0 5 5 0 0 0 0 0 0 5 Y R A M M A R Y Y R A M (a) (b) (c) Figura V.10 - (a) mensagem original no 486 - little endian, (b) mensagem após ser recebida pela SPARC - big endian, (c) mensagem após ser invertida (observe que a inversão pura corri- ge o valor numérico porém inverte o alfanumérico) e. Detecção e Correção de Erros Os sistemas de detecção e correção de erros são implementados de forma a aumentar a confiabilidade do armazenamento e da transferência de dados entre os diversos componentes do computador. Detecção Simples Organização de Computadores 12 Técnicas Detecção e Correção a) Detecção Simples Apenas detecta o erro, provocando procedimentos de regravação do dado, de mensa- gem de erro na recuperação de um dado gravado ou, no caso de transmissão de dados, de sua retransmissão. Um método simples, porém largamente utilizado é o da adição de um bit de paridade (VRC - Vertical Redundancy Checking) ao código base do caracter. par ⇒ soma dos bits "1" deve ser par Paridade ímpar ⇒ soma dos bits "1" deve ser ímpar ex. Paridade par adicionada ao código ASCII de 7 bits caracter bit a b c z A 1 1 1 1 1 1 2 1 1 1 1 0 3 0 0 0 1 0 4 0 0 0 1 0 5 0 0 0 0 0 6 0 1 1 1 0 7 1 0 1 0 1 VRC 1 1 0 1 0 . (*) este mecanismo de paridade não detecta um número par de erros no caracter b) Detecção e Correção b.1) Código BCC Uma técnica simples é usar uma paridade longitudinal para blocos de memória - BCC (Block Check Character) em adição ao VRC. caracter BCC bit a b c z A 1 1 1 1 1 1 1 2 1 1 1 1 0 0 3 0 0 0 1 0 1 4 0 0 0 1 0 1 5 0 0 0 0 0 0 6 0 1 1 1 0 1 7 1 0 1 0 1 1 VRC 1 1 0 1 0 1 Organização de Computadores 15 justificativa: 7 = 20 + 21 + 22 - 11 = 20 + 21 + 23 bit de redundância 2 (21) O segundo bit de paridade avalia os dados pertencentes às posições: {3, 6, 7, 10 e 11}. justificativa: 7 = 20 + 21 + 22 - 11 = 20 + 21 + 23 Em resumo, para um código de 4 bits de Hamming, o universo de atuação de cada bit de re- dundância é dado por: bit 1 (20) ⇒ {3,5,7,9 e 11} bit 2 (21) ⇒ {3,6,7,10 e 11} bit 3 (22) ⇒ {5, 6 e 7} bit 4 (23) ⇒ {9, 10 e 11} Com base nos bits de redundância e seus respectivos universos de atuação é que se re- aliza o processo de detecção e possível identificação do bit errado. Assim, se os bits de redun- dância número 1, 2 e 4 acusarem erro, então concluí-se que o bit errado é o da posição 11 porque 1 + 2 + 8 = 11 (20 + 21 + 23). A capacidade do método em detectar e corrigir erros depende da menor distância de hamming - HD obtida com a codificação adotada. A capacidade de detectar "d" erros requer um hdmin > d + 1 A capacidade de corrigir "d" erros requer um hdmin > 2d + 1 Assim, um código com hdmin = 4 é capaz de detectar erro de até 2 bits e corrigir erros de até 1 bit. hd = 4 Exemplos: a) erro no bit de posição 6 • representação do caracter ASCII "a" (1100001) com 4 bits de redundância em pari- dade ímpar. 0 1 1 0 1 0 0 0 0 0 1 1 2 3 4 5 6 7 8 9 10 11 • cálculo dos bits de redundância: bit 1: {3, 5, 7, 9 e 11} ≡ {1, 1, 0, 0, 1} ⇒ 0 bit 2: {3, 6, 7, 10 e 11} ≡ {1, 0, 0, 0, 1} ⇒ 1 bit 3: {5, 6 e 7} ≡ {1, 0, 0} ⇒ 0 bit 4: {9, 10 e 11} ≡ {0, 0, 1} ⇒ 0 • um erro no bit de posição 6 terá a seguinte representação: Organização de Computadores 16 0 1 1 0 1 1 0 0 0 0 1 1 2 3 4 5 6 7 8 9 10 11 • a verificação através dos bits de redundância fornecerá: bit 1: {1, 1, 0, 0, 1} ⇒ 0 correto ⇒ 0 bit 2: (1, 1, 0, 0, 1} ⇒ 0 errado ⇒ 1 bit 3: (1, 1, 0} ⇒ 1 errado ⇒ 1 (610) bit 4: {0, 0, 1} ⇒ 0 correto ⇒ 0 Olhando-se de traz para a frente é possível visualizar a posição do bit errado. Lembre que este mesmo valor, conforme visto no início desta seção, pode ser obtido pela fórmula da potência de 2: (21 + 22 = 6). b) erro nos bits 6 e 9 0 1 1 0 1 1 0 0 1 0 1 1 2 3 4 5 6 7 8 9 10 11 • verificação dos bits de redundância: bit 1: {1, 1, 0, 1, 1} ⇒ 1 errado ⇒ 1 bit 2: (1, 1, 0, 0, 1} ⇒ 0 errado ⇒ 1 bit 3: (1, 1, 0} ⇒ 1 errado ⇒ 1 (1510) bit 4: {1, 0, 1} ⇒ 1 errado ⇒ 1 Observe que o erro foi detectado porém os bits errados não puderam ser identificados.. c) erro nos 3, 6 e 9 0 1 0 0 1 1 0 0 1 0 1 1 2 3 4 5 6 7 8 9 10 11 • verificação dos bits de redundância: bit 1: {0, 1, 0, 1, 1} ⇒ 0 correto ⇒ 0 bit 2: (0, 1, 0, 0, 1} ⇒ 1 correto ⇒ 0 bit 3: (1, 1, 0} ⇒ 1 errado ⇒ 1 (1210) bit 4: {1, 0, 1} ⇒ 1 errado ⇒ 1 O erro de 3 bits foi detectado porém os bits errados não puderam ser identificados. d) erro nos bits 3, 5 e 6 0 1 0 0 0 1 0 0 0 0 1 1 2 3 4 5 6 7 8 9 10 11 • verificação dos bits de redundância: Organização de Computadores 17 bit 1: {0, 0, 0, 0, 1} ⇒ 0 correto ⇒ 0 bit 2: (0, 1, 0, 0, 1} ⇒ 1 correto ⇒ 0 bit 3: (0, 1, 0} ⇒ 0 correto ⇒ 0 (010) bit 4: {0, 0, 1} ⇒ 0 correto ⇒ 0 Observe que neste caso o método falhou na detecção do erro de 3 bits. V.4 Memória Secundária É utilizada para armazenar grandes volumes de dados. É constituída por diferentes dis- positivos, todos mais lentos e mais baratos por byte armazenado que a memória principal. Os tipos principais de memória secundária são: V.4.1 Discos Magnéticos • rígidos - são discos de metal, geralmente de diâmetro entre 5 e 10 polegadas e co- berto, em ambos os lados, por uma superfície magnetizável. Os discos giram a ve- locidades muito elevadas (da ordem de 5000 rpm) e as cabeças de leitura / grava- ção não tocam a superfície, flutuam a uma distância de alguns microns (10-6m). O maior risco de falha é a aterrissagem das cabeças que causa perda total do disco e, praticamente, de todos os dados gravados. • flexíveis - disco de material plástico, flexível, e coberto em ambas as faces por uma superfície magnetizável. As cabeças de leitura / gravação tocam a superfície, o que provoca um desgaste de ambas as partes. Para reduzir este desgaste, as cabeças são recolhidas e a rotação é interrompida enquanto a unidade não está lendo ou gra- vando. a) Formatação É a operação que subdivide o disco em cilindros, trilhas, clusters e setores. • trilhas são círculos concêntricos onde os dados são gravados magneticamente. Um disco é geralmente formatado com um valor entre 40 e algumas centenas de trilhas por superfície. removíveis fixosmagnéticas óticas CDs discos rolo cassetefitas cartucho disquetes Zip drives Organização de Computadores 20 ENTRADAS DA FAT 3 5 900 1005 end 1 2 3 4 5 ..... 900 ..... 1005 ..... Figura V.14 - Encadeamento de Clusters de uma arquivo, o endereço do primeiro cluster é fornecido pela entrada no diretório do mesmo b) Taxa de Transferência É o número de bytes capaz de ser transferido do disco para a MP por unidade de se- gundo: tx bytes transferidos ta = , onde "ta" é o tempo de acesso, que é dado por: ta seek latência tempo de transferência= + + , sendo que: ∗ seek - é o tempo que a unidade gasta para posicionar o cabeçote de leitura e gra- vação sobre o cilindro desejado (um disco rígido gasta tipicamente 3ms entre trilhas adjacentes e de 20 a 100ms para ir do cilindro mais externo ao mais interno e vice- versa. ∗ latência - é o tempo gasto esperando pelo setor desejado (varia de 0 a 16.67ms para discos rígidos girando a 3600rpm). ∗ tempo de transferência - é o tempo gasto na transmissão dos dados (leitura ou gravação) propriamente dita. (*) para os discos flexíveis existe mais um componente por conta do tempo de aceleração ne- cessário para fazer com que a velocidade de cruzeiro do motor seja atingida. V.4.2 Discos Ópticos Usam tecnologia laser e possuem densidade de gravação muito superiores a dos discos magnéticos. Tipos: ∗ CDROM - Compact Disc Read Only Memory (só podem ser lidos). ∗ WORM - Write Once Read Many (admitem uma única vez). ∗ Magneto-Ópticos - combinam a tecnologia óptica com a magnética (admitem reu- tilização). a) CDROMs Disco plástico com uma fina camada de alumínio depositada nas superfícies, seguida por uma camada plástica transparente para proteção. Obtido no Root Organização de Computadores 21 Figura V.15 - Disco Ótico A gravação é feita por raio laser que faz furos de aproximadamente 1 micron, em uma trilha espiralada. Os furos são chamados "pits" e as áreas não queimadas, entre os pits, são chamadas "lands". A leitura é feita através da projeção de um raio de luz, que é refletido de forma dife- rente pelos pits e lands, possibilitando a distinção entre ambos. A unidade de endereçamento é o setor, geralmente de 2Kbytes. O byte, por sua vez, é expandido para 14 bits pela adoção do código "reed-solomon" para detecção e correção de erros. ∗ capacidade - 650Mbytes ∗ taxa de transferência - aprox 150Kbps (uma ordem de grandeza mais lentos que os magnéticos rígidos) ∗ confiabilidade - muito mais robustos que os magnéticos quanto ao calor, sol e poei- ra, porém muito mais suscetíveis a erros de gravação. ∗ aplicação - para armazenamento de grandes volumes de dados que não se alteram. b) Magneto-Ópticos Representa a 3a geração de CDs, onde a superfície plástica é coberta com exóticas ligas metálicas (térbio e gadolínio) que possuem a interessante propriedade de serem insensíveis ao campo magnético quando em baixa temperatura e se tornarem sensíveis a ele quando em alta temperatura. A cabeça de leitura / gravação possui um laser e um magneto. O laser dispara uma ra- jada de onda ultracurta, elevando instantaneamente a temperatura do local e, a seguir, o mag- neto cria o campo na direção desejada ("1" ou "0"). V.4.3 - Fitas Magnéticas São dispositivos de acesso sequencial e de taxa de transferência mais baixa que os dis- cos, mais baratas e muito utilizadas para backup. ∗ densidade de gravação - 800, 1600 e 6250 bpi ∗ formatação - na organização mais comum, é dividida em 9 trilhas longitudinais e frames verticais contendo 8 bits de dados e 1 de paridade cada. ∗ unidade de acesso - é o bloco ou registro físico. Trilhas em espiral Setores Organização de Computadores 22 Barramento de E/S Impressora UCP Canal Multiplex Barramento de Memória Controladora de terminais Disco Disco Disco MP ∗ IRG - é o espaço para repouso do cabeçote de leitura/gravação existente entre dois blocos consecutivos. Seu tamanho é de 3/4" e é usado para estabilizar a velocidade da fita nos períodos de aceleração e desaceleração. ∗ Um bloco pode conter um ou mais registros lógicos. O tamanho do bloco é deter- minado pelo programador, que deve atentar para o binômio eficiência e otimização. rolo - carretéis de 600, 1200 e 2400 pés Tipos cartucho - acondicionadas em caixas plásticas cassete - de baixa velocidade Figura V.16 - Organização de uma Fita Magnética V.5 - Dispositivos de Entrada e Saída Figura V.17 - Canais de E / S São as unidades que possibilitam a comunicação do computador com o meio externo. A interligação destes dispositivos com o restante do computador pode ser via canais de E/S - IRG - Inter Record Gap trilhas Bloco ou Registro Físico frame 1 9 Canal Seletor Organização de Computadores 25 UCP Disposi- tivoprocesso read status write E/S programada com espera ocupada (Busy Wait) É o método mais simples possível, onde o computador possui apenas uma instrução de entrada (IN) e uma de saída (OUT). Dependendo da implementação, estas instruções podem ler e gravar diretamente na memória (caracterizando o memory-mapped I/O) ou acessar dire- tamente a interface do dispositivo. Em ambos os casos dois ou três buffers (registradores) são utilizados para cada dispo- sitivo, um para status, um para entrada (read) e outro para saída (write). Um único caractere é transferido entre um registrador da UCP e o dispositivo de E/S selecionado, sendo que a UCP deve executar a instrução explícita desejada (IN ou OUT) para cada caractere transmitido ou recebido. Figura V.21 - E/S Programada Ao usar E/S programada para leitura de um caractere por exemplo, a UCP fica em loop lendo repetidamente o registrador de status, esperando que o bit que autoriza a operação seja setado pelo dispositivo. A seguir ela lê o dado colocado pelo dispositivo no buffer de leitura (read) e limpa (resseta) o bit previamente setado pelo dispositivo no buffer de status. O pro- cesso de escrita é semelhante. A principal desvantagem da E/S programada é que a UCP gasta a maior parte do seu tempo em loop, esperando um dispositivo ficar pronto. Esta prática é chamada de espera ocu- pada (busy wait), que é uma espera dispendiosa. Uma maneira de evitar esta perda desnecessá- ria de capacidade de processamento da UCP é fazer com que esta não precise ficar esperando pelo dispositivo que deve, ele prórpio, informar à UCP quando do término da execução da operação solicitada. Este é o método da interrupção. E/S acionada por interrupção O termo interrupção é usado para identificar a ocorrência de um evento não-freqüente, não-esperado ou aleatório, que obriga a UCP a desviar, temporariamente, o fluxo do programa em execução para o de uma rotina que atenda a interrupção. A grande vantagem desta técnica em relação a da E/S programada, está no fato de que a UCP deixa de esperar em loop pelo dispositivo. O método mais usual de implementar a técnica de interrupção é pela ativação de um sinal de controle chamado interrupt request (IR), ao qual a UCP responde ativando uma rotina de tratamento específica para cada dispositivo (device drive). O processamento da interrupção envolve: MP ou I/O CTL Organização de Computadores 26 1. a UCP identifica a fonte da interrupção; 2. a UCP recupera o endereço inicial da rotina de tratamento da interrupção (interrupt table); 3. o PC (program counter) e o vetor de status do processo corrente (PSW) são salvos na pilha (stack); 4. o PC é carregado com o endereço inicial da rotina de tratamento da interrupção; 5. após a execução da rotina de tratamento, o PC e a PSW do processo interrompido são recuperados da pilha, e o processo interrompido reinicia o processamento de onde havia parado. Embora a E/S por interrupção represente um avanço em relação à E/S programada, ela está longe de ser perfeita. O problema é que ela requer a ocorrência de uma interrupção para cada caractere transmitido e processar uma interrupção é uma tarefa cara. A solução é voltar a E/S programada porém não deixar a responsabilidade de sua execução nas mãos da UCP - surge então, a técnica do DMA (Acesso Direto à Memória). E/S por DMA É a transferência de dados diretamente entre o dispositivo de E/S e a MP, sem a inter- venção da UCP. Na operação de DMA, a UCP atua apenas nas fases de inicialização (forne- cendo o endereço e o número de bytes a ser transferido) e de finalização. Toda a transferência é feita automaticamente pela controladora de DMA. Ao receber um pedido de DMA (DMA request), a UCP interrompe suas atividades em um dos pontos permitidos dentro do ciclo de instrução (fig. V.21), e atende o DMA. Figura V.21 - Ciclo de Instrução x Pontos de Interrupção A técnica de DMA pode ser implementada segundo duas filosofias: 1. block transfer ==> transfere grandes volumes de dados em uma única operação (durante a transferência dos dados a UCP pode continuar operando normalmente porém não pode acessar a MP); ciclo de UCP decodefetch storeexecutiondata fetch DMA breakpoints ciclo de instrução IR breakpoint Organização de Computadores 27 2. cycle stealing ==> transfere apenas um ou dois bytes de cada vez, "roubando" pe- quenos ciclos de memória que não são sentidos pela UCP em virtude da parada do seu relógio. A pastilha de DMA possui (pelo menos) 4 registradores internos, todos podendo ser carregados pelo processo em execução na UCP. O primeiro deles contém o endereço de me- mória a ser lido ou escrito, o segundo contém o contador de quantos bytes (ou palavras) de- vem ser transferidos, o terceiro especifica o dispositivo a ser usado e o quarto informa a ope- ração a ser realizada (leitura ou gravação). Comando de leitura Verifica Estado Pronto ? Lê da Interface Sim Grava na Memória FIM ? Não Comando de leitura Verifica Estado OK ? Lê da Interface Sim Grava na Memória FIM ? Não Não Erro Comando de leitura Lê Estado do DMA Figura V.22 - Fluxograma representativo das 3 estratégias de comunicação com dispositivos de E/S. (a) entrada e saída programada; (b) por interrupção e © por DMA V.6 Arquiteturas Paralelas Caracteriza-se pela execução em paralelo e, portanto, ao mesmo tempo, de 2 ou mais instruções de um mesmo processo ou de diferentes processos. As arquiteturas paralelas podem ser classificadas segundo Flynn em três categorias, com base no número de fluxos de dados e de instruções que elas suportam: 1) SISD - Single Instruction Single Data (fluxo único de instrução e de dado - caracte- rizado pelo computador seqüencial - também conhecido como Von Newman) (c)(b)(a) ≈ ≈ I/O → UCP DMA → UCP UCP → DMA InterrupçãoI/O → UCP UCP → I/O UCP → MP I/O → UCP I/O → UCP UCP → I/O
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved