Escolar Documentos
Profissional Documentos
Cultura Documentos
SISTEMAS COMPUTACIONAIS
a) Em teoria dar uma viso do processo de desenvolvimento tecnolgico dos Computadores e dos Sistemas Digitais (voltados diretamente ao processamento de informao ou no, como os circuitos controladores em Telecomunicaes, redes, eletrnica de entretenimento, etc...), atravs do estudo passo a passo das evolues relevantes surgidas no tempo. O objetivo capacitar o futuro engenheiro a acompanhar, efetuar projetos e consultorias na rea de maneira habil diferenciada de outros profissionais, que por vezes estudam o assunto na abordagem caixa preta pronta e pr existente.
b) Em laboratrio estudar as tcnicas atuais vigentes na construo (concepo, projeto, evoluo, software / firmware e hardware) de sistemas eletrnicos digitais e de utilizao e gerenciamento das redes de computadores.
Teoria Sistemas Computacionais Introduo Histrica A Era Mecnica ( $ 1623 p 1834 ) Dispositivo computacional mais antigo que temos notcia p ABACO ( | MEMRIA ). CPU?
1623 Schickhard calculadora capaz de resolver as 4 operaes aritmticas. 1642 Blaise Pascal Frana calculadora capaz de somar ou subtrair dois nmeros.
1621 Leibiniz Alemanha calculadora capaz de realizar as 4 operaes aritmticas (aperfeioamento do dispositivo Pascal).
Sculo XIX p Aperfeioamento das calculadoras mecnicas para uso comercial em escritrios com utilizao de motores eltricos. Marco p Dispositivos Single Operation 1. Engenho Diferencial (1823) 2. Engenho Analtico (1834)
Charles Babbage Inglaterra Sculo XIX Babbage possui dois inventos relevantes, onde conseguiu resolver problemas complexos de clculos que envolviam mltiplas operaes:
O Engenho Diferencial (1823) Este invento de Babbage, propunha-se a efetuar o clculo de tabelas de polinmios (aplicao militar clculos balsticos), usando o mtodo das diferenas finitas.
Ex.: Evoluir o polinmio Y ! x 3 p/ x ! 0,1, 2,3... usando o mtodo das diferenas finitas
(y
0
X Y 0 1 2 3 4 5 6 /
(y 1 7
+
(y (y 6 12 18 24 30 /
+
(y 0 0
125 216 /
(y 2 in | 6
(y1in | 7
(y 0 in | 8
0
+
6 6 6 /
1 8 27 64
19 37 61 91 /
RE (y 2
+
RE
+
(y1
sada Y RE (y 0
Engenho Analtico de Babbage (1834) Em 1834, Babbage idealizou um dispositivo, o engenho analtico, que possui as mesmas caractersticas das mquinas computacionais atuais (*). No chegou a ser completamente implementado na poca, devido a problemas tecnolgicos existentes. Nota: (*) Com memria de dados separada de memria de programa. THE MILL (ALU) \ 50 \ 50 THE STORE (MEMORY) RINTER AND CARD UNCH
/ 17
INTRUCTION CARD READER
/ 54
DATA CARD READER
THE MILL - Consistia na unidade lgica aritmtica do dispositivo capaz de efetuar operaes de +, , v, z e comparaes simples. THE STORE - A memria de capacidade para 1000 nmeros decimais de 50 dgitos cada. CARD READER, CARD PUNCH, PRINTER - I/O devices E .: Soluo de S.E.L. 2 v2
a 11 a 21 ! !
1 1
a 12 a 22
2 2
! b1 ! b2
a 11
a 12
1 2
b1 b2
a 21 a 22
1- Carga de mquina (MEMORY DATA) w1 n a11 w2 n a22 w3 n a12 w4 n a21 w5 n b1 w6 n b2 w10 n X1(?) w20 n X2(?) 2- Carga de instrues - programa (PRO RAM CARDS) Operao v v v v z Fonte w1 w2 w3 w4 w7 w8 w2 w5 w3 w6 w8 w9 w8 w7 Destino w7 w8 w7 w8 w9 w8 w10 Comentrio w7 n a11 a22 w8 n a12 a21 w7 n Det seq. 1 w8 n a22 b1 w9 n a12 b2 w8 n a22b1 - a22b2 w10 n x1
Operao v v v v z
Fonte w1 w2 w3 w4 w7 w8 w1 w6 w4 w5 w8 w9 w8 w7
Destino w7 w8 w7 w8 w9 w8 w20
Comentrio w7 n a11 a22 w8 n a12 a21 w7 n Det seq. 1 w8 n a11 b2 w9 n a21 b1 w8 n a11b2 - a21b1 W20 n x2
Em sala de aula, vamos explorar mais as tcnicas de programao destes dispositivo, ditas tcnicas de progr. C/ fortes restries. Tais tcnicas constituem particular interesse no estudo e implementao de firmware em sistemas digitais - da o interesse no domnio das mesmas.
Era Mecnica (cont. histrico) 1930 - Konrad Zuze na Alemanha Criao de uma srie de dispositivos de clculos mecnicos. 1942 - Z3 computador de uso geral (eletro mecnico). 1937 - 1942 Haward Alken Universidade de Harward MARK I 1939 - Aceitao do projeto e incio da construo com o auxlio da IBM International Business Machine 1942 - Incio da operao Tecnolgica. pDispositivo Eletromecnico pMEM constituda por contadores mecnicos decimais (anis) pInstrues armazenadas em fita perfurada. pConsiderado a Implementao prtica do Engenho Analtico do Babbage. pFormato das instrues. A1 A2 OP. 2 endereos A1 p endereo do 1 operando A2 p endereo do 2 operando e do destino de OP. p OP | , , z, v. Aps a implementao do Harward MARK I, Alken dedicou-se a construo do MARK II, com memria baseada em tecnologia de rels. Com advento da Eletrnica - 1906 (Vlvula Trodo) uma srie de dispositivos de chaveamento passaram a ser implementados na Europa e EUA.
T3
1930 - 1944 p Atanasoff, Prof. da Universidade de IOWA, idealiza um dispositivo eletrnico capaz de resolver um sel. 30v30.
T2 T1
Saturao do Mercado
tempo
Tecnologia Empregada p possua uma ULA com Registradores Eletrnicos acoplados constitudos de 300 vlvulas.
p a memria total do dispositivo era composta por dgitos decimais (contadores binrios, em anel) implementados com bloco de capacitores.
1942 - 1945 p ENIAC Eletronic Numeric Integrator and Calculator, desenvolvido na Universidade da Pensilvnia pelos Profs. Eckert e Mauchly. Pesava 30 toneladas 1800 vlvulas eletrnicas ULA capaz de , , v, z, 20 registradores eletrnicos de 10 dgitos decimais Dgito decimal --> implementado pela ligao em anel de 10 FFs
0 1 2 3
j Programao era efetuada por meio de cabos e conectores (painis de comutao telefnica, adaptadores). j Utilizado para clculos de balstica e simulaes da bomba atmica na 2r gerra
mensagem
h
Cdigo Senha
mensagem
h
Criptografia
mensagem
Cdigo Senha
Funo Bsica da Criptografia (XOR) A 10101 11101 01000 m10101 Edvac (1946 ~1951)
j EDVAC p Eletronic Discrete Variable Automatic Computer. j Universidade da Pensilvnia
B 10110
C 11101
D 10110
Hoje existem algoritmos bem mais sofisticados usados em E-mail, Internet, E-Banking, IP sec, etc..
A1 A2
A3
A4
OP
A1, A2 p Endereo dos Operandos (fonte) A3 p Endereo de Armazenamento do Resultado da Operao A4 p Endereo da prxima instruo na memria Ops p , , z, v Instrues de Salto Condicional If [A1 ] u [A2] then goto A3 Else goto A4 Mnemnico A1 A2 A3 A4 C
OBS: Von Newmann observou que os programas possuiam uma caracterstica sequencial (uma instruo aps a outra) Representando a reserva a bits, para A4 um grande desperdcio de MEM Idealiza ento o contador de programa (PC, Program Counter) como soluo no computador (IAS).
40
40
MQ
40
40
I/O DEVICES
ALU
40
DR
20 40
40
40
40
IBR
20
12
MEM 212 v 40 PC
12
20 20 12 8
4096 posies
12
IR
12
AR
12
12 40 bits
FF
UC
FF
paradigma AC p Acumulador (40 bits) da poca MQ pMultiplier Quocient (40 bits) ALUp Unidade Lgica Aritmtica vz e Comparao DRpData Register (40 bits) IBRpInstruction Buffer Register (20 bits) PCp Progran Counter (12 bits) IRpInstructin Register (8 bits) UCp Unidade de Controle MEMp2048 posies (40 bits) I/OpPrinter, Card Punch, Card Reader DR Responsvel por toda troca de informaes com o I/O e com MEM
MEM p memria R/W 4096 = 212 v 40 Bits ULA p vz comparaes Formato das informaes: Dados 0 mantssa Bit Sinal Instrues 0 7 8 19 20 27 23 39 OP CODE ADDRESS OP CODE ADDRESS 39
Left instruction
Right instruction
Y( X) !
i !0
ai X6
OL OTO M (20,0:19) 1 2 3 4 10 20L 20R 21L 21R 22L 22R 23L 23R 24L 24R 25L 25R 26L 26R 27L 27R 28L 28R 29L 1 1 0 999 1000 ; ; ; ; ; Constante Clculo Xn Y(X) Contador Constante Nota: - Em sala de aula estudaremos tcnicas de implementao de funes matemticas complexas e suas implementaes atuais eletrnicas.
AC n M(2002) M(3)nAC; INICIALIZA Y(X)=a0 MQnM(2) AC,MQnMQ*M(5); CLCULO X n DA ITERAO ACnMQ M(2)nAC AC,MQnMQ*M(2000); CLCULO aiX6 ACnMQ ACn AC+M(3); ATUALIZA Y(X) M(3)nAC ACnM(4); DECREMENTA CONTADOR ACn AC - M(1) IF AC u 0 THEN OTO M(27, 0:19) OTO M(26, 20:39) M(4)nAC; ATUALIZA CONTADOR ACn AC+M(1) ACn AC+M(10) M(23, 8:19) nAC(28:30); ATUALIZA ai OTO (21, 0:19)
Projeto Rpido de Circuitos Combinacionais e Freq. Limite de Operao de Circuitos 1) Projeto por Portas Lgicas a) Anlise Qualitativa Variveis de entrada: A,B,C,D Variveis de sada: (11)2 (11)2= (1001)2 = 4 Entradas: 2px e y Sadas: 1 pM Mi = fi (A,B,C,D,); 1 e e e 4 , e N
b) Tabela Verdade
X A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Y D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 M1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 M2 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 M M3 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 M4 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1
_ 0 C 0 C 0 0
M3
0 1 3 2
0 0 0 0
A 0 0 5 0 7 1 6 B
4
12 13 15 14
0 0 1 1
8 9 11 10
_ 0 C 0 C 0 0
M4
0 1 3 2
0 0 1 1
A 0 4 1 5 0 7 1 6 B
12 13 15 14
0 1 1 0
8 9 11 10
_ 0 C 0 C 0 0
0 1 3 2
A 0 12 0 8 4 1 13 0 9 D 5 1 15 0 11 7 0 14 0 10 6 B M 2 ! A BC AC D ! AC( BD ) 0 1 1 0
M 3 ! A BD A CD BC D ABC ! AD( BC ) BC( AD ) ! AD BC M 4 ! BD
M4 M1 M2 M3
0 1
A 2 3
0 1
2 3
A 6 7 B
4 5 C
0 1 3 2
4 5 7 6
A 12 13 15 14 B
8 9 D 11 10
a) MUX nv1
(min = (M1=(M2=(M3=(M4=20 ns
b)MUX (n-1)x1
A0 A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
A1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
A2 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
A3 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
D0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
D1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0
D2 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0
D3 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1
M1 M 2
M3 M 4
(M1 = (M4 = 20 ns (M2 =(M3 = 30 ns (depende da porta NOT de D) (min. = mx((M1, (M2, (M3, (M4) = 30 ns fmx. = 1 / (min. = 33,3MHz fprtico = fmx / 2 = 16,7MHz
a) Eprom de tamanho maior ou igual a N bits de entrada x M bits de sada Tabela de Programao - obtida diretamente da Tab. Verdade.
8v2 3 / A0 EPROM n A2 / 3 D0 D1 CE RD / 3
8v2
Z1 Z2
3 /
A0 EPROM p A2 CE RD D0 D1
Z1 Z2
8v2 A0 3 / A2 CE RD EPROM o D0 D1
8v2
Z3 Z4 A B C
A0 3 / A2 CE RD EPROM q D0 D1
Z3 Z4
B C D
Z1 Z2 A
Z3 Z4
Tabela Verdade (tcnica de Projeto Rpido!) X A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Tabela de Programao B A0 0 0 0 0 1 1 1 1 C A1 0 0 1 1 0 0 1 1 D A2 0 1 0 1 0 1 0 1 MEM 1 D0 D1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MEM 2 D0 D1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 MEM 3 D0 D1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 MEM 4 D0 D1 0 0 0 1 0 0 0 1 0 0 1 1 0 1 0 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Y D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 M1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 M2 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 M M3 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 M4 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1
fmx = 5 MHz
Estudo das Mquinas Sequenciais de Estados Finitos (M.E.F.s) e suas implementaes Circuitos Sequenciais de Estados Finitos So as implementaes prticas das mquinas sequenciais de estados finitos (MEF's) Existem dois modelos tericos de MEF's que estudaremos
y y
MODELO DE MEALY A MEF de MEALY definida como a quntupla ordenada M(Q,I,W, ,w) , onde
Qp conjunto finito de estados internos da mquina MQ Ip conjunto finito de entradas de MQ Wp conjunto finito de sadas p chamada a funo de transio de M, definida a partir de um subconjunto D C QvI com sada (imagem) em Q. wp chamada de funo sada de M definida a partir de um subconjunto Dw C QvI com sada (imagem) em W.
Estados internos
Esquematicamente temos
Prximo estado
Ex.: Consideremos a seguinte MEF de MELY com a descrio: Q = {q1,q2,q3 } I = {i1,i2} W = {w1,w2 } dado por: (q1,i2) = q2 (q2,i1) = q1 (q2,i2) = q3 (q3,i1) = q2 (q3,i2) = q1 w dado por : w(q1,i1) = w1 w(q1,i2) = w2 w(q2,i1) = w1 w(q3,i2) = w2 Representao da MEF na forma tabular Estado atual q1 q1 q2 q2 q3 q3 TABELA DE TRANSIO Entrada Prximo estado( i1 --i2 q2 i1 q1 i2 q3 i1 q2 i2 q1 ) Sada (w) w1 w2 w1 ----w2
Obs.: p a mudana de estado atravs de entrada, ou seja, a mquina est em um estado e depois desta entrada ele passa para um outro estado (estmulo externo). W p depende do estado interno em que estammos sada entrada
Representao da MEF por diagrama de transio i1/w1 q1 i1/w1 q2 i2/w2 i1/q3 i2/i2/w2
MODELO DE MOORE A MEF de MOORE definida como a quntupla ordenada ML(Q,I,W, ,w*) onde :
Qp conjunto finito de estados internos Ip conjunto finito de entradas Wp conjunto finito de sadas p chamada a funo de transio de M, definida a partir de um subconjunto D C QvI com sada (imagem) em Q. w*p chamada de funo sada de M, definida a partir de um subconjunto Dw* C D com sadas (imagem) em W. Esquematicamente temos:
entradas
Representao da MEF por diagrama de transies i1 q1/w1 i1 i2 q3/w2 Teorema da equivalncia " Fornecidas as condies de circunscrio de um circuito sequencial (de estados finitos) sempre possvel encontrar uma MEF de MEALY que resolva o mesmo de forma equivalente a MEF de MOORE e vice-versa. " i2 i1
i2 q2/w1
Implementaes eletrnicas prticas de Mquinas de Estados Finitos As MEF's podem ser implementadas eletronicamente atravs de circuitos combinacionais e elementos de atraso, segundo o esquema a seguir.
Circuito Combinacional X1 Entrada X2 Xm
w*
Z1 Z2 Zm Sada
Y1 Y2 Y3 Y4 Estado atual
( ( ( ( Elementos atraso
Correspondncia entre os modelos tericos e sua implementao prtica. Para cada ij - cadeia de bits (X1, X2, Xn) 2n u M. Elementos I=n(I) n = INT(LO 2 n(I) +1) qj Q cadeia de bits (Y1,Y2,Y3,Yk) 2k u n (Q) k = INT (LO 2 n(Q) +1) wj W cadeia de bits (Z1,Z2, Zm) 2m u n (W) m = INT (LO
n(W) +1)
Na prtica interessante impor os instantes (cadncia) em que as mudanas de estado ocorrem. Este fato, aliado ao tempo de resposta junto dos elementos combinacionais levam a utilizao de estruturas onde a mudana de estado amostragem das entradas e definio de sadas ocorrem controladas por sinais de sincronismo.
MEF's sncronas
X Entrada n Reg D Q n X n Circuito combinacional Z m Reg D Q o Z' Sada m
1(t)
3(t)
Prximo estado
1, 2 e 3 p sinais de clock
2(t)
1. Controle de fluxo de entradas. Se 1(t) for gatilhado antes de 2 (t) teremos uma outra combinao da entrada / estado atual (perderemos dados). As frequncias so as mesmas, porm com defasagens diferentes (atraso). 2. Controlador de prximo estado para estado anterior. 3. Depois que for definido o estado atual (estvel), gatilha-se o amostrador (FFs) de sada para formar de maneira estvel a informao de sada (w). 1, 2, 3 p mesma frequncia
Exerccios de Implementao destacando a tcnica de Projeto e de Dimensionamento de Performance sero estudados detalhadamente em Sala de Aula, bem como uma viso da tcnica de Projeto de MEFs assncronas.
SISTEMAS DI ITAIS
x CISC c text e CPU P Defi i P Nmer Crescente I/Os nos Sistemas P aster RESET P Subrotinas ultiniveis P Interrupes P Sinais e Requisio e US / DMA
I T IGIT I 2 Pr f.
Jr.
SISTEMAS DI ITAIS
surgiu primeiro ?!? P Dicotomia entre Armazenamento e Processamento P Especializa o de fabricantes P 15% de utiliza o em 90% dos programas
P Quem
SISTEMAS DI ITAIS
RISC x CISC
CPU
ade capaz de Processar dados P Processar:
transferir transformar
P !!! P Enti
Aume to I/ s o istemas
Pa
partir do modelo do IAS do Von Neumann P abordagem de modelos de capacidade de massa P sinalizaes bsicas
I T
IGIT I
Prof. A Newton
I T
IGIT I
Prof. A Ne ton
!
%(
Jr.
Jr.
Master Reset
- por qu ! P Single x Master Reset
P Inicializar
I T
IGIT I
Prof. A Newton
I T
IGIT I
14 7@
5 1 43 2 1 1 A 7 @9 8 7 7
Prof. A Newton
Jr.
Jr.
Interrupes
P Tecnicas
de refrescamento de de ices: polling interrupts P Prioriza o - por qu ? P Negocia o automtica de nvel em barramentos
SISTEMAS DI ITAIS
SISTEMAS DI ITAIS
da Intel e sucessores
10
I/O Mapeado
qu ? P antagens e desvantagens ? P Sistemas abertos ??
P Por
SISTEMAS DI ITAIS
11
I T
IGIT I
12
Prof. A Newton
FI
P FIHG F F
Jr.
ISA - standard tardio EISA e MCA VESA, PCI .... PC98 ST- 6 --> IDE --> SCSI e EIDE
RU V RUTS R R
I T
IGIT I
13
Prof. A Newton
Shadow BIOS
S nos Sistemas Digitais P A importncia do cdigo relativo ou realocvel
P BI
SISTEMAS DI ITAIS
14
Jr.
Cache
ia bsica ? P elemento passivo P em ambiente com e sem DMA ?? P t cnicas:
hit miss, cache flush write-through, buffered write-through, writeback
SISTEMAS DI ITAIS
P id
PO
I T
IGIT I
`c
15
d `cba ` `
16
Prof. A Newton
Jr.
Barramentos
SCSI
Computer Systems Interface P criado pela Seagate P HDD, FDD, CD-Rom, Impressoras e Scanners P padr es: SCSI ou SCSI-1, SCSI-2 P proposto SCSI-3 (Ultra-SCSI)
P Small
SISTEMAS DI ITAIS
17
P SCSI-1 8 bits em paralelo sincrono ou assincrono at 5 MB/s liga o em cascata at terminador (Single ended - m, Differential ended - 25m) conector HD50 (tipo D miniatura) at 7 devices problema: devices lentos !!!!
SISTEMAS DI ITAIS 18
SCSI
SCSI
P SCSI-2 compativel com SCSI-1 8/1 bits (de 10 a 20 MB/s - Fast/Wide SCSI) prioriza o devices at 15 devices
SISTEMAS DI ITAIS
Comparao arramentos
Mhz - 8 a 6 bits - 8 a P EISA bits - 8 a Mhz bits - a Mhz P MCA PV us bits Mhz P PCI a 6 bits Mhz
P ISA
I T
IGIT I
20
Prof. A Newton
ir
19
s irqp i i
Jr.
Comparao arramentos
PCI
P Peripheral
Set pode gravar interrupes usadas - interface com ISA !!! P 3 a 6 CIs de Chipset
IGIT I 22 Prof. A Newton
I T
I T
IGIT I
ux
y u xwv u u
21
Prof. A Newton
Jr.
Jr.
ST-506
P padro
1979 P transferncia de at
I T
IGIT I
23
Prof. A Newton
ID
P Integrated
Drive Eletronics P at dois devices (master, slave) P 3,3 MB/s (ATA) at 11,1 MB/s (ATA-2)
I T
IGIT I
24
Prof. A Newton
Jr.
Jr.
EIDE
IDE P multiplos canais de 2 devices P normalmente dois canais em PC P padr o tipico ultra ATA ou ultra DMA de 33 MB/s P BI S atualizada (evita limite 504 MB/HD)
SISTEMAS DI ITAIS 25 Prof. A Newton L Jr.
P Enhanced
Sumrio:
Programa Armazenado ( reg. PC) Pilha (stack) para armazenamento de dados e endereos (ponteiros) tipo LIFO (reg. SP) Subrotinas - para processamento repetitivo - criao das instrues CALL, RET e uso da estrutura de Pilha para armazenamento de pontos de retorno (ponteiro - reg. SP) Esquematicamente, temos em termos Recursivos:
Interrupo - para dispositivos que necessitam ser "refrescados" com informaes periodicamente (ex.: atualizao de memria de VDEO e buffers de CRT, envio/recepo dados seriais, etc) - criamos o mecanismo de "gerao" de interrupes para atendimento de dispositivos, a fim de aliviar dos programadores a preocupao de temporizao dos programas. Nota: j para um programa que s atenda controladores de comunicao do mesmo tipo por ex., podemos usar a tcnica de POLLIN , que dedica a CPU a ficar periodicamente solicitando informaes aos Devices.
Esquematicamente temos:
(*) Status - informao necessrias para continuidade do processamento: Ex.: Flags, Acumulador, PC,... normalmente utilizamos a pilha (e reg. SP) para estas operaes.
No projeto do processador a seguir, vamos supor que o barramento dedicado a este processador, isto , qualquer dispositivo (ou outro processador) que necessitar conversar com outros dispositivos ou memria, dever solicitar autorizao (INTERRUPT, IOread, ...) ao processador. Exemplos de barramento:
y y
ISA (do PC ou PS - 1 ) - dedicado (por interrupco) MCA (do PS-2) - no dedicado (semafrico)
Os barramentos externos:
RESET Um pulso de nvel alto de durao maior ou igual a TRESET ( a ser determinado) impe condies iniciais de operao ao PAC-8. As condies iniciais so: LEITURA DE MEMRIA ESCRITA NA MEMRIA LEITURA DE INTERFACE DE E/S ESCRITA EM INTERFACE DE E/S INTERRUPES Para um pedido de interrupo, seja Vo o vetor fornecido pela interface correspondente o atendimento da interrupo consiste em uma chamada de subrotina com o endereo dado por 4*Vo
y y y y y
4.2.1 REGISTRADORES
AC [7..0] : acumulador FLA S [7..0] : FLA S [7..3] = 00000 FLA S [2] = INTE ( interrupes habilitadas) FLA S [1] = CARRY ( transbordamento) FLA S [0] = ZERO ( resultado nulo) PC [15..0] : contador de programa SP [15..0] : ponteiro para pilha (stack pointer)
IO [0],...,IO[255] C16 C8
: interfaces de entrada e sada (comunicam-se c/ o PAC- 8 por palavras de 8 bits) : constante de 16 bits : constante de 8 bits
Formato das Instrues As instrues do PAC-8 so codificadas em sequncias de 1 a 3 bytes. a) Tipo "OP" - sem, operando explcito b) Tipos "OP C8" operando de 8 bits. c) Tipo "OP C16" - operando de 16 bits.
POP
STC CLC
b) Instrues Lgico-Aritmticas
Mnemnico NOT INC DEC SHL SHR ANI C8 ORI C8 CPI C8 Comentrio AC <- NOT (AC) / Z AC <- AC + 1 / Z,C AC <- AC - 1 / Z,C AC[7..1] <- AC[6..0], AC[0] <- 0 AC [6..0] <- AC [7..1], AC [7] <- 0 AC <- AC and C8 / Z AC <- AC or C8/Z Z <- Z ( AC - C8) C <- C (AC - C8) Comentrio AC <- AC and M [C16] /Z AC <- AC or M [C16] /Z Z <- Z (AC - M [C16] ), C<- C (AC - M [C16] ) AC <- AC + M [C16] /ZC if c = 1 AC <- AC + M [C16] + 1 else AC <- AC + M [C16] / ZC AC <- AC - M [C16] /ZC if c = 1 AC <- AC + M [C16] - 1 else AC <- AC - M [C16] / ZC
Mnemnico AND C16 OR C16 CMP C16 ADD ADC C16 C16
SUB SBC
C16 C16
RET
A unidade lgica aritmtica um circuito combinacional caracterizado pela seguinte tabela de operao:
TABELA DE OPERAO
F2 F1 F0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 o7 o6 ... o0 A A and B A or B not A A+B A + B + CI A-B A - B - CI C0 0 0 0 0 A + B > 0FFh A+B+CI > 0FFh A - B < 00h A - B - CI < 00h Z o=0 o=0 o=0 o=0 o=0 o=0 o=0 o=0
O CIRCUITO DO DESLOCADOR
O deslocador constitudo por um Multiplexador Octuplo de 4 entradas, obedecendo a seguinte tabela de operao:
Material Registrado na Biblioteca Nacional 48
TABELA DE OPERAO
TRANSFERNCIA Inativo Direta SHR - Shift Right SHL - Shift Left ROL - Rotate Left OE 0 1 1 1 1 S1 X 0 0 1 1 S0 X 0 1 0 1 Oi Alta Imped. IiA IiB IiC IiD
O CIRCUITO DO REGISTRADOR SP
O CIRCUITO DO REGISTRADOR AC
O CIRCUITO DO REGISTRADOR MD
IR <- M[PC] INTFF <- 0 INTE <- 0 CARRY <- 0 ZERO <- 0 PC <- 0
PC <- PC + 1
SP <- SP - 1
IR = ?
LDA
STA
...
DI
N.D.A.
A A
SP <- SP - 1
Obs.:
INTFF - Flip Flop que l o sinal de INT no atendimento a interrupes (salvamos PC, FLA S e Acumulador e desabilitamos INT -- INTE = 0) rea de Stack - idia - localizar a mesma no fim da memria RAM. Aume
LDA
STA
LDSP
PC <- PC + 1
PC <- PC + 1
PC <- PC + 1
PC <- PC + 1
PUSH
POP
STC
M[SP] - RF
GS
SP - SP
CARRY -
M[SP] -
SP - SP
CARRY - 0
SP - SP -
RF
GS - M[SP]
gi
e f
SP - SP -
- M[SP]
CLC
g d
gi
d hf
hf d
e f
NOT
INC
DEC
AC - NOT(AC) / Z
MD -
MD -
AC - AC
MD / Z, C
AC - AC - MD / Z, C
SHL
SHR
ANI
MD - AC
AC - SHR(AC)
MD - M[PC]
AC - AC
MD
PC - PC AC - AC MD / Z
ORI
CPI
MD - M[PC]
MD - M[PC]
j j
PC - PC AC - AC r MD / Z
nm j k lo j
k j
kl
k j
kl
PC <- PC + 1
PC <- PC + 1
ADD
PC <- PC + 1
AC <- AC + MD / , C
AC <- AC + MD + Carry / , C
AC <- AC and MD /
AC <- AC or MD /
ADC
PC <- PC + 1
q q
AND
CMP
PC <- PC + 1
JZ
ZERO = ?
PC - PC
MAH - PCH
MAL - PCL
PC - PC
PCH - M[MA] A MA - MA
PCL - M[MA]
JC
CARRY = ?
PC - PC
MAH - PCH
MAL - PCL
PC - PC
PCH - M[MA] A MA - MA
PCL - M[MA]
ut
ut
s s
s s
ut ut ut ut
s s s s
SUB
SBC
JMP
MAH - M[PC]
MAH - M[PC]
MAH - PCH
PC - PC
PC - PC
MAL - PCL
MAL - M[PC]
MAL - M[PC]
PCH - M[MA]
MA - MA
AC - AC - MD / Z, C
AC - AC - MD - Carr / Z, C
PCL - M[MA]
JMPI
IRET
MAH - M[PC]
SP - SP
PC - PC
AC - M[SP]
MAL - M[PC]
SP - SP
PCH - M[MA]
RFLAGS - M[SP]
MA - MA
SP
- SP
PCL - M[MA]
PCH - M[SP]
SP A
- SP
PCL - M[SP]
xw
PC - PC MD - M[MA]
PC - PC MD - M[MA]
v v
xw
xw
xw
xw
xw xw
v v
xw
xw
xw xw
v v
CALL
RET
IN
MAH - PCH
SP - SP
MAL - PCL
PCH - M[SP]
PC - PC AC - IO[MA]
PC - PC
SP
- SP
PCL
- M[SP]
PC - PC
EI A INTE -
M[SP] - PCL
PC - PC IO[MA] - AC
INTE - 0 A
PCL - M[MA]
MA - MA
|{
SP - SP PCH - M[MA]
z z
M[SP] - PCH
|{
SP - SP -
OUT A
DI
|{
| z
z z
z z
|{
|{
|{
|{
z z
z z z