Introdução Material de apoio: Daltrini, Beatriz M.; Jino, Mario; Magalhães, Leo P.; Introdução...

Preview:

Citation preview

Introdução

Material de apoio:

Daltrini, Beatriz M.; Jino, Mario; Magalhães, Leo P.; Introdução a Sistemas de Computação Digital , São Paulo MAKRON Books, 1999.

Mury, Antonio Carlos, Curso de Eletrônica Digital, ETE”FMC”, 1994.

Contribuidores da Wikipédia , História da Computação, pt.wikipedia.org/wiki/História_da_computação

2ª Semana # Organização de um Computador #Memória

RegistradoresInstruções de Máquina

Interfaces de Entrada e Saída

Máquina Analítica - 1834

Organização

Dos Computadores

1833 Charles Babbage = Estrutura Básica para Sistemas Computacionais Sistemas podem ser programados para executarem diferentes tarefas;

Transferência seqüencial de informações; Impossibilidade de ligar a CPU aos periféricos 1 a 1Via de Dados , Via de Endereços e Via de Controle;

Ada Augusta (Lady Lovelance) – Lord ByronConseitos : SubRotinas - Laços

O projeto, totalmente mecânico, era composto de uma memória, um engenho central, engrenagens e alavancas usadas para a transferência de dados da memória para o engenho central e dispositivos para entrada e saída de dados. O calculador utilizaria cartões perfurados e seria automático.

Organização

Dos Computadores

Von Neuman (1903 - 1957)

Unidade de

Controle

Unidade Lógica e

Aritmética

Memória I/O

VIA DE ENDEREÇOS

VIA DE DADOS

VIA DE CONTROLE

UCP

Organização

Dos Computadores

Unidade Central de Processamento : • Controle de Todo o Sistema;• Manipulação dos Dados;• Acessa e interpreta instruções do programa contido na memória;• Executa operações Lógicas e Aritméticas

Memória : • Armazena os Programas;• Armazena os Dados que serão manipulados;

Dispositivos de Entrada e Saída : • Conexão do computador com sistemas externos

Barramento de Dados : Linhas paralelas que permitem a comunicação bidirecional entre CPU, Memórias e Dispositivos de IO. Somente um dispositivo utiliza o barramento de cada vez.Barramento de Endereços : Linhas paralelas unidericionais pelas quais a CPU habilita qual dispositivo utilizará o barramento de dados.

Barramento de Controle : Linhas por onde trafegam os sinais de controle e sinalização do sistema.

Registradores

FlipFlops:

Tem apenas dois estados estáveis(1/0, Alto/Baixo) e possui a capacidade de reter seu estado.Tem dois estados de saída sendo um o complemento do outro.Pode ser sensível ao nível(estado da entrada) ou a mudança de nível(borda de subida ou descida).

Registrador é o elemento básico de memória em um sistema computacional.

Um registrador é a ligação de FlipFlops sincronizados pelo mesmo relógio. O conteúdo de cada FlipFlop normalmente está associado a um bit de informação.

Registradores

Nunca muda de estado se as entradas R(reset) e S(set) são 0. Com 0 na entrada S e um na entrada R passa para o estado Q(saída)=0. Com 1 em S e 0 em R passa para o estado Q=1. R e S em 1 não definem um estado

válido.

R S Q0 0 Q0

1 0 00 1 11 1 ND

Registradores

Funciona como uma unidade de atraso, sua saída Q apresenta o estado da entrada D anterior ao último pulso de clock. .

D Q0 D0

1 D0

Registradores

Funciona similarmente ao RS porém apresenta um clock e inverte seu ultimo estado quando apresentar ambas entradas em nível lógico 1.

J K Q0 0 Q0

1 0 10 1 01 1 Q0

Note que o FlipFlop D apresenta lógica baixa na entrada ao contrário do JK.

Operações

Considerando dois registradores (A e B) formados por n(tamanho da palavra) flipflops JK.

A transferência de informação de a para b será efetuada quando o sinal de clock global do sistema juntamente com o sinal de controle (MOVE A

-> B) ativarem o clock dos flipflops do registrador B, mantendo o conteúdo de A inalterado.

Com Registradores

Monte um circuito de transferência de 2 bits usando flipFlops JK.

Exercício 2.1®:

Operações

Considerando dois registradores (A e B) formados por n(tamanho da palavra) flipflops JK.

A transferência de informação de a para b será efetuada quando o sinal de clock global do sistema juntamente com o sinal de controle (MOVE A

-> B) ativarem o clock dos flipflops do registrador B, mantendo o conteúdo de A inalterado.

Com Registradores

Operações

A saída do registrador será complementada ao sinal de clok. Essa operação é executada, por exemplo, para realizar subtração em

circuitos somadores.

Com Registradores

Operações

Essa operação tem a propriedade de deslocar os bits de um registrador com flipflops ligados em cadeia. Costuma ser utilizado para operações

de multiplicação.

Com Registradores

Operações

Operações de incremento e decremento são muito utilizadas em sistemas computacionais, desde a contagem de posições em vetores à marcação de posição de execução de um programa. Um contador pode

ser controlado como crescente ou decrescente. Ainda pode ser síncrono ou Assincrono.

Com Registradores

Monte um contador BCD, isto é um incrementador que reset quando chegar em 1010.

Exercício 2.2:

Monte um circuito capaz de efetuar somas com sinal e multiplicação de dois números binários de 4 bits. Esse circuito poderá ainda operar comparação de magnitude(<,>,=). Use portas lógicas e flipflops a

vontade.

Exercício 2.3 **DESAFIO**:

Operações

Com Registradores

UCP

Unidade de

Controle

Unidade Lógica e

Aritmética

UCP

Unidade Central de Processamento :

• Unidade Lógica e Aritmética

• Unidade de Registros

•Unidade de Controle

Sistema hipotético:

Organização

Dos Computadores

Un. Lógica

e Aritmética

Definiremos um sistema hipotético que possui uma ULA que opera dois registradores de 8 bits (A e B) e possui outro (F) para apresentar a saída com os seguintes Controles: M, S1 e S2 seleciona a operação a ser executada conforme a tabela:

STA e STB carrega o conteúdo do barramento de Dados nos registradores A e B respectivamente.

OE carrega o conteúdo de F no barramento de Dados.

S0 S1 M=0 op.Aritméticas M=1 op.Lógicas0 0 F = A plus B AND0 1 F = A minus B OR1 0 F = A X B NOT1 1 F = A /B XOR

Un. de Registros

Registros A e B :Registros de Propósito geral: armazenam informações variadas a serem processadas:• LD : Carrega inf. Do bar. De dados.• OE Entrega o conteúdo armazenado para o bar. De dados

Registro RI:Registrador de Instruções: Armazena o código da instrução a ser executada.• LD : Carrega inf. Do bar. De dados.

Registro REM:Registrador de endereço de memória: Armazena o endereço de memória a ser acessado.

Un. de Registros

Registro PC:Contador de Programa: Armazena o endereço da próxima instrução a ser buscada na memória. É incrementado a cada busca.•CKEN : Habilita incremento pelo Clock do sistema .•PCldl e PCldh: Carrega informação do Bar. De dados, bits menos significativos e mais significativos respectivamente.

Registro PSW:Registrador de Status: Armazena informações relevantes ao funcionamento da UCP.

Un. de Controle

Unidade de Controle :É a unidade que controla a execução das instruções:• Extrai a instrução da memória principal.• Interpreta o Código de operação (na ROM).•Controla a execução da instrução pelo sequenciamento dos sinais de controle.

Recebe o código da instrução proveniente de RI e possui um sequenciador que incrementa os bits menos significativos de endereço da ROM executando assim as microinstruções :

Un. de Controle

Unidade de Controle :

Além dos controles:• M, S1, S0, STA, STB, OEalu => Unidade Lógica e Aritmética • Ckenpc, LDpch, LDpcl, LDa, OEa, LDb, OEb, LDri, Ldrem, CkenremComanda:•MREQ(habilita memória),IORQ(habilita i/o),RD(leitura do dispositivo), WR(escrita no dispositivo) .

Sistema hipotético:

Organização

Dos Computadores

Transferência de dados :Transfere dados ou blocos de dados entre os registradores, posições de memória e barramento de dados.• MOVE A, B

Tratamento de operandos:Realizam operações aritméticas ou lógicas.• ADD A, B

Un. de Controle

TIPOS DE INSTRUÇÕES

Instruções de desvio:Determinam desvio no fluxo do programa.• JMP, Jcond, JSR, RET

Entrada/Saída:Comunicação da UCP com interfaces de I/O.• IN port

Miscelânea:Instruções especiais de um processador em particular.

Un. de Controle

Fase de Busca(fetch) :É o ciclo de máquina para leitura do código de operação(c.o), a primeira palavra da instrução. O ciclo de busca é idêntico para qualquer instrução.

Fase de Execussão :São os ciclos de máquinas necessários para busca das palavras restantes da instrução e execução dessa. É diferente e compreende números de ciclos de máquina diferentes para cada instrução.

Ciclo de Máquina :É 1(UMA) seqüência de microoperações que são executadas caracterizando uma operação. A execução de instruções é dividida em ciclos de máquina.

Un. de Controle

•Instrução•Ciclo•Microprograma

•Microinstruçãoes•Microoperações•Microcomando

Organização

Dos Computadores

0000

00

Organização

Dos Computadores

0001

00

00 0000 05h

Organização

Dos Computadores

0002

00

0005h00

05h

05h

05h

Organização

Dos Computadores

0500

01

000500

053d

Organização

Dos Computadores

0501

01

000500

053d

3d

3d

3d

Organização

Dos Computadores

0000

01

000500

053d

3d

Organização

Dos Computadores

0001

01

012701

053d

3d

Organização

Dos Computadores

0002

01

012701

3d

3d

27

27

27

Organização

Dos Computadores

2700

02

012701

3d

3d

27

Organização

Dos Computadores

2701

02

012701

3d

3d

27

3d

3d

Organização

Dos Computadores

2702

02

026d02

3d

3d

27

3d

Organização

Dos Computadores

2703

02

026d02

3d

3d

27

3d

6d

6d

6d

Organização

Dos Computadores

2704

03

026d02

3d

3d

27

3d

6d

Organização

Dos Computadores

2705

03

026d02

3d27

3d

6d

9d9d

9d

Organização

Dos Computadores

0000

03

026d02

3d27

3d

6d

9d

9d

Organização

Dos Computadores

0000

03

026d02

3d27

3d

6d

9d

9d

Un. de Controle

   2: {    3:  int x,a;    4:  x = 20; C:0x0800    7F14     MOV      R7,#0x14    5:  x = x + 5; C:0x0802    7405     MOV      A,#0x05 C:0x0804    2F       ADD      A,R7 C:0x0805    FF       MOV      R7,A C:0x0806    E4       CLR      A C:0x0807    33       RLC      A    6:  a = x; C:0x0808    F508     MOV      0x08,A C:0x080A    8F09     MOV      0x09,R7    7: } C:0x080C    22       RET ...

  92: ?C_STARTUP:     LJMP    STARTUP1   93:   94:                 RSEG    ?C_C51STARTUP   95:   96: STARTUP1:   97:   98: IF IDATALEN <> 0 C:0x0000    020800   LJMP     STARTUP1(C:0800) C:0x0003    00       NOP C:0x0004    00       NOP ...

C:0x07FF    00       NOP   99:                 MOV     R0,#IDATALEN - 1 C:0x0800    787F     MOV      R0,#0x7F 100:                 CLR     A C:0x0802    E4       CLR      A 101: IDATALOOP:      MOV     @R0,A C:0x0803    F6       MOV      @R0,A 102:                 DJNZ    R0,IDATALOOP C:0x0804    D8FD     DJNZ     R0,IDATALOOP(C:0803) 151:                 MOV     SP,#?STACK-1

C:0x0806    758109   MOV      SP(0x81),#0x09 155:                 LJMP    ?C_START

Organização

Dos Computadores

Un. de Controle

Endereço de Retorno em PilhaAs pilhas normalmente são definidas dentro da própria memóriaO registrador SP(Stack Pointer) contém o endereço da 1ª posição livre na pilha.

Sub-Rotinas :

Endereço de Retorno junto à Sub-RotinaArmazena-se a primeira palavra para o endereço de retorno(DS).Chamada : JSR SUB (Sub está armazenada a partir da posição de memória endsub)

endsub <- (PC)

PC <- endsub +1

Retorno:

JUMP(SUB)

PUSH PC (SP) <- (PC)

SP <- (SP)+1

JUMP endsub

POP PC (SP) <- (SP)-1

PC <- ((SP))

Un. de Controle

Sub-Rotinas :

Passagem de perâmetros:

Por Registradores da UCP

Área associada à Sub-Rotina

Área associada ao Programa

Área Comum de Dados

Pilha

Un. de Controle

Interrupções :

PUSH PC

PUSH PSW

JUMP endsub

POP PC

POP PSW

CALL

RTI

Os “pinos de interrupção” da pastilha do processador estão ligados a um mecanismo interno que gera um salto para uma posição específica da memória. Essas linhas de memória são chamadas “reservadas” e só são utilizadas para o atendimento da interrupção.

Un. de Controle

Interrupções:

Mapemanto Interno:Gerador de Seqüência de Interrupções

Mapemanto Externo:Controlador de Interrupção (gera um sinal no pino de interrupção e após ACK

coloca o endereço de interrupção no barramento de dados)

Mapemanto Misto:Usado na maioria das arquiteturas modernas

Mecanismo de Polling:para vários dispositivos em uma mesma linha de

interrupção

Un. de Controle

Interrupções:

Organização dos endereços de Interrupção na Memória:

Posições Não Contíguas de Memória:

Interrupção Vetorizada: O Gerador de Sequência de Insterrupção deverá gerar os sinais

para gerar o salto(Push PSW,PC e JMP )

Mascaramento:Permite habilitação/desabilitação seletiva e sinais de

interrupção.

Mascaramento por Nível de Prioridade:

Memórias

Memórias:

Contem diversas posições cada uma das quais indicadas por um endereço, possui n linhas de endereços e 2n posições:

Memórias

Classificação das Memórias:

Volátil / Não Volátil:perde os dados se a alimentação do sistema for removida.

Acesso Seqüencial / Aleatório:a informação pode ser acessada diretamente , sem passar pelas

posições anteriores

Tempo de Acesso:é crucial para definir sua aplicação

Capacidade:Tamanho da palávra X número de endereços

Dinâmica / estática:Necessitam de “Refresh”

Memórias

ROM(Read Only Memory)

Mask-ROM:Informações vem de fábrica.

PROM (Programmable ROM):Programável pelo usuário mas apenas uma única vez.

Todos os bits vêm em 1 e após “queimado” vira 0.

EPROM(Erasable PROM):São reprogramáveis um por um número limitado de

vezes, são apagadas por ondas ultra-violeta.

EEPROM(Eletrically EPROM):São eletricamente reprogramáveis mas necessitam

de um circuito para prover os níveis de tensão que são bem diferentes dos usados em operação.

ICEEPROM(In Circuit Erasable PROM):São reprogramáveis no próprio circuito.

MagnéticaFlash....Dispositivos I/O

I/O

Dispositivos de Entrada e Saída

E/S isolada (I/O BUS):Barramentos logicamente distintos dos barramentos de acesso à

memória.

E/S Controlada por Hardware (DMA – Direct Memory Acces):Conexão direta entre memória e dispositivo.Transferência é feita em blocos de tamanho determinado.Burst – Cycle Stealing - Transparente.

E/S Mapeada em Memória (UNIBUS):Existe um único espaço de endereços tratados como de memória. A UCP

trata a I/O como se fosse uma célula de memória.

Comunicação Serial:Existe um único espaço de endereços tratados como de memória. A UCP

trata a I/O como se fosse uma célula de memória.

Comunicação Paralela:Existe um único espaço de endereços tratados como de memória. A UCP

trata a I/O como se fosse uma célula de memória.

Características

Dos

Microcontroladores

ADCSPI/I2CRTCTimerPWMWatch DogJTagEncapsulamentoISP

Recommended