2. organizaÇÃo de sistemas de...

46
1 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 U L A Dispositivos de Entrada e Saída Registradores Memória Disco Impressora Principal Barrament

Upload: doandung

Post on 15-Oct-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

1

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

U L A

Dispositivos de Entrada e Saída

Registradores Memória Disco Impressora Principal

Barrament

2

♦ 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.

3

Execução de Instruções

♦ A CPU executa cada instrução em uma seqüência de pequenos passos, denominada de ciclo “busca-decodifica-executa”:

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.

4

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 Registradores B

Registrador A B de Entrada da ULA

ULA

Registrador A + B 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.

A + B

5

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.

6

♦ 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).

+ + - x /

Registradores

ULAs

7

• 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 →

8

♦ 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).

9

• 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

A+B Vetor de Saída

ULA vetorial

10

• 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

ProcessadorMemória

11

♦ 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:

Memória Compartilhada

CPU CPU

CPU CPU

Barramento

• Exemplo de uma máquina MIMD com memórias locais:

Memórias Locais

Memória Compartilhada

CPU CPU

CPU CPU

Barramento

12

2.2. Memória

♦ 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.

Bits

♦ 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 2k combinações de dados.

♦ Se um endereço possui m bits, o número máximo de células endereçáveis é de 2m.

13

♦ 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

14

♦ 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.

15

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.

16

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 2m combinações diferentes para uma palavra de memória, mas somente 2m das 2n 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:

17

∗ 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.

18

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).

19

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 Direção do movimento da fita Frame 1

♦ 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.

20

• 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

21

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.

22

• 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.

23

♦ O processo de leitura é impreciso, havendo um servo-mecanismo 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.

24

♦ 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.

25

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.

26

• Estrutura de E/S de um mainframe:

Barramento da Memória

Barramento de E/S

Processador

de E/S (Canal)

Processador de E/S (Canal)

Controlador

Impressora Disco Disco Disco

Terminais

Memória Principal

CPU

27

• 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

28

∗ 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).

29

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.

30

31

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

Monitor Memória A1B2C3 de Vídeo

Barramento

ABC

32

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 2n 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.

33

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.

34

♦ 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.

35

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);

36

♦ 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 180o 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.

37

♦ 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.

38

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

Tempo

♦ 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.

C YA N S

39

♦ 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

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.

O N ORHN I S C

40

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.

41

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.

42

• 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.

43

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.

44

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.

45

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.

46

♦ Exemplo: Código ASCII

• Caracteres de controle

Código (octal)

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 block010 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)