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



Documentos relacionados
2. ORGANIZAÇÃO DE SISTEMAS DE COMPUTADORES

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar

CODIFICADORES / DECODIFICADORES

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

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

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

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

Introdução à Informática

5 Entrada e Saída de Dados:

Sistemas Operacionais Gerência de Dispositivos

Estrutura de um Computador

3. Arquitetura Básica do Computador

Conceitos de Entrada e Saída

Sistemas Operacionais

Representação de Dados

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

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

Máquinas Multiníveis

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

Setores Trilhas. Espaço entre setores Espaço entre trilhas

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias

Fundamentos em Informática

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

ULA Sinais de Controle enviados pela UC

Entrada e Saída. Prof. Leonardo Barreto Campos 1

Disciplina: Introdução à Informática Profª Érica Barcelos

Organização Básica do Computador

Introdução à Arquitetura de Computadores

Introdução à Engenharia de Computação

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

BARRAMENTO DO SISTEMA

Dispositivos de Entrada e Saída

ARQUITETURA DE COMPUTADORES

Componentes de um Sistema de Computador

Fabio Bento

1. CAPÍTULO COMPUTADORES

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

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

Introdução aos Computadores

Edeyson Andrade Gomes

Introdução à Organização de Computadores Memória Secundária

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

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

UCP. Memória Periféricos de entrada e saída. Sistema Operacional

TI Aplicada. Aula 03 Componentes Básicos Hardware e Rede. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Dispositivos de Entrada e Saída

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 10

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES

Sistemas Operacionais

CONCEITOS BÁSICOS DE HARDWARE. Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Arquitetura e Organização de Computadores I

Motivação. Sumário. Hierarquia de Memória. Como registramos nossas histórias (num contexto amplo)?

Curso Técnico de Nível Médio

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

Figura 1 - O computador

ARQUITETURA DE COMPUTADORES

Sistemas Computacionais II Professor Frederico Sauer

Capítulo 2. Numéricos e Códigos Pearson Prentice Hall. Todos os direitos reservados.

MANUTENÇÃO DE MICRO. Mário Gomes de Oliveira

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

ISL - Introdução. Sistema. Binário. Introdução. Tipos de Computador. Sub title text goes here. Unused Section Space 2. Unused Section Space 1

Estruturas do Sistema de Computação

Visão Geral de Sistemas Operacionais

Armazenamento Secundário. SCE-183 Algoritmos e Estruturas de Dados II

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

Arquitetura de Von Neumann e os Computadores Modernos

Introdução à Informática. Aula 04. Sistemas Operacionais Aplicativos e Utilitários Transmissão e meios de transmissão de dados. Prof.

Informática. Aulas: 01 e 02/12. Prof. Márcio Hollweg. Visite o Portal dos Concursos Públicos

LÓGICA DE PROGRAMAÇÃO

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

for Information Interchange.

Organização Básica de Computadores. Memória. Memória. Memória. Memória. Memória Parte I. Computador eletrônico digital. Sistema composto por

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Introdução. Em se tratando de computador, entendemos que memória são dispositivos que armazenam dados com os quais o processador trabalha.

INFORMÁTICA - BICT (noturno)

Redes de Computadores

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

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

Escola Secundária de Emídio Navarro

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Gerência de Entrada/Saída

Estrutura de um Computador. Linguagem de Programação Rone Ilídio UFSJ - CAP

Prof. Sandrina Correia

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Memória Secundária. Prof. Valeria M. Bastos 18/06/2012 Prof. Antonio Carlos Gay Thomé

Sistema de Computação

Arquitetura de Computadores Arquitetura de entrada e saída

Sistemas Operacionais. Revisando alguns Conceitos de Hardware

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO

COMUNICAÇÃO SERIAL ENTRE EQUIPAMENTOS

6 - Gerência de Dispositivos

Transcrição:

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

2. ORGANIZAÇÃO DE SISTEMAS DE COMPUTADORES 2

2. ORGANIZAÇÃO DE SISTEMAS DE COMPUTADORES Computador Digital: É um sistema interconectado de processadores, memória e dispositivos de entrada e saída. 3

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 Barramento 4

2.1. Processadores 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). o Aponta para a próxima instrução a ser executada. Registrador de Instruções (IR - Instruction Register). o Armazena o código da instrução em execução. Acumulador (Ac - Accumulator). o Em muitas máquina, é um dos operandos de uma instrução. 5

2.1. Processadores Execução de Instruções A CPU executa, cada instrução, em uma sequência de pequenos passos, denominada ciclo busca-decodifica-executa : 1. Busca a próxima instrução da memória para o registrador de instrução (IR). 2. Atualiza o contador de programa (PC) 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. 6

2.1. Processadores 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 implementem esses passos. As máquina modernas executam os programas de nível de máquina convencional por meio de um interpretador em execução no hardware: microprogramas. Os microprogramas, então, determinam o conjunto de instruções de máquina convencional! Esta técnica é conhecida por microprogramação, e tais máquinas por máquinas microprogramadas. 7

2.1. Processadores Organização da CPU A + B 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 2 operandos. A Registradores B Registrador A B de Entrada da ULA ULA Registrador A + B de Saída da ULA 8

2.1. Processadores 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 9

2.1. Processadores 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. 10

2.1. Processadores Máquinas SISD: Exemplo: máquinas de von Neumann. Mesmo neste caso, pode-se conseguir certo paralelismo na execução de instruções. Exemplo: busca e execução de 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, em face de sua execução (válida para operações em ponto-flutuante). 11

2.1. Processadores Registradores + + - x / ULAs Uma variação deste conceito é dividir a execução de cada instrução em partes (linha de montagem). Tem-se, então, uma máquina pipeline. Podem-se ter instruções diferentes sendo executadas em estágios diferentes, simultaneamente. 12

2.1. Processadores Exemplo de uma máquina pipeline de cinco estágios: P1 P2 P3 P4 P5 Unidade de Busca de Instrução Analisador 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 13

2.1. Processadores 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). 14

2.1. Processadores 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 15

2.1. Processadores 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 16

2.1. Processadores Máquinas MIMD: CPUs diferentes executam programas diferentes, podendo compartilhar uma memória comum, que é acessada por meio de um barramento. Exemplo de uma máquina MIMD, sem memórias locais: CPU CPU CPU CPU Memória Compartilhada Barramento 17

2.1. Processadores Exemplo de uma máquina MIMD, com memórias locais: Memórias Locais CPU CPU CPU CPU Memória Compartilhada Barramento 18

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

2.2. Memória 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. 20

2.2. Memória Exemplo de 3 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 21

2.2. Memória 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). 22

2.2. Memória Os bytes são agrupados em palavras. Exemplo: Máquinas com palavras de 32 bits têm 4 bytes por palavra. A maioria das instruções de máquina opera 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. 23

2.2. Memória 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 esses dois tipos de máquina. Como tratar: Números, Cadeias de caracteres? 24

2.2. Memória 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. 25

2.2. Memória Códigos de Correção de Erro (cont.) 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 n 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: Bit de paridade: bit adicional acrescentado à 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. 26

2.2. Memória 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 em 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. 27

2.2. Memória 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 (sequências de frames). Densidade típica: 1600 frames / polegada (1600 bpi). Outras densidades: 800, 6250 bpi. São dispositivos de acesso sequencial: 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 Para ler o registro n, é necessário ler os n-1 registros anteriores. Adequadas quando os dados precisam ser acessados sequencialmente (backup). 28

2.2. Memória 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. 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. 29

2.2. Memória 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 é 512. 30

2.2. Memória 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 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 à 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 atual: centenas de Gbytes a alguns Tbytes. A capacidade vem crescendo rapidamente. 31

2.2. Memória Discos IDE Integrated Drive Electronics Controlador de disco passou a estar integrado ao drive. Evolução para EIDE, ATA-3, ATAPI-4, ATAPI-5, ATAPI-6, ATAPI-7... Discos SCSI Small Computer System Interface Interface e taxa de transferência diferentes do IDE. Permite que todos os dispositivos funcionem simultaneamente. RAID Redundant Array of Inexpensive Disks Diversos discos, placa controladora RAID. Maior desempenho, maior confiabilidade. Discos em Estado Sólido (SSD) Feitos de memória flash não volátil. Desempenho superior aos discos magnéticos, mais caros. 32

2.2. Memória 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. 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. 33

2.2. Memória As informações num CD ROM são gravadas como uma espiral contínua. Capacidade: 270.000 blocos totalizando 553 Mbytes. 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. Têm-se unidades de velocidade 2X, 4X, 6X, 8X, 10X,... Uso: grandes bases de dados, distribuição de softwares. 34

2.2. Memória CD regraváveis DVDs Blu-ray 35

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

2.3. Entrada / Saída (E/S) 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 CPU, 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. 37

2.3. Entrada / Saída (E/S) 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 38

2.3. Entrada / Saída (E/S) 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. 39

2.3. Entrada / Saída (E/S) Contêm um barramento único para interligar a CPU, memória e dispositivos de E/S. Monitor Teclado Unidade de CD-ROM Unidade de Disco CPU Memória Contr. de Vídeo Contr. de Teclado Contr. de CD_ROM Contr. de Disco Rígido 40

2.3. Entrada / Saída (E/S) Cada dispositivo de E/S se divide em: Controlador do dispositivo, localizado em alguma placa de expansão ou na motherboard. o O controlador controla o dispositivo e gerencia os acessos aos barramentos do sistema. o 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. 41

2.3. Entrada / Saída (E/S) Terminais São compostos por dois elementos: Teclado. Monitor. CRT - Tubo de Raios Catódicos 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). LCD Liquid Crystal Display 42

2.3. Entrada / Saída (E/S) Terminais Alfanuméricos Mapeados em Memória Atributo Caractere Sinal de vídeo analógico CPU Memória Principal Placa de Vídeo Memória A1B2C3 de Vídeo Monitor ABC Barramento 43

2.3. Entrada / Saída (E/S) 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. 44

2.3. Entrada / Saída (E/S) 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. 45

2.3. Entrada / Saída (E/S) 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. 46

2.3. Entrada / Saída (E/S) 47

2.3. Entrada / Saída (E/S) 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). 48

2.3. Entrada / Saída (E/S) 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. 49

2.3. Entrada / Saída (E/S) 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 amplitude (b); Variação de frequência (c); Variação de fase (d); 50

2.3. Entrada / Saída (E/S) 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 frequência (FSK - Frequency Shift Keying) A frequência da onda senoidal é diferente para o 0 e 1. 51

2.3. Entrada / Saída (E/S) 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. 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, frequência ou fase. O modem também faz o processo inverso: recebe um sinal modulado e o transforma em bits para o computador. 52

2.3. Entrada / Saída (E/S) 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 N C Tempo Problemas: Como reconhecer o primeiro bit de um caractere? Como diferenciar um bit 0 da ausência de bit? 53

2.3. Entrada / Saída (E/S) 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. 54

2.3. Entrada / Saída (E/S) 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, 9600 bps, etc. Nesse 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. 55

2.3. Entrada / Saída (E/S) 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. 56

2.3. Entrada / Saída (E/S) Mouse É um dispositivo de apontamento, que surgiu com a evolução das interfaces 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). 57

2.3. Entrada / Saída (E/S) 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. 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 infravermelho. 58

2.3. Entrada / Saída (E/S) 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). 59

2.3. Entrada / Saída (E/S) 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. 60

2.3. Entrada / Saída (E/S) 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 à 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. Unicode Símbolos de 16 bits (65.536 pontos de código) para línguas de todo o mundo. 61

2.3. Entrada / Saída (E/S) 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 62

2.3. Entrada / Saída (E/S) Caracteres alfanuméricos 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) 63

2. ORGANIZAÇÃO DE SISTEMAS DE COMPUTADORES ANOTAÇÕES 64