org. computadores atividade estruturada hiroche mendes

Upload: ronaldo-ribeiro

Post on 08-Jan-2016

113 views

Category:

Documents


0 download

DESCRIPTION

Org. Computadores Atividade Estruturada

TRANSCRIPT

UNIVERSIDADE ESTCIO DE SGRADUAO TECNOLOGICAANLISE E DESENVOLVIMENTO DE SISTEMAS

ATIVIDADES ESTRUTURADAS ORGANIZAO DE COMPUTADORES

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

ATIVIDADES ESTRUTURADAS

ATIVIDADES ESTRUTURADASUNIVERSIDADE ESTCIO DE SORGANIZAO DE COMPUTADORESRIO DE JANEIRO RJPROF.: 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.

7 43 0

CdigoNo 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 binrioInstruoDescrio

0000NOPnenhuma operao

0001STA enderarmazena acumulador (store)

0010LDA endercarrega acumulador (load)

0011ADD enderSoma

0100OR enderoperao lgica ou

0101AND enderoperao lgica e

0110NOTinverte (complementa) acumulador

1000JMP enderdesvio incondicional (jump)

1001JN enderdesvio condicional (jump on negative)

1010JZ enderdesvio condicional (jump on zero)

1011JNZ enderdesvio condicional (jump on not zero)

1100IN enderoperao de entrada no dispositivo ender

1101OUT enderoperao de sada no dispositivo ender

1110LDI imedcarrega o valor imediato imed no acumulador

1111HLTtrmino 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.

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 100END 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:

SimblicoComentrios

X EQU 128 Y EQU 129W EQU 130Z EQU 131

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

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

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):

Endereamento Indireto:

. Endereamento Imediato:

. Endereamento Indexado:

FORMATO DAS INTRUES:CdigoHexadecimalCdigoDecimalInstruoOperao

0000NOP---

1610STR r endMen(end):=r

3220LDR r endr:=Men(end)

4830ADD r endr:=Mem(end)+r

6440OR r endr:=Mem(end) or r

8050AND r endr:=Mem(end) and r

9660NOT rr:=NOT(r)

11270SUB r endr:=r-Men(end)

12880JMP endPC:=end

14490JN endSe N=1 PC:=end

160A0JZ endSe Z=1 PC:=end

176B0JC endSe C=1 PC:=end

192C0JSR endMem(end):=PC , PC:=end+1

208D0NEG rr:= - r

224E0SHR rr:= r / 2

240F0HLT---

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.NOTr: 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:CdigoTipo de EndereamentoMnemnico

00DiretoN

01Indireton,I

10Imediato#n

11Indexadon,X

Endereamento Direto: dado o endereo na memria do qual o valor ser utilizado.Ex :ADD A 115Somar 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,ISomar 115 ao valor do restrador A.Endereamento Imediato : informado diretamente o valor que ser utilizado.Ex :ADD A #115Somar 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,XSomar o valor contido no endereo 115 mais o valor do registrador x ao valor do registrador A.

Modo de endereamento

TABELA DE REGISTRADORES:CodigoRegistradorDescrio

00RARegistrador Geral

01RBRegistrador Geral

10RXRegistrador 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: 1Para n=30: Instrues - Neander 338 x Ramses 156 Acessos - Neander 951 x Ramses 314

Refernciashttp://www.ulbra.inf.br/joomla/images/documentos/TCCs/2011_01/TCCII_CC_FrancisSherer.pdfhttp://www.inf.pucrs.br/flash/orgarq/aulas/ramses/Ramses-Instrucoes.ppthttp://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 0X EQU 128Y EQU 129W EQU 130;carrega primeiro operador em comp de 2LDI 02OUT 00STA X;carrega segundo o operador em comp de 2LDI 03OUT 00STA Y;efetua a soma entre 2 operadores e guarda no terceiroLDA XADD YSTA WOUT 00HLT

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 ComentriosX EQU 128 Endereo da varivel X definido como 128Y EQU 129 Endereo da varivel Y definido como 129W EQU 130 Endereo da varivel W definido como 130

ORG 0LDA X Acumulador A recebe contedo de XADD Y Contedo de A somado ao contedo de YSTA W Contedo de A copiado para WHLT Processador pra

Soluo:X=32Y=5W=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

OchipIntel 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 dememria. 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, osistema operacionalpensa 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 IntelProcessador Intel Core i7

Antes de mergulhar nesse mar debits, 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 RAMe 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 muitasplacas-mepara 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 noPC, 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 acache 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 notebookssejam 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

_998085899.doc

endereo

memria

operando

instruo

_998086794.doc

endereo

memria

operando

instruo

endereo

memria

operando

instruo

endereo

_998086233.doc

operando

memria

instruo

_998086747.doc

operando

memria

instruo

_998086944.doc

deslocamento

memria

operando

instruo

endereo

Reg. X

+

endereo

memria

operando

instruo

endereo

memria

operando