Você está na página 1de 21

Universidade Federal de Pelotas

Centro de Desenvolvimento Tecnolgico


Bacharelado em Cincia da Computao Engenharia de Computao

Arquitetura e Organizao de Computadores I


Aula 1
1. Reviso da Arquitetura e da Organizao do Neander Prof. Luciano Volcan Agostini
agostini@inf.ufpel.edu.br

1. O Computador Hipottico Neander


A Arquitetura: caractersticas gerais
Largura de dados e endereos de 8 bits Dados representados em complemento de 2 1 acumulador de 8 bits (AC) 1 apontador de programa de 8 bits (PC) 1 registrador de estado com 2 cdigos de condio: negativo (N) e zero (Z)

Computao UFPel Arquitetura e Organizao de Computadores I

Slide 2

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


A Arquitetura: conjunto de instrues
cdigo 0000 0001 0010 0011 0100 0101 0110 1000 1001 1010 1111 instruo NOP STA end LDA end ADD end OR end AND end NOT JMP end JN end JZ end HLT comentrio Nenhuma operao Armazena acumulador (store) Carrega acumulador (load) Soma OU lgico E lgico Inverte (complementa) acumulador Desvio incondicional (jump) Desvio condicional (jump on negative) Desvio condicional (jump on zero) Trmino de execuo (halt)

Computao UFPel Arquitetura e Organizao de Computadores I

Slide 3

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


A Arquitetura: conjunto de instrues
instruo NOP STA end comentrio Nenhuma operao MEM(end) AC

LDA end
ADD end OR end

AC MEM(end)
AC MEM(end) + AC AC MEM(end) OR AC

AND end
NOT JMP end JN end JZ end

AC MEM(end) AND AC
AC NOT AC PC end IF N=1 THEN PC end IF Z=1 THEN PC end

Computao UFPel Arquitetura e Organizao de Computadores I

Slide 4

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


A Arquitetura: formato das instrues
As instrues do Neander possuem um ou dois bytes (ou seja, ocupam uma ou duas posies de memria)
Instrues com um byte: NOP, NOT
7 cdigo da oper. 4 3 dont care 0

Instrues com dois bytes: STA, LDA, ADD, OR, AND, JMP, JN, JZ

7 cdigo da oper.

4 3 dont care

endereo direto

Computao UFPel Arquitetura e Organizao de Computadores I

Slide 5

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


A Arquitetura: modos de endereamento
memria

Somente o modo de endereamento direto (tambm chamado de absoluto) A palavra que segue o cdigo da instruo contm o endereo de memria do operando Exemplo: uma instruo ADD

24 25

ADD

131

instruo

endereo do operando (endereo direto)

131

66

operando

Computao UFPel Arquitetura e Organizao de Computadores I

Slide 6

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


A Arquitetura: cdigos de condio
A ULA do Neander fornece os seguintes cdigos de condio, os quais so usados pelas instrues JN e JZ

N (negativo): sinal do resultado de uma operao na ULA


se o resultado da ULA for negativo, N=1 Caso contrrio, N=0

Z (zero): indica resultado igual a zero


Se o resultado da ULA for zero, Z =1 Caso contrrio, Z=0
Computao UFPel Arquitetura e Organizao de Computadores I

Slide 7

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


A Arquitetura: programao
Programa e os dados estaro armazenados na memria Deve ser escolhida uma rea de programa e uma rea de dados A rea de programa no deve invadir a rea de dados e vice-versa

Vamos convencionar que a rea de programa ocupa a metade inferior dos endereos e a rea de dados ocupa a metade superior
Alis, qual o tamanho de memria que o Neander consegue enderear?
Computao UFPel Arquitetura e Organizao de Computadores I

Slide 8

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


A Arquitetura: programao
O Neander usa 8 bits para enderear (=largura de endereo de 8 bits)
Logo, ele consegue acessar qualquer endereo do intervalo:
00000000 a 11111111 (em binrio)

0 a 255 (em decimal)


0H a FFH (em hexadecimal)

Ento, iremos adotar a seguinte diviso da memria do Neander:


rea de programa: posio 0H at 7FH rea de dados: posio 80H at FFH
Computao UFPel Arquitetura e Organizao de Computadores I

Slide 9

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


A Arquitetura: programao
Exemplo de programa: um programa que soma o contedo de 3 posies consecutivas da memria e armazena o resultado na quarta posio.
simblico comentrio

LDA 128
ADD 129 ADD 130 STA 131 HLT

Acumulador (AC) recebe o contedo da posio 128


Contedo de AC somado ao contedo da posio 129 Contedo de AC somado ao contedo da posio 130 Contedo de AC armazenado (copiado) para a posio 131 Processador pra

Computao UFPel Arquitetura e Organizao de Computadores I

Slide 10

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


A Arquitetura: programao
Os programas podem ser editados em linguagem de mquina (em hexa ou em decimal), depurado e executado usando o simulador/depurador do Neander A codificao em linguagem de mquina seria
simblico LDA 128 decimal 32 128 hexa 20 80

ADD 129
ADD 130 STA 131 HLT

48 129
48 130 16 131 240

30 81
30 82 10 83 F0

Computao UFPel Arquitetura e Organizao de Computadores I

Slide 11

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


A Arquitetura: programao
Exerccio 3, pgina 53 do livro. Faa um programa para subtrair duas variveis de 8 bits representadas em complemento de dois. O resultado deve aparecer na posio de memria consecutiva s ocupadas pelas variveis.

posio 128: minuendo posio 129: subtraendo posio 130: resultado

Computao UFPel Arquitetura e Organizao de Computadores I

Slide 12

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


A Arquitetura: programao
Outro exerccio. Faa um programa que determina qual a maior dentre duas variveis positivas de 8 bits, representadas em complemento de dois e aramazenadas em posies consecutivas da memria. A maior das variveis dever ser armazenada na posio subseqente s variveis testadas.
posio 128: primeira varivel posio 129: segunda varivel posio 130: maior das duas variveis

Computao UFPel Arquitetura e Organizao de Computadores I

Slide 13

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


A Organizao: alguns elementos necessrios
Um registrador de 8 bits para servir de acumulador
Um registrador de 8 bits para o PC (registradorcontador) Dois flip-flops: um para o cdigo de condio N e outro para Z Uma memria de 256 posies (endereos) x 8 bits

Computao UFPel Arquitetura e Organizao de Computadores I

Slide 14

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


A Arquitetura: o ciclo de busca (fetch)

Busca instruo

Decodifica instruo

Executa/ Busca operandos

Computao UFPel Arquitetura e Organizao de Computadores I

Slide 15

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


Aquitetura/Organizao: transferncias entre regs.
A fase de busca: igual para todas as instrues
RI MEM(PC)

PC PC + 1

Novo elemento necessrio: o registrador de instruo (RI)


MEM(PC)

corresponde a um acesso memria, usando o contedo do PC como fonte do endereo

Computao UFPel Arquitetura e Organizao de Computadores I

Slide 16

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


Aquitetura/Organizao: transferncias entre regs.
Instruo NOP (nenhuma operao)
Simblico: NOP RT: Passos no nvel RT:
Busca:
Execuo:
7 4 3 0

NOP

Dont care

RI MEM(PC)
PC PC + 1 nenhuma operao

As transferncias indicam quais caminhos de dados devem existir, mas no indicam os caminhos fsicos reais entre os elementos (registradores e ULA)
Computao UFPel Arquitetura e Organizao de Computadores I

Slide 17

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


Aquitetura/Organizao: transferncias entre regs.
Instruo STA (armazena acumulador)
Simblico: STA end RT: MEM(end) AC Passos no nvel RT:
Busca: RI MEM(PC) PC PC + 1
7 4 3 0

STA end

Dont care

Execuo:

end MEM(PC)
PC PC + 1 MEM(end) AC

Computao UFPel Arquitetura e Organizao de Computadores I

Slide 18

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


Aquitetura/Organizao: transferncias entre regs.
Instruo LDA (carrega acumulador)
Simblico: LDA end RT: AC MEM(end) Passos no nvel RT:
Busca: Execuo: RI MEM(PC) PC PC + 1 end MEM(PC) PC PC + 1 AC MEM(end); atualiza N e Z
7 4 3 0

LDA end

Dont care

Computao UFPel Arquitetura e Organizao de Computadores I

Slide 19

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


Aquitetura/Organizao: transferncias entre regs.
Instruo ADD (soma)
Simblico: ADD end RT: AC MEM(end) + AC Passos no nvel RT:
Busca: Execuo: RI MEM(PC) PC PC + 1 end MEM(PC) PC PC + 1 AC AC + MEM(end); atualiza N e Z
7 4 3 0

ADD end

Dont care

Computao UFPel Arquitetura e Organizao de Computadores I

Slide 20

Prof. Luciano Volcan Agostini

1. O Computador Hipottico Neander


Organizao
PC
7 0
INC PC

CARGA PC

SEL

8
0 1

CARGA REM

REM
7 0

Unidade de Controle
N S L O T D P A A 0 1 2

8
...
. . .

H L T 15

decodificador cdigo

CARGA RI

1
LDA NOT OR AND ADD

RI
7

dont care
4 3 0

8
CARGA AC

CARGA N/Z

Memria 0 1 2 3 4 5 6 :::: :::: 253 254 255

READ

WRITE

NZ
S Z N

U A L
Y

AC
7 0

8
Slide 21

RDM
7
CARGA RDM

Computao UFPel Arquitetura e Organizao de Computadores I

Prof. Luciano Volcan Agostini