organização de computadores

Upload: stefanny-fernandes

Post on 13-Oct-2015

246 views

Category:

Documents


1 download

TRANSCRIPT

1

FACULDADE ESTACIO DE S Organizao de Computadores

AlunosFlorivaldo Alves

ATIVIDADE ESTRUTURADA: Estudo do Processador Neander X.

Recife - PE2014Projeto de Sistemas de Informao

PROJETO DE SISTEMAS DE INFORMAO: (TRABALHO COMPLEMENTAR PARA A AV2 DA DISCIPLINA ORGANIZAO DE COMPUTADORES).

Trabalho para o Curso de Sistemas de Informao da Faculdade Estcio de S como requisito da disciplina Organizao de Computadores, Professor avaliador: Gabriel Fernandes.

Recife - PE2014

RESUMO

O propsito deste trabalho apresentar o uso do simulador que permita a compreenso do funcionamento do processador, fundamental para o ensino adequado de arquitetura de processadores, as questes que seguem mostram um pouco da arquitetura do Neander-X. O simulador apresentado estende o conjunto de instrues inicialmente proposto e torna disponvel um ambiente integrado de desenvolvimento, onde o aluno pode editar, compilar e executar o cdigo de programas escritos na linguagem de montagem do processador Neander-X.

SUMARIO

1. INTRODUO1 2. EXERCCIOS23. EXERCCIOS EXTRAS84. CONCLUSO155. BIBLIOGRAFIA16

1. INTRODUO

Um dos problemas encontrados no ensino de arquitetura de computadores fazer com que os alunos compreendam corretamente o funcionamento de um processador, proporcionando tambm uma viso comparativa sobre algumas possibilidades arquiteturais.O ensino efetivo de arquiteturas de computadores praticamente obriga o professor ao uso de um simulador. Infelizmente, os simuladores atualmente disponveis para ensino no Brasil (o que muitas vezes significa serem sistemas gratuitos), apresentam uma interface de usurio pouco elaborada e com poucos recursos operacionais, e mesmo considerando o uso de arquiteturas mais simples, usual por parte dos alunos certa dificuldade de trabalhar com eles. Por exemplo, alguns simuladores exibem a necessidade da codificao do programa diretamente em linguagem de mquina; outros exigem a execuo de sequncias de comandos para realizar as aes; outros ainda s suportam a execuo em modo DOS.O sistema simulador NeanderWin, apresentado nestes exerccios, procura resolver esses problemas atravs um ambiente integrado de desenvolvimento, onde o aluno pode editar o cdigo em linguagem de montagem, compilar e receber imediatamente mensagens relativas a erros de sintaxe, carregar na memria e simular a execuo do programa, com visualizao imediata e altamente interativa. O programa, por ser distribudo em cdigo aberto, viabiliza a sua expanso (por outros professores ou por alunos em projeto), possibilitando a explorao de variantes da arquitetura ou adio de novas ferramentas de ensino ou projeto.

2. Exerccios

Faculdade Estcio do RecifeOrganizao de Computadores Exerccio

1) Pesquisar as caractersticas do processador Neander-X e responda as seguintes questes:

a. Quantos bits so utilizados para representar uma instruo?Utiliza 8 bits para representar uma instruo

b. Quantos bits so utilizados para representar um endereo?Utiliza 8 bits para representar um endereo.

c. Como so representados os nmeros inteiros negativos?Os nmeros negativos so representados como Flag N (negativo) em complemento de 2. SE valer 1, o inteiro negativo, se valer 0, o inteiro positivo.

d. Quantas instrues podem existir?16 instrues. NOP, STA ender, LDA ender, ADD ender, OR ender, AND ender, NOT, SUB ender, JMP ender, JN ender, JZ ender, JNZ ender, IN ender, OUT ender, LDI imed e HTL.

e. Qual o tamanho mximo de memoria enderevel?256 posies (palavras de 8 bits) e apenas endereamento direto.

f. Quais so os registradores disponveis?Registradores de 8 bits: ACC, REM, RDM e INST (opcode)Registrador de 2 bits: NZ, onde N negativo (1) e Z positivo (0).

g. Qual o formato de uma instruo?8 bits para opcode (cdigo da operao) e os 8 bits seguintes para o operando. So instrues que permitem mudar o padro de bit num byte (8 bits) ou numa palavra (16 bits).

2) Alm das portas AND, OR, NOT, NAND, NOR, existem mais duas portas, denominadas XOR, XNOR, que devem ser estudadas.

a. Descreva o funcionamento dessas duas portas de forma sucinta;XOR: A porta compara dois valore e se eles forem diferentes a sada ser 1. Sua sada ser sempre 0 quando todos os valores de entrada forem iguais. Para ter uma porta XOR com mais de duas entradas necessrio adicionar uma porta ORXNOR: uma porta XOR com sua sada invertida. Sua sada ser igual a 1 quando suas entradas possurem o mesmo valor e 0 quando forem diferentes. Para ter uma porta XNOR com mais de duas entradas necessrio adicionar uma porta AND ou um inversor em sua sada.

b. Apresente o smbolo grfico dessas portas;

XOR

XNOR

c. Descreva sua equao booleana;

XOR

XNOR

d. Apresente a tabela verdade para duas entradas.

XORABA B

000

011

101

110

XNORAB(A B)

001

010

100

111

3) Pesquisar a funo dos simuladores e comparar o simulador NeanderWin (simulador do processador Neander-X) com outro a sua escolha.Reproduzir e simular o comportamento de algum sistema. Os simuladores reproduzem fenmenos e sensaes que na realidade no esto ocorrendo.Neander: Largura de dados e endereos de 8 bits, Dados representados em complemento de dois, 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)Ramses: Quatro modos de endereamento, dois registradores de uso geral, um registrador de ndice, indicadores de carry, negativo e zero, instrues adicionais (chamada de subrotina, negao e deslocamento de bits, etc ...).

4) Explique o que um Mapa de Karnaugh e d um exemplo com trs variveis. uma tabela montada de forma a facilitar o processo de minimizao das expresses lgicas. Ele utilizado para simplificar uma equao lgica ou para converter uma tabela verdade no seu circuito lgico correspondente. Permitem a simplificao de expresses com duas, trs, quatro, cinco ou mais variveis.

5) Desenvolva um semi-somador (meio-somador) que soma dois nmeros de um bit cada.

a. Descreva o funcionamento; um circuito com entradas para dois dgitos binrios, uma sada para a soma deles e uma sada para o dgito "vai um" C.

b. Apresente o diagrama;

c. Apresente a tabela verdade.

XYSC

0000

0110

1010

1101

6) Utilizando o semi-somador desenvolvido na questo anterior, implemente um somador completo.

a. Descreva o funcionamento;A tabela do meio somador do tpico anterior pode ser usada para obter os valores intermedirios (S1, C1 e C2) e o final S. Os valores de Cout podem ser deduzidos pela soma aritmtica das entradas X, Y e Cin. Uma vez obtidos esses valores, se analisados em funo de C1 e C2, observa-se que correspondem funo OU, o que confirma o circuito apresentado.

b. Apresente o diagrama;

c. Apresente a tabela verdade.

XYCinS1C1SC2Cout

00000000

01010100

10010100

11001001

00100100

01110011

10110011

11101101

3. Exerccios Extras

1) Ambientao

a) Executar o download do simulador.

b) Identificar as partes do simulador descrevendo um breve roteiro de como gerar e executar um programa.A mquina original foi estendida aqui para incluir algumas instrues extras, incluindo a carga de dados imediatos no acumulador e operaes de entrada e saida de dados. Agora um breve comentrio sobre como gerar e executar um programa:Depois de digitado o programa na rea destina ao mesmo, basta clicar no menu compilar que far aparecer uma janela com um cdigo. Depois de compilado o programa adicionado na memoria quando possvel executar sua execuo.

c) Listar instrues disponveis como respectivo formato e descrio.Todas as instrues so de 8 bits, sendo que algumas possuem um operando de 8 bits adicional. Em ambos os casos o primeiro byte contm o cdigo da operao nos 4 bits de mais alta ordem. Nas instrues com um operando, este ocupa o segundo byte. Segue as instrues:InstruoDescrio

NOPUsado apenas para gastar tempo

STATransfere o valor do acumulador para a memoria

LDAAtribui ao acumulador o contedo da memoria

ADDSoma ao acumulador o contedo da memoria

OROperador logico ou

ANDOperador logico e

NOTComando de negao

SUBSubtrai do acumulador o contedo da memoria

JUMPFaz um desvio da execuo para o endereo indicado

JNFaz um desvio da execuo para o endereo indicado apenas quando o valor for negativo

JZFaz o desvio da execuo quando um valor for um zero

JNZFaz um desvio da execuo quando um valor for diferente de zero

INCarrega um acumulador com as informaes de um dispositivo de entrada

OUTExibe os dados do acumulador em um dispositivo de sada

LDICarrega o acumulador

HLTPara a maquina

ORGInicia o programa da posio de memoria indicada

EQUAtribui a varivel a posio de memoria indicada

ENDIndica o fim do programa

DSReserva um numero de palavras na memoria

DBCarrega nesta palavra de memoria o valor definido

;Indica que so comentrios

2) Elabore um programa que execute a soma de duas variveis de 8 bits representadas em complementos a dois. Considere as posies ( em decimal) a seguir.Inicio do programa: 0Inicio da rea de dados: 128Posio da 1 varivel: 128Posio da 2 varivel: 129Posio do resultado: 130

O Programa mencionado seria da seguinte forma:

X EQU 128 ;Endereo da varivel X definido como 128Y EQU 129 ;Endereo da varivel Y definido como 129Z EQU 130 ;Endereo da varivel Z definido como 130

ORG 0LDA X ;Acumulador A recebe contedo de XADD Y ;Contedo de A somado ao contedo de YADD W ;Contedo de A somado ao contedo de WSTA Z ;Contedo de A copiado para ZHLT ;Processador pra

Programa Compilado1 ORG 02 X EQU 1283 Y EQU 1294 Z EQU 1305 00 20 80 LDA X6 02 30 81 ADD Y7 04 10 82 STA Z8 06 F0 HLTSIMBOLO LINHA ENDEREOX 1 080Y 2 081Z 3 082

3) O processador Neander-x no utilizado comercialmente. Escreva um relatrio que compare o Neander a um processador comercial (voc pode escolher) demonstrando o porque desse processador ser apenas acadmico. OprocessadorNeander,apresentaumaarquiteturamuitosimplescomparadoaumprocessadorfabricadocomercialmente.FoidesenvolvidoapenasparafinsdidticosjuntamentecomumsistemadesimulaodenominadoNeanderWin.AarquiteturaeoconjuntodeinstruesdoNeander,nopermitemcomparaorazovelcomprocessadorescomerciais,quesomuitomaiscomplexosqueele.Entretanto,seuusodidticoplenamentejustificadonospelasuasimplicidadeerapidezdeensino,masespecialmenteporquemesmoosprocessadoresutilizadosnasmaissofisticadasestaesdetrabalhosobaseadosnosmesmosconceitoselementaresquesofacilmenteassimiladoscomoestudodoNeander.ONeanderWinofereceumainterfacedeprogramaoamigvel,comaentradadocdigoemrepresentaosimblica,comdiversasfacilidadesparaoprogramador,quetornammuitomaisfcilousodoprocessadorNeandercomoferramentadeensino.

4. Concluso

Neste trabalho apresentamos o NEANDER-X, um processador de arquitetura muito simples, desenvolvido apenas para fins didticos e um sistema de simulao com ferramentas integradas denominado Neanderwin. A arquitetura e o conjunto de instrues do NEANDER-X, no permite comparao razovel com processadores comerciais, que so muito mais complexos que ele. Entretanto, seu uso didtico plenamente justificado no s pela sua simplicidade e rapidez de ensino, mas especialmente porque mesmo os processadores utilizados nas mais sofisticadas estaes de trabalho so baseados nos mesmos conceitos elementares que so facilmente assimilados com o estudo do Neander-X.O NeanderWin 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-X como ferramenta de ensino.

5. Bibliografia

[1] SILVA, G. P.; BORGES, J. A. S. O Simulador Neanderwin Disponvel em: http://equipe.nce.ufrj.br/ gabriel/neanderwin Acesso em 26 Set. 2006.[2] TANENBAUM, A.S. Organizao estruturada de Computadores. 3. Ed., Rio de Janeiro: Prentice Hall, 1999.[3] BORGES, J.A E SCHMITZ, E.A. Projeto de Circuitos Integrados. Rio de Janeiro: LTC, 1990.