Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento...

62
Sistemas Sistemas Multiprocessados Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI [email protected]

Transcript of Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento...

Page 1: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Sistemas MultiprocessadosSistemas Multiprocessados

Curso Sistemas Multiprocessados

Prof. Helano de Sousa Castro

Departamento de Teleinformática/DETI

[email protected]

Page 2: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Programa da disciplinaPrograma da disciplina 1. Evolução das arquiteturas de computadores: aspectos históricos, computador pessoal,

bases numéricas 2. Arquitetura de microprocessador: arquitetura interna, modo de endereçamento de

memória real e protegido, paginação 3. Modos de endereçamento 4. Programação assembly 5. Arquitetura do processador 8086: especificações técnicas, pinagem, geração de clock

(8284), demultiplexação e buferização de barramentos, temporização dos barramentos, estados de espera (WAIT), modo máximo e mínimo

6. Interface de memória: dispositivos de memória, endereçamento, interface de memória do 8086.

7. Interface básica de Entrada/Saída: introdução a interface E/S, decodificação de endereços de portas, Interface Programável de Periféricos (8255), Interface Programável de Teclado/Vídeo (8279), Temporizador Programável (8254), Interface Programável de Comunicação, Conversor analógico-digital e digital-analógico.

8. Interrupções: atendimento de interrupções, interrupção de hardware, expandindo a estrutura de interrupção, Controlador Programável de Interrupção (8259A)

9. Acesso Direto à Memória (DMA): operação do DMA, Controlador de DMA 8237

Page 3: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

AvaliaçãoAvaliação

Três avaliações escritas (50%)Projeto de final de disciplina (50%)

Page 4: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

ProjetoProjeto

Hardware: placa com processador 8086; memória RAM de (no mínimo) 16KB ememória EPROM de mesmo tamanho; interface serial (8251); interface paralela (8255); contador/temporizador programável (8253); controlador de interrupções (8259A);

Diferencial: controlador de teclado/video (8275); controlador de DMA (8257);

Software: drivers para dispositivos acima; aplicação demonstrado operacionalidade do hardware.

Page 5: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

PipeliningPipelining

Page 6: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Organização de memória 1Organização de memória 1

Page 7: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.
Page 8: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Organização de memória 2Organização de memória 2

Page 9: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.
Page 10: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Organização de memória 3Organização de memória 3

Page 11: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.
Page 12: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.
Page 13: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

RegistrosRegistros

Page 14: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Registro de flagsRegistro de flags

Page 15: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Registro de FlagsRegistro de Flags

Page 16: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Registros de uso geralRegistros de uso geral

EAX: Acumulador : Referenciado como EAX, AX, AL ou AH. – Usado em instruções mult, div, etc. – Usado para armazenar um offset.

EBX: Base Index : – Usado para armazenar o offset do ponteiro de

dados.

Page 17: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Registros de uso geral (cont)Registros de uso geral (cont)

ECX: Count : – Usado para armazenar contagem em algumas

instruções, REP e LOOP. – Usado para armazenar o offset de um ponteiro

de dados. EDX: Data :

– Usado para armazenar uma parte do resultado de mult, e de operando para div.

– Usado para armazenar o offset de um ponteiro de dados.

Page 18: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Registros de uso geralRegistros de uso geral EBP: Base Pointer :

– Armazena o ponteiro base para transferências de dados em memória

EDI: Destination Index : – Armazena o ponteiro base do destino para

instruções string.

ESI: Source Index : – Armazena o ponteiro destino da origem para

instruções string.

Page 19: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Registros de propósito especialRegistros de propósito especial

EIP: Instruction Pointer : – Aponta para a próxima instrução no segmento

de código. – 16-bits (IP) no modo real e 32-bits no modo

protegido.

ESP: Stack Pointer : – Usado em operações na pilha e intruções call

and ret.

Page 20: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

EFlagsEFlags

C (Carry) : Armazena o “vai 1” após operações de adição ou

“empresta 1” após operações de Também indica condições de erro.

P (Parity) : 0 para números ímpares e 1 para pares. Característica obsoleta do 80x86.

A (Auxiliary Carry) : Flag altamente especializado usado em instruções

DAA e DAS após instruções de adição e subtração em BCD.

Page 21: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Flags (cont)Flags (cont)

Z (Zero) : 1 se o resultado de uma instrução lógica ou

aritmética for 0.

S (Sign) : 1se o sinal do resultado de uma instrução aritmética

ou lógica for negativo.

T (Trap) : Habilita Trap. O microprocessador interrompe o

fluxo de instruções de acordo com condições indicada pelos registros de controle e debug.

Page 22: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Flags (cont)Flags (cont)I (Interrupt) :

Controla a operação do pino de interrupção INTR (Interrupt request). Se1, interrupções são habilitadas. Modificado pelas instruções STI e CLI.

D (Direction) : Seleciona o modo de incremento ou decremento

para o registro DI e/ou SI durante instruções string. Se1, os registros são automaticamente decrementados. Modificado pelas instruções STD e CLD.

O (Overflow) : Modificado (set) para instruções de adição e

subtração

Page 23: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Registros de SegmentoRegistros de Segmento CS (Code Segment) : No modo real, especifica o inicio de um segmento

de memória de 64KB. No modo protegido, seleciona um descritor de

segmento. O segmento de código é limitado a 64KB no 8086-

80286 e 4 GB a partir do 386. DS (Data Segment) : Similar ao CS exceto que esse segmento armazena

dados. ES (Extra Segment) : Data segmento de dados usado por algumas

instruções string para armazenar dados.

Page 24: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Registros de segmento (cont)Registros de segmento (cont)

SS (Stack Segment) : Similar a CS exceto que armazena a pilha. ESP e EBP armazenam os offsets nesse

segmento.FS and GS : 80386 e acima. Permitem definir outros segmentos de

memória

Page 25: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Mapeamento de endereçosMapeamento de endereços

Page 26: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.
Page 27: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

SegmentaçãoSegmentação

Page 28: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Pinagem do 8086Pinagem do 8086

Page 29: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Característica elétrica do 8086Característica elétrica do 8086

Page 30: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Sinais do 8086Sinais do 8086

AD7-AD0

Barramento de sinais multiplexados de dados e endereços (byte menos significativo). O sinal ALE indica presença de endereços no barramento. Os pinos ficam em estado de alta impedância durante um hold acknowledge

AD15-AD8

Barramento de sinais multiplexados de dados e endereços (byte mais significativo). O sinal ALE indica presença de endereços no barramento. Os pinos ficam em estado de alta impedância durante um hold acknowledge

Page 31: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

AD19/S6-A16/S3

Barramento de sinais multiplexados de endereços (4 bits mais significativos) e status. O bit indicativo de status S6 sempre permanece em zero; o bit S5 indica a condição dos bits de flag IF. S3 e S4 podem ser usados para endereçar 4 bancos de memória separados de 1MB, decodificando-os como A20 e A21. Os pinos ficam em estado de alta impedância durante um hold acknowledge

S4 S3 Função

0 0 segmento extra

0 1 segmento de pilha

1 0 segmento de código ou nenhum segmento

1 1 segmento de dados

Page 32: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

RD

Sinal de saída. Sempre que for zero, indica que o 8086 está pronto para efetuar uma leitura de memória ou E/S . O pino fica em estado de alta impedância durante um hold acknowledge.

READY

Sinal de entrada. Usado para introduzir estados de espera (WAIT) na temporização do processador. Se for colocado em nível 0, o 8086 entra em estados de espera e permanece ocioso (idle). Se colocado em nível 1, não tem nenhum efeito na operação do processador.

Page 33: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

INTR

Sinal de entrada que indica um pedido de interrupção (Interrupt request). Quando mantido em 1, se IF=1, o 8086 entra em um ciclo de reconhecimento de interrupção (Interrupt acknowledge, INTA torna-se ativo) após a instrução atual ser concluída. Conhecida por interrupção mascarável por poder ser não reconhecida através da colocação de IF em 0.

TEST

Sinal de entrada que é testado pela instrução WAIT. Se TEST = 0, a instrução WAIT funciona como um NOP; sefor 1, a instrução WAIT espera que TEST torne-se 0.

Page 34: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

NMI

Sinal de entrada para indicar um pedido de interrupção não mascarável (non-maskable interrupt). Similar a INTR exceto que o status do flag IF não é testado. Se NMI é ativado, a interrupção usa o vetor 2.

RESET

Sinal de entrada usado para resetar o 8086 por um mínimo de 4 períodos de clock. O processador começa a executar a partir da posição de memória FFFF0H e interrupções mascaráveis são desabilitadas através da colocação de IF em 0.

Page 35: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

CLK

Sinal de entrada, fornece o sinal de temporização básico para o microprocessador. O sinal de clock deve ter um duty cycle de 33% de forma a garantir temporizações internas necessárias.

Vcc

Sinal de entrada, fornece a tensão de +5V +/-10%, para o processador.

GND

Conexão de terra para retorno da fonte de potência. O 8086 tem 2 pinos de terra e AMBOS devem ser aterrados.

Page 36: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

MN/MX

Sinal de entrada, seleciona o modo de operação mínimo ou máximo do processador. Se o mínimo é requerido, o pino deve ser conectado a +5V.

BHE/S7

Sinal de entrada, fornece a tensão de +5V +/-10%, para o processador.

Page 37: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Pinos do 8086 no modo mínimoPinos do 8086 no modo mínimoM/IO

Sinal de saída usado para indica que o processador irá efetuar acesso à memoria ou à dispositivos de entrada/saída.Quando 1, indica que o barramento de endereços contém um endereço válido de memória. O pino fica em estado de alta impedância durante um hold acknowledge.

WR

Sinal de saída, é usado como strobe que indica que o 8086 está enviando dados para memória ou Entrada/Saída. Durante o tempo que WR está em lógica 0, o barramento de dados contém dados válidos para memória ou E/S. O pino fica em estado de alta impedância durante um hold acknowledge.

Page 38: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

ALE

Address Latch Enable. Sinal de saída, indica que o barramento multiplexado endereços/dados contém informação de endereços. O endereços pode se referir a memória ou número da porta de E/S. Usado normalmente junto com um Latch para demultiplexar o barramento enderços/dados. Este pino não flutua com HOLDA.

INTA

Interrup Acknowledge. Sinal de saída, indica que o 8086 irá responder a um pedido de interrupção feito no pino INTR.

Page 39: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

HOLD

Sinal de entrada, usada para solicitar DMA (Direct Memory Access), Acesso Direto à Memória. Se HOLD=1, o processador para de executar o programa e coloca seus barramentos em alta impedância. Se HOLD=0 o processador executa normalmente.

DT/R

Sinal de saída, indica que o processador está transmitindo ou recebendo no/do barramento de dados. Esse sinal é usado para habilitar buffers externos de dados.

DEN

Data bus enable. Sinal de saída, usado para ativar buffer externos de dados.

Page 40: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

HLDA

Hold Acknowledge. Sinal de saída, indica que o 8086 entrou em um estado de HOLD.

SS0

Linha de status (saída), é equivalente ao pino S0 no modo operação máximo. Este sinal, combinado com M/IO e DT/R , é usado para decodificar a função do ciclo de barramento atual.

Page 41: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Pinos no modo máximoPinos no modo máximo

S2, S1, S0

Bits de status (saída) indicam a função corrente do ciclo de barramento. Estes sinais são, normalmente, decodificados usando-se o controlador de barramento 8288.

R1/GT1 e RO/GT0

Request/Grant. Usados para pedidos de DMA no modo de operação máximo. Essas linhas são bi-direcionais, e são usadas tanto para pedido como para concessão de operação de DMA.

Page 42: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Configuração no modo Configuração no modo máximomáximo

Page 43: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

S2 S1 S2 Função

0 0 0 INT ACK

0 0 1 I/O Read

0 1 0 I/O Write

0 1 1 Halt

1 0 0 Opcode Fetch

1 0 1 Memory Read

1 1 0 MemoryWrite

1 1 1 Passivo

Funções do barramento de controle geradas pelo barramento de controle (8288) usando S2, S1 e S0

Page 44: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

LOCK

Sinal de saída, é usado para “travar” periféricos. Este pino é ativado usando o prefixo LOCK: em qualquer instrução.Hold Acknowledge.

QS1 e QS2

Sinais de status (saída), mostram o status da fila interna de instruções. Esses pinos são fornecidos para acesso ao coprocessador numérico

Page 45: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

QS1 QS2 Função

0 0 Fila está inativa

0 1 Primeiro byte de um opcode

1 0 Fila vazia

1 1 Byte subsequente de um opcode

Status da Fila interna de instruções

Page 46: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Diagrama de bloco do 8284Diagrama de bloco do 8284

Page 47: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Gerador de Clock 8284AGerador de Clock 8284A

AEN1 e AEN2

Pinos Address Enable (entradas) são fornecidos para habilitar os sinais de Ready, RDY1 e RDY2, respectivamente, usados para causar ciclos de WAIT.

RDY1 e RDY2 (entradas)

Pinos de entrada usados em conjunção com AEN1 e AEN2 para causar ciclos de WAIT no

Page 48: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

X1 e X2

Pinos para conexão do oscilador de cristal externo, usado como fonte de temporização para todos os tempos no 8484. Sua frequência deve ser 3 vezes maior que o valor desejado para CLK.

READY

Sinal de saída para ser conectado no pino READY do 8086. Este sinal está sincronizado com RDY1 e RDY2.

ASYNC

A entrada de seleção de sincronização de ready seleciona um ou dois estágios de sincronização para as entradas RDY1 e RDY2. Possui resistor de pull-up interno.

Page 49: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

CLK

Pino de saída do clock para o 8086 e outros componentes do sistema. Sua freqüência é 1/3 da freqüência do cristal ou de EFI, e tem um ciclo de trabalho de 33%, requerido pelo processador.

F/C

Entrada frequency/crystal select seleciona a fonte de clock do 8284. Se o pino é mantido em 1, um clock externo é fornecido pela entrada EFI; se mantido em 0, o oscilador de cristal interno fornece o sinal de temporização.

EFI

A entrada External frequency input é usada quando o pino F/C é colocado em 1, caso em que ele fornece a temporização. Sua frequência deve ser 3 vezes maior que o valor desejado para CLK.

Page 50: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

PCLK

A saída peripheral clock tem 1/6 da freqüência do cristal ou de EFI, e tem ciclo de trabalho de 50%. PCLK fornece sinal de clock para equipamento periférico do sistema.

RES

Reset é uma entrada ativo baixo para o 8284. Este pino é normalmente conectado a uma rede RC que fornece power-on reset.

OSC

A saída oscilator tem um nível de sinal TTL que é da mesma freqüência que o cristal ou EFI. OSC fornece uma entrada EFI para outros geradores de clock 8284 em sistemas multiprocessadores. Contanto que se tenha um cristal conectado a X1 e X2, sempre esta saída fornecerá um clock, mesmo se, mesmo se F/C estiver em alto.

Page 51: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

GND

Pino de terra.

RESET

Saída conectado ao pino de RESET do 8086.

CSYNC

A entrada clock synchronization é usada sempre que a entrada EFI fornecer a sincronização em sistemas multiprocessadores. Se o oscilador de cristal interno for usado, essa entrada deve ser aterrada.

Vcc

Deve ser ligado a uma fonte de +5V, +/- 10%.

Page 52: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Clock do processadorClock do processador

Page 53: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Circuito de reset e clockCircuito de reset e clock

Page 54: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

LatchingLatching

Page 55: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

82888288

Page 56: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Temporização no 8086Temporização no 8086

8086 usa memória e E/S em períodos chamados de ciclos de barra (ou barramento)

Cada ciclo corresponde a 4 períodos de clock (estados T)

Se f = 5 MHz, T = 200ns e ciclo = 800nsVelocidade de Leitura ou escrita máxima

Page 57: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Ciclo de barraCiclo de barra

T1 – ALE, DT/R, M/IO, Endereços

T2 – RD ou RD, DEN

Se ciclo de escrita -> DATA OUT

Se ciclo de leitura -> barramento A/D em tri-state

Ready – amostrado no final de T2

T3 – Fornecido para dar tempo para memória acessar dado

Se o ciclo for de leitura (READ) o dado é amostrado no fim de T3

T4 – Sinais desativados. Preparação para o próximo ciclo

Subida de WR

Page 58: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.
Page 59: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.
Page 60: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.

Cálculo para tempo de acesso da memória

Considerando processador a 5MHz -> T = 200 ns

Ciclo de leitura = 3 X T = 3 X 200 ns + 600 ns (Access Time)

Deve-se considera o retardo introduzido por:

ALE (TCLAV) = 110 ns

Access Time = 600 ns – 110 ns

= 490 ns

Data Setup (TDVCL) = 30 ns

Access Time = 490 ns – 30 ns = 460 ns

OBS: Incluir retardo de 40 ns (propagação portas)

Access Time = 420 ns

Page 61: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.
Page 62: Sistemas Multiprocessados Curso Sistemas Multiprocessados Prof. Helano de Sousa Castro Departamento de Teleinformática/DETI helano@lesc.ufc.br.