2. ORGANIZAÇÃO DE SISTEMAS DE COMPUTADORES



Documentos relacionados
CODIFICADORES / DECODIFICADORES

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar

Introdução à Engenharia de Computação

Introdução à Informática

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I: MEMÓRIA EXTERNA RAÍ ALVES TAMARINDO RAI.TAMARINDO@UNIVASF.EDU.BR

CAPÍTULO 1 INTRODUÇÃO

ANEXO A. Prof. Erico Lisboa 53

Representação de Dados e Sistemas de Numeração

ARQUITETURA DE COMPUTADORES

Aula 04. Código BCD, Códigos Alfa-numéricos e Sistemas de Detecção de Erros

COMUNICAÇÃO SERIAL ENTRE EQUIPAMENTOS

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

LINEAR EQUIPAMENTOS RUA SÃO JORGE, TELEFONE : SÃO CAETANO DO SUL - SP - CEP:

Fundamentos de Redes de Computadores

Introdução à estrutura e funcionamento de um Sistema Informático

PROJETO DE REDES

Introdução a Organização de Computadores Aula 4

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

Representação de Dados

Comunicação de Dados. Aula 4 Conversão de Sinais Analógicos em digitais e tipos de transmissão

Sistema de Numeração e Códigos. CPCX UFMS Prof. Renato F. dos Santos

004 CTRL-D 036 $ 068 D 100 da. 017 CTRL-Q Q 113 qopn

Memória primária Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

INFORMÁTICA PARA ADMINISTRAÇÃO I

Comunicação de Dados. Aula 5 Transmissão Analógica

LINEAR EQUIPAMENTOS RUA SÃO JORGE, 267/269 - TELEFONE: (11) SÃO CAETANO DO SUL - SP - CEP:

Prof. Célio Conrado 1

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Conceitos e Evolução Capítulos 1 e 2

Características. Conteúdo. Ligações. Tabela de Revisões

Introdução. Hardware (Parte II) Universidade Federal de Campina Grande Departamento de Sistemas e Computação. joseana@computacao.ufcg.edu.

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Circuitos Digitais 144L

DISPOSITIVOS DE BLOCO. Professor: João Paulo de Brito Gonçalves

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

INFORmação. O que é um Computador?

5 Entrada e Saída de Dados:

Organização de Computadores Como a informação é processada?

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Máquinas Multiníveis

1. CAPÍTULO COMPUTADORES

Memória principal; Unidade de Controle U C P. Unidade Lógica e Aritmética

Prof. Orlando Rocha. Qual o nosso contexto atual?

Computação Aplicada. Redes de Computadores. Professor Emanuel Ferreira Coutinho Aula 9

Entradas/Saídas. Programação por espera activa Programação por interrupções

2. A influência do tamanho da palavra

Introdução à Organização de Computadores Entrada e Saída. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Sistemas Operacionais

Conceitos Básicos. Conceitos Básicos Memória

Dispositivos de Entrada e Saída

Algoritmos e Programação Aula 01 Introdução a Computação

Organização de Computadores 1

Computador. 1982: os computadores são ferramentas que nos permitem fazer cálculos rápida e comodamente

Sistema de Memórias de Computadores

armazenamento (escrita ou gravação (write)) recuperação (leitura (read))

Prof. Samuel Henrique Bucke Brito

Organização e Arquitetura de Computadores I. de Computadores

IDENTIFICAÇÃO MANUTENÇÃO

Tecnologia - Conjunto de instrumentos, métodos e processos específicos de qualquer arte, ofício ou técnica.

AULA: Introdução à informática Computador Digital

Arquitetura de Computadores Universidade Guarulhos Prof. Erwin A. Uhlmann

Marcos da Arquitetura de Computadores (1)

ULA Sinais de Controle enviados pela UC

Problema: Solução: Vantagens da estruturação em Níveis: Introdução INTRODUÇÃO À ARQUITETURA DE COMPUTADORES. Introdução

Arquitetura e organização de computadores

O processador é um dos elementos componentes do computador moderno, sendo responsável pelo gerenciamento de todo o computador.

Conceitos de Entrada e Saída

1. INTRODUÇÃO. Computador Digital: É uma máquina capaz de solucionar problemas através da execução de instruções que lhe são fornecidas.

Estrutura de um Rede de Comunicações. Redes de comunicação. de Dados. Network) Area. PAN (Personal( Redes de. de dados

MEMÓRIA. A memória do computador pode ser dividida em duas categorias:

CAPÍTULO 2 ORGANIZAÇÃO DE COMPUTADORES

Organização de Computadores 1. Prof. Luiz Gustavo A. Martins

Camada Física. Camada Física

Profa. Dra. Amanda Liz Pacífico Manfrim Perticarrari.

Arquitetura de processadores: RISC e CISC

Montagem e Manutenção. Luís Guilherme A. Pontes

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Sistemas Operacionais

AUTOMAÇÃO DE CÚPULA DE OBSERVATÓRIO ASTRONÔMICO

SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum

Introdução/Histórico da Informática. O Computador

Hardware Básico. - Conceitos Básicos - Números Binários - Principais Componentes. Professor: Wanderson Dantas

Nível de Enlace. Nível de Enlace. Serviços. Serviços oferecidos os nível de rede

Estrutura de um Rede de Comunicações

Introdução ao Controlo Numérico Computorizado I Conceitos Gerais

Introdução à Arquitetura de Computadores

Microinformática Introdução ao hardware. Jeronimo Costa Penha SENAI - CFP/JIP

Valor lógico UM (Verdade, 1): 5 Volts. Valor lógico ZERO (FALSO, 0): 0 Volts.

Estrutura de um Computador

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

EDITORES DE TEXTO CAPÍTULO 5. Definição

Algoritmos DCC 119. Introdução e Conceitos Básicos

Turno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº

Introdução a Ciência da Computação Conceitos Básicos de Sistema PROFESSORA CINTIA CAETANO

Fundamentos em Informática

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

Transcrição:

2. ORGANIZAÇÃO DE SISTEMAS DE COMPUTADORES Computador Digital: É um sistema interconectado de processadores, memória e dispositivos de entrada e saída. 2.1. Processadores Organização de um computador simples orientado a barramento: Componentes Básicos de um Processador Unidade Central de Processamento (CPU) Unidade de Controle Unidade Lógica e Aritmética Registradores U L A Dispositivos de Entrada e Saída Memória Disco Impressora Principal Barrament 1

Unidade Central de Processamento (CPU): É o cérebro do computador. Sua função é executar programas armazenados na memória principal, instrução por instrução. Componentes funcionais da CPU: Unidade de Controle: Unidade responsável pela busca (fetch) de instruções da memória principal e determinação de seus tipos (decodificação). Unidade Lógica e Aritmética (ULA): Unidade que executa as operações lógicas (AND, OR) e aritméticas (adição, subtração). Conjunto de Registradores: Constituem uma pequena memória de alta velocidade, utilizada para armazenar resultados temporários e informações de controle. Exemplos: Contador de Programa (PC - Program Counter). Aponta para a próxima instrução a ser executada. Registrador de Instruções (IR - Instruction Register). Armazena o código da instrução em execução. Acumulador (Ac - Accumulator). Em muitas máquina é um dos operandos de uma instrução. 2

Execução de Instruções A CPU executa cada instrução em uma seqüência de pequenos passos, denominada de ciclo busca-decodificaexecuta : 1. Busca a próxima instrução da memória para o registrador de instrução. 2. Atualiza o contador de programa para que ele aponte para a instrução seguinte. 3. Determina o tipo da instrução. 4. Se a instrução usa dados da memória, determina onde eles estão. 5. Busca os dados, se houver algum, para registradores internos da CPU. 6. Executa a instrução. 7. Armazena os resultados em locais apropriados. 8. Volta ao passo 1, para iniciar a execução da próxima instrução. Este procedimento poderia ser feito por software (interpretador), e não por hardware. Neste caso, deve-se prover uma máquina (mais simples) capaz de executar as instruções elementares que implementam estes passos. As máquina modernas executam os programas de nível de máquina convencional através de um interpretador em execução no hardware: microprogramas. Os microprogramas é que determinam o conjunto de instruções de máquina convencional! Esta técnica é conhecida por microprogramação e as máquinas por máquinas microprogramadas. 3

Organização da CPU A organização interna (fluxo de dados) de parte de uma CPU de von Neumann é a seguinte. No exemplo, está sendo considerada uma instrução de máquina que soma dois operandos: A + B A Registradores B Registrador A B de Entrada da ULA ULA A + B Registrador de Saída da ULA Fluxo de Dados: ULA + registradores. A ULA possui duas entradas alimentadas por dois registradores (A e B), que mantêm as entradas da ULA enquanto uma operação está sendo executada. Categorias de instruções: registrador-registrador, registrador-memória, memória-memória. 4

Execução Paralela de Instruções Projetistas sempre buscam construir máquinas cada vez mais rápidas. Para a construção de máquinas mais rápidas, o limite é a velocidade da luz. 30 cm/ns no vácuo e 20 cm/ns em fio de cobre. Computadores devem ser pequenos para diminuir os caminhos a serem percorridos pelo sinal. Computadores rápidos dissipam muito calor. Solução viável: máquinas paralelas, que possuem um mesmo poder computacional a um custo menor. Categorias de máquinas paralelas (Flynn, 1972): 1. SISD - Single Instruction, Single Data Fluxo único de instruções e de dados. 2. SIMD - Single Instruction, Multiple Data Fluxo único de instruções e múltiplo de dados. 3. MIMD - Multiple Instruction, Multiple Data Fluxo múltiplo de instruções e de dados. 5

Máquinas SISD: Exemplo: máquinas de von Neumann. Mesmo neste caso, pode-se conseguir um certo paralelismo na execução de instruções. Exemplo: busca e execução de uma outra instrução antes que a instrução corrente tenha terminado. Exemplo de CPU com cinco unidades funcionais que podem trabalhar em paralelo: A Unidade de Controle busca a instrução e a entrega para uma ULA específica, de acordo com a operação, se houver uma ULA disponível que realize aquela operação. Baseia-se na suposição de que a busca da instrução seja rápida face a sua execução (válida para operações em ponto-flutuante). Registradores + + - x / ULAs 6

Uma variação deste conceito é dividir a execução de cada instrução em partes (linha de montagem). Temos então uma máquina pipeline. Pode-se ter instruções diferentes sendo executadas em estágios diferentes simultaneamente. Exemplo de uma máquina pipeline de cinco estágios: P1 P2 P3 P4 P5 Unidade de Busca de Instrução Analisado r de Instrução Unidade de Cálculo de Endereço Unidade de Busca de Dados Unidade de Execução de Instruções P1: 1 2 3 4 5 6 7 8 9 P2: 1 2 3 4 5 6 7 8 P3: 1 2 3 4 5 6 7... P4: 1 2 3 4 5 6 P5: 1 2 3 4 5 1 2 3 4 5 6 7 8 9 tempo 7

Máquinas SIMD: Operam com múltiplos conjuntos de dados em paralelo. Máquina vetorial: para cada entrada da ULA, existe um vetor de n entradas. A ULA é uma ULA vetorial, que para os dois vetores da entrada (operandos), produz um vetor na saída (resultado da operação). 8

Exemplo de uma ULA vetorial: Vetores de Entrada A B A B A+B 4 5 9 6 3 9 3 1 4 2 + 3 = 5 7 4 11 8 1 9 3 8 11 8 8 16 ULA vetorial A+B Vetor de Saída 9

Array processor: arquitetura SIMD que consiste numa grade quadrada de processadores e memória. As instruções são difundidas por uma única unidade de controle, e são executadas paralelamente. Utilizadas para cálculos matriciais. Exemplo de um array processor: Unidade de Controle Grade 8 x 8 de Processadores / Memórias Processador Memória 10

Máquinas MIMD: CPUs diferentes executam programas diferentes, podendo compartilhar uma memória comum, que é acessada através de um barramento. Exemplo de uma máquina MIMD sem memórias locais: CPU CPU CPU CPU Memória Compartilhada Barramento Exemplo de uma máquina MIMD com memórias locais: Memórias Locais CPU CPU CPU CPU Memória Compartilhada Barramento 11

2.2. Memória Bits A memória é a parte do computador onde programas e dados são armazenados. Sem ela não existiria o conceito de computador digital de programa armazenado. O bit ou dígito binário é a unidade básica da memória, podendo conter os valores 0 ou 1. O sistema binário requer apenas dois valores distintos, dando confiabilidade aos sistemas eletrônicos digitais. Computadores que utilizam aritmética decimal na verdade utilizam 4 bits (16 combinações) para armazenar cada dígito decimal. Endereços de Memória As memórias são compostas de um determinado número de células (posições), cada uma possuindo um endereço. Uma memória de n células possui endereços de 0 a n-1. Cada célula possui o mesmo número de bits. Uma célula de k bits possui 2 k combinações de dados. Se um endereço possui m bits, o número máximo de células endereçáveis é de 2 m. 12

Exemplo de organizações de memória de 96 bits. 1 célula 1 célula Endereço Endereço 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 12 bits 9 1 célula 10 0 11 1 8 bits 2 3 4 5 16 bits 13

O número de bits por célula varia de computador para computador: Computador Bits por célula Borroughs B1700 1 IBM PC 8 DEC PDP-8 12 IBM 1130 16 DEC PDP-15 18 XDS 940 24 Electrologica X8 27 XDS Sigma 9 32 Honeywell 6180 36 CDC 3600 48 CDC Cyter 60 A célula é a menor unidade endereçável. Existe atualmente uma padronização da célula em 8 bits (byte). Os bytes são agrupados em palavras. Exemplo: Máquinas com palavras de 32 bits têm 4 bytes / palavra. A maioria das instruções de máquina operam sobre palavras inteiras, podendo também operar sobre frações de palavras. Exemplo: Uma máquina com palavra de 32 bits tem registradores de 32 bits e instruções que manipulam 32 bits. Eventualmente, pode manipular 8 ou 16 bits. 14

Ordem dos Bytes Os bytes podem ser numerados da esquerda para a direita ou da direita para a esquerda dentro de uma palavra. Big endian: os bytes são numerados da esquerda para a direita. Exemplo: processadores da família Motorola. Little endian: os bytes são numerados da direita para a esquerda. Exemplo: processadores da família Intel. Big endian Little endian Endereço Endereço 0 0 1 2 3 3 2 1 0 0 4 4 5 6 7 7 6 5 4 4 8 8 9 10 11 11 10 9 8 8 12 12 13 14 15 15 14 13 12 12 byte byte palavra de 32 bits palavra de 32 bits Ambas as representações são boas e internamente consistentes. Problemas: transferência de dados entre estes dois tipos de máquina. Como tratar: Números. Cadeias de caracteres. 15

Códigos de Correção de Erro As memórias podem eventualmente apresentar erros. Neste caso, pode-se adotar um esquema de detecção e correção de erros, para dar maior confiabilidade ao sistema. São necessários bits extras (redundância) para cada palavra de memória: São calculados numa operação de escrita. São conferidos numa operação de leitura. Para uma palavra de m bits de dados, onde são acrescentados r bits de redundância, tem-se que o número total de bits (palavra de código) é n=m+r. Distância de Hamming: é o número de posições nas quais duas palavras de código diferem. Se duas palavras estão a uma distância Hamming d, serão necessários d erros simples para converter uma na outra. Existem 2 m combinações diferentes para uma palavra de memória, mas somente 2 m das 2 n palavras de códigos são válidas, devido a forma como os bits de redundância são gerados. Para a detecção de d erros simples, precisa-se de um código de distância Hamming d+1. Para a correção de d erros simples, precisa-se de um código de distância Hamming 2d+1. Exemplo: 16

Bit de paridade: bit adicional acrescentado a palavra de dados. É gerado de forma que o número de bits 1 na palavra de código seja par (ou ímpar). Tal código tem distância Hamming 2, e permite somente a detecção de 1 erro simples. 17

Memória Secundária A memória principal tem que ser diretamente acessível em um intervalo de tempo muito curto. Logo, é cara. A memória secundária é necessária para armazenar grandes conjuntos de dados, sendo mais lentas, mais baratas e de maior capacidade. Fitas Magnéticas Foi o primeiro tipo de memória secundária. A variação da corrente elétrica na cabeça de gravação magnetiza pontos da fita, gravando a informação. A passagem da fita magnetizada sob a cabeça de leitura induz uma corrente elétrica, que é interpretada como 0 ou 1. Exemplo de uma organização de fita em bytes de 8 bits: Cada frame contém 1 byte mais 1 bit de redundância (paridade). Existe um espaço (gap) entre registros físicos (seqüências de frames). 18

Registro Físico Gap Registro Físico Gap Trilha 1 Trilha 2 Trilha 3 Trilha 4 Trilha 5...... Trilha 6 Trilha 7 Trilha 8 Trilha 9 Frame 1 Direção do movimento da fita Densidade típica: 1600 frames / polegada (1600 bpi). Outras densidades: 800, 6250 bpi. São dispositivos de acesso sequencial: Para ler o registro n, é necessário ler os n-1 registros anteriores. Adequadas quando os dados precisam ser acessados seqüencialmente (back-up). Discos Magnéticos O disco é um prato ou conjunto de pratos de metal magnetizado, geralmente dos dois lados, que gira a uma determinada rotação. Cada unidade de disco possui uma cabeça de leitura/gravação por superfície que se movimenta radialmente sobre o disco. Um disco com n pratos terá 2n superfícies e 2n cabeças. As trilhas são círculos concêntricos nas superfícies dos pratos do disco onde as informações são gravadas. 19

O número de trilhas varia tipicamente de 40 a centenas de trilhas por superfície. A posição radial das cabeças (distância ao eixo) é denominada de cilindro. As trilhas são divididas em setores. O número de setores varia tipicamente de 10 a 100 setores por trilha. Um setor contém um determinado número de bytes de informação mais alguns bytes de controle. O número de bytes típico por setor é de 512. Parâmetros para uma transferência entre o disco e a memória principal do computador: cilindro, número da cabeça (face), número do setor, o número de palavras a 20

serem transferidas, o endereço da memória principal e o sentido da transferência (leitura ou escrita). As transferências sempre começam no início de um setor. Tempos de acesso: é a soma do tempo de seek com o tempo de latência: Seek: tempo para a cabeça se posicionar sobre uma trilha. Varia tipicamente de 3ms a 20ms. Latência rotacional: tempo para o setor desejado chegar na cabeça. Tempo máximo de 16,67ms, a uma rotação de 3600rpm. Disco rígido: é constituído por diversos pratos. Winchester: unidade de disco rígido selada, onde as cabeças têm a forma aerodinâmica e flutuam sobre os pratos. Capacidade típica: centenas de Mbytes a alguns Gbytes. A capacidade vem crescendo rapidamente. Discos Flexíveis (disquete) As cabeças nas unidades de disco flexíveis tocam fisicamente o meio magnético, havendo um desgaste de ambos. As unidades recolhem as cabeças e param o disco quando este não está sendo utilizado. Atraso para as próximas leituras / escritas. Dimensões padrões atuais: 5¼ e 3½ polegadas. 21

Ambos possuem abertura (jaquetas) de proteção contra escrita. Tamanho (polegadas) 5¼ 5¼ 3½ 3½ Capacidade (bytes) 360K 1,2M 720K 1,44M Trilhas 40 80 80 80 Setores/Trillha 9 15 9 18 Cabeças 2 2 2 2 Rotações/minuto 300 360 300 300 Taxa de Transferência (kbps) 250 500 250 500 Tipo Flexível Flexível Rígido Rígido Discos Óticos Possuem densidade de gravação maior do que os discos magnéticos convencionais. Baseiam-se na tecnologia dos compact discs, e são conhecidos por CD ROMs (Compact Disks Read Only Memory). A produção de um disco é feita através de um laser de alta potência, que queima furos (pits) de 1 mícron num disco matriz, que serve como molde. A leitura é semelhante a existente em toca-discos de CD, possuindo um detector que mede a energia refletida por um laser de baixa potência. Os furos (pits) e as área entre furos (lands) refletem o laser de forma diferente. As transições pit-land ou land-pit representam um bit 1; A ausência de transição, um bit 0. 22

O processo de leitura é impreciso, havendo um servomecanismo de compensação e um código de correção de erros, que poder corrigir erros múltiplos (Reed-Solomon entrelaçado). Cada byte é expandido para 14 bits. Os dados são gravados em grupos de 24 bytes. Um quadro é composto pelo grupo, mais 3 bits e 1 bytes de sincronismo. Um bloco de 2Kbytes é composto por 98 quadros, que é a unidade básica endereçável. As informações num CD ROM são gravadas como uma espiral contínua. Capacidade: 270.000 blocos totalizando 553Mbytes. A velocidade de leitura (linear) é constante, variando a rotação do disco de acordo com a posição do dado na espira. Taxa de transferência: Unidade de CD ROM de velocidade 1X: 153,60 Kbytes/s. Tem-se unidades de velocidade 2X, 4X, 6X, 8X e 10X. Uso: grandes bases de dados, distribuição de softwares. 23

Discos óticos WORM (Write Once Read Many): discos óticos que permitem uma gravação, não podendo ser regravados. Uso: armazenamento de informações permanentes. Discos magneto-óticos: são gravados através de um laser que aquece o meio magnético, que pode ser alterado. A leitura é igual a de um CD ROM normal. Comparação entre discos magnéticos e discos óticos: o tempo de seek nos discos óticos é uma ordem de grandeza maior do que a de um disco magnético. Este tipo de tecnologia deve mudar no futuro, pois a tecnologia utilizada é uma adaptação de um disco projetado para música. 24

2.3. Entrada / Saída (E/S) Entrada/Saída (E/S) é o processo de se fornecer informações para os computadores e de se obter informações dos computadores. As entradas podem ou não ser fornecidas por pessoas e as saídas podem ou não ser fornecidas para algum ser humano. Formas de organização de E/S: Grandes mainframes: Em geral existem muitas operações de E/S. O sistema de computação é composto por uma ou mais CPUs, memória e um ou mais processadores de E/S (canais de dados). Os dispositivos de E/S são conectados aos canais de dados. Operação de E/S: A CPU carrega um programa especial num dos canais que irá executá-lo, liberando-se para outras tarefas. Terminada a E/S, é gerada uma interrupção para a CPU. Existem três barramentos: Barramento de memória. Barramento de E/S. Barramento da CPU com a memória. 25

Estrutura de E/S de um mainframe: Memória Principal Barramento da Memória CPU Barramento de E/S Processador de E/S (Canal) Processador de E/S (Canal) Controlado r Terminais Impressora Disco Disco Disco 26

Computadores pessoais: Em geral, possuem uma placa-mãe (motherboard), que contém a CPU, memória, componentes de suporte, barramentos e soquetes (slots) onde podem ser inseridas placas expansão de E/S ou memória. Contêm um barramento único para interligar a CPU, memória e dispositivos de E/S. Monitor Teclado Unidade de Disquete Unidade de Disco CPU Memória Contr. de Vídeo Contr. de Teclado Contr. de Disquete Contr. de Disco Rígido 27

Cada dispositivo de E/S se divide em: Controlador do dispositivo, localizado em alguma placa de expansão ou na motherboard (não opcionais). O controlador controla o dispositivo e gerencia os acessos aos barramentos do sistema. Exemplo: Leitura de dados no disco. O controlador de disco, envia seeks e outros comandos para o disco, recebe os dados e os envia para a memória do sistema, através de acesso direto a memória (DMA). Dispositivo físico propriamente dito. Os barramentos ou vias são compartilhados pela CPU e pelos dispositivos de E/S. Tentativas de acessos simultâneos: gerenciadas pelo árbitro de barramentos ou árbitro de vias. Prioridade para os dispositivos de E/S, através do roubo de ciclos, reduzindo a velocidade da CPU. Minicomputadores: Estrutura semelhante a dos computadores pessoais, porém a CPU também se localiza numa placa de expansão. A motherboard é apenas um receptáculo de placas (backplane). 28

Terminais São compostos por três elementos: Teclado. Monitor. CRT - Tubo de Ráios Catódicos Possui um canhão (monocromático) ou três canhões (colorido) que disparam feixes de elétrons contra uma tela fosforescente. A tela é varrida horizontalmente, linha a linha (dispositivo raster). Uma grade permite ou não a passagem do elétron que atinge o fósforo da tela, acendendo ou não um determinado ponto, que possui uma certa persistência visual. Nos monitores coloridos existem três tipos de fósforos coloridos. A cor de um ponto é dada pela combinação destas três cores (RGB - vermelho, verde e azul). Circuito eletrônico de controle. 29

30

Terminais Alfanuméricos Mapeados em Memória Os computadores pessoais tratam o teclado e o monitor como dispositivos independentes. A placa controladora de vídeo possui uma memória (memória de vídeo) e circuitos para acessar o barramento e gerar os sinais de vídeo. A CPU armazena cada caractere na placa em dois bytes: um para o código do caractere e outro para o atributo do caractere (cor, intensidade, piscante, etc.). Tela de 25 x 80 caracteres requer 4000 bytes de memória de vídeo. A placa de vídeo busca repetidamente os caracteres na memória de vídeo para acionar o monitor, fazendo um refrescamento contínuo da tela. Atributo Caractere Sinal de vídeo analógico CPU Memória Principal Placa de Vídeo A1B2C3 Memória de Vídeo Monitor ABC Barramento 31

Terminais Bit-map Nos terminais bit-map a tela é considerada como uma matriz de pontos (pixels). Cada pixel pode estar ligado ou desligado, e representa um bit de informação. Alguns padrões em microcomputadores: CGA: 320 x 200 pixels. VGA: 640 x 480 pixels. SVGA: 800 x 600, 1024 x 468, 1284 x 1024 pixels, etc. A cor é controlada através de múltiplas matrizes (bit planes). Se existem n bit planes, cada bit pode assumir uma dentre 2 n cores. Os terminais bit-map necessitam de CPUs rápidas, pois uma tela ocupa muito espaço, e a alteração de uma tela envolve a movimentação de muitos bytes para a placa controladora de vídeo num curto espaço de tempo. Exemplo: tela com 1024 x 1024 pixels. Possui 1M pixels (1Mbits), requerendo 128Kbytes para um terminal monocromático. Quanto maior a resolução e quanto maior o número de cores possíveis, maior é a memória de vídeo necessária. Exemplo: placa controladora de vídeo com 1Mbytes. No modo 640x480 pixels, permite 16M cores. No modo 1024x768 pixels, permite 256 cores. Exemplo: placa controladora de vídeo com 2Mbytes. No modo 1024x768 pixels, permite 65K cores. 32

Terminais RS-232-C Padrão RS-232-C: padrão de interfaceamento entre terminais e computadores, que permite que terminais e computadores de fabricantes diferentes possam se comunicar. Define o conector (25 pinos), os níveis de tensão e os significados dos sinais. Para a comunicação a distância, costuma-se utilizar a linha telefônica e modens para interconectar computadores e terminais. O modem (Modulador-Demodulador) deve ser inserido entre o computador e a linha telefônica e entre o terminal e a linha telefônica. 33

Tanto o computador quanto o terminal possuem, para se comunicar, uma pastilha chamada UART (Universal Asynchronous Receiver Transmitter). Transmissão: cada caractere a ser transmitido é colocado na UART (pelo computador ou pelo terminal), que o transmite bit-a-bit através do cabo RS-232-C, a uma taxa específica (conversão paralelo/serial). Exemplos: 110, 300, 1200, 2400, 9600, 19200 bits/s. Recepção: do outro lado, a UART recebe bit-a-bit o caractere, que é passado para o terminal ou computador (conversão serial/paralelo). Na prática, somente alguns dos 25 sinais definidos no padrão RS-232-C são utilizados. Principais sinais: Transmissão: sinal para a transmissão de dados. Recepção: sinal para a recepção de dados. DTR (Data Terminar Ready): sinal ativado pelo terminal ou computador para informar ao modem que ele está ligado. DST (Data Set Ready): sinal ativado pelo modem para sinalizar a sua presença. RTS: (Request to Send): sinal ativado pelo terminal ou computador para pedir permissão ao modem para enviar dados. CTS (Clear to Send): sinal de resposta a requisição de permissão para enviar dados. Quando o terminal está diretamente ligado ao terminal, os sinais DSR, DTR, RTS e CTS não são utilizados. 34

Modem A necessidade dos computadores precisarem trocar informações com outros é algo crescente: Usuários domésticos podem ter acesso a BBSs, Internet e sistemas Home Bank, utilizando a linha telefônica. A linha telefônica é um meio de comunicação voltado para a transmissão de voz, e não de sinais binários (0s e 1s), geralmente mapeados para 0V e +5V. Uma onda quadrada sofreria muitas distorções numa linha telefônica, levando a erros de transmissão, ao contrário do que ocorre com uma onda senoidal O processo de transmissão de informações (0s e 1s) através de ondas senoidais é denominado de modulação que pode ser por: Variação de freqüência (b); Variação de amplitude (c); Variação de fase (d); 35

Modulação em amplitude Dois níveis de tensão diferentes são utilizados para a transmissão de 0 e 1. Modulação em freqüência (FSK - Frequency Shift Keying) A freqüência da onda senoidal é diferente para o 0 e 1. Modulação em fase Na modulação em fase simples, a fase da portadora é invertida de 180 o quando o dado muda de 0 para 1 ou de 1 para 0. Pode-se ter mudanças de fase mais abruptas: Exemplo: 45 o, 135 o, 225 o e 315 o. Neste caso, cada mudança carrega dois bits de informação (dibit). Taxa de Baud (Baud Rate): é a taxa de transmissão de informação (1 ou mais bits) por unidade de tempo. 36

Taxa de transmissão: é o número de bits transmitido por segundo. Num sistema dibit, ela é maior do que o baud rate (geralmente é confundido com o baud rate). Modem: é o dispositivo que aceita os caracteres do computador, na forma de sinais de dois níveis, um bit por vez, e os transmite em grupos na forma modulada em amplitude, freqüência ou fase. O modem também faz o processo inverso: recebe um sinal modulado e o transforma em bits para o computador. 37

Transmissão Assíncrona Na transmissão assíncrona o intervalo de tempo entre dois caracteres não é fixo, mas o intervalo entre dois bits de um mesmo caractere é fixo. O tempo entre caracteres é variável A S Y Tempo N C Problemas: Como reconhecer o primeiro bit de um caractere? Como diferenciar um bit 0 da ausência de bit? Formato de um caractere: 1 Start Bit (bit 0 para indicar início de transmissão). Bits de informação. 1 ou 2 Stop Bits (bit(s) iguais a 1 para dar maior confiabilidade a transmissão). Os bits têm duração fixa. O receptor, detectando o start bit, dispara um temporizador, e faz a amostragem dos demais bits a cada intervalo de tempo fixo. As taxas variam de 110 bps a 19200 bps ou mais. 110 bps: 2 stops bits. taxas altas: 1 stop bit. 38

Na transmissão síncrona o intervalo entre dois caracteres é sempre o mesmo e não existe o start bit nem os stop bits; logo, a velocidade de transmissão é maior. O tempo entre caracteres é constante S I N C H R O N O Tempo Taxas normais: 4800 bps, 9600bps, etc. Neste método os modens estão sincronizados, e sempre existe a transmissão de caracteres (quando não há nada a transmitir, é enviado um caractere de parada de transmissão). Esta transmissão requer que os relógios dos dois modens permaneçam sincronizados por longos períodos de tempo. 39

Transmissão Simplex, Half-Duplex e Full-Duplex Transmissão Simplex: a transmissão ocorre somente numa direção. Existe um transmissor e um receptor. Pouca aplicação para os computadores. Exemplo: transmissão de rádio e TV. Transmissão Half-Duplex: a transmissão pode ocorrer nas duas direções, mas não simultaneamente. Num dado instante, um dispositivo é o transmissor e o outro é o receptor. Os dispositivos podem trocar de papéis entre uma transmissão e outra. Um dispositivo envia dados, o outro responde para dizer se os recebeu corretamente, etc. (protocolo). Transmissão Full-Duplex: a transmissão pode ocorrer nas duas direções simultaneamente. A transmissão é mais rápida do que a half-duplex. Não há perda de tempo para comutação. 40

Mouse É um dispositivo de apontamento, que surgiu com a evolução das interface dos programas com o usuário. Ao ser movimentado, um apontador se move na tela, indicando o alvo da interação. O mouse pode ter 1 botão (Macintosh), 2 ou 3 botões (PC). Tipos de mouse: Mecânico: as rodas ou esfera giram com o movimento do mouse e acionam potenciômetros relacionados com as direções. A variação da resistência fornece a distância percorrida numa dada direção. Ótico: possui LEDs e fotodetectores na parte inferior. O mouse se movimenta sobre uma grade, e os fotodetectores sentem o passar das linhas através da mudança na quantidade de luz refletida, nas duas direções. 41

Optomecânico: tem duas rodas orientadas perpendicularmente, e os fotodetectores detectam a rotação de cada roda, que possuem pequenos furos. Funcionamento mais comum: O mouse fornece 3 bytes para o computador a cada 100ms, que chegam pela linha RS-232-C. Primeiro byte: número inteiro com sinal dizendo quantas unidades o mouse se moveu no eixo x nos últimos 100ms. Segundo byte: número inteiro com sinal dizendo quantas unidades o mouse se moveu no eixo y nos últimos 100ms. Terceiro byte: fornece o estado atual dos botões do mouse. Um software de baixo nível no computador recebe as informações sobre os movimentos relativos do mouse e os converte para movimentos absolutos na tela. Atualmente temos mouses sem fio, que transmitem as informações para o computador por infra-vermelho. 42

Impressoras Impressoras de Impacto Tipo mais antigo de impressora, que funciona como um teletipo, por impacto. Utilizada por grandes mainframes. Para um papel de 80 colunas, existem 80 martelos que dão o impacto para até 80 caracteres simultaneamente. Impressoras Matriciais A cabeça de impressão possui de 7 a 24 agulhas ativadas eletromecanicamente. Para uma impressora de 7 agulhas, cada caractere é representado numa matriz 5x7 (a); numa folha de 80 colunas, tem-se 400 pontos em cada linha horizontal. Para uma impressora de 24 agulhas, pode-se melhorar a qualidade de impressão utilizando a sobreposição de pontos (b). Impressão mais lenta, pois para cada linha a impressora tem que passar a cabeça mais de uma vez pelo mesmo local. 43

Impressoras Laser Utiliza a tecnologia das máquinas fotocopiadoras. Permitem alta qualidade de impressão, boa velocidade e custo moderado. Impressoras a laser coloridas são disponíveis, porém a um custo elevado ainda. Permitiu a editoração eletrônica e o surgimento da linguagem PostScript (padrão para impressoras a laser). Impressoras de Jato de Tinta Uma alternativa para a impressora laser, de menor custo, com possibilidade de impressão a cores. 44

Códigos de Caracteres Cada computador possui um código de caracteres que podem ser lidos ou escritos: 26 letras maiúsculas. 10 dígitos decimais. Sinais de pontuação e de controle. Caracteres especiais. A padronização de um código de caracteres se deve a necessidade de comunicação entre computadores e periféricos e entre computadores de diversos fabricantes. Cada caractere possui um código numérico associado: código de caracteres, que pode variar de 6 a 9 bits. Exemplos: Código ASCII (American Standard Code for Information Interchange). Código de 7 bits mais 1 bit de paridade. Utilizado amplamente, por exemplo, em microcomputadores da linha PC. Código EBCDIC da IBM. Código de 8 bits mais 1 bit de paridade. Utilizado pelos mainframes da IBM. 45

Exemplo: Código ASCII Código (octal) Caracteres de controle Símbolo Significado Código (octal) Símbolo Significado 000 NUL Null 020 DLE Data link escape 001 SOH Starting of heading 021 DC1 Device control 1 002 STX Start of text 022 DC2 Device control 2 003 ETX End of text 023 DC3 Device control 3 004 EOT End of transmission 024 DC4 Device control 4 005 ENQ Enquiry 025 NAK Negative acknowledge 006 ACK Acknowledge 026 SYN Synchronous idle 007 BEL Bell 027 ETB End of transmission block 010 BS Backspace 030 CAN Cancel 011 HT Horizontal tab 031 EM End of medium 012 LF Line feed 032 SUB Substitute 013 VT Vertical tab 033 ESC Escape 014 FF Form feed 034 FS File separator 015 CR Carriage return 035 GS Group separator 016 SO Shift out 036 RS Record separator 017 SI Shift in 037 US Unit separator Caracteres de controle 040 (Space) 060 0 100 @ 120 P 140 160 p 041! 061 1 101 A 121 Q 141 a 161 q 042 062 2 102 B 122 R 142 b 162 r 043 # 063 3 103 C 123 S 143 c 163 s 044 $ 064 4 104 D 124 T 144 d 164 t 045 % 065 5 105 E 125 U 145 e 165 u 046 & 066 6 106 F 126 V 146 f 166 v 047 ` 067 7 107 G 127 W 147 g 167 w 050 ( 070 8 110 H 130 X 150 h 170 x 051 ) 071 9 111 I 131 Y 151 i 171 y 052 * 072 : 112 J 132 Z 152 j 172 z 053 + 073 ; 113 K 133 [ 153 k 173 { 054 074 < 114 L 134 \ 154 l 174 055-075 = 115 M 135 ] 155 m 175 } 056. 076 > 116 N 136 ^ 156 n 176 ~ 057 / 077? 117 O 137 _ 157 o 177 (Delete) 46