Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
O Curso de Sistemas Computacionais foi estruturado para:
a) Em teoria dar uma visão do processo de desenvolvimento tecnológico dos Computadores e dos Sistemas Digitais (voltados diretamente ao processamento de informação ou não, como os circuitos controladores em Telecomunicações, redes, eletrônica de entretenimento, etc...), através do estudo passo a passo das evoluções 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 laboratório estudar as técnicas atuais vigentes na construção (concepção, projeto, evolução, software / firmware e hardware) de sistemas eletrônicos digitais e de utilização e gerenciamento das redes de computadores.
Material Registrado na Biblioteca Nacional 1
SISTEMAS COMPUTACIONAIS
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
A Era Mecânica ( 1623 1834 ) Dispositivo computacional mais antigo que temos notícia ABACO ( MEMÓRIA ). CPU?
Idéia demultiplicação de w por engrenagens de relação 1:10
Idéia operador somas sucessivas operador subtrações sucessivas
Século XIX Aperfeiçoamento das calculadoras mecânicas para uso comercial em escritórios com utilização de motores elétricos. Marco Dispositivos Single Operation
1. Engenho Diferencial (1823)2. Engenho Analítico (1834)
O Engenho Diferencial (1823)
Este invento de Babbage, propunha-se a efetuar o cálculo de tabelas de polinômios (aplicação militar cálculos balísticos), usando o método das diferenças finitas.
Material Registrado na Biblioteca Nacional 2
TeoriaSistemas
Computacionais Introdução Histórica
1623 – Schickhard – calculadora capaz de resolver as 4 operações aritméticas.1642 – Blaise Pascal – França – calculadora capaz de somar ou subtrair dois números. 9
0
1
2
9
0
1
2
1621 – Leibiniz – Alemanha – calculadora capaz de realizar as 4 operações aritméticas (aperfeiçoamento do dispositivo Pascal).
Charles Babbage – Inglaterra – Século XIX
Babbage possui dois inventos relevantes, onde conseguiu resolver problemas complexos de cálculos que envolviam múltiplas operações:
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Ex.: Evoluir o polinômio usando o método das diferenças finitas
Esquema do Engenho Diferencial
Material Registrado na Biblioteca Nacional 3
Será estudado em detalhes na sala de aula !!
Teorema das Diferenças Finitas
+
+
+
+
+
+
2yREG
1yREG
0yREG
6 in y3
6 in y2
7 in y1
8 in y0 saída Y
Implementação mecânica, mas observe que de fácil construção eletrônica!!!
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Engenho Analítico de Babbage (1834)
Em 1834, Babbage idealizou um dispositivo, o engenho analítico, que possui as mesmas características das máquinas computacionais atuais (*). Não chegou a ser completamente implementado na época, devido a problemas tecnológicos existentes.
Nota: (*) Com memória de dados separada de memória de programa.
THE MILL - Consistia na unidade lógica aritmética do dispositivo capaz de efetuar operações de +, , , e comparações simples.
THE STORE - A memória de capacidade para 1000 números decimais de 50 dígitos cada.
CARD READER, CARD PUNCH, PRINTER - I/O devices
Ex.: Solução de S.E.L. 22
Material Registrado na Biblioteca Nacional 4
THE MILL
(ALU)
THE STORE
(MEMORY)
PRINTER AND
CARD PUNCH
INTRUCTION CARD
READER
DATA CARD
READER
\ 50
\ 50
/ 17 / 54
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
1- Carga de máquina (MEMORY DATA)
w1 a11
w2 a22
w3 a12
w4 a21
w5 b1
w6 b2
w10 X1(?)w20 X2(?)
2- Carga de instruções - programa (PROGRAM CARDS)
Operação Fonte Destino Comentário w1 w2 w7 w7 a11 a22
w3 w4 w8 w8 a12 a21
w7 w8 w7 w7 Det seq. 1 w2 w5 w8 w8 a22 b1
w3 w6 w9 w9 a12 b2
w8 w9 w8 w8 a22b1 - a22b2
w8 w7 w10 w10 x1
Linguagem ADA (Ada Augusta "Condessa de Lovelace")
Operação Fonte Destino Comentário w1 w2 w7 w7 a11 a22
w3 w4 w8 w8 a12 a21
w7 w8 w7 w7 Det seq. 1 w1 w6 w8 w8 a11 b2
w4 w5 w9 w9 a21 b1
w8 w9 w8 w8 a11b2 - a21b1
w8 w7 w20 W20 x2
Material Registrado na Biblioteca Nacional 5
Em sala de aula, vamos explorar mais as técnicas de programação destes dispositivo, ditas técnicas de progr. C/ fortes restrições. Tais técnicas constituem particular interesse no estudo e implementação de firmware em sistemas digitais - daí o interesse no domínio das mesmas.
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Era Mecânica (cont. histórico)
1930 - Konrad Zuze na Alemanha Criação de uma série de dispositivos de cálculos mecânicos.
1942 - Z3 computador de uso geral (eletro mecânico).
1937 - 1942 Haward Alken Universidade de Harward MARK I
1939 - Aceitação do projeto e início da construção com o auxílio da IBM - International Business Machine
1942 - Início da operação Tecnológica.Dispositivo EletromecânicoMEM constituída por contadores mecânicos decimais (anéis)Instruções armazenadas em fita perfurada.Considerado a Implementação prática do Engenho Analítico do Babbage.Formato das instruções.
A1 A2 OP.
2 endereços
A1 endereço do 1º operandoA2 endereço do 2º operando e do destino de OP. OP , , , .
Após a implementação do Harward MARK I, Alken dedicou-se a construção do MARK II, com memória baseada em tecnologia de relês.
Com advento da Eletrônica - 1906 (Válvula Tríodo) uma série de dispositivos de chaveamento passaram a ser implementados na Europa e EUA.
1930 - 1944 Atanasoff, Prof. da Universidade de IOWA, idealiza um dispositivo eletrônico capaz de resolver um sel. 3030.
Material Registrado na Biblioteca Nacional 6
Saturação do Mercado
T1
T2
T3UTILIZAÇãO
TECNOLÓGICA
tempo
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Tecnologia Empregada possuía uma ULA com Registradores Eletrônicos acoplados constituídos de 300 válvulas.
a memória total do dispositivo era composta por dígitos decimais (contadores binários, em anel) implementados com bloco de capacitores.
1942 - 1945 ENIAC Eletronic Numeric Integrator and Calculator, desenvolvido na Universidade da Pensilvânia pelos Profs. Eckert e Mauchly.
- Pesava 30 toneladas- 1800 válvulas eletrônicas- ULA capaz de , , , ,- 20 registradores eletrônicos de 10 dígitos decimais- Dígito decimal --> implementado pela ligação em anel de 10 FFs
Programação era efetuada por meio de cabos e conectores (painéis de comutação telefônica, adaptadores).
Utilizado para cálculos de balística e simulações da bomba atômica na 2 gerra
Permaneceu em operação até 1955.
1944 Na Inglaterra, surgem computadores da Série Colossus destinado a trabalhos de criptografia (inglesa, alemã).
Material Registrado na Biblioteca Nacional 7
0 1 2 3
Nota: mecanismo da álgebra linear básico da criptografia.
mensagem
mensagem
mensagem
Criptografia
CódigoSenha
CódigoSenha
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Função Básica da Criptografia (XOR)
A B C D10101 10110 11101 10110
Edvac (1946 ~1951)
EDVAC Eletronic Discrete Variable Automatic Computer. Universidade da Pensilvânia
- Van Newmann- Eckert- Mauchay
Tecnologia / Características.
Técnica de Programa Armazenado em memória. Formato das instruções.
A1 A2 A3 A4 OP
A1, A2 Endereço dos Operandos (fonte)A3 Endereço de Armazenamento do Resultado da OperaçãoA4 Endereço da próxima instrução na memóriaOps , , ,
Instruções de Salto Condicional
If [A1] [A2] then goto A3
Else goto A4
MnemônicoA1 A2 A3 A4 C
OBS: Von Newmann observou que os programas possuiam uma característica sequencial (uma instrução após a outra) Representando a reserva a bits, para A4 um grande desperdício de MEM Idealiza então o contador de programa (PC, Program Counter) como solução no computador (IAS).
Material Registrado na Biblioteca Nacional 8
11101
01000 10101
Hoje existem algoritmos bem mais sofisticados usados em E-mail, Internet, E-Banking, IP sec, etc..
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
IAS (Institute of Advanced Studies) - 1951Von Neumann
AC Acumulador (40 bits)MQ Multiplier Quocient (40 bits)ALUUnidade Lógica Aritmética e ComparaçãoDRData Register (40 bits)IBRInstruction Buffer Register (20 bits)PC Progran Counter (12 bits)IRInstructin Register (8 bits)UCUnidade de ControleMEM2048 posições (40 bits)I/OPrinter, Card Punch, Card ReaderDR – Responsável por toda troca de informações com o I/O e com MEM
Por ser valvulado era capaz de manipular poucas instruções.
MEM memória R/W 4096 = 212 40 Bits
Material Registrado na Biblioteca Nacional 9
AC 40AC 40 MQ 40
MQ 40
I/ODEVICES
I/ODEVICES
ALUALU
40
4040
40
“Next instr. In IBR”
“Right instr. Required”
MEM212 40
4096 posições
MEM212 40
4096 posições
DR 40DR 40
40
40 bits “paradigma da época”
IBR 20IBR 20
PC 12PC 12
12
IBR 20IBR 20
PC 12PC 12
12
40
12
20
20
128
12
8
20
IR 8IR 8 AR 12
AR 12 12
8
FF UC FFFF UC FF
40
OBS.: Nesse período não existiam barramentos bidirecionais
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
ULA comparações
Formato das informações:
Dados 0 39
Bit Sinal
Instruções0 7 8 19 20 27 23 39
OP CODE ADDRESS OP CODE ADDRESS
AC M(X) pega a posição de memória e coloca em AC
8 bits 12 bitsACML X
IAS – Ex. de Técnica de Programação
Calcular o polinômio Y(X)
Material Registrado na Biblioteca Nacional 10
mantíssa
Left instruction Right instruction
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
OL GOTO M (20,0:19)
1 1 ; Constante2 1 ; Cálculo Xn
3 0 ; Y(X)4 999 ; Contador10 1000 ; Constante
20L AC M(2002)20R M(3)AC; INICIALIZA Y(X)=a0
21L MQM(2)21R AC,MQMQ*M(5); CÁLCULO Xn DA ITERAÇÃO22L ACMQ22R M(2)AC23L AC,MQMQ*M(2000); CÁLCULO aiX6
23R ACMQ24L ACAC+M(3); ATUALIZA Y(X)24R M(3)AC25L ACM(4); DECREMENTA CONTADOR25R ACAC - M(1)26L IF AC 0 THEN GOTO M(27, 0:19)26R GOTO M(26, 20:39)27L M(4)AC; ATUALIZA CONTADOR27R ACAC+M(1)28L ACAC+M(10)28R M(23, 8:19)AC(28:30); ATUALIZA ai
29L GOTO (21, 0:19)
Projeto Rápido de Circuitos Combinacionais e Freq. Limite de Operação de Circuitos
1) Projeto por Portas Lógicas
a) Análise Qualitativa
Variáveis de entrada: A,B,C,DVariáveis de saída: (11)2 (11)2= (1001)2 = 4Entradas: 2x e y Saídas: 1MMi = fi (A,B,C,D,); 1 e 4 , e N
Material Registrado na Biblioteca Nacional 11
Nota: - Em sala de aula estudaremos técnicas de implementação de funções matemáticas complexas e suas implementações atuais eletrônicas.
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
b) Tabela Verdade
X Y MA B C D M1 M2 M3 M4
0 0 0 0 0 0 0 00 0 0 1 0 0 0 00 0 1 0 0 0 0 00 0 1 1 0 0 0 00 1 0 0 0 0 0 00 1 0 1 0 0 0 10 1 1 0 0 0 1 00 1 1 1 0 0 1 11 0 0 0 0 0 0 01 0 0 1 0 0 1 01 0 1 0 0 1 0 01 0 1 1 0 1 1 01 1 0 0 0 0 0 01 1 0 1 0 0 1 11 1 1 0 0 1 1 01 1 1 1 1 0 0 1
c) Funções / SimplificaçãoM1=ABCD
M2 A_ 0 0 0 4 0 12 0 8
C 0 1 0 5 0 13 0 9 DC 0 3 0 7 0 15 1 11
0 2 0 6 1 14 1 10
B
M3 A_ 0 0 0 4 0 12 0 8
C 0 1 0 5 1 13 1 9 DC 0 3 1 7 0 15 1 11
0 2 1 6 1 14 0 10
B
M4 A_ 0 0 0 4 0 12 0 8
C 0 1 1 5 1 13 0 9 DC 0 3 1 7 1 15 0 11
0 2 0 6 0 14 0 10
B
Material Registrado na Biblioteca Nacional 12
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
d) Desenho do circuito (usando somente portas 21)
A
B
C
D
Cálculo de atrasos
Supondo TTL’s = 10ns
M1 = 10 + 10 = 20 nsM2 = 10 + 10 + 10 = 30 nsM3 = 10 + 10 = 20 nsM4 = 10 ns
tmin.= máx. (M1, M2, M3, M4)tmin.= 30 nsf máx. = 1/30ns = 33,3 MHzf limite = 1/2. f máx = 16,7 MHz (Margem de segurança de 50%)
A A A0 2 0 2 6 4 0 4 12 8
B 1 3 C 1 3 7 5 1 5 13 9 DB C 3 7 15 11
2 6 14 10B
Material Registrado na Biblioteca Nacional 13
M1
M2
M3
M4
Lembrete: Como resolver mapas de Karnaugh rapidamente
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
2) Projeto Utilizando MUX.
a) MUX n1
min = M1=M2=M3=M4=20 ns fmáx=1 / min = 50 MHz fprático=fmáx / 2 = 25MHz
Material Registrado na Biblioteca Nacional 14
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
b)MUX (n-1)x1
M1 = M4 = 20 nsM2 =M3 = 30 ns (depende da porta NOT de D)min. = máx(M1, M2, M3, M4) = 30 nsfmáx. = 1 / min. = 33,3MHzfprático = fmáx / 2 = 16,7MHz
Material Registrado na Biblioteca Nacional 15
X Y M
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
3) Projeto usando Eprom
a) Eprom de tamanho maior ou igual a N bits de entrada x M bits de saída Tabela de Programação - obtida diretamente da Tab. Verdade.
b) Eprom de tamanho menor a N bits de entrada x M bits de saída (do circuito)
Material Registrado na Biblioteca Nacional 16
82A0
EPROM D0
D1
A2
CE RD
82A0
EPROM D0
D1
A2
CE RD
82A0
EPROM D0
D1
A2
CE RD
82A0
EPROM D0
D1
A2
CE RD
3/
BCD
ABC
Z1
Z2
Z1
Z2
Z3
Z4
Z3
Z4
Z1
Z2
Z3
Z4
A
3/
3/
3/
/ 3 / 3
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Tabela Verdade (técnica de Projeto Rápido!)
X Y MA B C D M1 M2 M3 M4
0 0 0 0 0 0 0 00 0 0 1 0 0 0 00 0 1 0 0 0 0 00 0 1 1 0 0 0 00 1 0 0 0 0 0 00 1 0 1 0 0 0 10 1 1 0 0 0 1 00 1 1 1 0 0 1 11 0 0 0 0 0 0 01 0 0 1 0 0 1 01 0 1 0 0 1 0 01 0 1 1 0 1 1 01 1 0 0 0 0 0 01 1 0 1 0 0 1 11 1 1 0 0 1 1 01 1 1 1 1 0 0 1
Tabela de Programação
B C D MEM 1 MEM 2 MEM 3 MEM 4A0 A1 A2 D0 D1 D0 D1 D0 D1 D0 D1
0 0 0 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 1 00 1 0 0 0 0 0 0 1 0 00 1 1 0 0 0 0 0 1 1 01 0 0 0 0 0 0 0 0 0 01 0 1 0 0 0 1 0 0 1 11 1 0 0 0 1 0 0 1 1 01 1 1 0 0 1 1 1 0 0 1
MEM1 = MEM2 = 200 ns
MEM3 = MEM4 =210 ns
MIN. = 210 ns
fmáx = 5 MHz flimite = 2,5 MHz
Material Registrado na Biblioteca Nacional 17
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Estudo das Máquinas Sequenciais de Estados Finitos (M.E.F.s) e suas implementações
Circuitos Sequenciais de Estados Finitos
São as implementações práticas das máquinas sequenciais de estados finitos (MEF's)
Existem dois modelos teóricos de MEF's que estudaremos
Modelo de MEALY Modelo de MOORE
MODELO DE MEALY
A MEF de MEALY é definida como a quíntupla ordenada M(Q,I,W, ,w) , onde
Q conjunto finito de estados internos da máquina MQI conjunto finito de entradas de MQW conjunto finito de saídas chamada a função de transição de M, é definida a partir de um subconjunto D C QI com saída (imagem) em Q.w chamada de função saída de M é definida a partir de um subconjunto Dw C QI com saída (imagem) em W.
Esquematicamente temos
Material Registrado na Biblioteca Nacional 18
Estados internos
W
Próximo estado
x W saídas Estado atual x entradas
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Ex.: Consideremos a seguinte MEF de MELY com a descrição:
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
Representação da MEF na forma tabular
TABELA DE TRANSIÇÃOEstado atual Entrada Próximo estado( ) Saída (w)
q1 i1 --- w1
q1 i2 q2 w2
q2 i1 q1 w1
q2 i2 q3 ---q3 i1 q2 ---q3 i2 q1 w2
Representação da MEF por diagrama de transição
Material Registrado na Biblioteca Nacional 19
Obs.: é a mudança de estado através de entrada, ou seja, a máquina está em um estado e depois desta entrada ele passa para um outro estado (estímulo externo).W depende do estado interno em que estammos saída entrada
i1/w1 i2/w2
q1
i1/w1
q2
i2/w2 i1/- i2/-
q3
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
MODELO DE MOORE
A MEF de MOORE é definida como a quíntupla ordenada ML(Q,I,W, ,w*) onde :
Q conjunto finito de estados internosI conjunto finito de entradasW conjunto finito de saídas chamada a função de transição de M, é definida a partir de um subconjunto D C QI com saída (imagem) em Q.w* chamada de função saída de M, é definida a partir de um subconjunto Dw* C D com saídas (imagem) em W.
Esquematicamente temos:
Representação da MEF por diagrama de transições
Teorema da equivalência" Fornecidas as condições de circunscrição de um circuito sequencial (de estados finitos) é sempre possível encontrar uma MEF de MEALY que resolva o mesmo de forma equivalente a MEF de MOORE e vice-versa. "
Material Registrado na Biblioteca Nacional 20
Próximo estado
Estado atual
I entradas
W saídas
w*
Q
q1/w1
q2/w1
q3/w2
i1
i2
i1
i2i2
i1
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Implementações eletrônicas práticas de Máquinas de Estados Finitos
As MEF's podem ser implementadas eletronicamente através de circuitos combinacionais e elementos de atraso, segundo o esquema a seguir.
Correspondência entre os modelos teóricos e sua implementação prática.
Para cada
ij cadeia de bits (X1, X2,… Xn)
2n M. Elementos I=n(I) n = INT(LOG2 n(I) +1)
qj Q cadeia de bits (Y1,Y2,Y3,…Yk) 2k n (Q) k = INT (LOG2 n(Q) +1)
wj W cadeia de bits (Z1,Z2,… Zm) 2m n (W) m = INT (LOG2 n(W) +1)
Na prática é interessante impor os instantes (cadência) em que as mudanças de estado ocorrem. Este fato, aliado ao tempo de resposta junto dos elementos combinacionais levam a utilização de estruturas onde a mudança de estado amostragem das entradas e definição de saídas ocorrem controladas por sinais de sincronismo.
Material Registrado na Biblioteca Nacional 21
w* X1
Entrada X2
Xm
Z1
Z2 Saída Zm
Y1
Y2
Y3
Y4
Y'1Y'2Y'3Y'4
Circuito Combinacional
Estado atual Próximo estado Elementosatraso
" idéia: ser capaz de simular
situações de aprendizagem."
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
MEF's síncronas
1. Controle de fluxo de entradas. Se 1(t) for gatilhado antes de 2(t) teremos uma outra combinação da entrada / estado atual (perderemos dados). As frequências são as mesmas, porém com defasagens diferentes (atraso).
2. Controlador de próximo estado para estado anterior.3. Depois que for definido o estado atual (estável), gatilha-se o amostrador (FFs) de saída
para formar de maneira estável a informação de saída (w).
1, 2, 3 mesma frequência
Exercícios de Implementação destacando a técnica de Projeto e de Dimensionamento de Performance serão estudados detalhadamente em Sala de Aula, bem como uma visão da
técnica de Projeto de MEFs assíncronas.
Material Registrado na Biblioteca Nacional 22
Circuito combinacional
RegD Q
RegD Q
RegD Q
X
n
X
n
Z
m
Z'
m
y' ky k
Estado atual Próximo estado
Entrada Saída
2(t)
1(t) 3(t)
1, 2 e 3 sinais de clock
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Engenharia Reversa de Circuitos
HistóricoDesenvolvimento da Eletrônica no JapãoCaso nos EUA da AMD x Intel
Níveis de Eng. Reversa existentes Hoje (1 a 4)
A importância dos Diagramas temporais relevantes, relacionamentos Entrada e Saída e como efetuar os levantamentos
Exemplos e Exercícios serão vistos em Sala de Aula para discutir de forma progressiva e estimular a aprendizagem das técnicas ótimas de Eng. Reversa dos Circuitos.
Estudo e Projeto de Sistemas Digitais Controlados
Objetivo: fornecer uma Metodologia e ferramenta Sistêmica ao Eng.o Eletrônico para Criar e Projetar qualquer Sistema Digital. Este estudo será elaborado através da seguinte divisão didática:
HistóricoDefiniçõesMetodologia de Projeto usando análise e especificação funcionalTreinamento de técnicas de especificação e detalhamento funcional de Sistemas DigitaisExercícios de Projeto com especificações que serão fornecidas numa ordem crescente de dificuldade e de aproximação ao ambiente real de trabalho na Eng.Definições e Discussões sobre o Projeto de Sistemas Digitais Computacionais
Material Registrado na Biblioteca Nacional 23
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Material Registrado na Biblioteca Nacional 24
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Material Registrado na Biblioteca Nacional 25
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Material Registrado na Biblioteca Nacional 26
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Material Registrado na Biblioteca Nacional 27
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Material Registrado na Biblioteca Nacional 28
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Material Registrado na Biblioteca Nacional 29
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Material Registrado na Biblioteca Nacional 30
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Material Registrado na Biblioteca Nacional 31
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Barramentos
Material Registrado na Biblioteca Nacional 32
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Material Registrado na Biblioteca Nacional 33
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Material Registrado na Biblioteca Nacional 34
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Material Registrado na Biblioteca Nacional 35
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Material Registrado na Biblioteca Nacional 36
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
PROJETO DE PROCESSADORES CISCMATERIAL DOS ENGENHEIRANDOS
Sumário:
1. Técnica Utilizada2. Definição de Processador3. Técnicas Pós-Von Neumann
Programa Armazenado
Pilha Subrotinas
Interrupção
4. Projeto de um Processador: o PAC-8
4.1 O PAC-8 como um Bloco do Computador
4.2 O PAC-8 Visto pelo Programador
4.3 O Fluxo de Dados do PAC-8
4.4 Circuitos do PAC-8
4.5 Controlador do PAC-8
LICCIARDI, Antonio Newton Jr. - Prof. Eng.o Revisão 2000
Material Registrado na Biblioteca Nacional 37
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
1. TÉCNICA UTILIZADA
2. DEFINIÇÃO DE PROCESSADOR
3. TÉCNICAS PÓS-VON NEUMANN
Programa Armazenado ( reg. PC) Pilha (stack) para armazenamento de dados e endereços (ponteiros) tipo LIFO
(reg. SP)
Subrotinas - para processamento repetitivo - criação das instruções CALL, RET e uso da estrutura de Pilha para armazenamento de pontos de retorno (ponteiro - reg. SP)
Esquematicamente, temos em termos Recursivos:
Interrupção - para dispositivos que necessitam ser "refrescados" com informações periodicamente (ex.: atualização de memória de VÍDEO e buffers de CRT, envio/recepção dados seriais, etc) - criamos o mecanismo de "geração" de interrupções para atendimento de dispositivos, a fim de aliviar dos programadores a preocupação de temporização dos programas.
Nota: já para um programa que só atenda controladores de comunicação do mesmo tipo por ex., podemos usar a técnica de POLLING, que dedica a CPU a ficar periodicamente solicitando informações aos Devices.
Material Registrado na Biblioteca Nacional 38
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Esquematicamente temos:
(*) Status - informação necessárias para continuidade do processamento:Ex.: Flags, Acumulador, PC,...
normalmente utilizamos a pilha (e reg. SP) para estas operações.
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 memória, deverá solicitar autorização (INTERRUPT, IOread, ...) ao processador.
Exemplos de barramento:
ISA (do PC ou PS - 1 ) - dedicado (por interrupcão)
MCA (do PS-2) - não dedicado (semafórico)
Material Registrado na Biblioteca Nacional 39
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
4. PROJETO DE UM PROCESSADOR: O PAC 8
Nesta seção apresentaremos o projeto de um processador a nível de registradores.
O objetivo da seção é ilustrar através de um exemplo prático um possível roteiro de trabalho.
Iniciaremos com as especificações do processador em termos de sua conexão com o exterior e de seu repertório de instruções. A seguir será detalhado um fluxo de dados para o processador.
Finalmente será discutida a temporização do processador e apresentada em detalhes uma unidade de controle para o mesmo.
4.1 O PAC-8 COMO UM BLOCO DO COMPUTADOR
Material Registrado na Biblioteca Nacional 40
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Os barramentos externos:
pedido de ciclo de espera : ready (entrando no PAC-8)
RESET: imposição de condições iniciais ao PAC-8 (entrada do PAC-8)
Comunicação do PAC-8 com o exterior
RESETUm pulso de nível alto de duração maior ou igual a TRESET ( a ser determinado) impõe condições iniciais de operação ao PAC-8. As condições iniciais são:
LEITURA DE MEMÓRIA
ESCRITA NA MEMÓRIA
LEITURA DE INTERFACE DE E/S
ESCRITA EM INTERFACE DE E/S
INTERRUPÇÕES
Para um pedido de interrupção, seja Vo o vetor fornecido pela interface correspondente o atendimento da interrupção consiste em uma chamada de subrotina com o endereço dado por 4*Vo
Material Registrado na Biblioteca Nacional 41
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
4.2 O PAC-8 VISTO PELO PROGRAMADOR
Do ponto de vista do programador, o PAC-8 é caracterizado por um conjunto de registradores, memória endereçável e interfaces de entrada e saída.
4.2.1 REGISTRADORES
AC [7..0] : acumuladorFLAGS [7..0] : FLAGS [7..3] = 00000
FLAGS [2] = INTE ( interrupções habilitadas) FLAGS [1] = CARRY ( transbordamento) FLAGS [0] = ZERO ( resultado nulo)
PC [15..0] : contador de programaSP [15..0] : ponteiro para pilha (stack pointer)
4.2.2 CONJUNTO DE INSTRUÇÕES
Notação:
Nas especificações abaixo será utilizada a seguinte notação:
M [0],..., M [ 65535] : palavras da memória
IO [0],...,IO[255] : interfaces de entrada e saída (comunicam-se c/
o PAC- 8 por palavras de 8 bits)
C16 : constante de 16 bits
C8 : constante de 8 bits
Material Registrado na Biblioteca Nacional 42
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Formato das Instruções
As instruções do PAC-8 são codificadas em sequências de 1 a 3 bytes.
a) Tipo "OP" - sem, operando explícito
b) Tipos "OP C8" operando de 8 bits.
c) Tipo "OP C16" - operando de 16 bits.
Instruções
a) Transferência de Dados
Mnemônico ComentárioLDA C16 AC <- M [C16]STA C 16 M [C16] <- AC
Mnemônico ComentárioLDSP C16 SP <- C16
PUSH M[SP] <- FLAGS;SP <- SP - 1;M [SP] <- AC;
SP <- SP - 1POP SP <- SP + 1;
AC <- M [SP];SP <- SP + 1
FLAGS <- M [SP]STC FLAGS[1] <- 1CLC FLAGS[1] <-0
Material Registrado na Biblioteca Nacional 43
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
b) Instruções Lógico-Aritméticas
Mnemônico ComentárioNOT AC <- NOT (AC) / ZINC AC <- AC + 1 / Z,CDEC AC <- AC - 1 / Z,CSHL AC[7..1] <- AC[6..0],
AC[0] <- 0SHR AC [6..0] <- AC [7..1],
AC [7] <- 0ANI C8 AC <- AC and C8 / ZORI C8 AC <- AC or C8/ZCPI C8 Z <- Z ( AC - C8)
C <- C (AC - C8)
Mnemônico ComentárioAND C16 AC <- AC and M [C16] /ZOR C16 AC <- AC or M [C16] /ZCMP C16 Z <- Z (AC - M [C16] ),
C<- C (AC - M [C16] )ADD C16 AC <- AC + M [C16] /ZCADC C16 if c = 1
AC <- AC + M [C16] + 1else
AC <- AC + M [C16]/ ZC
SUB C16 AC <- AC - M [C16] /ZCSBC C16 if c = 1
AC <- AC + M [C16] - 1else
AC <- AC - M [C16]/ ZC
Material Registrado na Biblioteca Nacional 44
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
c) Instruções para Controle do Programa
Mnemônico ComentárioJMP C16 PC <- C16JMPI C16 PC <- M [ C16]JZ C16 if Z = 1
PC <- C16
Mnemônico ComentárioJC C16 if c = 1
PC <- C16CALL C16
(*)M [SP] <- (PC + 2) [7..0];
SP <- SP - 1 ;M [SP] <- (PC + 2) [15..8];
SP <- SP -1,PC <- C16
RET SP <- SP + 1;PC [15..8] <- M [SP];
SP <- SP + 1;PC [7..0] <- M [SP]
d) Instruções de Entrada e Saída
Mnemônico ComentárioIN C8 AC <- IO [C8]OUT C8 IO [C8] <- AC
Material Registrado na Biblioteca Nacional 45
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
e) Instruções para Controle do Processador
Mnemônico ComentárioEI INTE
FLAGS [2] <- 1,Habilita Interrupções
DI FLAGS [2] <- 0Desabilita Interrupções
IRET SP <- SP + 1AC <- M (SP)SP <- SP + 1
RFLAGS <- M (SP)SP <- SP + 1
PCH <- M (SP)SP <- SP + 1
PCL <- M (SP)
4.3 O FLUXO DE DADOS DO PAC-8
O fluxo de dados do processador consiste no seus registradores, unidades funcionais como somadores e deslocadores, e vias de comunicação.
Para uma dada caracterização do processador através do seu conjunto de instruções e vias de comunicação com o exterior, a determinação do seu fluxo de dados não tem solução única. A qualidade dessa solução é grandemente influenciada pela experiência e pela habilidade do projetista. Apresentaremos a seguir um dos possíveis fluxos de dados compatíveis com as especificações do PAC-8 dadas anteriormente.
As figuras das próximas páginas indicam o fluxo de dados do PAC-8 e o detalhamento de cada um de seus blocos e unidades funcionais.
Material Registrado na Biblioteca Nacional 46
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
4.4 CIRCUITOS DO PAC-8
A UNIDADE LÓGICA ARITMÉTICA (ALU)
Material Registrado na Biblioteca Nacional 47
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
A unidade lógica aritmética é um circuito combinacional caracterizado pela seguinte tabela de operação:
TABELA DE OPERAÇÃO
F2 F1 F0 o7 o6 ... o0 C0 Z
0 0 0 A 0 o = 00 0 1 A and B 0 o = 00 1 0 A or B 0 o = 00 1 1 not A 0 o = 0
1 0 0 A + B A + B > 0FFh o = 01 0 1 A + B + CI A+B+CI > 0FFh o = 01 1 0 A - B A - B < 00h o = 01 1 1 A - B - CI A - B - CI < 00h o = 0
O CIRCUITO DO DESLOCADOR
O deslocador é constituído por um Multiplexador Octuplo de 4 entradas, obedecendo a seguinte tabela de operação:
Material Registrado na Biblioteca Nacional 48
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
TABELA DE OPERAÇÃO
TRANSFERÊNCIA OE S1 S0 OiInativo 0 X X Alta Imped.Direta 1 0 0 IiA
SHR - Shift Right 1 0 1 IiBSHL - Shift Left 1 1 0 IiC
ROL - Rotate Left 1 1 1 IiD
O CIRCUITO DO BLOCO RFLAGS
Material Registrado na Biblioteca Nacional 49
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
O CIRCUITO DO CONTADOR DE PROGRAMA
O CIRCUITO DO REGISTRADOR ESPECIAL MA
Material Registrado na Biblioteca Nacional 50
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
O CIRCUITO DO REGISTRADOR SP
O CIRCUITO DO REGISTRADOR AC
Material Registrado na Biblioteca Nacional 51
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
O CIRCUITO DO REGISTRADOR MD
O CIRCUITO DO REGISTRADOR DE INSTRUÇÕES
O CIRCUITO DO GERADOR DE CONSTANTES CG
Material Registrado na Biblioteca Nacional 52
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
4.5 DIAGRAMA DE SINALIZAÇÃO NÃO DETALHADO
Obs.:
Material Registrado na Biblioteca Nacional 53
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
INTFF - Flip Flop que lê o sinal de INT no atendimento a interrupções (salvamos PC, FLAGS e Acumulador e desabilitamos INT -- INTE = 0)
Área de Stack - idéia - localizar a mesma no fim da memória RAM. Aume
nto da pilha, decrementa SP
Material Registrado na Biblioteca Nacional 54
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Material Registrado na Biblioteca Nacional 55
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Material Registrado na Biblioteca Nacional 56
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Material Registrado na Biblioteca Nacional 57
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Material Registrado na Biblioteca Nacional 58
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Material Registrado na Biblioteca Nacional 59
Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.
Material Registrado na Biblioteca Nacional 60