24
JCFJ 1 Sistemas Microcomputadorizados Sistemas Microcomputadorizados UNESP/FEG/DEE José Celso Freire Junior JCFJ 2 Sistemas Microcomputadorizados Tópicos Introdução Os processadores 8088/8086 Interfaceamento com o 8086 Os processadores 80386/80486 Os processadores Pentium PIC e PTC Interrupção e BIOS PPI e Porta Paralela UART, Porta Serial e Modem Padrões de Interfaceamento Placa Mãe Dispositivos de Armazenamento Interfaces IDE / E-IDE Interface SCSI Interface PCMCIA Redes de Computadores Ethernet TCP/IP

Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

1Sistemas Microcomputadorizados

Sistemas Microcomputadorizados

UNESP/FEG/DEEJosé Celso Freire Junior

JCFJ

2

Sistemas Microcomputadorizados

Tópicos

• Introdução

• Os processadores 8088/8086

• Interfaceamento com o 8086

• Os processadores 80386/80486

• Os processadores Pentium

• PIC e PTC

• Interrupção e BIOS

• PPI e Porta Paralela

• UART, Porta Serial e Modem

• Padrões de Interfaceamento

• Placa Mãe

• Dispositivos de Armazenamento

• Interfaces IDE / E-IDE

• Interface SCSI

• Interface PCMCIA

• Redes de Computadores

• Ethernet

• TCP/IP

Page 2: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

3Sistemas Microcomputadorizados

Introdução - I� Primeiro Microprocessador: 4004

– 2.300 Transistores– Palavras de 4 bits– 46 instruções– 4Kb de memória reservado para programação– 1Kb de memória reservado para dados

� Segunda Geração: 8008, 8080, 8085 (1974)– Palavras de 8 bits– Barramento de endereços de 14 bits (8008)– Capacidade máxima de endereçamento de 16 KB (8008)

� Terceira Geração: 8088/8086 (1978)– Palavras de 8 ou 16 bits– Barramento de dados de 16 bits– Barramento de endereços de 30 bits– Capacidade máxima de endereçamento de 1MB– Primeiro processador na linha x86 � Utilizada até hoje...

Imagens: http://www.museudocomputador.com.br/encipro.php

JCFJ

4

Sistemas Microcomputadorizados

Introdução - II� 80386DX (1985)

– Compatível com os anteriores– Palavras de 8, 16 ou 32 bits– Barramentos de dados e endereços de 32 bits– Capacidade máxima de endereçamento de 4 GB

� 80486DX (1989)– Aperfeiçoamento do 80386DX– Memória cache e co-processador integrados– Duas vezes mais rápido que um 386

� Pentium (1993)– 3,3 milhões de transistores– Compatível com os anteriores– Processador super-escalar de 64 bits– Barramento de dados de 64 bits– Barramento de endereços de 32 bits

Imagens: http://www.museudocomputador.com.br/encipro.php

Page 3: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

5Sistemas Microcomputadorizados

Desenvolvimento dos Processadores Intel

Introdução

JCFJ

6

Sistemas Microcomputadorizados

Os Processadores 8088/8086� 8088: barramento de endereços de 20 bits / barramento de dados

externo de 8 bits.

� 8086: barramento de endereços de 20 bits / barramento de dados externo de 16 bits.

� Pinos com dupla função: AD0-AD7 � Os 8 bits menos significativos dos dados (A0-A7) ou dos endereços (D0-D7).

� Circuitos auxiliares:

– Controlador de Barramentos 8288: gera, a partir das linhas S0-S2, os sinais de

controle (IOR, IOW, MEMR, MEMW, INTA) necessários

– Gerador de Clock 8284

– Controlador de Interrupções 8259

Page 4: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

7Sistemas Microcomputadorizados

Conexões

Os processadores 8088/8086

A8-A15

JCFJ

8

Sistemas Microcomputadorizados

Registradores� Basicamente são localizações especiais de memória às quais um

processador atribui nomes especiais

� O 8088/8086 tem 14 registradores

Os processadores 8088/8086

Page 5: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

9Sistemas Microcomputadorizados

� Registradores de Propósito Geral: são em número de 4 e podem ser utilizados para manipular uma palavra de 16 bits ou duas de 8 bits � Registrador se comporta como se fosse 2 � Low byte e High byte– AX – Registrador Acumulador: o mais geral dos registradores � Normalmente utilizado

para todo tipo de operações de entrada/saída e algumas operações aritméticas � AX = AH + AL � AX High byte + AX Low byte

– BX – Registrador Base: utilizado como registrador de endereçamento (BH+BL)– CX – Registrador Contador: utilizado por instruções que requerem contagens (número de

vezes que um loop é executado) (CH+CL)– DX – Registrador de Dados: utilizado em algumas operações de entrada/saída e nas

operações de multiplicação e divisão (DH+DL)

� Registradores de Endereçamento: utilizados nas operações de endereçamento da memória (16 bits):– SI – Índice-Fonte: utilizado como registrador índice em alguns modos de endereçamento

indireto– DI – Índice-Destino: utilizado como registrador índice em alguns modos de

endereçamento indireto– BP – Ponteiro-Base: permite acesso a dados dentro do segmento de pilha � Usualmente

utilizado para referenciar parâmetros acessados através da pilha– SP – Ponteiro de Pilha: utilizado para determinar o endereço do topo de um pilha de

memória

Os processadores 8088/8086 - Registradores

JCFJ

10

Sistemas Microcomputadorizados

� Registradores de Status: são utilizados para testar diversas condições em uma operação (16 bits) � Ex.: resultado é negativo, resultado é zero, etc.– IP – Ponteiro de Instrução: contém o endereço da próxima instrução do programa que será

executada– FLAGS – Sinalizadores: mantém uma coleção de 9 diferentes sinalizadores:

� Bit 0 – C (Carry): transporte do bit de mais alta ordem após uma operação aritmética, ou o último bit após uma operação de rotação ou deslocamento

� Bit 2 – P (Parity): indica a paridade dos 8 bits de baixa ordem de um resultado após uma instrução lógica ou aritmética (1=ímpar e 0=par)

� Bit 4 – A (Aux. Carry): indica o transporte do bit 3 em um dado de 8 bits� Bit 6 – Z (Zero): indica o resultado de uma operação aritmética ou de comparação (0=não zero ou

diferente e 1=resultado zero, ou igual)� Bit 7 – S (Sign): contém o sinal após uma operação aritmética (0=positivo e 1=negativo)� Bit 8 – T (Trap): permite a operação passo-a-passo; não se tem acesso a este bit � somente

programas especiais tem acesso� Bit 9 – I (Interrupt): indica se as interrupções estão habilitadas ou não, ou seja, se serão atendidas

ou não quando ocorrerem (1=habilitadas e 0=desabilitadas) � este bit pode ser ativado por software

� Bit 10 – D (Direction): se o valor deste bit for 0 após a execução de uma instrução string, os registradores de índice envolvidos serão incrementados automaticamente e, em caso contrário, serão decrementados

� Bit 11 – O (Overflow): indica “estouro” após a realização de uma operação aritmética

Os processadores 8088/8086 - Registradores

Page 6: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

11Sistemas Microcomputadorizados

� Registradores de Segmentos: são em número de 4 sendo usados para gerar endereços de memória de 20 bits � Apontam para 4 áreas de memória denominadas segmentos � Cada um dos segmentos tem 16 bits, podendo endereçar 64 KB:– CS – Segmento do Código: define a localização de memória onde o código do

programa é armazenado

– DS – Segmento de Dados: define onde os dados de um programa serão armazenados

– SS – Segmento de Pilha: define onde a pilha será armazenada

– ES – Segmento Extra: área de dados de finalidade geral

� Todo endereçamento à memória é feito com referência aos registradores de segmentos, pois o 8086 tem uma Memória Segmentada.

Os processadores 8088/8086 - Registradores

JCFJ

12

Sistemas Microcomputadorizados

Segmentação da Memória� Memória segmentada � 64 KB� Endereçamento de memória de 20 bits � 1MB endereçável

– Número hexadecimal de 5 dígitos (00000h até FFFFFh)� Offset: hexadecimal de 4 dígitos (0000h até FFFFh) � Deslocamento dentro do segmento

� Segmento: hexadecimal de 4 dígitos (0000h até FFFFh) � Endereço inicial do segmento

– Endereçamento: segmento:offset � Endereço Real: segmento deslocado de 4 bits a esquerda + offset

– Exemplo: 2F84:0532 = 2FD72h

Os processadores 8088/8086

Segmento (2F84): 0010 1111 1000 0100 0000

Offset (0532): 0000 0101 0011 0010

Endereço Real: 0010 1111 1101 0111 0010

Segmento

Deslocado à

Esquerda em

4 bits

Page 7: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

13Sistemas Microcomputadorizados

� Os processadores 80386, 80486 e Pentium funcionam em dois modos: Virtual e Real– Modo Virtual: simulam um pseudo-8086 �Modo protegido

– Modo Real: utilizam toda sua capacidade de endereçamento e do barramento de dados

� Acesso a memória em C– Deve-se especificar em C o endereço 1234:9876 da seguinte maneira: 0x12349876

– Ponteiros near e far:

� Near: ponteiro de 16 bits usado para endereçar até 64 Kb de dados

� Far: ponteiro de 20 bits usado para endereçar até 1MB de dados.

Os processadores 8088/8086 – Segmentação da Memória

JCFJ

14

Sistemas Microcomputadorizados

Interfaceamento com o 8086� Dois modos de comunicação com dispositivos externos

– E/S Mapeada em Memória: mapeamento na memória física fornecendo um endereço real ao barramento de endereços � Dispositivos mapeados em memória são acessíveis através da leitura/escrita nestes endereços

– E/S Isolada: mapeados em uma área especial da memória � Dispositivos são acessíveis através de portas especiais entre o dispositivo e o processador � São isolados do sistema � Existem 4 instruções para acesso (IN: byte/palavra e OUT: byte/palavra)

Page 8: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

15Sistemas Microcomputadorizados

� PC’s – E/S Mapeada em Memória:

– Processadores 80x86: interface com a memória realizada através de um controlador que interpreta os sinais do microprocessador e gera os sinais apropriados para a memória

– Geralmente duas linhas são geradas pelo controlador

� R/W: operação de leitura (nível alto) ou escrita (nível baixo) na memória

� M/IO: indica se os dados serão escritos diretamente na memória (nível alto) ou nas portas (nível baixo)

– Modo Avançado (Windows): é possível acessar a área acima de 1MB

� Windows 3.1 (16 bits): endereçamento de até 16 MB de memória física (000000h até FFFFFFh)

� Windows 95/98/2000/XP (32 bits): endereçamento de até 4 GB de memória física (00000000h até FFFFFFFFh)

� Windows 2000/XP: 64GB de memória RAM, com o uso das instruções Physical Address Extensions-PAE contidas nos processadores Intel � Verificar: http://www.microsoft.com/brasil/technet/Colunas/ElcioF

avare/Enderecando.mspx.

Interfaceamento com o 8086 – E/S Mapeada em Memória

JCFJ

16

Sistemas Microcomputadorizados

� PC’s – E/S Isolada: utiliza endereçamento de 16 bits (0000h atéFFFFh) � Possibilita mapear 64 KB

Interfaceamento com o 8086 – E/S Isolada

Page 9: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

17Sistemas Microcomputadorizados

Os Processadores 80386/80486�80386DX - Razão do Sucesso: Grande salto em relação ao 8086 �Potente e compatível com os anteriores– Versão DX: Barramento de Dados e Endereços de 32 bits � Capacidade de endereçamento de 4 GB

– Versão SX: Barramento de Dados externo de 16 bits e Barramento de dados de 24 bits � Capacidade de endereçamento de 16 MB

– Podia ser utilizado com um co-processador matemático externo

– Executava somente uma instrução de cada vez

�80486DX: Aperfeiçoamento do 80386 � 80386 com memória cache(8 Kb) e Co-Processador Matemático integrado no mesmo chip– Possibilidade de execução paralela de instruções através de um decodificador de instruções e unidades de execução de um pipeline de cinco estágios � Cada um dos estágios opera em paralelo com os outros possibilitando execução de até cinco instruções ao mesmo tempo

JCFJ

18

Sistemas Microcomputadorizados

� 80486DX:– Versão SX: versão mais barata sem o co-

processador matemático.

– Possibilidade do processador trabalhar internamente com um múltiplo (2x, 3x, 4x) da velocidade do sistema.

– Integrado no formato PGA (Pin-Grid Array) para economizar espaço.

Os processadores 80386/80486

– Suporte a sistemas mais complexos e poderosos como as memórias cache de segundo nível (L-2 cache) e operações multiprocessadas.

� 80486SL: processadores especiais para utilização em Notebooks– Sistemas adicionais para gerenciar a energia consumida.

– Capacidades extra de auto-monitoramento do sistema.

– Funcionamento a velocidades reduzidas quando o sistema não está sendo utilizado.

– Possibilidade do processador desligar automaticamente o sistema.

Page 10: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

19Sistemas Microcomputadorizados

Conexões

� W/R: determinam quando dados são escritos (W) ou lidos (R) na/da memória

� M/IO: determina se a comunicação é feita com a memória (M) ou com dispositivos isolados (IO)

� D/C: diferencia entre dados e sinais de controle– 80386DX/80486 têm barramentos externos de dados e endereços de 32 bits

– A0 e A1 são decodificados para produzir os sinais de habilitação BE0-BE3 � BE0-BE3: indicam a

manipulação de palavras de 1 byte (0001), 2 bytes (0011), 3 bytes (0111) ou 4 bytes (1111)

� INTR: interrupção (pode ser ignorada)

� NMI: interrupção que não pode ser mascarada

� RESET: reset do sistema

Os processadores 80386/80486

� Três principais interfaces de conexão: Memória/ES, Interrupção e Acesso Direto a Memória (DMA)

JCFJ

20

Sistemas Microcomputadorizados

Registradores� Como processadores de 32 bits, o 80386 e o 80486 têm registradores de 32 bits

� Em seus registradores pode-se manipular “sub-registradores” de 8 e 16 bits � Manter a compatibilidade

� Os registradores de propósito geral do 8086 (AX, BX, CX, DX, SI, DI e BP) foram renomeados � EAX, EBX, ECX, EDX, ESI, EDI e EBP

� Os registradores CS, SS e CS continuam a ter 16 bits

� O registrador Sinalizador (FLAG) passa a ter 32 bits � EFLAG

Os processadores 80386/80486

Page 11: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

21Sistemas Microcomputadorizados

Memória Cache

� Se ocorrer um erro o processador irá acessar a memória normalmente

� Tamanhos típicos de memória cache são 16 KB, 32 KB e 64 KB para processadores 80486 e 256 KB e 521 KB para processadores Pentium �Pentium IV = 2 MB

Os processadores 80386/80486

Velocidade normal de uma DRAM: 80 ns

Velocidade do processador: 50 Mhz � 20 nsProcessador tem que esperar para

ter os dados disponíveis

Solução: utilização de bancos de memória SRAM e um controlador

entre o processador e as memórias DRAM

JCFJ

22

Sistemas Microcomputadorizados

Memória Cache� Cache L1 (Leve 1 - Nível 1 ou cache interno): em uso desde o processador 486 �

Chamado de cache interno porque se localiza dentro do processador � O cache L1 étão importante para o processador, que este, mesmo tendo clock inferior, pode ser mais rápido que um processador de clock superior, mas sem cache� O tamanho deste cache pode ir de 16 KB (Pentium) a 512 KB (Pentium 4) � Os processadores 486 tinham cache de 8 KB.

� Cache L2 (Level 2 - Nível 2 ou cache externo): o cache L1 era pequeno e apresentava alguns erros, que obrigavam o processador a buscar os dados na memória RAM � Solução: implantação de uma memória cache fora do processador = cacheL2 � Para ser usada necessita de um controlador geralmente embutido no chipset da placa-mãe � É este chip que também determina o tamanho máximo do cache L2 �Tamanhos mais comuns são os de 256 KB e 512 KB, sendo possível a existência de caches maiores

� Diversos processadores trazem o cache L2 embutido dentro de si, fazendo com que as terminologias Interno e Externo percam o sentido.

http://www.infowester.com/processadores3.php

Os processadores 80386/80486

Page 12: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

23Sistemas Microcomputadorizados

Acesso Direto a Memória (DMA)

� Dispositivo externo tem acesso direto aos barramentos de dados e de

endereços

� Existem duas linhas para controlar a DMA:

– HOLD (bus hold request): habilitado (nível alto) quando o controlador de DMA

quer ter acesso a memória

– HLDA (bus hold acknowledge): em resposta a um pedido de HOLD o

processador coloca seus barramentos de dados e endereços em estado de alta

impedância e seta HLDA (nível alto)

� Após a transferência o controlador de DMA desabilita a linha HOLD

(nível baixo) e o processador retoma o controle

Os processadores 80386/80486

JCFJ

24

Sistemas Microcomputadorizados

Velocidade de Execução� Cada instrução leva um tempo determinado para ser realizada � A velocidade é

determinada pela velocidade do relógio do processador

� Tempo de Execução de uma Instrução = número de ciclos de relógio necessários a sua execução x período do relógio

� Exemplo: mov ax,1234� Velocidade = 8 MHz � Período do relógio = 0,125 µs � 8086: 4 x 0,125 = 0,5 µs � 80386: 2 x 0,125 = 0,25 µs

Os processadores 80386/80486

Page 13: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

25Sistemas Microcomputadorizados

Os Processadores Pentium� Pentium: adição de diversas novas características

– Adição de um segundo pipeline de execução � Os dois pipelines (u e v) podem executar duas instruções por ciclo de clock � Operação Superescalar

– Aumento no cache de nível 1 (L1-cache) com 8 KB para código e 8 KB para dados– Expansão do modo 8086-virtual permitindo a manipulação de 4 MB e páginas de 4 KB– Possibilidade de dados de 128 e 256 bits (embora com registradores de 32 bits)– Barramento externo de 64 bits– Suporte ao trabalho paralelo de diversos processadores através do APIC (Advanced

Programmable Interrupt Controller)

� Pentium Pro:– Adição de uma arquitetura superscalar de 3 vias em oposição a de 2 vias do Pentium– Utilização de uma Previsão Avançada de Código Paralelo (Dynamic Execution Micro-

Architecture) para a operação superscalar– Possibilidade de renomear os registradores �Múltiplas instruções podem usar em alguns

casos os mesmos registradores– Adição de um cache L2 externo de 256 Kb com um barramento dedicado de 64 bits– Barramento expandido de 36 bits que permite um acesso a 64 Gb de memória

Os processadores Pentium

JCFJ

26

Sistemas Microcomputadorizados

� Pentium II:

– Aumento da velocidade de clock

– Integração da tecnologia MMX � Incluem 8 novos registradores (MM0 a MM7), 4 tipos

de dados MMX e um conjunto de instruções MMX que suportam operações multimídia em

alta velocidade

– Single Edge Contact (SEC) Cartridge Packaging� Torna mais fácil o manuseio e o

processo de inserção e retirada do processador de seu soquete.

– 2 Caches L1 de 16 Kb internos, um para o código e outro para os dados

– Aumento de cache L2 externo de 256 Kb para 512 Kb

– Estados avançados para o controle de funcionamento com baixo consumo de energia

Os processadores Pentium

Page 14: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

27Sistemas Microcomputadorizados

Chipset

Placa Mãe

Processadores Pentium

http://compare.intel.com/PCC/intro.aspx

JCFJ

28

Sistemas Microcomputadorizados

Tecnologias Intel

http://www.intel.com/products/processortechnology

/index.htm?iid=homepage+proc_tech

Page 15: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

29Sistemas Microcomputadorizados

PIC� Controlador Programável de Interrupções (Programmable Interrupt Controller –

PIC): 8259 � CI de 28 pinos utilizado para gerar interrupções.

� Conexão do PIC com o sistema microprocessado� Através do barramento (D0-D7) e linhas de handshaking e endereço (RD, WR, A0, INT e INTA.)

JCFJ

30

Sistemas Microcomputadorizados

� CS: utilizado para habilitar (nível lógico 0) ou desabilitar o PIC

� Registradores:

– Registrador ICR (Interrupt Control Port): recebe as palavras de inicialização

– Registrador IMR (Interrupt Mask Register): recebe a máscara de interrupção

� A0 = 0 � ICP é endereçado - A0 = 1 � IMR é endereçado

� RD/WR: indicam se o PIC está sofrendo um processo de leitura ou escrita.

� IRQ0-IRQ7: recebimento dos pedidos de interrupção

� INT: após um pedido de interrupção (IRQ0-IRQ7), dependendo da máscara de interrupções o PIC coloca a linha INT em nível lógico 1 � INT do PIC é lido pelo processador em seu pino de interrupção

� INTA: após o processador ter aceito o pedido de interrupção ele colocará esta linha em nível lógico 0

� Após receber o aceite do processador (INTA) o PIC colocará os dados apropriados no barramento de dados

PIC – Controlador Programável de Interrupções

Page 16: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

31Sistemas Microcomputadorizados

PTC� Controlador Programável de Temporização (Programmable Timer Controller –

PTC): 8254 � CI de 24 pinos utilizado para contar pulsos em operações de temporização

� Conexão do PTC com o sistema microprocessado� Através do barramento (D0-D7) e linhas de handshaking e endereço (RD, WR, A1 e A0)

JCFJ

32

Sistemas Microcomputadorizados

� 4 Registradores:– Contador 0 – Contador 1

– Contador 2 – Registrador de Controle

� A0-A1: Selecionam o registrador– 00: Contador 0 – 01: Contador 1

– 10: Contador 2 – 11: Registrador de Controle

� RD/WR: selecionam uma operação de leitura ou de escrita para o dispositivo

� CS: utilizado para habilitar (nível lógico 0) ou desabilitar a PTC

� Conexões de cada Contador: Entrada de velocidade de relógio na linha CLK e saída na linha OUT � Um nível alto em GATE faz com que o contador comece a contar

� Faixa de cada Contador: 0/0000h até 65535/FFFFh � Contadores de 16 bits descendentes

� Endereçamento dos Registradores

PTC – Controlador Programável de Temporização

Page 17: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

33Sistemas Microcomputadorizados

� Registrador de Controle: controla a funcionalidade de cada contador � A palavra de controle seguida do valor do contador devem ser enviados seqüencialmente

� SC1, SC2: Seleção do contador � 00: C0, 01: C1, 10:C2, 11: Ilegal� RL1, RL0: � 00: Contador mantém o dado – 01: Ler/Escrever somente o MSB –

10: Ler/Escrever somente o LSB – 11: Ler/Escrever primeiro o LSB e depois o MSB� M2,M1,M0: Modo do Contador � 000: Modo 0, 001: Modo 1, X10: Modo 2,

X11: Modo 3, 100: Modo 4 e 101: Modo 5� BCD: � 0: Contagem em binário e 1: Contagem em BCD

PTC – Controlador Programável de Temporização

JCFJ

34

Sistemas Microcomputadorizados

� Modos– Modo 0 – Interrupção ao Final da Contagem: a saída está inicialmente em nível baixo,

permanecendo neste nível até o final da contagem � Se GATE for para nível baixo a saída é desabilitada � Exemplo: Modo 0 com contador armazenado com 4

PTC – Controlador Programável de Temporização

Page 18: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

35Sistemas Microcomputadorizados

– Modo 1 – Pulso Programado: similar ao modo 0, mas a saída inicia em nível alto, passando a nível baixo no início da contagem e permanecendo até o final da contagem, quando passa novamente a nível alto � Uma transição de nível baixo para alto em GATE inicializa a contagem � Um nível alto ou baixo em GATE após a contagem não interfere na contagem � Exemplo: modo 1 com contador armazenado com 4

PTC – Controlador Programável de Temporização - Modos

JCFJ

36

Sistemas Microcomputadorizados

– Modo 2 – Divisor: neste modo a velocidade do relógio de entrada é dividida pelo valor armazenado no contador � A saída vai a nível baixo por um ciclo e volta ao nível alto �contagem iniciada por uma transição de nível baixo para alto no GATE �Exemplo: modo 2 com contador armazenado com 4 � saída em nível alto por 3 ciclos e baixa por um

PTC – Controlador Programável de Temporização - Modos

Page 19: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

37Sistemas Microcomputadorizados

– Modo 3 – Gerador de Onda Quadrada: similar ao modo 2, mas a saída é uma onda quadrada � Quando o valor no contador é par os períodos altos e baixo são iguais e quando é ímpar um período extra em nível alto é adicionado � Contagem iniciada por uma transição de nível baixo para alto no GATE � Exemplo: modo 3 com contador armazenado com 4 � Saída fica em nível baixo por 2 ciclos e em nível alto por 2 ciclos

PTC – Controlador Programável de Temporização - Modos

JCFJ

38

Sistemas Microcomputadorizados

– Modo 4 – Pulso Habilitado por Software: este modo é similar ao modo 2 exceto pelo fato de que GATE não inicializa a contagem � A saída vai a nível alto para a contagem e fica em nível baixo por um período voltando então ao nível alto

– Modo 5 – Pulso Habilitado por Hardware: este modo é similar ao modo 2 exceto pelo fato de que GATE não interferir na contagem � A saída permanece em nível alto durante a contagem passando a baixo no último período � A contagem é inicializada quando a entrada passa a nível alto

� Resumo

PTC – Controlador Programável de Temporização - Modos

Page 20: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

39Sistemas Microcomputadorizados

BIOS e Sistema Operacional� Sistema Básico de Entrada e Saída - BIOS (Basic Input/Output System): conjunto

de programas que faz a interface com os diversos componentes de um sistema

computadorizado como teclado, monitores, impressoras e discos.

� Utilização da BIOS torna a criação de programas que utilizam estes dispositivos mais

simples e agradável.

� Duas Partes:

– BIOS Permanente: são programas que ficam permanentemente armazenados em

uma memória ROM � Parte que inicializa o computador e que contém os

programas de comunicação com os dispositivos residentes.

– BIOS não Permanente: são programas que são carregados quando o Sistema

Operacional é carregado.

BIOS e Interrupções

JCFJ

40

Sistemas Microcomputadorizados

BIOS e Sistema Operacional

BIOS e Interrupções

� Sistema Operacional: conjunto de programas que permite a um usuário, ou a outros

programas, acessar os dispositivos de hardware do sistema de uma maneira amigável.

– DOS (Disk Operating System): parte do sistema operacional que gerencia o acesso do

sistema aos discos e aos arquivos armazenados nestes

Page 21: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

41Sistemas Microcomputadorizados

Interrupções� Interação com Dispositivos Externos: um sistema computadorizado interage com

dispositivos externos de duas maneiras:

– Polling: o sistema faz uma varredura em todos os dispositivos a ele conectados e verifica se algum quer “falar” com o processador � Problema: perde-se muito tempo

– Interrupções: o dispositivo que quer “falar” com o processador manda um pedido de interrupção � O processador irá tratar então esta interrupção através de Rotinas de Serviço de Interrupção (ISR - Interrupt Service Routine) � Os pedidos de interrupção dos diversos dispositivos externos são tratados por um PIC antes de serem enviados ao processador

BIOS e Interrupções

JCFJ

42

Sistemas Microcomputadorizados

Vetores de Interrupção� Vetores de Interrupção são endereços que

informam o gerenciador de interrupções o local onde se encontra a Rotina de Serviço de Interrupção (ISR)

� A cada interrupção é atribuído um número de 0 a 255 � Os vetores de interrupção associados a cada número de interrupção ficam armazenados nos primeiros 1024 bytes da memória do PC. Exemplo: interrupção 0 � 0000:0000 a 0000:0003, interrupção 1 � 0000:0004 a 0000:0007

� Os dois primeiros bytes armazenam o offset e os outros dois o endereço do segmento

� Cada número de interrupção é atribuído a uma tarefa pré-determinada

� Interrupções podem ser geradas pelo processador, por software ou hardware

BIOS e Interrupções

Page 22: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

43Sistemas Microcomputadorizados

Interrupções via Processador� Ocorrem normalmente quando um programa causa certos tipos de erros, ou se um

programa é utilizado em modo de descoberta de erros (depuração = debug)

� Interrupção 00h – Divide Error: esta interrupção é ativada quando o processador realiza uma operação em que o divisor é zero, ou quando ocorre um estouro no quociente � Alguns compiladores utilizam ISR próprias para tratar esta interrupção evitando que o programa se interrompa.

� Interrupções 00h – Single Step e 03h – Breakpoint: são interrupções que são induzidas por programas de depuração � Tornam possível a verificação de estados internos do processador.

� Interrupção 02h – Interrupção não Mascarável: utilizadas por equipamentos externos para indicar que algum problema grave ocorreu– Procedimentos de falha de alimentação;

– Erros de paridade na memória;

– Interrupções do co-processador matemático;

– Verificações dos canais de entrada/saída;

– Solicitações de alimentação dos controladores dos discos.

BIOS e Interrupções

JCFJ

44

Sistemas Microcomputadorizados

Interrupções via Hardware� Permitem que dispositivos externos chamem a atenção do processador � Dependendo do tipo

de interrupção o processador deixa o que está fazendo e chama a Rotina de Serviço da Interrupção (ISR) � Esta rotina resolve a solicitação do dispositivo � O processador continua a realizar o que estava fazendo antes da interrupção

� Controlador Programável de Interrupções – PIC: faz o interfaceamento entre os pedidos de interrupção de diversos dispositivos externos e o processador � PC’s atuais utilizam dois PICs

� Cada dispositivo externo tem assinalado um IRQ (Interrupt Request) próprio

BIOS e Interrupções

Page 23: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

45Sistemas Microcomputadorizados

Interrupções via Software� São interrupções que são geradas por programas� Com o Turbo C são em número de 4: int86x(), intdos(), intr() e int86�

Prototipadas no arquivo dos.h � Em dos.h existe a estrutura que dá acesso aos registradores do processador � Através desta estrutura parâmetros podem ser enviados/lidos às/das rotinas de serviço de interrupção

BIOS e Interrupções

struct WORDREGS {

unsigned int ax;

unsigned int bx;

unsigned int cx;

unsigned int dx;

unsigned int si;

unsigned int di;

unsigned int cflag; }

struct BYTEREGS {

unsigned char al,ah;

unsigned char bl,bh;

unsigned char cl,ch;

unsigned char dl,dh; }

union REGS {

struct WORDREGS x;

struct BYTEREGS h; }

� Os registradores podem ser acessados como sendo de 8 bits (AL, AH) – regs.h.al – ou como sendo de 16 bits (AX,BX) – regs.x.ax

� Sintaxe da função int86()– int86(int intno, union REGS

*inregs, union *outregs)�

• intno: número da interrupção

• inregs: valores armazenados nos registradores passados à ISR

• outregs: valores nos registradores recebidos da ISR

JCFJ

46

Sistemas Microcomputadorizados

Leituras

� História dos computadores:

http://www.clubecobol.com.br/cc_historia_01.asp

� História dos processadores:

http://www.museudocomputador.com.br/encipro.php

� Museu da CPU: http://www.cpu-museum.de/

� Memória Cache: http://www.infowester.com/processadores3.php

� Interrupções: http://black.rc.unesp.br/orlando/dos.ppt

Page 24: Teoria SMC 1 - Universidade Regional de Blumenaumaw/arquitetura_8088/Teoria_SMC_1.pdf · Os processadores 80386, 80486 e Pentium funcionam em dois modos:Virtual e Real – Modo Virtual:

JCFJ

47Sistemas Microcomputadorizados

� Entrada de um byte através de uma porta de E/S– Linguagem Assembler: IN AL,DX� DX: registrador de dados contendo o endereço da

porta � AL: Registrador onde será armazenado o dado de 8 bits que será lido– C: valor=inportb(PORTADDRESS)� PORTADDRESS: endereço da porta �

Valor: variável onde será armazenado o dado de 8 bits que será lido

� Entrada de uma palavra através de uma porta de E/S– Linguagem Assembler: IN AX,DX� DX: registrador de dados contendo o endereço da

porta � AX: Registrador onde será armazenado o dado de 16 bits que será lido– C: valor=inport(PORTADDRESS)� PORTADDRESS: endereço da porta � Valor:

variável onde será armazenado o dado de 16 bits que será lido

� Saída de um byte através de uma porta de E/S– Linguagem Assembler: OUT DX,AL� DX: registrador de dados contendo o endereço da

porta � AL: Registrador que contém o dado de 8 bits que será escrito– C: outportb(PORTADDRESS,valor)� PORTADDRESS: endereço da porta �

Valor: variável contendo o dado de 8 bits que será escrito

� Saída de um palavra através de uma porta de E/S– Linguagem Assembler: OUT DX,AX� DX: registrador de dados contendo o endereço da

porta � AL: Registrador que contém o dado de 16 bits que será escrito– C: outport(PORTADDRESS,valor)� PORTADDRESS: endereço da porta �

Valor: variável contendo o dado de 16 bits que será escrito

Interfaceamento com o 8086 – E/S Isolada

JCFJ

48

Sistemas Microcomputadorizados

� Termos Usuais:– Transação: Usada para definir um ciclo de barramento � Conjunto de fases que

se relacionam com uma operação simples sobre o barramento

– Agente do Barramento: Dispositivos que residem no barramento do processador � O próprio processador, a ponte PCI e os controladores de memória

– Agente Prioritário: O dispositivo controlando o reset, a configuração, a inicialização ou a deteção de erros

– Agente Requerente: O dispositivo que aciona a transação � Busmaster

– Agente Endereçado: O dispositivo escravo endereçado pela transação � O agente alvo

– Agente de Resposta: O dispositivo que providencia uma resposta à transação através dos sinais RS2-RS0

– Agente de Verificação (Snooping agent): Dispositivo que verifica o barramento para manter a coerência dos dados na memória cache

– Retrocesso Implícito (Implicit write-back): Quando durante a fase de verificação uma modificação no barramento é percebida uma retrocesso implícito é realizado para manter a coerência dos dados.

Os processadores Pentium