projeto de sistemas computacionais / computadores

93
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

Upload: antonio-newton-licciardi-jr

Post on 07-Mar-2015

114 views

Category:

Documents


3 download

DESCRIPTION

Curso/Material desenvolvido para o Ensino de Projeto de Sistemas Computacionais, Computadores, focados na formação de Engenharia Eletrônica e de Computação. Ele aborda os aspectos tecnológicos e históricos que envolvem o desenvolvimento de ambientes computacionais.

TRANSCRIPT

Page 1: Projeto de Sistemas Computacionais / Computadores

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

Page 2: Projeto de Sistemas Computacionais / Computadores

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:

Page 3: Projeto de Sistemas Computacionais / Computadores

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!!!

Page 4: Projeto de Sistemas Computacionais / Computadores

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

Page 5: Projeto de Sistemas Computacionais / Computadores

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.

Page 6: Projeto de Sistemas Computacionais / Computadores

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

Page 7: Projeto de Sistemas Computacionais / Computadores

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

Page 8: Projeto de Sistemas Computacionais / Computadores

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..

Page 9: Projeto de Sistemas Computacionais / Computadores

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

Page 10: Projeto de Sistemas Computacionais / Computadores

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

Page 11: Projeto de Sistemas Computacionais / Computadores

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.

Page 12: Projeto de Sistemas Computacionais / Computadores

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

Page 13: Projeto de Sistemas Computacionais / Computadores

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

Page 14: Projeto de Sistemas Computacionais / Computadores

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

Page 15: Projeto de Sistemas Computacionais / Computadores

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

Page 16: Projeto de Sistemas Computacionais / Computadores

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

Page 17: Projeto de Sistemas Computacionais / Computadores

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

Page 18: Projeto de Sistemas Computacionais / Computadores

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

Page 19: Projeto de Sistemas Computacionais / Computadores

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

Page 20: Projeto de Sistemas Computacionais / Computadores

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

Page 21: Projeto de Sistemas Computacionais / Computadores

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."

Page 22: Projeto de Sistemas Computacionais / Computadores

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

Page 23: Projeto de Sistemas Computacionais / Computadores

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

Page 24: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Material Registrado na Biblioteca Nacional 24

Page 25: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Material Registrado na Biblioteca Nacional 25

Page 26: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Material Registrado na Biblioteca Nacional 26

Page 27: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Material Registrado na Biblioteca Nacional 27

Page 28: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Material Registrado na Biblioteca Nacional 28

Page 29: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Material Registrado na Biblioteca Nacional 29

Page 30: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Material Registrado na Biblioteca Nacional 30

Page 31: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Material Registrado na Biblioteca Nacional 31

Page 32: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Barramentos

Material Registrado na Biblioteca Nacional 32

Page 33: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Material Registrado na Biblioteca Nacional 33

Page 34: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Material Registrado na Biblioteca Nacional 34

Page 35: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Material Registrado na Biblioteca Nacional 35

Page 36: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Material Registrado na Biblioteca Nacional 36

Page 37: Projeto de Sistemas Computacionais / Computadores

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

Page 38: Projeto de Sistemas Computacionais / Computadores

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

Page 39: Projeto de Sistemas Computacionais / Computadores

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

Page 40: Projeto de Sistemas Computacionais / Computadores

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

Page 41: Projeto de Sistemas Computacionais / Computadores

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

Page 42: Projeto de Sistemas Computacionais / Computadores

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

Page 43: Projeto de Sistemas Computacionais / Computadores

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

Page 44: Projeto de Sistemas Computacionais / Computadores

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

Page 45: Projeto de Sistemas Computacionais / Computadores

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

Page 46: Projeto de Sistemas Computacionais / Computadores

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

Page 47: Projeto de Sistemas Computacionais / Computadores

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

Page 48: Projeto de Sistemas Computacionais / Computadores

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

Page 49: Projeto de Sistemas Computacionais / Computadores

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

Page 50: Projeto de Sistemas Computacionais / Computadores

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

Page 51: Projeto de Sistemas Computacionais / Computadores

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

Page 52: Projeto de Sistemas Computacionais / Computadores

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

Page 53: Projeto de Sistemas Computacionais / Computadores

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

Page 54: Projeto de Sistemas Computacionais / Computadores

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

Page 55: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Material Registrado na Biblioteca Nacional 55

Page 56: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Material Registrado na Biblioteca Nacional 56

Page 57: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Material Registrado na Biblioteca Nacional 57

Page 58: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Material Registrado na Biblioteca Nacional 58

Page 59: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Material Registrado na Biblioteca Nacional 59

Page 60: Projeto de Sistemas Computacionais / Computadores

Projeto de Sistemas Computacionais – Prof. Antonio Newton Licciardi Jr.

Material Registrado na Biblioteca Nacional 60