sistemas digitais - cic.unb.brrjacobi/ensino/oac/sisdig.pdf · na representação digital, um valor...

Post on 09-Feb-2019

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Universidade de Brasília

Sistemas Digitais(recapitulando)

Organização e Arquitetura deComputadores

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

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

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

. . .

Objetivo

Operações sobre a informação

Processadores

FPGA

Circuitos integradosprogramáveis

Representação dainformação

Roteiro

Representaçãoda informação

Analógica

Digital

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.

Codificação de inteiros com sinal

Codificação de reais: ponto flutuante

Codificação de texto.

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.

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)

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.

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)

Código complemento de um

Problema na subtração

42

-19

23

00101010

11101100 +

100010110

1 +

00010111

00101010

-00010011

00010111

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.

Código complemento de dois

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

+0 = 00000000 (n = 8)

+57 = 00111001 (n = 8)

-57 = 11000111 (n = 8)

Código complemento de dois

42

-19

23

00101010

11101101 +

00010111

00101010

-00010011

00010111

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

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

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

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.

NOT

Inversão ou complementação lógica

aaaa

01

10

aa

aa

AND

Produto ou interseção lógica

a a2bb

a b a2b

0 0 00 1 01 0 01 1 1

ba

ORSoma ou união lógica

a b a+b

0 0 00 1 11 0 11 1 1

ba

b a + ba

a a+bb

EXCLUSIVE-OR ou XOR

babaz += b

aa b a+b

0 0 00 1 11 0 11 1 0

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

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

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

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

X Z

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

ZX

gate

dreno

fonte

Transistor MOS

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

NAND

1

0

Z

X1

X2

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.

Flip-flop D

Elemento mais comum para armazenamentode variáveis de estado

D

Ck

Q

D Q

Ck Q

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

0

1

QDCK

CkLOAD

D

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

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

ROM

PROM 16Kx16

• Mask ROM

• PROM

• EPROM

• EEPROM

RAM

•Static RAM(SRAM)

•dynamic RAM(DRAM)

64K x 18 Synchronous Cache RAM

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

Circuitos lógicos programáveis

• PLD (Programable Logic Device)

• CPLD (Complex Programable Logic Device)

• FPGA (Field-programable gate array)

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.

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

CLBs - configurable logic blocks

FPGA

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

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

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.

Leitura complementar

Organização Estruturada de Computadores

Capítulo 3 {3.1, 3.2, 3.3}

Andrew S. Tanenbaum

Prentice/Hall do Brasil

top related