Você está na página 1de 18

ARQUITETURA DE COMPUTADORES II Apostila de Aula

CONTEDO
1. 2. INTRODUO.......................................................................................................................................................... 3 MODELOS DE TROCA DE DADOS ....................................................................................................................... 5 2.1. Assncrono....................................................................................................................................................... 5 2.2. Transferncia Sncrona .................................................................................................................................... 5 2.3. Transferncia Semi-Sncrona........................................................................................................................... 6 3. MAPEAMENTO DE ENTRADA/SADA................................................................................................................. 7 3.1. Em memria (memory mapped)...................................................................................................................... 7 3.2. Em portas de entrada/sada .............................................................................................................................. 7 4. MODOS DE TRANSFERNCIA .............................................................................................................................. 8 4.1. Entrada/sada Programada ............................................................................................................................... 8 4.1.1 Modo Bloqueado ............................................................................................................................................... 8 4.1.2 Polling................................................................................................................................................................ 8 4.1.3 Interjeio ........................................................................................................................................................ 11 4.2. Interrupo (H/S 569).................................................................................................................................... 11 4.3. DMA transferncia direta memria ......................................................................................................... 17 4.3.1 Halt .................................................................................................................................................................. 19 4.3.2 Roubo de Ciclo (cycle stealing)....................................................................................................................... 19 4.3.3 Entrelaado (interleaved)................................................................................................................................. 19 Estudo de Casos - DMA no PC ................................................................................................................................ 19 5. INFRA-ESTRUTURAS DE COMUNICAO ...................................................................................................... 21 5.1. BARRAMENTOS ......................................................................................................................................... 21 5.2.1. Tipos de barramentos...................................................................................................................................... 22 5.2.2 Arquiteturas de Barramento............................................................................................................................. 23 5.2.2.1 Barramento nico......................................................................................................................................... 23 5.2.2.2 Dois nveis .................................................................................................................................................... 24 5.2.2.3 Hierrquica ................................................................................................................................................... 24 Estudo de Casos - Exemplos para a arquitetura de barramentos hierrquica............................................................ 24 Estudo de Casos - Nova tendncia, arquiteturas com chaveadores........................................................................... 25 5.2. AGP (Accelerated Graphics Port)................................................................................................................. 27 5.3. Acesso ao barramento.................................................................................................................................... 27 5.4. Desempenho versus custo.............................................................................................................................. 28 5.5. Evoluo dos barramentos na famlia Intel.................................................................................................... 28 6. INTERFACE SERIAL ............................................................................................................................................. 31 6.1. Porta Serial do PC.......................................................................................................................................... 32 7. INTERFACE PARALELA....................................................................................................................................... 33 7.1. Porta Paralela Padro ou Standard................................................................................................................. 33 7.2. EPP (Enhanced Parallel Port)....................................................................................................................... 34 7.3. ECP (Enhanced Capabilities Port)................................................................................................................ 34

UNIDADE 1: ENTRADA E SADA EM SISTEMAS DIGITAIS

Autores: Fernando G. Moraes Csar Augusto F. De Rose Csar Augusto M. Marcon

Porto Alegre, Julho de 2006


Fernando Moraes, Csar De Rose e Csar Marcon 2 Arquitetura de Computadores II - 24/07/06

1. INTRODUO
Bibliografia: Herzog Cap.10 / H/S Interface Cap. 8. Tipos de perifricos (parceiros da CPU na comunicao).

Abstrao do hardware. CPU programa controladora. Comunicao com a controladora atravs de software (driver, gerenciador de dispositivo - S.O.). CPU no conhece detalhes do hardware do dispositivo (facilita a expanso da mquina). 8237: responsvel pelo DMA (principalmente refresh da memria). 8259: interrupes. 16550: UART (universal, asynchronous receiver transmitter) serial. 8253 para timer, 6845 para vdeo

Funcionamento

Entrada: teclado, mouse, caneta tica, scanner, microfone, joystick, sensores, Sada: vdeo, impressora, plotter, alto-falante, atuadores, Armazenamento: discos, fitas, CD-ROM, ... Comunicao: modem, placa de rede, ...

Exemplos de circuitos controladores:


Problema: Comunicao entre CPU e Perifricos Causas:


Diferentes caractersticas fsicas (conexo, pinagem). Diferente sentido da comunicao (s vai, s vem). Diferentes protocolos (linguagem, formato dos dados). Diferentes velocidades (regulares ou no tempo de resposta varivel). Diferente freqncia (cclico ou no). Diferentes fabricantes. Mouse (sentido nico leitura dos botes e da posio x e y, freqente, cclico, tempo de resposta constante). Teclado (sentido nico leitura de teclas, menos freqente, aleatrio, tempo de resposta varivel tecla disponvel?). Monitor (sentido nico escrita de dados na memria de vdeo, freqente). Disco rgido (dois sentidos ler e escrever setor, no to freqente, tempo de reposta varivel, rajadas burst). Impressora (dois sentidos imprimir e cdigos de controle de fluxo e erro, rajadas).

Tenho algum destes no meu PC hoje? No nesta forma. Hoje estes controladores esto integrados nos chip-sets. Isto basta? Abstrao facilitou, mas como conversar com a controladora?

Enviar dados e comandos para os registradores (como enderear)? Controlar respostas? Como trocar dados?

Ex:

Soluo: 1o passo Hardware: inserir circuitos entre a CPU e os perifricos para interface e controle (chamado de controladora).
CPU
controlador (ex. 8259)

perifrico

bus
memria

Funes da controladora

Conexo fsica. Converso de protocolos (traduo). Converso de tipos de dados (Ex: palavra setor). Armazenamento temporrio (amortizao das diferentes velocidades).
3 Arquitetura de Computadores II - 24/07/06 Fernando Moraes, Csar De Rose e Csar Marcon 4 Arquitetura de Computadores II - 24/07/06

Fernando Moraes, Csar De Rose e Csar Marcon

2. MODELOS DE TROCA DE DADOS


clock

Procedimento 1.
dados
(enviados pela CPU)

Assncrono / sncrono / semi-sncrono. Responsvel pela interao entre o perifrico e controlador. Como transferir a Informao em nvel fsico? protocolos
send

2. 3.
T conhecido

2.1. Assncrono
Dois sistemas digitais autnomos. Relgios no preciso ser sincronizados. Podem ter freqncias e fases diferentes.
DADOS

Quando ck , CPU coloca dados no barramento. Quando ck , send significando que h dado a ser transferido. Quando ck novamente terminou a transferncia (send ).

Perguntas Porque o send necessrio? (resposta: porque h perodos sem transmisso de dados)

Controlador ou CPU ck1

send ack send 1 3 ack 2 4

Perifrico

ck2

2.3. Transferncia Semi-Sncrona


Mesmo clock para CPU e perifrico Clock sincroniza os sinais de controle. Tempo para a transferncia desconhecido. Procedimento 1. CPU disponibiliza dados e sincronamente ativa o sinal send (este sinal pode ficar ativo n ciclos, at perifrico responder). 2. Na primeira transio de subida do clock, aps o perifrico ter armazenado os dados, o ack ativado pelo perifrico. 3. No ciclo de clock seguinte remove-se o send (CPU) e ack (perifrico).

dados (enviado pela CPU) fazer controle de time-out

Procedimento CPU
1) Fornece dados e send 2) Fica a esperar subida do sinal ack

Perifrico

clock dados
(enviados pela CPU)

1) Monitorando subida do sinal send 2) Quando send armazena os dados 3) Uma vez armazenados os dados ack 3) Quando ack remove send () e os dados 4) Fica a esperar descida do sinal send 5) Quando send removido remove-se o ack () 4) Fica a esperar descida do sinal ack ()

send ack

Perguntas 1. Deve haver algum mecanismo de controle entre os passos 1 e 2 da CPU (em relao figura)? (resposta: sim, controle de time-out) 2. Porque os passos 3 e 4 da CPU so necessrios? (resposta: o passo 3 permite reinicializar a CPU para nova emisso e o passo 4 aguarda a reinicializao do perifrico)

T desconhecido

1 ciclo

2.2. Transferncia Sncrona


Mesmo clock para CPU e perifrico (no adianta a mesma freqncia!). Clock sincroniza os sinais de controle. Tempo p/ transferncia conhecido sem sinal de ack (podem ser vrios ciclos).
5 Arquitetura de Computadores II - 24/07/06

Perguntas 1. De um exemplo onde time-out necessrio. (resposta: no caso de falha entre 1 e 2) 2. O perifrico depois de subir o ack o abaixa novamente. Como ele sabe que a CPU j detectou o sinal? (resposta: sincronismo de clocks) 3. Qual a diferena para a transferncia assncrona? (resposta: mesmo clock, eliminao do ltimo lao de controle).

Fernando Moraes, Csar De Rose e Csar Marcon

Fernando Moraes, Csar De Rose e Csar Marcon

Arquitetura de Computadores II - 24/07/06

3. MAPEAMENTO DE ENTRADA/SADA
Como enderear as portas dos dispositivos?

4. MODOS DE TRANSFERNCIA
Quando efetuar a transferncia? Caractersticas desejadas:

3.1. Em memria (memory mapped)


Um nico espao de endereamento. Destina-se um conjunto de endereos aos perifricos. Instrues memria podem ser tanto memria quanto operaes de entrada/sada. O mapeamento em memria tem a vantagem de permitir uma maior proteo ao acesso direto a dispositivos, pois os endereos de E/S podem ser controlados pelo sistema operacional. Exemplo: processadores da Motorola

Rpida resposta a eventos crticos: eventos de segurana requerem resposta imediata. No sobrecarregar a CPU com atividades de E/S: algumas atividades como acesso a disco e refresh de memria exigem altas taxas de E/S. Trs modos: programado, interrupo e DMA.

4.1. Entrada/sada Programada


E/S controlada pela CPU (registradores e instrues especficas). Processador pergunta para cada perifrico se este est apto a receber ou transmitir informao (geralmente um byte). Em caso afirmativo realiza a transferncia. Tipos: modo bloqueado (busy wait), polling (inquisio) e interjeio.

3.2. Em portas de entrada/sada


Dois espaos distintos de endereamento. Entrada sada acessada por instrues especficas (IN, OUT). O p dispe ou de um pino IO/M (High IO, Low M) ou 2 conjuntos de pinos independentes. Havendo 2 conjuntos pode-se sobrepor com o acesso memria. Exemplo: p da INTEL IN AL, porta OUT porta, AL (64Kb portas E/S de 8 bits, 32 Kb com 16 bits)

4.1.1 Modo Bloqueado


Aps iniciar a comunicao, a CPU fica ocupada (escrava) at terminar a operao. CPU subutilizada, pois perifricos so muito mais lentos que ela.
Programa Principal Instruo E/S CPU espera perifrico (perda de tempo) Programa Principal
tempo

Exemplo de programao entre os dois mtodos: Supor que os endereos dos registradores do controlador de impresso sejam 2F8H (caractere) e 2F9H (status). Dois bits de status: s1=1 indica erro e s0=1 indica caractere sendo impresso. Trecho do programa para imprimir um caractere: Mapeado em memria Mapeado com portas
le_status mov AL, 2F9H le_status or AL, 00 jnz le_status mov AL, 65H mov 2F8, AL in AL, 2F9H or AL, 00 jnz le_status mov AL, 65H (caractere A) out 2F8, AL

Exemplo de utilizao: computador dedicado a, por exemplo, uma balana. A nica atividade da mquina pesar.

4.1.2 Polling
POOL piscina, POLL apurao de votos. A CPU periodicamente testa o contedo dos bits do(s) registrador (es) de estado existente(s) nos controladores de E/S. Em cada controlador h registradores que indicam a transferncia a ser realizada (status). No modo polling a CPU possui controle total, realizando todo o trabalho. O que fao com o tempo, se no tenho a resposta para continuar o programa que espera por E/S?
DADOS

O mapeamento em portas permite um acesso direto aos dispositivos de E/S, oferecendo um maior desempenho. A proteo por parte do S.O. fica dificultada.

controlador
REG. DADOS

DADOS

CPU

ENDEREO controle

SEND ACK

PERIFRICO

flag

REG. ESTADO

Fernando Moraes, Csar De Rose e Csar Marcon

Arquitetura de Computadores II - 24/07/06

Fernando Moraes, Csar De Rose e Csar Marcon

Arquitetura de Computadores II - 24/07/06

Protocolo assncrono entre controlador e perifrico: 1. Perifrico transfere dados para o controlador, ativando o sinal send; 2. Controlador armazena o dado em um registrador de dados, enviando o sinal ack, ligando um flag de dado presente no registrador de estado; 3. Controlador remove o ack quando o flag for zero (CPU j buscou) 4. Perifrico remove o send quando ack for zero, habilitando novo envio de dados; CPU Controlador 1. CPU tem um programa que executado periodicamente (polling) para o teste do flag de dado presente no registrador de estado; 2. Quando flag=1, CPU l o dado do controlador, armazenando em um registrador; 3. Aps ler o dado: flag 0. 4. Perifrico pode enviar novo dado.

% de tempo CPU: 2560000*100/50*106 = 5,12 % do tempo de CPU

Concluso: tolervel c) Tempo para transferir dados de um winchester, com taxa de 2 MB/ seg, transferindose 4 Bytes por vez.

Ciclos gastos pelo HD: (2*220 Bytes/ 4 Bytes) * 100 = 52,46*106 ciclos/seg % de tempo CPU: (52,4*106/50*106)*100 = 105% do tempo de CPU Concluso: impossvel !!!

CPU com vrias portas de E/S (ex: 8051 possui 4 portas de 8 bits)
DADOS / ENDEREOS / CONTROLE

CPU
controlador 1
flag 1 porta 1

Observao: overrun error

No protocolo acima s so enviados dados quando ack=0. Uma variao do protocolo acima permitir que o perifrico envie dados assim que receber o ack. Se a CPU for mais lenta que o perifrico (muito difcil) pode acontecer de dados novos sobrescreverem dados que ainda no foram lidos, ocasionando erro.

controlador 2

flag 2

porta 2

Clculo de tempo desperdiado exemplo 1


controlador n

flag n

porta n

CPU l o flag de status a cada 0,1 s (10 MHz) E/S transfere dados a 1 Kb/seg largura do bus: 1 Byte Pergunta-se: quantas leituras desnecessrias so feitas ao flag de status para 1 transferncia? 0,1 s Taxa de leitura do flag: 0.1 s Taxa de transferncia: 1 Byte a cada 1ms

Verificao dos flags: Prioridade implcita. Normalmente atende o primeiro perifrico com flag=1 e termina a rotina de polling. Pode acontecer de ter perifrico esquecido. Linha tracejada: opcional, que significa teste dos demais perifricos, evitando o esquecimento de perifricos. Esta soluo pode causar muito atraso para a CPU. Projetista decide em funo de:
Nmero de perifricos. Freqncia estimada dos pedidos de atendimento. Freqncia de teste dentro do programa principal.

R:

1ms 103 = = 10 4 0,1s 10 7


ou seja 9999 leituras sem sucesso para 1 com sucesso

1ms

Clculo de tempo desperdiado exemplo 2 H/S interface p. 568 Supor uma CPU operando a 50 MHz, executando uma rotina de polling que consuma 100 ciclos. Pede-se: a) Tempo de CPU consumido para verificar o mouse, sabendo-se que este deve ser verificado 30 vezes/seg.

Polling muito utilizado em ambientes industriais, para monitorar, por exemplo, grandezas fsicas.

Ciclos gastos pelo mouse: 30*100 = 3000 ciclos/seg % de tempo CPU: 3000*100/50*10 = 0,006 % do tempo de CPU
6

Programa Principal ponto onde so testados os retorno do polling Programa Principal

flag 1 = 1

Atende perif. 1

N
flag 2 = 1

Concluso: mouse no incomoda b) Tempo para transferir dados de um disquete, com taxa de 50 KB/seg, transferindo-se 2 Bytes por vez.

Atende perif. 2

N
flag n = 1

Ciclos gastos pelo disquete: (50*210 Bytes/ 2 Bytes) * 100 = 2560000 ciclos/seg
9 Arquitetura de Computadores II - 24/07/06 Fernando Moraes, Csar De Rose e Csar Marcon 10

Atende perif. n

Fernando Moraes, Csar De Rose e Csar Marcon

Arquitetura de Computadores II - 24/07/06

4.1.3 Interjeio
Otimizao do polling. Ou lgico de todos os flags de status menor tempo com o teste. CPU s testa um bit, independentemente do nmero de perifricos.
DADOS / ENDEREOS / CONTROLE

1. Interrupes so temporariamente desabilitadas. 4. Executa-se o programa de interrupo. 2. Salva-se o contexto (PC, registradores) em um pilha. 5. Recupera-se o contexto. 3. Identifica-se o perifrico, colocando no PC o 6. Interrupes so novamente endereo da rotina de tratamento da interrupo. habilitadas. Procedimento anlogo chamada de sub-rotina
MEMRIA 0 1 2 3 . . . . n JMP para o incio do programa principal (n+k) programa para tratamento da interrupo RETI

CPU controlador 1
flag 1 porta 1

Programa Principal flag INTERJ = 1

Exemplo: microcontrolador 8051 (Intel)


S ROTINA DE POOLING

controlador 2

flag 2

porta 2 flag INTERJ = 1 S ROTINA DE POOLING

4 pinos dedicados interrupo, a qual pode ser habilitada ou no por software (INT0, INT1, TIMER0, TIMER1). Quando h pedido de interrupo no pino INT0, o PC posto em uma pilha, e PC recebe valor 3.

controlador n

flag n

porta n FLAG DE INTERJEIO

Programa Principal

instruo de retorno de interrupo

n+k . . .m

programa principal

4.2. Interrupo (H/S 569)


Interrupo foi criada para solucionar o problema do tempo desperdiado com mltiplos testes que so inerentes ao polling. CPU/controlador avisado pelo perifrico que este est pronto para transmitir/receber dados Principais caractersticas de interrupes de E/S:

TRATAMENTO DE DIVERSAS INTERRUPES SIMULTNEAS INTERRUPO COM POLLING

Opera do mesmo modo que na interjeio: ou lgico de todos os pedidos de interrupo enviado ao processador/controlador. Lento, pois so feitos testes seqenciais para atendimento dos perifricos.

Assincronismo em relao a qualquer instruo, ocorrendo a qualquer instante. Na ocorrncia de uma interrupo, a mesma atendida aps o trmino da instruo corrente. O teste de interrupo feito depois da execuo da instruo. Diferenciar interrupo de hardware de excees (interrupes do hardware interno, exemplo, diviso por zero). Dispositivos podem ter diferentes prioridades.

INTERRUPO DAISY CHAIN, ou serial.


Conexo em srie dos dispositivos de E/S (prioridade implcita). Exemplo: SCSI. Funcionamento: 1. Quando h um pedido de interrupo, a CPU aps aceit-lo habilita o sinal int ack. 2. O primeiro dispositivo que tiver o pedido de interrupo ativo, envia o seu endereo para a CPU, desabilitando os demais perifricos (propagando PO com 0).
DADOS/ENDEREOS/CONTROLE AD 1 AD 2 AD n

Havendo um perifrico, ao menos, pedindo interrupo, inicia-se o ciclo de tratamento de E/S (varia de p para p):
DADOS / ENDEREOS / CONTROLE

CPU / controlador Perifrico 0


int int0

CPU

PI
Perifrico 1
int int 1

PO

PI
perif2

PO

PI
perif n

PO Int Request Int Ack

perif1

Perifrico n

int

int n

MAIOR PRIORIDADE

Legenda: PI: prioridade IN, PO: prioridade OUT, AD: endereo.


Fernando Moraes, Csar De Rose e Csar Marcon 11 Arquitetura de Computadores II - 24/07/06 Fernando Moraes, Csar De Rose e Csar Marcon 12 Arquitetura de Computadores II - 24/07/06

Mtodo simples, pois um dispositivo se conecta ao outro, simplificando a fiao.

c) Internas ao processador

INTERRUPO PARALELA

Tambm denominadas excees, exemplo: diviso por 0.

Vrios perifricos podem solicitar simultaneamente interrupes, como nos mtodos anteriores, porm um codificador de prioridade selecionar qual interrupo atender. Organizao do controlador de interrupo:
registro de interrupo perifrico perifrico perifrico perifrico 3 2 1 0 codificador c/ prioridade I0 I1 I2 registro de mscara programado pela CPU 3 2 1 0 I3 req pedido de interupo A0 A2 endereo da interrupo para a CPU

VETOR DE INTERRUPES Primeiro 1k de memria, sendo reservado 4 bytes por interrupo, resultando em 256 endereos para interrupes. Cada endereo aponta para uma funo armazenada na BIOS (ou definida pelo programador). Este endereo para a funo denominado de entry point. Estes endereos podem ser modificados, permitindo utilizar um outro programa para tratar determinada interrupo.

BIOS Programa residente que tem por principal funo ativar as interrupes (dispositivos de E/S). Garante a compatibilidade entre os diferentes PCs, pois apesar do hardware de cada um ser diferente, a BIOS se encarrega de realizar a interface entre o software e a mquina. Quando o PC ligado, h um salto para a posio de memria FFF0 (16 posies abaixo de 1M), verificando-se todo o hardware.

Mascaramento: possibilidade de habilitar ou no determinada interrupo. O controlador de interrupes do PC (8259A) opera desta forma. As prioridades so fixas, apesar do hardware original prever alteraes de prioridades.

TABELA DAS INTERRUPES Absolute Interrupt address (hex) value Internas ao processador 0000:0000 00H 0000:0004 01H 0000:000C 03H 0000:0010 04H No mascarvel 0000:0008 Mascarvel 0000:0028 0000:002C 0000:0030 0000:0034 0000:0038 0000:003C 0000:01C0 0000:01C4 0000:01C8 0000:01CC 0000:01D0 0000:01D4 0000:01D8 0000:01DC Function Hardware interrupt

INTERRUPES NO x86 (INTEL) Trs tipos de interrupes so utilizados: Teclado, impressora, placa comunicao, So ativadas atravs de pinos do p: NMI (no mascarvel) e INTR. Exemplo de no mascarvel: falta de luz ou paridade em memria.

a) Externas (HARDWARE)

Divide by Zero Interrupt Single Step Interrupt Breakpoint Arithmetic Overflow Handler

02H

Non-Maskable Interrupt

Controlador 8259A (1 XT, 2 AT). b) Software (traps)


No so verdadeiras interrupes, pois so chamadas por software. Instruo tpica: INT xx. Exemplo:
C: #include <dos.h> void main( void ) { union REGS pregs; struct SREGS sregs; char Message[20] = "Fernando$";

ASSEMBLY: mov AH, 09H mov DX, offset alo mame int 21H

/* $ fim de string */

pregs.h.ah = 0x09; sregs.ds = FP_SEG( Message ); /* Get the var. */ pregs.x.dx = FP_OFF( Message ); /* addresses */ intdosx( &pregs, &pregs, &sregs ); }
Fernando Moraes, Csar De Rose e Csar Marcon 13 Arquitetura de Computadores II - 24/07/06

0AH 0BH 0CH 0DH 0EH 0FH 70H 71H 72H 73H 74H 75H 76H 77H

VGA Retrace (AT Slave) Serial Port 2 Serial Port 1 Hard Disk Floppy disk Parallel Port Real Time Clock LAN Adapter Reserved Reserved Mouse 80287 NMI Error Hard disk controller Reserved

IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 IRQ8 IRQ9 IRQ10 IRQ11 IRQ12 IRQ13 IRQ14 IRQ15

No Windows pode-se exibir como esto atribudas as interrupes:


14 Arquitetura de Computadores II - 24/07/06

Fernando Moraes, Csar De Rose e Csar Marcon

TRATAMENTO DAS INTERRUPES O procedimento de tratamento das interrupes em PCs segue o seguinte procedimento: 1. Perifrico faz requisio ao controlador de interrupo, atravs das linhas IRQ. Se a interrupo est habilitada, o controlador enviara um sinal ao processador. 2. Controlador de interrupo repassa pedido de interrupo ao processador (INTR). 3. Processador envia confirmao de aceite da interrupo (INTA) que a controladora de interrupo repassa ao perifrico em questo. 4. Perifrico coloca seu endereo/dados no barramento. 5. O endereo referencia uma posio de memria no vetor de interrupo (primeiro 1K de memria). 6. Esta posio de memria apontar para o endereo da rotina de tratamento de interrupo, situada normalmente na BIOS.
CPU
INTR INTA

Cascateamento de dois PICs

Registradores:

2 3

8259A
irq0 irq1 irq2 irq3

Perif 1 Perif 2

ISR: interrupo que est sendo atendida. IRR: quem est pedindo interrupo. IMR: mscara de interrupo. Endereos do Master: 20H e 21H. Endereos do Slave: A0H e A1H. Para ler o IRR e o ISR primeiro envia-se uma palavra de controle para a porta e depois l-se o estado da porta. A rotina de tratamento de interrupo deve avisar ao PIC que a interrupo terminou. Se a interrupo pertence ao SLAVE, avisar os 2 PICs. EOI = end of interruption A mscara de interrupo encontra-se no endereo + 1. Por default todas as interrupes esto habilitadas (iguais a zero). Pode-se ler ou escrever neste registrador para habilitar ou no as interrupes

Perif 3 Perif 4

Acesso aos registradores:


endereo

4
MEM.
BIOS

Leitura dos registradores:

Vetor de interrupo

Controlador de Interrupo (PIC) COMO UTILIZAR INTERRUPES: 1. TECLADO: Interceptar o teclado, por exemplo, para reconhecer hot-keys
#include <stdio.h> #include <dos.h> #define INTKEY 0x09 int cont; void interrupt New_Key_Int(); /* interrupt prototype */ void interrupt (*Old_teclado)(); /* interrupt function pointer */ void interrupt New_Key_Int() { cont ++; printf("Tecla %d\n", cont); Old_teclado(); }

Fernando Moraes, Csar De Rose e Csar Marcon

15

Arquitetura de Computadores II - 24/07/06

Fernando Moraes, Csar De Rose e Csar Marcon

16

Arquitetura de Computadores II - 24/07/06

ARMAZENA O ENDEREO DA ROTINA ORIGINAL DO TECLADO


int main(void) { cont =0; Old_teclado =_dos_getvect(INTKEY); _dos_setvect(INTKEY, New_Key_Int); for( ; cont < 10; ); /* espera 10 teclas */ _dos_setvect(INTKEY, Old_teclado); puts("OK"); return(1); }

1. CPU programa a controladora de DMA com:


ATRIBUI NOVA FUNO

Identificao do dispositivo que solicitou DMA. Operao a ser realizada no dispositivo (escrita/leitura). Endereo origem e destino (na memria principal e no perifrico).

RECUPERA FUNO ORIGINAL

2. Shift PrtSc:
#include <stdio.h> #include <dos.h> void interrupt get_out(); /* interrupt prototype */ void interrupt (*oldfunc)(); /* interrupt function pointer */ int looping = 1; int main(void) { puts("Press <Shift><PrtSc> to terminate"); oldfunc = _dos_getvect(5); /* save the old interrupt */ /* install interrupt handler */ /* do nothing */ /* restore to original interrupt routine */

Nmero de bytes a serem transmitidos. 2. O controlador de DMA (DMAC) assume o barramento, iniciando a operao. A transferncia inicia quando o dado est disponvel (no dispositivo ou memria). O controlador de DMA fornece o endereo de leitura ou escrita na memria. Se a requisio necessita mais de uma transferncia no barramento, o DMA gera o prximo endereo de memria. Por meio deste mecanismo o DMA pode transferir milhares de bytes do disco para a memria, sem interromper a CPU. 3. Concluda a transferncia de DMA, o controlador interrompe o processador, que poder verificar se a operao foi realizada com sucesso examinando a memria ou interrogando o controlador de DMA. Uma vez o DMAC programado, a CPU e o DMAC operam em paralelo. Em um sistema computacional podem existir diversos controladores de DMA. Em um sistema do tipo processador, memria com mesmo barramento, e diversos dispositivos de E/S, poder existir um controlador para cada dispositivo. Exemplo Supor uma CPU operando a 50 MHz, com HD transferindo 2MB/seg, utilizando DMA.

_dos_setvect(5,get_out); while (looping); _dos_setvect(5,oldfunc); puts("Success"); return 0; }

Durao da programao do controlador de DMA pela CPU: 1000 ciclos de clock. Durao da rotina de interrupo para tratar trmino do DMA: 500 ciclos de relgio. Na mdia, cada operao de transferncia do disco manipula 4KB (algumas 10K, outras 1K, ). Supondo que o disco estar transferindo dados para a memria continuamente (100%), qual a frao de tempo da CPU consumida para a operao?

void interrupt get_out() { looping = 0; /* change global var to get out of loop */ }

4.3. DMA transferncia direta memria


Interrupo libera a CPU da tarefa de aguardar por ocorrncia de evento de E/S, porm a CPU continua sendo o elemento ativo (responsvel por realizar a transferncia de dados). Soluo: utilizao de DMA. Dispositivo controlador (pode ser outro processador) o responsvel pela transferncia de dados, ficando a CPU livre para realizar outras operaes. Importante: mecanismos de interrupo continuam sendo utilizados pelo controlador para comunicao com o processador, mas apenas no trmino de um evento de E/S, ou na ocorrncia de erros. Durante a operao o controlador de DMA se torna o mestre do barramento e controla a transferncia E/S Memria. Existem 3 passos em uma transferncia DMA:
17 Arquitetura de Computadores II - 24/07/06

Resposta: Tempo necessrio para transferir os 4 Kbytes de uma operao de DMA: Se o disco produz 2*106 Kbytes (2 MB) a cada segundo preciso de 2*106/4*103= 500 transferncias de 4 Kbytes por segundo para tratar os dados Cada transferncia precisa 1500 ciclos de CPU Portanto em um segundo so gastos 500 * 1500 ciclos = 75*104 ciclos/s Consequentemente: % de CPU = 75*104 * 100 / 50*106 = 1,5 % Comentrios

Comparando com polling e interrupo, DMA deve ser utilizado para interface de perifricos que necessitem de grande vazo (por exemplo, disco rgido). Se a CPU precisar do barramento durante o DMA, ocorrer atraso, uma vez que a memria est ocupada. Utilizando caches no processador o desempenho ir melhorar, uma vez que o processador no precisar aguardar pela liberao do barramento.

Fernando Moraes, Csar De Rose e Csar Marcon

Fernando Moraes, Csar De Rose e Csar Marcon

18

Arquitetura de Computadores II - 24/07/06

Problema do DMA: conflito de barramento, pois a CPU tambm precisa do barramento para buscar as instrues. Solues:

Exemplo de uso: HD e sound blaster Na sound blaster


CPU programa DMAC. DMAC recebe sinal go da CPU. DMA realiza leitura na RAM e envia para a placa. CPU enquanto isto pode realizar outras operaes que no envolvam barramento. Pgina da memria a ser utilizada. Deslocamento na pgina. Quantidade de dados a ser transferida. Mximo 64 KB por vez (razo: o contador de bytes transferidos do DMAC contm 16 bits). S pode transferir dentro da mesma pgina. Velocidade: apenas 6 MHz (para a poca do XT era suficiente), logo para um processador de 200 MHz no faz muito sentido utilizar DMA.

HALT (transferncia de bloco) Roubo de Ciclos (cycle stealing) Entrelaado (interleaved)

4.3.1 Halt
Mtodo simples, onde DMAC suspende o processador (ganha o barramento) Pino de HOLD Vantagem? CPU pode realizar operaes que no fazem acesso ao barramento Passos: 1. Uma vez programado o DMAC, este envia sinal de HOLD para a CPU. 2. CPU conclui instruo corrente e envia HOLDACK. 3. DMA recebendo HOLDACK tem acesso total ao barramento. 4. Ao trmino da transferncia o DMA remove o sinal HOLD.

Antes de iniciar uma transferncia necessrio definir:


Limitaes do DMA no PC:

HDs/placas de som/refresh (15 s) de memria ainda utilizam DMA. Concluso: novos padres de DMA no PC, a fim de aumentar o desempenho:

4.3.2 Roubo de Ciclo (cycle stealing)


Envio palavra a palavra (ou em blocos). DMA pede uso do barramento, e CPU o entrega entre ciclos de mquina. Passos: 1. DMAC pede bus, assincronamente DMAREQ. 2. CPU termina ciclo corrente e envia DMAACK, liberando o barramento. 3. DMAC faz uma transferncia e remove DMAREQ. 4. Terminada TODA a transferncia, DMAC avisa a CPU por interrupo.
FETCH DECODIF. BUSCA. OPERANDO EXECUTA ARMAZENA RESULTADO

Fast Multiword DMA: padro de DMA permitido pelo chipset Triton da Intel que utiliza um modo de transferncia de dados entre disco rgido e memria, chamado PIIX (PCI-ISA IDE Xcelerator). Este modo utiliza o Fast Multiword DMA que transfere 48 bits por vez ao invs dos 16 bits originais. Com isto a transferncia pode chegar a 16,6 MB/s com a vantagem de no utilizar o processador, ao contrrio do esquema PIO. Ultra DMA ou Ultra DMA/33 : um protocolo para transferncia de dados entre o disco rgido e a memria principal (RAM). O protocolo Ultra DMA/33 transfere dados no modo de rajadas (burst mode) a uma taxa de 33.3 Mbps (megabytes por segundo). Foi desenvolvido pela Quantum Corporation e Intel para tornar-se um padro da industria. O Ultra DMA foi introduzido em computadores no final de 1997 com o objetivo de torn-lo um padro de interface para disco rgido em 1998. O Ultra DMA utiliza CRC (Cyclical Redundancy Checking) para proteo dos dados. RESUMO E/S: Programada BLOQUEADO POLLING INTERJEIO Externas E/S em Sistemas Digitais
Mapeamento em memria em portas de entrada/sada

pontos onde se pode roubar um ciclo

Obs.: a quantidade a transferir em cada roubo programada pela CPU

4.3.3 Entrelaado (interleaved)


DMAC disputa o barramento com a CPU para fazer acesso memria Controladora do barramento pode dar prioridade a CPU para evitar atrasos

Interrupo
(polling, daisy chain,paralelo)

Internas

MASCARVEL NO MASCARVEL SOFTWARE (traps) PROCESSADOR HALT ROUBO DE CICLO ENTRELAADO


Arquitetura de Computadores II - 24/07/06

Estudo de Casos - DMA no PC


Utiliza o controlador 8237A
19 Arquitetura de Computadores II - 24/07/06

DMA (acesso direto)

Fernando Moraes, Csar De Rose e Csar Marcon

Fernando Moraes, Csar De Rose e Csar Marcon

20

5. INFRA-ESTRUTURAS DE COMUNICAO
Sistemas computacionais so compostos por:

Possibilita a expanso do computador de forma organizada. Vantagens da utilizao: versatilidade e baixo custo.

Transformao de informaes Transmisso de informaes

Computao Comunicao

Versatilidade: ao se definir um sistema nico para conexo (padro), novos dispositivos podem ser adicionados/movidos entre sistemas computacionais que utilizam o mesmo padro de barramento. Baixo custo: um nico conjunto de fios utilizado para conectar diversos dispositivos (compartilhamento). O barramento o gargalo do sistema, uma vez que no pode ser utilizado para realizar mais de uma transferncia de forma simultnea. Entrada ou sada: (1) envio do endereo, (2) envio recepo ou controle do dado. Restries fsicas: nmero de linhas (fios) e tamanho do barramento. Barramento multiplexado: mesmos fios para dados e endereos. No multiplexado: separa linhas e endereos. Largura do barramento: desejvel ser igual largura da palavra. Supor um programa que consuma 90 seg de CPU e 10 seg para E/S. Se a velocidade da CPU melhora 50% por ano e a E/S permanece constante, qual o ganho de desempenho em 5 anos? Ano 0 1 2 3 4 5 CPU (seg) 90 60 (1,5) 40 27 18 12 E/S (seg) 10 10 10 10 10 10 Total (seg) 100 70 50 37 28 22

Armazenamento de informaes Memorizao Estes elementos representam requisitos e/ou restries de projeto, e eventualmente podem ser um gargalo de um determinado projeto. As infra-estruturas de comunicao podem ser classificadas segundo diversos critrios como:

Maior desvantagem: perda de tempo na disputa (contenso).

Com relao ao nmero de pontos de acesso


1 2 3

4 2 5 3 6

Operaes realizadas no barramento:


1
4 5 6

Ponto a Ponto

Multiponto

Com relao ao nmero de acessos simultneos


1 2 3 1 2 1 2

Importncia: Evoluo da velocidade da CPU versus velocidade do barramento.

Espacial
1

Temporal

Espao-temporal

Exemplos:
2 3

1 4

2 3

Conexes dedicadas Ponto a ponto e espacial

Barramento Multiponto temporal

Rede malha Ponto a ponto e temporal

5.1. BARRAMENTOS
Contexto:
CPU cache bus
controlador 1 memria
p1 p2 p3 p4 p5 p6

Ganho CPU: 90/12 = 7.5 Ganho total: 100/22 = 4.5 E/S representa inicialmente 10% do tempo total, e no quinto ano 45% (10/22).
interrupes

Padres:

Simplificam a indstria, pois o fabricante produz um perifrico para uma determinada norma e no para o equipamento. Exemplos: NuBus, Sbus, SCSI, EISA, VESA, PCI, PCMCIA, O tipo de barramento depende muitas vezes da aplicao: multimdia, vdeo, notebook, memria.

DMA, pooling, interrupo

controlador n

5.2.1. Tipos de barramentos


Processador memria. Entrada/sada.
22 Arquitetura de Computadores II - 24/07/06

Canal de comunicao compartilhado composto por conjunto de fios para a conexo de subsistemas. Utilizado, por exemplo, para conectar CPU, memria e perifricos.
21 Arquitetura de Computadores II - 24/07/06

Fernando Moraes, Csar De Rose e Csar Marcon

Fernando Moraes, Csar De Rose e Csar Marcon

Back-plane (pano de fundo). Back-side cache. Processador memria (front-side):


5.2.2.2 Dois nveis


Processador e memria se comunicam atravs de um barramento principal. Outros barramentos de E/S esto ligados ao barramento principal atravs de adaptadores, compondo um segundo nvel na arquitetura de barramentos. Desta forma o barramento principal pode funcionar a uma maior velocidade j que os adaptadores se encarregam da comunicao com os barramentos de E/S mais lentos.
Cache Cache Barramento P/M Memria

Curtos, alta velocidade. Projetados de acordo com o sistema de memria da placa. Proprietrios do fabricante. Padro seguido por diversos fabricantes. Exemplo: SCSI, NuBus. Diversos dispositivos de E/S conectados. Normalmente no conectam diretamente perifricos ao sistema de memria. Taxas de transmisso variadas, longos. Pano de fundo para a ligao de outros barramentos (espinha dorsal backbone em redes). Projetados para possibilitar a ligao de vrios grupos de dispositivos de E/S atravs de um nico adaptador ao barramento P/M (Processador/Memria). Permite com isto maximizar a velocidade do barramento P/M. Utilizado para conectar a cache diretamente ao processador. Funciona muitas vezes na mesma freqncia do processador. Porque chamar de barramento, canal compartilhado? uma porta.

Entrada / Sada

CPU

Adaptador Barramento E/S A A A


P1 P2 P3

Adaptador Barramento E/S A A A


P1 P2 P3

casa as diferentes velocidades dos barramentos

Backplane

5.2.2.3 Hierrquica
Processador e memria se comunicam atravs de um barramento principal Um barramento backplane concentra toda E/S do sistema e ligado ao barramento principal (s um adaptador ligado ao barramento principal) Ao barramento backplane esto ligados diferentes barramentos de E/S atravs de adaptadores
Cache Cache Barramento P/M Memria

Back-side cache

5.2.2 Arquiteturas de Barramento


Os dispositivos de E/S de um sistema podem estar ligados ao processador de trs formas:

CPU

Arquitetura de barramento nico. Arquitetura de barramento em dois nveis. Arquitetura de barramento hierrquica.

Adaptador Barramento Backplane Adaptador Barramento E/S

A
P1

A
P2

A
P3

5.2.2.1 Barramento nico


Memria e dispositivos de E/S esto ligados a CPU atravs de um nico barramento. Forma mais simples de interconexo. Barramento tem que acomodar dispositivos com caractersticas e velocidades bem diferentes e o desempenho da comunicao cai.

Adaptador

Barramento E/S A
P1

A
P2

A
P3

CPU

Memria

Estudo de Casos - Exemplos para a arquitetura de barramentos hierrquica


Mquina: Power Macintosh G3

Processador: Power PC 750; Ano de fabricao: 1999;


24 Arquitetura de Computadores II - 24/07/06

P1
Fernando Moraes, Csar De Rose e Csar Marcon 23

P2

P3
Arquitetura de Computadores II - 24/07/06

Fernando Moraes, Csar De Rose e Csar Marcon

Caractersticas: Possui trs barramentos, um barramento Processador/Memria e dois barramentos PCI (primrio e secundrio). O barramento PCI primrio de 32 bits 66MHz e o secundrio de 64 bits 33 MHz.

Caractersticas: Utiliza um chaveador no lugar do barramento P/M (frontbus)

Mquina: Arquitetura Intel para Pentium 4 Mquina: Texas Instruments PC Architecture


Processador: Pentium 4. Ano de fabricao: 2003. Caractersticas: Utiliza dois chaveadores separando dispositivos em duas classes.

Processador: Intel. Ano de fabricao: 1998-1999. Caractersticas: Possui trs barramentos, um barramento Processador/Memria e dois barramentos PCI (primrio e secundrio). No mesmo nvel do barramento PCI secundrio usado tambm um legacy bus (barramento ISA/EISA/MCA).
C P M
barramento P/M

PCI slots

barramento PCI primrio

barramento ISA/EISA

barramento PCI secundrio

HD

CD

PCI slots

Estudo de Casos - Nova tendncia, arquiteturas com chaveadores


Mquina: PC Graphics platform

Mquina: Apple iMac


Processador: Power PC 750-CX. Ano de fabricao: 2002.


26 Arquitetura de Computadores II - 24/07/06

Processador: Intel 400 MHz. Ano de fabricao: 1998-1999.


25 Arquitetura de Computadores II - 24/07/06

Fernando Moraes, Csar De Rose e Csar Marcon

Fernando Moraes, Csar De Rose e Csar Marcon

Caractersticas: Utiliza um nico grande chaveador, simplificando a arquitetura e conseqentemente o design da placa me. Mquina compacta sem barramentos.

Soluo: bus master, controla o acesso ao barramento.

Exemplo: processador controla todos os acessos ao barramento, porm perde-se muito tempo de CPU. Cada bus master pode iniciar uma transao. Problema: se mais de um bus master pede o barramento ao mesmo tempo? Dispositivo envia um pedido de acesso (request). Espera at receber o barramento (grant). Dispositivos com maior prioridade devem ser atendidos primeiro. No abandonar dispositivos de baixa prioridade.

Alternativa: diferentes bus master


Soluo: arbitragem do barramento.


A arbitragem de barramento deve balancear os seguintes critrios:


Algumas solues para a arbitragem de barramento: Daisy chain: simples, mas no resolve postergao indefinida. Exemplo: SCSI. Arbitragem paralela (centralizada): cada dispositivo tem sua prpria linha de requisio e rbitro decide quem ganha (bus master). Gargalo: muitos fios. Arbitragem distribuda: sem rbitro central, vrios requests, candidatos colocam seus cdigos no barramento pedindo acesso, e os prprios dispositivos avaliam prioridade. Ex: NuBus (Mac). Arbitragem distribuda com deteco de coliso: como a anterior, porm em caso de coliso espera-se a liberao e tenta-se novamente. Exemplo: ethernet.

5.2. AGP (Accelerated Graphics Port)


Soluo encontrada para aproximar a placa de vdeo ao processador, por causa de sua importncia nas aplicaes atuais (Interfaces grficas, jogos, computao grfica). Representa uma promoo para a placa de vdeo (sobe na hierarquia). uma porta e no um barramento, ou seja, uma conexo dedicada a um nico dispositivo, sem disputa. Pode ser visto quase como uma ligao direta ao processador. Introduzida no Pentium II, chipset 440LX. Slot parecido com o PCI, um pouco menor e mais alto. Largura de 32 bits com 66 MHz tendo uma vazo de 254.3 MBytes/s. Melhorias no padro indicadas por 2x (transmisso de 2 dados por ciclo), 4x (transmisso de 4 dados por ciclo) resultando em aumento de vazo. Cuidado: no adianta acelerar s a conexo entre bridge e placa de vdeo se ambos os extremos no suportarem a mesma vazo (o barramento interno de dados do processador e a placa de vdeo ligada no AGP).

5.4. Desempenho versus custo


Opo Pinagem Largura dos dados Tamanho do Bloco Arbitragem Comunicao Alto Desempenho Separa dados/endereo Grande (ex: 32 bits) Mltiplas palavras Mltiplos mestres Sncrona Baixo Custo Multiplexao Menor (ex: 8 bits) Palavra a palavra nico mestre Assncrona

Importante: em barramentos h apenas uma transao por vez. Ideal seria conexo ponto-a-ponto entre os dispositivos:

Problema para implementao: grande nmero de portas nos dispositivos, grande quantidade de pinos e longas distncias na placa me (alto custo).

5.5. Evoluo dos barramentos na famlia Intel


Bits Clock MB/seg PC-XT 8 4,77 2,38 1# ger. ISA (AT) 16 8 8 Segunda gerao MCA EISA 32 32 16 16 20 33 Terceira gerao VESA PCI 32 32 (64) 33 33 (66) 132 132 (264) /266 (533)

5.3. Acesso ao barramento


Problema:

Como um dispositivo ganha o barramento? Como evitar o caos?


27 Arquitetura de Computadores II - 24/07/06

PC-XT:

Barramento extenso da pinagem do 8088 (8 bits).


28 Arquitetura de Computadores II - 24/07/06

Fernando Moraes, Csar De Rose e Csar Marcon

Fernando Moraes, Csar De Rose e Csar Marcon

Mesma freqncia da CPU (4,77 MHz). Acesso ao barramento a cada 2 ciclos de clock (2,38 MB/seg). 16 bits de dados (64k) e 24 bits endereamento (16 M). Acrscimo de um conector ao barramento anterior. 8 Mbytes/seg. Problema: acesso memria. Soluo (COMPAQ): barramento separado para a memria (dual bus). Micro channel architecture. Introduzido em 1986, tecnologia proprietria. Introduo de circuito bus master no lugar do processador. Assncrono. Conector diferente para evitar problemas. 20 MB/seg. 32 bits de dados. Criado por unio de grandes empresas (evita royalties do MCA). 33 MB/seg. EISA, MCA, PCI substituem ISA. VESA complementa ISA. Alta taxa de transmisso. VESA 2.0 Pentium 64 linhas de endereo. At 66 MHz, ideal 33 MHz. 3 slots no mximo. Suficiente para vdeo, discos rpidos e rede. Lanado em 1992 pela Intel. Rpido e independente de CPU. possvel utilizar o barramento PCI com CPUs Intel, Alpha, PowerPC, Chips seguem padro do barramento (simplifica lgica e nmero de chips). Apenas os drivers (software) precisam ser adaptados CPU destino. Norma aberta. Endereo e dados multiplexados em 32 bits. PCI automaticamente sincroniza placas de expanso, endereos de portas, canais de DMA e interrupes. O usurio no mais se preocupa com estes detalhes. PCI-X aumentou ainda mais a velocidade do barramento at 4.3 GBytes/s. Padro de interface AT (16 bits) ~1986. IDE/ATA originalmente s para discos rgidos, CD-ROM e fitas eram, na poca, proprietrios ou SCSI. Em 1990 expanso para perifricos diferentes (CD-ROM, Fitas etc.). Evoluo: EIDE, ATA-2, Fast ATA, ATA-3, Ultra ATA, Ultra DMA. Ultra DMA 80 pinos (40 adicionais de ground para amostrar o sinal mais rpido). Vazo: 33 MBs, 44 MBs, 66 MBs. Independente de S.O. Utilizado em PC, Mac, mquinas fotogrficas, laptops, Configurvel pro software (sem chaves ou jumpers). Overhead em software. Simples, verstil, 26 linhas de dados (64MB).
29 Arquitetura de Computadores II - 24/07/06

ISA (industry standard architecture) - 80286


MCA (386, 16 MHz, 4G memria, 32 bits) 80386.


Barramentos Padro
PCI Peripheral Component Interconnect Ano de Lanamento Transmisso Sincronismo Largura (dados) Freqncia Vazo Uso Linhas no cabo Comprimento do cabo 1992 paralela sncrono (PCs) ou assncrono 32, 64 33, 66, 100 MHz 132, 264, 528 MB/s barramento de E/S ou Backplane interno ----SCSI Small Computer System Interface 1986 paralela sncrono 8 (regular), 16 PCs (wide), 32 (very-wide) 5 (regular), 10 (fast), 20 MHz (ultra) 5, 10, 20, 40 MB/s barramento de E/S interno e externo 25 6 m no mximo USB Universal Serial Bus 1994 serial sncrono 2 (Half-duplex) 8 MHz 12 Mb/s barramento de E/S externo 4 5 m no mximo IEEE 1394 Firewire 1995 serial Sncrono ou assncrono 2 (half-duplex) 50 MHz backplane bus 100, 200, 400 MHz cabo 50 Mb/s backplane bus 100, 200, 400 Mb/s cabo barramento de E/S ou Backplane externo 4 (sem alimentao), 6 (com alimentao) 16 segmentos de 4.5 m (com alimentao) ou de 25m (sem alimentao) rvore desnecessria at 63 dinmico (negociado) no barramento ou externa mquina ligada (hot-pluggable) similar a daisy-chain (tambm chamado SCSI serial) Aparelhos MIDI, Transmisso de vdeo, (Cmeras, televiso, videocassete), Discos rgidos

EISA

VESA (vide electronics standard association).


PCI (peripheral component interface).


Ligao Terminao N de Dispositivos Endereamento Alimentao Conexo de dispositivos Negociao Aplicaes

----at 32 automtico no barramento mquina desligada bus mastering (pinos REQ, GNT) Interfaces para barramentos externos (USB, Firewire, SCSI), Placas de rede, Placas grficas

em srie (linear) necessria at 16 esttico (jumpers) externa mquina desligada similar a daisy-chain Fitas magnticas, leitores de CD, Discos rgidos, Scanners, Zip

rvore desnecessria at 127 dinmico (negociado) no barramento mquina ligada (hot-pluggable) canal virtual: pipe (negociado, stream ou packages) Teclados, Monitores, Mouse, Joystick, Caixas de som, Zip (mais lento)

Observaes: 1) Ateno para as diferenas entre o padro e o que na prtica implementado nas mquinas pelos fabricantes. 2) Padres evoluem, dados no so definitivos.

IDE/ATA/ATAPI (integrated drive electronics, AT attachment (packet interface)).


Fernando Moraes, Csar De Rose e Csar Marcon

30

Arquitetura de Computadores II - 24/07/06

PCMCIA (personal computer memory card industry association).


Fernando Moraes, Csar De Rose e Csar Marcon

6. INTERFACE SERIAL
Envio bit a bit. Conectores para a porta serial do PC: 9 ou 25 pinos.

Conexo mnima:
1 2 3 4 5 1 2 3 4 5

6 7 8 9

6 7 8 9

Aplicaes:

Pino 5: ground, pino 3: transmisso, pino 2: recepo. Outros: protocolo com modem. Ex: pino 9 ring indicator.

Modem, computador a computador, mouse, impressora serial. Sensores / atuadores.

Comparao entre diferentes padres de interface serial. Data rate (current) 144000 bps 4 Mbps 12 Mbps (400 Mbps - future) 400 Mbps (3.2 Gbps - future) Media Twisted pair Optical Special 4-wire cable Special 6-wire cable Devices per port 1 126 127 64

Simplicidade: dois fios para unidirecional ou trs fios para bidirecional. Desvantagem: velocidade (em comparao com a paralela). Protocolo padro: RS232 (um lgico +12V, zero lgico 12V). (Linha telefnica: analgico Transmisso Sncrona

modem significa modulador/demodulador).

Standard RS-232C IrDA USB IEEE 1394 (FireWire)

Transmissor/receptor compartilham sinal de sincronismo comum. Exige mais um fio no cabo. No h sinal de sincronismo Dado a ser transmitido deve ser encapsulado, com informao de controle. Transmissor e receptor devem ter mesma taxa de transmisso.
LSB MSB

Transmisso Assncrona

6.1. Porta Serial do PC


Controlador: UART (universal asynchronous receiver transmitter), 8250 ou 16550 (digitar no PC o comando MSD diagnstico, que indica os controladores). Acesso aos registradores:

Protocolo RS-232
1 0 START BIT 5 8 bits de dados prximo start bit 1, 1.5 ou 2 stop bits paridade (opcional)

COM1: 3F8 3FF COM2: 2F8 2FF COM3: 3E8 3EF COM4: 2E8 2EF

Todos os parmetros devem ser iguais entre os dois lados. Taxa de transmisso ou baud rate: tempo para enviar um bit (1200, 2400, 4800, 9600 PC, 144.000) bps Se, por exemplo, a taxa de 9600, significa que o receptor l a linha a cada 1/9600s. Start bit: para sincronismo. Stop bit: aps o envio de uma palavra, a linha vai para 1, sinalizando final da palavra. Pode-se programar 1, 1.5 ou 2 stop bits. Paridade: opcional, para deteco e correo de erros (pode ser par ou mpar).

Fernando Moraes, Csar De Rose e Csar Marcon

31

Arquitetura de Computadores II - 24/07/06

Fernando Moraes, Csar De Rose e Csar Marcon

32

Arquitetura de Computadores II - 24/07/06

7. INTERFACE PARALELA
Transfere byte a byte, controlador 8255. PC:

7.2. EPP (Enhanced Parallel Port)


800 Kbytes/s. Compatvel com os anteriores, bidirecional (cabo especial, sempre o mesmo conector). Utiliza os bits 7 e 6 do registro de controle. C7 [1 EPP, 0 standard], C6 [1 BID, 0 UNI]. Permite conectar perifricos em daisy-chain (exemplo: zip drive). Porta+3: endereo do perifrico. Porta+[4-7]: buffer de 32 bits, CPU escreve diretamente 32 bits.

SPP (Standard Parallel Port). EPP (Enhanced Parallel Port). ECP (Enhanced Capabilities Port). LPT1: 03BCH, LPT2: 0378H, LPT3: 0278H.

Registradores:

7.3. ECP (Enhanced Capabilities Port)


1 Mbyte/s, compresso de dados. Criada em 1992 para a arquitetura do 386 (HP e Microsoft).

7.1. Porta Paralela Padro ou Standard


Unidirecional apenas o PC envia dados (controle obviamente bidirecional). Do lado PC 25 fios, e do lado impressora 36 pinos. Protocolo: Centronics (cabo de at 3m, devido a problemas de crosstalk).
dados 8 bits - (CPU)

0,5s
strobe (CPU)

0,5s 1s

busy (printer) ack (printer)

tempo para imprimir um caracter ou por no buffer


1 byte a cada 2s. Taxa? 500 KB/s. Busy: sinaliza dispositivo ocupado ou buffer cheio. No caso de impresso a impressora pode estar imprimindo um caractere e a CPU deve esperar (atua como um freio). Overhead de CPU, barramento, protocolos, atendimento a interrupes, faz a taxa cair abaixo de 100KB/s. Ainda suficiente para qualquer impressora.

Registradores: 3 registradores de E/S:


Porta: registrador de dados Porta+1: status (vem da impressora): (7) busy, (6) ack, (5) paper out, (4) select ativa ou desativa impressora, (3) error, (2-0), no utilizados. Porta+2: controle (vai para impressora): (3) select, (2) initialize, (1) auto feed, (0) strobe.

Fernando Moraes, Csar De Rose e Csar Marcon

33

Arquitetura de Computadores II - 24/07/06

Fernando Moraes, Csar De Rose e Csar Marcon

34

Arquitetura de Computadores II - 24/07/06

Você também pode gostar