46
Universidade de Brasília Sistemas Digitais (recapitulando) Organização e Arquitetura de Computadores

Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Embed Size (px)

Citation preview

Page 1: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Universidade de Brasília

Sistemas Digitais(recapitulando)

Organização e Arquitetura deComputadores

Page 2: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

WWWebster DictionaryMain Entry: in·for·mat·icsPronunciation: "in-f&r-'ma-tiksFunction: noun plural but singular in constructionEtymology: International Scientific Vocabulary information + -icsDate: circa 1967chiefly British : INFORMATION SCIENCE

Main Entry: information scienceFunction: nounDate: 1960: the collection, classification, storage, retrieval, and disseminationof recorded knowledge treated both as a pure and as an appliedscience

Page 3: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Petit RobertInformatiquen.f.Science de l’information; ensemble des techniques de la collecte,du tri, de la mise en memóire, de la transmission et de l’utilisationdes informations traitées automatiquemente à l’aide deprogrammes (logiciels) mis en œuvre sur ordinateurs.

Aurélio EletrônicoVerbete: informáticaS. f.1. Ciência que visa ao tratamento da informação através do uso deequipamentos e procedimentos da área de processamento dedados [q. v.]

Page 4: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Apresentar os dispositivos que permitemo armazenamento e a implementação deoperações envolvendo informação:

. . .

Objetivo

Page 5: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Operações sobre a informação

Processadores

FPGA

Circuitos integradosprogramáveis

Representação dainformação

Roteiro

Page 6: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Representaçãoda informação

Analógica

Digital

Page 7: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Na representação digital, um valor é representado poruma seqüência finita de símbolos chamados dígitos.O número e o tipo dos símbolos determina o custo e odesempenho da implementação física do sistemadigital.

O mais comum é o sistema binário, composto pelossímbolos 0 e 1. As seqüências de 1 dígito sãochamadas bits e as de 8 dígitos são chamadas bytes.

Page 8: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Codificação de inteiros com sinal

Codificação de reais: ponto flutuante

Codificação de texto.

Page 9: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Codificação de inteiros com sinal

Código sinal-módulo

Código complemento de um

Código complemento de dois

Se o bit mais significativo é zero, o número épositivo, se é 1, o número é negativo.

Page 10: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Código sinal-módulo

Com n bits

-(2n-1 - 1) ... +(2n-1 - 1)

+0 = 00000000 (n = 8)

-0 = 10000000 (n = 8)

+57 = 00111001 (n = 8)

-57 = 10111001 (n = 8)

Page 11: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Código complemento de um

O complemento de um, de um número binário,é igual ao inverso do número: todos os 1s donúmero são substituídos por 0s e vice-versa.

Nesta codificação, um número negativo érepresentado pelo complemento de um doequivalente positivo.

Page 12: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Código complemento de um

-(2n-1 - 1) ... +(2n-1 - 1)

+0 = 00000000 (n = 8)

-0 = 11111111 (n = 8)

+57 = 00111001 (n = 8)

-57 = 11000110 (n = 8)

Page 13: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Código complemento de um

Problema na subtração

42

-19

23

00101010

11101100 +

100010110

1 +

00010111

00101010

-00010011

00010111

Page 14: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Código complemento de dois

O código complemento de dois de um número binárioé igual ao complemento de um mais um.

Na representação de complemento de dois de inteiroscom sinal, um inteiro negativo é codificado pelocomplemento de dois do mesmo número positivo.

Page 15: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Código complemento de dois

-(2n-1) ... +(2n-1 - 1)

+0 = 00000000 (n = 8)

+57 = 00111001 (n = 8)

-57 = 11000111 (n = 8)

Page 16: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Código complemento de dois

42

-19

23

00101010

11101101 +

00010111

00101010

-00010011

00010111

Page 17: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Codificação de reais.Ponto flutuante

A seqüência de bits que representa um número deponto flutuante é dividida em três partes: sinal,mantissa e expoente

ponto_flutuante = ±1 x mantissa x 2expoente

Page 18: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Codificação de reais.Ponto flutuante

6.75 = 1_22 + 1_21 + 0_20 + 1_2-1 + 1_2-2

6.75 = 110.11 = + 1.1011 _ 2 2

0 1011000000 00010

Page 19: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Codificação de texto.ASCII: American Standard Code for Information Interchange

00001101 retorno

00100100 $

01000001 A

01100001 a

EBCDIC: Extended Binary Code Decimal Interchange Code

IBM

UNICODE . . .

Page 20: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Operações sobre a informação.Implementação de funçõeslógicas combinatórias

Uma porta lógica é o dispositivo físico que implementa umafunção lógica básica.

Como todas as funções lógicas podem ser expressas comocombinações de três operações (NOT, AND e OR), bastaconstruir portas lógicas destas três funções.

Qualquer outra função pode ser implementada por umacombinação destas portas.

Page 21: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

NOT

Inversão ou complementação lógica

aaaa

01

10

aa

aa

Page 22: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

AND

Produto ou interseção lógica

a a2bb

a b a2b

0 0 00 1 01 0 01 1 1

ba

Page 23: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

ORSoma ou união lógica

a b a+b

0 0 00 1 11 0 11 1 1

ba

b a + ba

Page 24: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

a a+bb

EXCLUSIVE-OR ou XOR

babaz += b

aa b a+b

0 0 00 1 11 0 11 1 0

Page 25: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Multiplexador

abkbakbakbakz 3210 +++=

Função universal

k0 = 0, k1 = 1, k2 = 1, k3 = 0: XOR

babaabbababaz +=+++= )(0)(1)(1)(0

k0 0k1 1k2 2k3 3

z

a b

a b z

0 0 k00 1 k11 0 k21 1 k3

Page 26: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Exemplo: Full adderUm somador completo é uma função lógica que realiza asoma de dois bits Xi e Yi, mais um bit para o carry-in Ci

(“vai um” de entrada). Produz um bit de resultado, Si, e umbit Ci+1 para o carry-out (“vai um” de saída). A adição dedois números de n bits é implementada pela conexão emcascata de n full adders:

Xn-1 Yn-1

Cn-1

Cn

Sn-1

full adder

X0 Y0

C0

S0

full adder

X1 Y1

C1

C2

S1

full adder

Page 27: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Na base de qualquer implementação de uma porta lógica,eletrônica ou outra, está a chave: dispositivo binário simplesno qual um sinal de entrada X comanda um sinal de saída Z.

Implementação de funçõeslógicas combinatórias

input X

output Z

Page 28: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Operações sobre a informação.Implementação de funçõeslógicas combinatórias

X Z

Page 29: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Operações sobre a informação.Implementação de funçõeslógicas combinatórias

ZX

gate

dreno

fonte

Transistor MOS

Page 30: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Operações sobre a informação.Implementação de funçõeslógicas combinatórias

NAND

1

0

Z

X1

X2

Page 31: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Operações sobre a informação.Sistemas seqüenciais

Diferentemente dos sistemas combinatórios, onde ainformação de saída em dado instante dependeexclusivamente da informação de entrada naquelemomento, o comportamento de sistemas seqüenciaisdepende da seqüência de entradas durante umperíodo de tempo.

Sistemas sequenciais síncronos utilizam um sinal chamadorelógio como referência de tempo.

Page 32: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Flip-flop D

Elemento mais comum para armazenamentode variáveis de estado

D

Ck

Q

D Q

Ck Q

Page 33: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

RegistradoresUm conjunto de flip-flops D compartilhando omesmo sinal de relógio é chamado registrador.

0

1

QDCK

CkLOAD

D

Page 34: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Máquina seqüencial

A síntese de uma máquina seqüencial se reduz à síntese de doissistemas combinatórios, as funções f e δδδδ:

estado_futuro = f (estado_presente, entradas)

saídas = δδδδ (estado_presente, entradas)

δδδδ

fflip -flops

saídas

estado_presente

entradas

estado_futuro Ck

Page 35: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Operações sobre a informação.MemóriasMatriz bi-dimensional utilizada para armazenar bitsde informação. Cada linha da memória, identificadapor um endereço único, é chamada word. O acesso àinformação, tanto na entrada (write) quanto na saída(read) é feito palavra por palavra.

• ROM (Read-Only Memory): não volátil

• RAM (Random-Access Memory): volátil

Page 36: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

ROM

PROM 16Kx16

• Mask ROM

• PROM

• EPROM

• EEPROM

Page 37: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

RAM

•Static RAM(SRAM)

•dynamic RAM(DRAM)

64K x 18 Synchronous Cache RAM

Page 38: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

PIC: Circuitos integradosprogramáveis

Full-custom(ASIC)

Hand-made

Standard cells

Maskprogramable

Fieldprogramable

Gate array

ROM

PROMPALPLA

CPLDFPGA

Semi-custom

Standard

ASIC: Application Specific Integrated Circuits

Page 39: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Circuitos lógicos programáveis

• PLD (Programable Logic Device)

• CPLD (Complex Programable Logic Device)

• FPGA (Field-programable gate array)

Page 40: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

PLD Programable Logic Device

circuito lógico combinatório

AND array OR array

produtos lógicos

entradas saídas

Toda função lógica pode ser expressa como uma soma dem produtos.

Uma porta OR de m entradas e m portas AND de até n entradassão suficientes para implementar qualquer função lógicacombinatória.

Page 41: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

FPGA Field-programable gate arrayArray de células lógicasnuma infraestrutura deinterconexões.

CLBs - configurable logic blocks

Page 42: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

FPGA

Page 43: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

ProcessadoresUm processador é um recurso de hardware necessário para aexecução de um algoritmo para processamento de informação.

• Unidade de controle. Seqüenciamento do algoritmo.

• Unidade de processamento. Memória (registradores) eelementos de processamento (operadores).

unidadede

controle

unidadede

processamento

entrada de dados

saída de dados

entradas de controle

saídas de controle

controles

estadoCk

Page 44: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

ExemploDiagrama de blocos de um processador: componentes típicos

dataocountmasktemp

and+

shifter

comparador

lógicacombinatória

flip -flops

Ck

data ≠≠≠≠ 0status signal

controle20

32

6

start

done

inport

outport

Page 45: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Referências

Mange, D., Tomassini, M. (1998) Bio-Inspired ComputingMachines. Towards Novel Computation Architectures. Capítulo2. Presses polytechniques et universitaires romandes.

Prof. Dr. Rainer Brück http://www.rs.uni-siegen.de/institut/courses/fpga/script_en/page1.html, UniversitätGH Siegen, Institut für Rechnerstrukturen.

Page 46: Sistemas Digitais - cic.unb.brrjacobi/ensino/OAC/SisDig.pdf · Na representação digital, um valor é representado por ... circuito lógico combinatório AND array OR array produtos

Leitura complementar

Organização Estruturada de Computadores

Capítulo 3 {3.1, 3.2, 3.3}

Andrew S. Tanenbaum

Prentice/Hall do Brasil