Sie sind auf Seite 1von 13

Universidade Federal de Pelotas

Instituto de Fsica e Matemtica Departamento de Informtica


Bacharelado em Cincia da Computao

Arquitetura e Organizao de Computadores I


Aula 2
1. Projeto da Arquitetura e da Organizao de um Computador: o Neander Prof. Jos Lus Gntzel
guntzel@ufpel.edu.br www.ufpel.edu.br/~guntzel/AOC1/AOC1.html

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)

ComputaoUFPel Arquitetura e Organizao de Computadores I

slide 2.2

Prof. Jos Lus Gntzel

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)

ComputaoUFPel Arquitetura e Organizao de Computadores I

slide 2.3

Prof. Jos Lus Gntzel

1. O Computador Hipottico Neander


A Arquitetura: conjunto de instrues
instruo NOP STA end LDA end ADD end OR end AND end NOT JMP end JN end JZ end comentrio Nenhuma operao MEM(end) AC AC MEM(end) AC MEM(end) + AC AC MEM(end) OR AC AC MEM(end) AND AC AC NOT AC PC end IF N=1 THEN PC end IF Z=1 THEN PC end

ComputaoUFPel Arquitetura e Organizao de Computadores I

slide 2.4

Prof. Jos Lus Gntzel

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

ComputaoUFPel Arquitetura e Organizao de Computadores I

slide 2.5

Prof. Jos Lus Gntzel

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

ComputaoUFPel Arquitetura e Organizao de Computadores I

slide 2.6

Prof. Jos Lus Gntzel

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
ComputaoUFPel Arquitetura e Organizao de Computadores I

slide 2.7

Prof. Jos Lus Gntzel

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?
ComputaoUFPel Arquitetura e Organizao de Computadores I

slide 2.8

Prof. Jos Lus Gntzel

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
ComputaoUFPel Arquitetura e Organizao de Computadores I

slide 2.9

Prof. Jos Lus Gntzel

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 LDA 128 ADD 129 ADD 130 STA 131 HLT comentrio 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

ComputaoUFPel Arquitetura e Organizao de Computadores I

slide 2.10

Prof. Jos Lus Gntzel

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 codificanao em linguagem de mquina seria
simblico LDA 128 ADD 129 ADD 130 STA 131 HLT decimal 32 128 48 129 48 130 16 131 240 hexa 20 80 30 81 30 82 10 83 F0

ComputaoUFPel Arquitetura e Organizao de Computadores I

slide 2.11

Prof. Jos Lus Gntzel

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

ComputaoUFPel Arquitetura e Organizao de Computadores I

slide 2.12

Prof. Jos Lus Gntzel

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

ComputaoUFPel Arquitetura e Organizao de Computadores I

slide 2.13

Prof. Jos Lus Gntzel

Das könnte Ihnen auch gefallen