You are on page 1of 31

UNIVERSIDADE ESTCIO DE S

GRADUAO TECNOLOGICA
ANLISE E DESENVOLVIMENTO DE SISTEMAS

ATIVIDADES ESTRUTURADAS
ORGANIZAO DE COMPUTADORES

Aluno:
Hiroche Mendes dos Anjos MAT: 201301105988
Matria e Turma: CCT0006-3015

ATIVIDADES ESTRUTURADAS

ATIVIDADES ESTRUTURADAS
UNIVERSIDADE ESTCIO DE S
ORGANIZAO DE COMPUTADORES
RIO DE JANEIRO RJ
PROF.: LZARO

ATIVIDADE ESTRUTURADA 1
1) Pesquisar as caractersticas do processador Neander-X e responda as
seguintes questes:
a) Quantos bits so utilizados para representar uma instruo?
So utilizados 08 bits.
b) Quantos bits so utilizados para representar um endereo?
So utilizados 08 bits.
c) Como so representados os nmeros inteiros negativos?
Os nmeros negativos so representados como N(negativo),1- resultado
negativo, 0- resultado no negativo.
d) Quantas instrues podem existir?
Podem existir 15 instrues.
e) Qual o tamanho mximo de memria enderevel?
O Neander usa uma memria de 256 posies (endereos) x 8 bits para
enderear (= largura de endereo de 08 bits),logo, ele consegue acessar
qualquer endereo do intervalo:
- 00000000 a 11111111 (em binrio)
- 0 a 255 (em decimal)
- 0 M a FFH ( em hexadecimal).
Com isso temos, a seguinte diviso de memria
- rea programada posio 0M at 7FH
- rea de dados posio 80H at FFH.
f) Quais so os registradores disponveis?
Os registrados disponveis so: 1 registrador de estado com 2 cdigos de
condio:negativo(N) e zero (Z).
g) Qual o formato de uma instruo?
Os formatos so: uma linha pode conter alguns dos seguintes elementos: um
rtulo, um operador ou uma pseudo-instruo, um operando opcional e
comentrios. So permitidas linhas vazias.
Instrues com 1 byte (NOP,NOT)

Instrues com 2 byte (STA,LDA,ADD,OR,AND,JMP,JN,JZ)

2) Pesquisar a funo dos simuladores e comparar o simulador NeanderWin


(simulador do processador Neander-X) com outro a sua escolha.

Funo dos simuladores


Buscar um melhor entendimento sobre o funcionamento dos
processadores de forma bem simples para possibilitar a implementao de
rotinas aritmticas simples (adio e subtrao) e a programao de rotinas
relativamente complexas (multiplicao e diviso).
Facilitar ao mximo as atividades didticas do professor e o apoio mais
completo possvel para as dificuldades comuns do aluno.
Sendo criado um ambiente integrado para desenvolvimento, que executa em
Windows e Linux incluindo:
# Editor de textos;
# Montador (assembler);
# Simulador da arquitetura;
# Visualizador da memria simulada;
# Ferramenta de apoio ao aprendizado de instrues;
# Utilitrio para converses de bases;
# Simulador de visor painel de chaves;
# Gerador /carregador de imagem da memria simulada.
Com isso os alunos tm diversas experincias prticas como os
simuladores, buscando nesse processo muito mais que apresentar conceito
terico e nomenclatura, mas conduzir o aluno a uma viso abrangente e em
pequena medida, criticar sobre a estrutura e o conjunto de instrues, que
permita gerar a curiosidade para estudos futuros mais aprofundados.

Comparao do Simulador Neanderwin e o Simulador Ramses.

Neanderwin
Apresentao
O NeanderWin um simulador da mquina Neander. A mquina original
foi estendida nesse simulador para incluir algumas instrues para carga de
dados imediatos no acumulador e operaes de entrada e sada de dados para
dois dispositivos mapeados em nosso simulador: um teclado e um visor.
Algumas caractersticas do processador Neander so:

Largura de dados e endereos de 8 bits;


Dados representados em complemento a dois;
Acumulador de 8 bits (AC);
Apontador de instrues de 8 bits (PC);
Registrador de cdigo de condio com 2 bits: negativo (N) e zero (Z).

O NEANDER um computador muito simples, desenvolvido apenas para


fins didticos. Processadores modernos so muito mais complexos que
NEANDER. Entretanto, mesmo processadores utilizados nas mais sofisticadas
estaes de trabalho so baseados nos conceitos elementares que se
aprender com o NEANDER.
O NEANDERWIN estende o conjunto de instrues do NEANDER e
oferece uma interface de programao amigvel, com a entrada do cdigo em
representao simblica, com diversas facilidades para o programador, que
tornam muito mais fcil o uso do processador NEANDER como ferramenta de
ensino. Esto disponveis verses tanto para o sistema operacional Windows e
Linux. O cdigo fonte est disponvel mediante solicitao.
O NEANDER s possui um modo de endereamento: o modo direto
(muitas vezes tambm chamado de absoluto). No modo de endereamento
direto, a palavra que segue o cdigo da instruo contm, nas instrues de
manipulao de dados, o endereo de memria do operando. Nas instrues
de desvio, esse endereo corresponde posio de memria onde est a
prxima instruo a ser executada.
O NEANDERWIN foi estendido para ter mais dois modos de
endereamento: imediato e indireto.

Diagrama em Blocos
A seguir apresentamos o diagrama em blocos do processador NEANDER:

Listagem geral das instrues


As instrues podem ter um ou dois bytes. Nas instrues com apenas
um byte, os 4 bits mais significativos contm o cdigo da operao. Nas
instrues com dois bytes, que no Neander so aquelas que fazem referncia a
um operando na memria, o segundo byte contm o endereo de memria
deste operando.

4
Cdigo

0
No utilizados

endereo direto
Nota: Os 4 bits de mais baixa ordem do primeiro byte so reservados para futuras
expanses. Existem tambm dois cdigos que no tm instrues associadas.
Cdigo binrio Instruo Descrio
0000
NOP
nenhuma operao
0001
STA ender armazena acumulador (store)
0010
LDA ender carrega acumulador (load)
0011
ADD ender Soma
0100
OR ender operao lgica ou
0101
AND ender operao lgica e
0110
NOT
inverte (complementa) acumulador
1000
JMP ender desvio incondicional (jump)
1001
JN ender
desvio condicional (jump on negative)
1010
JZ ender
desvio condicional (jump on zero)
1011
JNZ ender desvio condicional (jump on not zero)
1100
IN ender
operao de entrada no dispositivo ender
1101
OUT ender operao de sada no dispositivo ender
1110
LDI imed carrega o valor imediato imed no acumulador
1111
HLT
trmino da execuo (halt)

'NOP' cdigo 0
O comando NOP no realiza nenhuma operao. usado apenas para
gastar tempo.
'STA ender' cdigo 1
O comando STA guarda o acumulador na posio de memria indicada
pelo operando ender.
'LDA ender' cdigo 2
O comando LDA atribui ao acumulador o contedo da posio de memria
indicada pelo operando ender.
'ADD ender' cdigo 3
O comando ADD soma ao acumulador o contedo de uma posio de
memria indicada pelo operando ender.
'OR ender' cdigo 4
O comando OR realiza um "ou" lgico entre o acumulador e o contedo de
uma posio de memria indicada pelo operando ender.
'AND ender' cdigo 5
O comando AND realiza um "e" lgico entre o acumulador e o contedo de
uma posio de memria indicada pelo operando ender.
'NOT' cdigo 6
O comando NOT inverte os bits do acumulador.
'JMP ender' cdigo 8
O comando JMP (jump) desvia a execuo do programa para o endereo
indicado pelo operando ender.
'JN ender' cdigo 9
O comando JN (jump if negative) desvia a execuo do programa para o
endereo indicado pelo operando ender, apenas quando a ltima operao
realizada produziu um valor com o bit 7 ligado (negativo).
'JZ ender' cdigo 10

O comando JZ (jump if zero) desvia a execuo do programa para o


endereo indicado pelo operando ender, apenas quando a ltima operao
realizada produziu um valor zero.
'JNZ ender' cdigo 11
O comando JNZ (jump if not zero) desvia a execuo do programa para o
endereo indicado pelo operando ender, apenas quando a ltima operao
realizada produziu um valor diferente de zero.
'IN ender' cdigo 12
O comando IN (input) traz para o acumulador o valor lido num dispositivo
externo indicado pelo operando ender. No Neanderwin os dispositivos so:
chaves (endereo 0) e o status de "dado disponvel" das chaves (endereo 1).
'OUT ender' cdigo 13
O comando OUT (output) descarrega o contedo do acumulador em um
dispositivo externo indicado pelo operando ender. No Neanderwin o nico
dispositivo disponvel um visor (endereo 0).
'LDI imed' cdigo 14
O comando LDI (load immediate) carrega no acumulador o valor dado
pelo operando imed.
'HLT' cdigo 15
O comando HLT (halt) para a mquina.
Modos de Endereamento:
- imediato
O segundo byte da instruo o operando.
A nica instruo que usa este modo de endereamento a LDI.
- direto
O segundo byte da instruo o endereo de memria do operando.
- indireto
O segundo byte da instruo contm o endereo de memria onde est o
endereo do operando (ou seja, o segundo byte da instruo o endereo do
ponteiro para o operando). Para indicar que um operando indireto, deve-se
preced-lo pela letra "@" (arrba) Veja na figura 01.

memria
endereo

operando

Figura 01

Comentrios no programa:
Os comentrios so comeados por ponto e vrgula, e podem tambm
ocorrer no final das linhas de instrues.
Pseudo Instrues
ORG ender
A pseudo-instruo ORG (origin) indica ao montador que a prxima
instruo ser colocado na posio ender de memria.
var EQU imed
A pseudo-instruo EQU (equate) atribui um nome (rtulo) a um
determinado valor.
Esse comando frequentemente usado para especificar variveis que so
posicionadas em um endereo especfico de memria. Por exemplo para
posicionar a varivel x no endereo 100 use: X EQU 100
END ender
A pseudo-instruo END indica que o programa fonte acabou.
O operando ender usado para pr-carregar o PC com o endereo inicial
de execuo do programa.
DS imed
A pseudo-instruo DS (define storage) reserva um nmero de palavras
na memria definido pelo valor imed.
DB imed
A pseudo-instruo DB (define bytes) carrega esta palavra com o valor
dado pelo operando imed.

Exemplos de programao
Vamos considerar, como exemplo, um programa que realiza a soma de 3
posies consecutivas da memria e armazena o resultado numa quarta
posio. Inicialmente, devem ser escolhidas a rea de dados e a rea de
programa, ou seja, a localizao das instrues e dados na memria. No
existem critrios para essa escolha, mas deve ser observado que rea de
programa no pode invadir a rea de dados e vice-versa. Ou seja, para esse
programa, foi escolhida uma alocao de memria de tal forma que o programa
ocupe a metade inferior da memria e os dados a metade superior, como
segue:
rea de programa incio do programa posio 0 (0H)
rea de dados primeira parcela posio 128 (80H)

Segunda parcela posio 129 (81H)


Terceira parcela posio 130 (82H)
Resultado posio 131 (83H)
O programa possvel seria:
Simblico
Comentrios
X
EQU
128
;
Endereo
da
varivel
X
Y
EQU
129 ;
Endereo
da
varivel
Y
W
EQU
130;
Endereo
da
varivel
W
Z EQU 131
; Endereo da varivel Z definido como 131

definido
definido
definido

ORG
LDA
ADD
ADD
STA
HLT

contedo
de
ao
contedo
de
ao
contedo
de
copiado
para

0
X;
acumulador
Y;
contedo
de
W;
contedo
de
Z;
contedo
; processador pra

A
A
A
de

recebe
somado
somado
A

como
como
como

128
129
130

X
Y
W
Z

Esse programa pode ser editado em linguagem de montagem,


depurado e executado usando o simulador/depurador NEANDERWIN.

Ramses
Caractersticas Bsicas:

Largura de Dados de 8 bits : O tamanho dos dados transmitidos no


Barramento 8 bits (256 variaes);
Endereos de 8 bits: A arquitetura permitira referenciar ate 256 posies na
memria;
Dados Representados em Complemento de 2 o que permite a sejam
atribudos nmeros negativos.;
2(dois) Registradores de Uso geral com tamanho de 8 bits.
- Registrador A .Cdigo 00.

- Registrador B .Cdigo 01.

1(um) Registrador de ndice X de 8 bits. Cdigo 10.

1(um) Apontador de programa de 8 bits. PC. Marcando a prxima instruo a


ser executada pelo processador.

1(um) Registrador de Estado com 3(trs) estados possveis:


N - Negativo.
Z - Zero.
C - Carry.

Modos de Endereamento:
- Direto
- Indireto
- Imediato
- Indexado

Endereamento Direto (Absoluto):

memria
instruo
endereo

operando

Endereamento Indireto:

memria
instruo
endereo

endereo

operando

. Endereamento Imediato:

memria
instruo
operando

. Endereamento Indexado:

instruo

Reg. X
endereo

memria

deslocamento

+
operando

FORMATO DAS INTRUES:


Cdigo
Hexadecim
al

Cdigo
Decimal

Instruo

Operao

00

00

NOP

---

16

10

STR r end

Men(end):=r

32

20

LDR r end

r:=Men(end)

48

30

ADD r end

r:=Mem(end)+r

64

40

OR r end

r:=Mem(end) or r

80

50

AND r end

r:=Mem(end) and r

96

60

NOT r

r:=NOT(r)

112

70

SUB r end

r:=r-Men(end)

128

80

JMP end

PC:=end

144

90

JN end

Se N=1 PC:=end

160

A0

JZ end

Se Z=1 PC:=end

176

B0

JC end

Se C=1 PC:=end

192

C0

JSR end

Mem(end):=PC ,
PC:=end+1

208

D0

NEG r

r:= - r

224

E0

SHR r

r:= r / 2

240

F0

HLT

---

COMENTRIOS :
NOP : Nunhuma Operao .
STR r end : Armazena no Endereo 'end' o conteudo do resgistrador 'r'.
LDR r end : Carrega o conteudo do endereo 'end' no Registrador 'r'.
ADD r end : Soma o valor no que est no endereo 'end' ao que est no
Registrador 'r', armazenando o resultado em 'r'.
OR r end : Realiza um "or" Bit a Bit entre o valor de 'end' e o valor de r,
armazenado o resultado em r.
AND r end : Realiza um "and" Bit a Bit entre o valor de 'end' e o valor de r,
armazenado o resultado em r.
NOT r : Realiza uma inverso binria do valor de r.
SUB r end : Subtrai o valor contido em end do registrador r.
JMP end : executa apartir da instruo que esta em 'end'.
JN end : Caso o Valor do estado N for igual a 1', executa apartir da instruo que
esta em 'end'.

JZ end : Caso o Valor do estado Z for igual a 1', executa apartir da instruo que
esta em 'end'.
NEG r : Atribui a r o valor do seu simtrico.
SHR r : Atribui a r o valor da sua metade ou desloca seus bits para a direita.
HLT : Fim do Programa.
TABELA DE ENDEREAMENTO:
Cdig
o

Tipo de
Endereamento

Mnemnico

00

Direto

01

Indireto

n,I

10

Imediato

#n

11

Indexado

n,X

Endereamento Direto : dado o endereo na memria do qual o valor ser


utilizado.
Ex : ADD A 115
Somar o valor contido no endereo 115 ao valor do restrador A.
Endereamento Indireto : dado o 'Alias'(Apelido, Codinome) do endereo na
memria do qual o valor ser utilizado.
Ex : ADD A 115,I
Somar 115 ao valor do restrador A.
Endereamento Imediato : informado diretamente o valor que ser utilizado.
Ex : ADD A #115
Somar 115 ao valor do restrador A.
Endereamento Indexado : dado uma sentena que ir indicar a posio na
memria a ser utilizada.
Ex : ADD A 115,X
Somar o valor contido no endereo 115 mais o valor do registrador x ao valor do
registrador A.

Modo de endereamento

memria
instruo
endereo

operando

TABELA DE REGISTRADORES:
Codig Registrad
o
or

Descrio

00

RA

Registrador Geral

01

RB

Registrador Geral

10

RX

Registrador de
ndice

11

---

Nenhum
Registrador
Selecionado

Simulador NeanderWin
Foi criado com intenes didticas, extremamente simples. Os processadores
modernos so muito mais complexos que o Neander, mas estes processadores
utilizados nas mais modernas mquinas de trabalho so baseados nos
conceitos elementares do Neander.
Nota: O NEANDER um computador muito simples sendo utilizado apenas
para estudos devido a sua limitao.

Comparao entre os dois processadores:

Neander
Instrues: 11*n + 8
Leituras: 27*n + 18
Escritas: 4*n
Ramses
Instrues: 5*n + 6
Leituras: 10*n + 13
Escritas: 1
Para n=30:
Instrues - Neander 338 x Ramses 156
Acessos - Neander 951 x Ramses 314

Referncias
http://www.ulbra.inf.br/joomla/images/documentos/TCCs/2011_01/TCCII_CC_FrancisSherer.pdf
http://www.inf.pucrs.br/flash/orgarq/aulas/ramses/Ramses-Instrucoes.ppt
http://equipe.nce.ufrj.br/gabriel/estacio/Neander3.pdf

ATIVIDADE ESTRUTURADA 2
Aprendizagem do NeanderWin: Criao e Execuo de Programas
a ) Executar o download do simulador
Referncia: http://www.dcc.ufrj.br/~gabriel/neander.php
b ) Identificar as partes do simulador descrevendo um breve roteiro de como
gerar e executar um programa.
Na Figura 01 abaixo mostramos a aparncia da tela principal do sistema
NeanderWin. Na parte superior esto o menu geral de operao (Arquivo,
Editar, etc...) e diversos botes usados em conjunto com o editor de textos, que
seguem o estilo usual de programas.

Figura 01 - Tela principal do NeanderWin

1) EDITOR DE TEXTOS: esquerda, onde os cdigos dos programas so


escritos.
2) PAINEL: onde so mostrados os dispositivos de entrada e sada. Simulados
com oito chaves e um visor em formato hexadecimal (16). Com alguns botes
que controlam a execuo desse simulador.
3) INSTRUES E REGISTRADORES: Praticamente todas as funes so
exibidas nesta caixa da tela.
4) VISUALIZADOR DE MEMRIA: localizado direita, mostra os valores
armazenados nas posies da memria.
Mais abaixo, est o painel do simulador, em que so mostrados os dois
dispositivos de entrada e sada (8 chaves e um visor em formato hexadecimal),
e diversos botes para controle de execuo.
Imediatamente abaixo, esquerda, est o editor de textos, no qual o
programa do aluno digitado ou criado interativamente atravs de uma funo
para criao tutorada de programas (menu tutor de programao).
direita desta rea se situam os verificadores dos registros e flags
principais da CPU (ACC, PC, Zero e Negativo), e abaixo o visualizador da
memria, com controles para alterao de contedo.
Uma vez criado o programa ele ser compilado, o que provoca o
aparecimento de uma janela pop-up com a listagem, num formato similar
maioria dos montadores profissionais, em que tambm so indicados nos
eventuais erros de compilao.
O programa compilado se reflete na alterao da memria, que
imediatamente exibida no painel correspondente. possvel copiar o contedo
desta janela para a rea de transferncia, para colar em algum editor (como o
Word ou Bloco de Notas) possibilitando eventuais embelezamentos.

c) Listar as instrues disponveis com o respectivo formato e descrio:

'NOP' cdigo 0
O comando NOP usado apenas para gastar tempo.
'STA ender' cdigo 1
O comando STA guarda o acumulador na posio de memria
indicada pelo operando ender.
'LDA ender' cdigo 2
O comando LDA atribui ao acumulador o contedo da posio de
memria indicada pelo operando ender.
'ADD ender' cdigo 3
O comando ADD soma ao acumulador o contedo de uma posio
de memria indicada pelo operando ender.
'OR ender' cdigo 4
O comando OR realiza um "ou" lgico entre o acumulador e o
contedo de uma posio de memria indicada pelo operando ender.
'AND ender' cdigo 5
O comando AND realiza um "e" lgico entre o acumulador e o
contedo de uma posio de memria indicada pelo operando ender.
'NOT' cdigo 6
O comando NOT inverte os bits do acumulador.
'JMP ender' cdigo 8
O comando JMP (jump) desvia a execuo do programa para o
endereo indicado pelo operando ender.
'JN ender' cdigo 9
O comando JN (jump if negative) desvia a execuo do programa
para o endereo indicado pelo operando ender, apenas quando a ltima
operao realizada produziu um valor com o bit 7 ligado (negativo).
'JZ ender' cdigo 10
O comando JZ (jump if zero) desvia a execuo do programa para
o endereo indicado pelo operando ender, apenas quando a ltima operao
realizada produziu um valor zero.
'JNZ ender' cdigo 11
O comando JNZ (jump if not zero) desvia a execuo do programa
para o endereo indicado pelo operando ender, apenas quando a ltima
operao realizada produziu um valor diferente de zero.
'IN ender' cdigo 12
O comando IN (input) traz para o acumulador o valor lido num
dispositivo externo indicado pelo operando ender. No Neanderwin os
dispositivos so: chaves (endereo 0) e o status de "dado disponvel" das
chaves (endereo 1).

'OUT ender' cdigo 13


O comando OUT (output) descarrega o contedo do acumulador
em um dispositivo externo indicado pelo operando ender. No Neanderwin o
nico dispositivo disponvel um visor (endereo 0).
'LDI imed' cdigo 14
O comando LDI (load immediate) carrega no acumulador o valor
dado pelo operando imed.
'HLT' cdigo 15
O comando HLT (halt) para a mquina.
Elabore um programa que execute a soma de duas variveis de 8 bits
representadas em complemento a dois.
Considere as posies (em decimal) a seguir:
Inicio do programa: 0
Inicio da rea de dados: 128
Posio da 1 varivel: 128
Posio da 2 varivel: 129
Posio do resultado: 130
PRODUTO/RESULTADO:
O resultado desta atividade ser um relatrio que descreva todo o
processo alm do programa requisitado e o respectivo resultado atravs de um
print da tela do simulador.

Programa:
;--------------------------------------------------; Programa:
; Autor:
; Data:
;--------------------------------------------------ORG 0
X EQU 128
Y EQU 129
W EQU 130
;carrega primeiro operador em comp de 2

LDI 02
OUT 00
STA X
;carrega segundo o operador em comp de 2
LDI 03
OUT 00
STA Y
;efetua a soma entre 2 operadores e guarda no terceiro
LDA X
ADD Y
STA W
OUT 00
HLT
Na Figura 2, vemos a execuo do programa e a simulao realizao. Foi
realizada uma soma 32+5=37.

Figura 2 - Tela principal do NeanderWin com exemplo feito


Na parte esquerda, vemos a execuo do programa

Simblico
X EQU 128
Y EQU 129
W EQU 130

Comentrios
Endereo da varivel X definido como 128
Endereo da varivel Y definido como 129
Endereo da varivel W definido como 130

ORG 0
LDA X
ADD Y
STA W
HLT

Acumulador A recebe contedo de X


Contedo de A somado ao contedo de Y
Contedo de A copiado para W
Processador pra

Soluo:
X=32
Y=5
W=37(resposta)
Identificao das partes do simulador Neander
Na janela Programa:
A seta ao lado da coluna de endereos indica o endereo da instruo
que ser executada (PC). Observe que, por padro o programa comea no
endereo 0.
No canto inferior direito h uma pequena caixa de texto onde dever ser
inserido o cdigo numrico em decimal da instruo que ir ocupar o endereo
apontado pela seta verde (PC). Por exemplo, no nosso programa, seria a
instruo LDA 128. Logo se preenche 32 (cdigo da instruo LDA).
No canto inferior esquerdo, em vermelho, h uma caixa de texto
denominada BP. Nesta caixa permitida a voc a insero de um endereo de
memria (instruo, 0 a 127) onde ocorrer um breakpoint durante a execuo
do programa.
Na janela Dados:
Corresponde aos endereos de memria situados entre [128..255] e
destinado ao preenchimento de valores nos endereos das variveis e das
constantes do programa na rea de dados da memria do Neander. O
preenchimento feito atravs da caixa de texto no canto inferior direito da
janela Dados.
Na janela Neander:
Nesta janela so mostrados os valores (contedo dos registradores PC
e AC), os bits N e Z, sob a forma de apagado (0) e aceso (1). Na caixa
denominada Execuo o nmero de execues e instrues do programa
carregado exibido. Na caixa Instruo um decodificador para as instrues

mostra o valor numrico dos 16 bits dessa instruo (8bits+8bits) e o seu


significado no cdigo. A exibio pode ser feita em decimal [0..9] ou
hexadecimal [0..F].
O simulador permite tambm que um arquivo seja salvo no formato.
MEM (exclusivo dele) ou no formato texto.TXT. Porm, a abertura
(carregamento) de um arquivo salvo s possvel no formato. MEM.

Lista das instrues do Neander


NOP 00 Nenhuma operao.
STA 16 end Armazena acumulador (store).
LDA 32 end Carrega acumulador (load).
ADD 48 end Soma.
OR 64 end ou Lgico.
AND 80 end e Lgico.
NOT 96 inverte (complementa) acumulador.
JMP 128 end desvio incondicional (jump).
JN 144 end desvio condicional (jump on negative).
JZ 160 end desvio condicional (jump on zero).
HLT 240 trmino de execuo (halt).

ATIVIDADE ESTRUTURADA
Anlise Comparativa: Neander-X com um Processador Comercial
O Neander-X no utilizado comercialmente. Escreva um relatrio que
compare o Neander a um processador comercial (voc pode escolher!)
demonstrando o porqu deste processador ser apenas acadmico.
RESPOSTA:
Realizar um comparativo dos processadores educativos com os
comerciais beira um abismo tecnolgico enorme, pois estes possuem
caractersticas e processamento muitas vezes superiores.
O NEANDER um computador muito simples, desenvolvido apenas
para fins didticos. Processadores modernos so muito mais complexos que
NEANDER. Entretanto, mesmo processadores utilizados nas mais sofisticadas
estaes de trabalho so baseados nos conceitos elementares que se aprende
com o NEANDER.
Tomamos como exemplo, microprocessadores da linha da Intel
codinome Gulftown um projeto da linha de processadores de Multi-Core
(vrios ncleos de processadores) e o Gerao 4 - Processador Core i7.
Vamos descrever todas as caractersticas de funcionamento e as novidades
desenvolvidas e compar-la com o processador NeanderX na concluso.
Faremos um breve detalhamento sobre sua tecnologia e suas
caracterstica e capacidades.
Introduo ao processador Intel Core - Gulftown

O microprocessador Gulftown da Intel um processador hexa-core, da


famlia Westmere. Liga-se num socket LGA1366 e possui 12 Mio de memria
cache L3[1]. O primeiro Gulftown o Core i7 980X[1] a 3.33 GHz. Sendo um
processador ideal para fins comerciais, assim desempenhando varias funes
ao mesmo tempo, dando aos usurios a total flexibilidade de suas atividades.
Construdos com um processo de 32nm (gerao Westmere), os
processadores Gulftown so processadores de 6 ncleos de processamento
que integram tecnologia HyperThreading (algo esquecida com o lanamento
dos Core 2 Duo 6 cores, 12 threads) e com velocidades de 2,4GHz.
Como os mais recentes processadores da Intel no mercado, este processador
ter tambm o Turbo Boost que aumenta automaticamente o desempenho (ou
seja, aumenta a velocidade do processador) em conformidade com a
necessidade de processamento.

Ter tambm 6x256KB de Cache L2 e 12MB de Cache L3, controlo


integrado de memria DDR3 em triple channel, sendo compatveis com as
atuais plataformas com o chipset X58 e o socket LGA-1366, j utilizadas pelos
Bloomfield Core i7. O processador tem um UDP de 130 Watts.
Agora, vamos fazer um descritivo sobre famlia de processadores Core
i7. Faremos um breve detalhamento sobre sua tecnologia e suas caracterstica
e capacidades.

Introduo ao processador Intel Core i7

O chip Intel Core i7 o mais novo rebento de uma famlia de gnios da


computao. O primeiro da linhagem foi o 4004, chip
lanado em 1971 e usado numa das primeiras
calculadoras eletrnicas. O 8008, de 1974, estrearam
num computador. Depois veio o Intel 8080,
empregado num PC da IBM em 1982. Ainda nos
sobrenomes de nmeros, houve o 80286, depois o 80386 e o 80486. O
sobrenome do Core i7 Nehalem (o nome dado arquitetura do chip).
Apesar de serem todos da famlia Intel, os chips so muito diferentes de
uma gerao para outra. A capacidade de processamento do Core i7
tremendamente maior. Enquanto o 8080 tinha 6.000 transistores, o Core i7 tem
731milhes deles.

Em relao aos chips atuais, o Core i7 tem a vantagem de suportar trs canais
de memria. Isso gera um ganho de desempenho de 50% em relao
arquitetura com dois canais.
Cada ncleo de um i7 pode cuidar de duas tarefas (threads) ao mesmo tempo.
Como ele tem quatro ncleos, o sistema operacional pensa que est
trabalhando com oito ncleos.

Vamos explicar como funciona a arquitetura Nehalem, que permite ao Core i7


ter tanta capacidade de processamento.
A arquitetura Nehalem

A arquitetura Nehalem, a base da famlia de processadores Core i7,


considerada pela Intel um dos maiores avanos dos ltimos anos e faz parte da
filosofia tick-tock da fabricante. Explicando: o tick foi a mudana do processo
de fabricao de 65nm (nanmetros) para 45nm. A primeira famlia dessa
gerao foi chamada de Penryn. O tock a Nehalem o redesenho interno
do chip. O prximo tick uma nova reduo no tamanho dos transistores, que
tero 32nm.
Mas o que a torna to especial, a ponto de arrancar suspiros dos apaixonados
por tecnologia e at dos usurios mais fanticos por desempenho?

Divulgao Intel
Processador Intel Core i7

Antes de mergulhar nesse mar de bits, importante entender um conceito


fundamental. Quase todo processador pr-Nehalem possui um sistema de
comunicao chamado FSB (Front Side Bus), ou barramento. Ele trabalha em
uma frequncia, medida em Mhz. Quando a CPU faz um pedido memria via
FSB, primeiro a requisio chega ao chamado North Bridge, um controlador
prximo ao chip que faz a traduo do pedido para a memria. Depois o Bridge
devolve a resposta, tambm decifrada, para o processador. Esse processo leva
tempo (depende da freqncia de operao do FSB) e tornou-se um gargalo
com a evoluo das memrias, cada vez mais velozes.

Um dos maiores pulos do gato da nova arquitetura foi trazer o controlador da


memria, o tal North Bridge, para dentro do chip. A concorrente AMD j havia
feito isso em sua linha A64, mas cometeu alguns erros de design fatais. A Intel
aprimorou o conceito e aposentou o FSB. Os Core i7 tm dois barramentos: um
para ligar o processador RAM e outro de entrada/sada, que faz a
comunicao com os outros dispositivos do micro. Assim, o desempenho
melhora por dois motivos. Primeiro, porque agora h caminhos independentes
para o trfego de dados. Depois, porque o acesso memria ficou mais veloz,
pois o chip no mais obrigado a conversar antes com um controlador externo,

o North Bridge.
O novo barramento se chama QuickPath Interconnect (QPI) e oferece dois
caminhos (transmisso e recepo dos dados) para o chip se comunicar com
outros dispositivos ou processadores no caso de servidores com mais de um
i7 instalado.
O controlador integrado suporta trs canais de memria. Cada canal pode ser
formado por um, dois ou trs pentes de memria RAM no padro DDR3, o
nico aceito. Em resumo, isso gera um ganho de desempenho de 50% em
relao arquitetura com dois canais (dois ou quatro pentes), como hoje. A
expectativa que muitas placas-me para i7 tenham seis bancos (slots), ou
seja, trs canais. Com isso, um consumidor extremamente exigente poder ter
uma mquina com incrveis 12GB de memria (6 pentes de 2GB). O ideal
instalar trs ou seis pentes no PC, para gerar o mximo de desempenho.
O desenho interno do processador tambm mudou. Os Core i7 so single die
(blocos nicos). Dentro de cada bloco, ficam os quatro ncleos (cores), o
controlador da RAM e a cache uma memria de altssimo desempenho junto
aos ncleos. H trs nveis de cache. O L1 separado para cada ncleo
32KB para dados e 32KB para instrues, ou 256KB ao todo (64KB vezes 4).
No nvel seguinte (L2), h mais 256KB por ncleo, totalizando 1MB (1024KB).
Por fim, o L3 de 8MB compartilhado por todos.
Essa hierarquia de memrias cache serve para agilizar o trabalho dos ncleos.
As instrues mais urgentes vo para a L1. A L3 serve como uma cpia de
segurana da L2, replicando os dados desta. Assim, se um ncleo precisa da
mesma informao que outro, ele busca nessa biblioteca pblica em vez de
perder tempo fuando na prateleira particular de outro core.
Outro recurso interessante o Turbo Boost. Ele permite que cada ncleo
ativo aumente sua freqncia de operao, em incrementos de 133Mhz por
vez, at atingir o limite trmico e eltrico determinado. Isso funciona tanto para
colocar o processador a todo vapor, como para ele economizar energia quando
no h muito trabalho. A idia que as verses do i7 para notebooks sejam
capazes de zerar o consumo dos ncleos desocupados.
Cada ncleo de um i7 pode cuidar de duas tarefas (threads) ao mesmo tempo.
Assim, o sistema operacional pensa que est trabalhando com oito ncleos.
Isso especialmente til com aplicativos desenvolvidos para dividir as tarefas
entre eles.
Por fim, mudanas no modo como os ncleos tratam as instrues (as ordens
dos aplicativos) permitem que os Core i7 processem, na maior parte do tempo,
cinco comandos por ciclo, em vez de quatro dos antecessores.
CONCLUSO

A quantidade limitada de instrues do Neander exige que se utilizem


muito mais linhas de comando para a execuo de programas, requerendo
tambm uma quantidade maior de acessos (leituras e escritas). Isso faz com
que processamentos no Neander demorem muito mais que em outros
processadores comerciais, o que praticamente inviabiliza processamentos
mais elaborados. Este o motivo do Neander no ser utilizado
comercialmente. Porm, devido a ele atender a todas as funes bsicas para
o entendimento de um processamento, a ser gratuito e a ser de fcil acesso,
ele bastante utilizado no mundo acadmico.
Referncias
http://www.intel.com/portugues/products/processor/corei7/index.htm

You might also like