Sei sulla pagina 1di 12

1

Arquitetura Von Neumann - notas de aula

1.sem.2012

II - Modelo de Von Neumann II. 1 - O conceito de Programa armazenado na memria


O modelo base de arquitetura dos computadores foi denominada Arquitetura de von Neumann (VNA Von Neumann Architecture) por ter sido desenvolvido por John von Neumann (Nascido em Budapeste, em 28/12/1903) e colaboradores. A construo de um computador baseado neste modelo foi iniciada em 1946 e concluda em 1952 no IAS (Institute of Advanced Studies-Princeton/USA). O modelo VNA incorpora o conceito de programa armazenado na memria com as seguintes caractersticas:

Um nico controle centralizado (CPU nica); Uma memria nica para dados e instrues; As instrues devem fazer operaes elementares sobre os dados.

O conceito de programa armazenado na memria significa que um programa para ser executado deve estar armazenado na memria do computador e as instrues devem ser levadas individualmente da memria principal para a CPU. Os componentes bsicos d a arquitetura VNA so: Unidade lgicoaritmtica (ULA); Memria Principal (MP); Dispositivos de entrada/sada; e uma Unidade de Controle para coordenar o funcionamento dos componentes. A figura I.1 apresenta o diagrama bsico da arquitetura de von Neumann.

Unidade lgicoaritmtica (ULA) MP MEMRIA PRINCIPAL

Acumula dor (ACC)

Equipamentos de Entrada e Sada

Figura II.1 Componentes bsicos da Arquitetura de von Neumann: ULA (Unidade Lgica Aritmtica); MP(memria Principal), UC (Unidade de Controle). E Dispositivos de Entrada e Sada (E/S)

Unidade de controle (UC)

A ULA (Unidade Lgica e Aritmtica) o componente que realiza as operaes lgicas e aritmticas, tais como soma, subtrao, multiplicao e diviso e operaes lgicas tais como AND, OR,... Acumulador (ACC) uma memria de alguns bits (tambm chamada de registrador) que armazena o resultado das operaes realizadas pela ULA. A UC (Unidade de Controle) coordena a execuo do programa em etapas chamadas de ciclos de execuo que consistem em: (1) - Busca da instruo na memria (chamado de ciclo de busca); (2) Interpretao e execuo da instruo (ciclo de execuo)..

Aps a execuo de cada instruo, a CPU inicia a busca na memria principal de uma nova instruo. A MP ALEM DE TER ARMAZENADO O PROGRAMA EM EXECUO, tambm recebe, armazena e fornece dados do processamento assim como pode fornecer e receber dados de outras unidades do computador (impressora, teclado,..) RESUMO: Em mquinas VNA, as aes computacionais ocorrem na CPU. Instrues e dados ficam armazenados na memria principal at que sejam requeridas pela CPU. Os dispositivos de E/S so tratados como se fossem as memrias: A CPU pode armazenar ou ler dados em dispositivos de entrada ou de sada de modo anlogo ao acesso memria.

Arquitetura Von Neumann - notas de aula

1.sem.2012

II. 1.1 - Modelo preliminar de um sistema computadorizado


Os computadores atuais incorporam novos conceitos e tecnologias para melhorar o desempenho da arquitetura Von Neumann: mais velocidade e novos mtodos de operao (memria cache, pipeline). A figura II. 2 mostra um diagrama simplificado de arquitetura que inclui o conceito de memria cache.

ENTRADA

CPU

SADA

CACHE CONTROLADOR DE CACHE MEMRIA PRINCIPAL

Figura II. 2 Modelo de sistema computadorizado que incorpora o conceito de memria cache. A controladora de cache coordena o movimento de dados entre a memria principal e a memria cache.

II. 2.2 A memria cache.

No modelo VNA, aps realizar uma instruo, a CPU busca nova instruo na memria principal. Aps executar cada instruo, a CPU busca nova instruo e a memria principal no consegue fornecer rapidamente esta solicitao; Desse modo a CPU fica em estado de espera (wait state). As memrias cache possuem tempo de reposta prximo ao tempo de processamento e so usadas para compensar esta limitao da memria principal. O tempo de resposta medido pelo intervalo de tempo que a informao solicitada ao dispositivo at o momento que a informao disponibilizada pelo dispositivo. A tecnologia usada para produzir as memrias cache tem maior desempenho que a Memria Principal (MP), porm com maior custo e consumo de energia. Tambm so mais volumosas com relao memria convencional. A funo da memria cach copiar previamente blocos de dados e instrues para serem usados pela Memria Principal. A capacidade das memrias cache varia desde Kilobytes at Megabytes (servidores possuem memrias cache de alguns MB). II. 2.3 O modelo da CPU (Unidade Central de Processamento - INTEL) A operao da CPU consiste em mover e transformar dados binrios, atravs de operaes lgicas e aritmticas, em novos dados. A figura mostra um modelo de CPU Intel: arquitetura 80XX.

UC

ULA

AX

BX

CX

DX

IP

Figura II. 3 Modelo de CPU INTEL. AX, BX, CX, DX, so registradores de 16 bits. IP (Instruction Pointer-ponteiro de instrues) contm o endereo da prxima instruo a ser executada. A ULA realiza operaes lgicas ou aritmticas com dados que foram previamente transferidos (copiados) para algum registrador. O transporte dos dados feito atravs dos barramentos (linha pontilhada). Todo o processo coordenado pela UC.

Arquitetura Von Neumann - notas de aula

1.sem.2012

Exemplo de operao aritmtica realizada pela CPU: A soma entre dois valores binrios.
Seja a soma dos valores 1234H (0001 0010 0011 0100B) + 1022H (0001 0000 0010 0010B). As letras H e B, indicam valores em Hexadecimal e Binrio, respectivamente. Cada um dos valores considerados denominado de operando e o resultado denominado de Soma. A seqncia a seguir mostra as atividades para realizar esta operao. Um programa dever conter instrues (em formato binrio, que identificado pelo hardware) para serem interpretadas pela CPU atravs da Unidade de Controle. Para realizar a soma, alguns registradores recebem previamente os valores dos operandos. Para realizar a soma a instruo correspondente em assembly pode ser ADD AX, BX. O termo assembly significa linguagem de montagem. ADD um MNEMONICO que representa SOMA. Esta instruo tem a seguinte simbologia: AX AX + BX. Esta simbologia indica que o contedo do Registrador AX somado com o contedo do registrador BX. O resultado armazenado em AX. O contedo original de AX substitudo pelo resultado da soma. No exemplo, o registrador AX dever conter previamente o valor 1234H e o registrador BX dever conter o valor 1022H. Estes valores so transferidos pelos barramentos internos da CPU para as entradas da ULA que dever ser instruda a realizar a SOMA destes valores. O resultado desta operao ser armazenado em AX. As regras desta operao foram definidas no projeto da arquitetura do computador.

Aps a operao SOMA (ADD), o registrador AX recebe o resultado da soma (1234H + 1022H= 2256H). O contedo anterior de AX (1234H) perdido. O valor em BX permanece inalterado. Exerccios: Sendo AX = 0101H, BX=F0F0, CX=1234H e DX=ABCD, efetue as seguintes operaes e apresente os resultados:

a) ADD AX,BX

AX=

BX=

b) SUB DX,AX

DX=

AX

c) AND DX,AX

DX=

AX=

d) OR CX,BX

CX=

FX=

XOR AX,BX

AX=

BX=

e) MOV AX, DX

AX=

DX=

Nota: Uma operao muito importante em redes de computadores o de identificao de redes. Sejam quatro grupos contendo cada um deles 3 valores em base decimal: 192.168.2.32 e 255.255.255.0. A operao AND entre estes valores usada para identificar a rede.

Exerccio: Qual o resultado da operao AND entre os valores acima. Faa a operao em grupos de elementos em binrio.

II.2.4.b A leitura de memria e o movimento de dados atravs de barramentos A figura 2 exemplifica o processo de leitura de memria e o movimento de dados atravs dos barramentos.

Arquitetura Von Neumann - notas de aula

1.sem.2012

Memria (RAM) Endereo 0000 0001 ULA UC B de dados ULA B de endereos B. de controle Read 0100H Enable 0100H 00001000B 01010101B Contedo 0101010101 11110000

AX, BX, ....

FFFE

011100111011

FFFF

001100110011

Figura 2 - Exemplo de operao de leitura de memria do contedo da posio de memria 0100H. As setas indicam a direo do movimento de dados, endereo e sinais de controle. Considerar a leitura da posio de memria cujo endereo 100H. Durante a leitura, o endereo 0100H colocado no barramento de endereos. A CPU avisa a memria que vai executar leitura enviando um sinal Read pelo barramento de controle. A seguir, a memria disponibiliza os dados contidos no endereo 0100H e a CPU pode receber os dados em seus registros internos. Aps a leitura, a CPU pode transferir o valor lido para seus registradores internos. Um processo similar ao da leitura (e escrita) da memria usado para realizar a comunicao da CPU com dispositivos externos II. 2.4 c - Quantidade de informao disponibilizada pelo barramento de endereos O tamanho mximo de memria de um computador definido pelo nmero de linhas do barramento (tamanho) de enderos. Um barramento de endereos com n linhas de comunicao pode enderear 2 n posies de memria.

Sob o ponto de vista lgico a memria uma lista linear de bytes. O endereo do primeiro byte zero e o endereo do ltimo byte : 2 n-1. Onde n o numero de linhas (tamanho) do barramento de endereos. Um sistema computadorizado com barramento de endereo de tamanho 16 bits pode enderear 65536 (em decimal) posies de memria que tem como endereo inicial 0000 e endereo final 65535 (em decimal).

Exemplo O 8088 e 8086 so processadores com barramento de endereos de 20 bits. Portanto, podem acessar at 1.048.576 (1Mega ou 2 20) posies de memria. Barramentos de endereos maiores podem acessar mais memria. O tamanho do barramento de endereos determina o limite fsico da memria (RAM) de um sistema computacional. Atualmente os barramentos de endereo tem tamanho de 32 bits, que lhes permitem acessar 232 posies, ou seja possui 4giga endereos.

Arquitetura Von Neumann - notas de aula

1.sem.2012

Tamanho dos barramentos de alguns computadores pessoais: = 2 n = dois elevado a n (n=tamanho do barramento) 8088 80286, 80386sx 80486, Pentium I 20bits 24 32 220 = 1 1048.576 224 =16.777.246 232 = 4.294.976.296 Um Mega Dezesseis Mega Quatro Giga

Nota. Existem valores bem conhecidos para potencias de 2: 210 = 1 024 220 = 1 1048.576 230 = 1 073 741 824 Um Kilo - 1K Um Mega - 1M Um Giga - 1G

Valores para potencias de 2 podem ser obtidos pela propriedade matemtica: 2 n . 2m = 2n+m Exemplo: 232 = 22 . 230 = 4 . Giga

Exerccios. Calcule as seguintes capacidades de memria: a) 222 = c) 234 = b) 216 = d) 225 =

II. 2.4.d - O Barramento de Controle O barramento de controle possui os sinais eletrnicos para coordenar a comunicao entre os componentes do sistema permitindo o envio ou recebimento de dados. Pelo barramento de controle seguem informaes de status ( a "A CPU est enviando ou recebendo dados"), ou informaes do estado de um dispositivo (ligado, desligado, em espera...). Contm sinais de alimentao, clock e muitos outros que dependem do processo em execuo e do dispositivo. II.3 - Execuo de uma instruo. Exemplo. Conforme o projeto VNA (Arquitetura de von Neumann), um programa em execuo deve estar carregado na memria (RAM). Este exemplo mostra a execuo de uma simples instruo de soma: ADD AX,BX Esta instruo corresponde a somar o contedo dos registradores AX e BX e armazenar o resultado em AX. A forma apresentada denominada de mnemnica, que representa uma forma melhor compreendida pelos programadores em assembly. Esta instruo dever ser traduzida por um programa montador (Assembler) que produzir um formato que entendido pela CPU: Linguagem de mquina ou linguagem de baixo nvel. A instruo em assembly ADD AX,BX e o cdigo de mquina correspondente 01D8H.

Para executar a instruo ADD AX,BX, a instruo 01D8H dever ser armazenada na memria em um endereo apontado pelo ponteiro de instrues (IP Instruction Pointer). O IP um registrador que contm o endereo da prxima instruo a ser executada pela CPU.

Arquitetura Von Neumann - notas de aula

1.sem.2012

O contedo do IP dever ser transferido para o barramento de endereos. A memria instruda a receber este valor para buscar o contedo da posio da memria 0100H. A memria devolver pelo barramento de dados o valor 01D8H. A CPU recebe este valor e atravs da UC interpreta este valor e desenvolve as aes para a ULA realizar a operao requerida (ADD AX, BX).
Memria (RAM)

Endereo
ULA UC: 01D8H ULA IP: 0100H 0100H B de endereos Read Enable B. de controle B. de controle Ready AX, BX, .... B de dados

Contedo

01D8H
0100H 01D8H

Figura II.7 Execuo da instruo ADD AX, BX. O endereo 0100H colocado no barramento de endereos. A CPU envia sinais de controle (Read indicando uma leitura; Enable - ativando a operao da memria). A memria disponibiliza os dados contidos no endereo 0100H (valor 01D8H). A memria informa que o dado est disponvel (Ready). A CPU recebe os dados em seus registros internos e interpreta a instruo para a execuo pela ULA. As setas indicam a direo do movimento de dados, endereo e sinais de controle. Exerccios a) Qual a instruo para realizar a subtrao de dois valores que estejam em AX e BX; b) Qual a instruo para realizar a soma entre valores que estejam em CX e DX; c) Qual a instruo para realizar a subtrao entre valores que estejam em CX e DX.

7 Arquitetura Von Neumann - notas de aula II.3 Histrico da evoluo dos computadores e a tecnologia atual.

1.sem.2012

1840

1940

1958

1964

baco

Mquina de Babage. Conceito de subrotinas Tecnologia deficiente

Vlvulas 1a. gerao

Transistores (2. Gerao)

Circuitos Integrados (3a.Gerao )

18 000 vlvulas (vide nota abaixo)

E/S melhorada Assembly

Sistema Operacional

microcomputadores minicomputadores 1970 1980


RISC MSI

Pentium Porte mdio Mainframes 1990

Memria Virtual

Supercomputadores Mquinas paralelas

Evoluo Tecnolgica

Arquitetura Von Neumann - notas de aula

1.sem.2012

Exerccios Complementares 1 O diagrama mostra a arquitetura 80XX e conexes da CPU com a memria. Considere que o comando T apresentou o seguinte resultado:

AX=DEFF DS= 0CA0

BX=0132 ES=0CA0

CX=0FFF SS= 0CA0

DX=01AB CS=0CAO

SP=FFEE IP=0100

BP=0000 SI=0000 DI=0000 NV UP EI PL NZ NA PO NC

0CA0:0100

2908

ADD AX,BX

Foi dado o comando T. Complete no diagrama os valores dados nos locais assinalados.
Endereo
0000H

Contedo

0001H UC: (____)

B de dados B de endereos

0100H
0102

(____________)

IP: (______)

B. de controle

FFFF

A AXX

BX (_______) (________)

CX

DX

2- Considerar uma CPU 80XX com os valores os iniciais nos registradores (em hexadecimal). AX=0FF1 BX=123A CX= 0AB0 DX= 0110 IP:0100

Qual ser o valor dos registradores aps a realizao das seguintes instrues: A) - ADD BX,AX B) - OR CX, AX C) XOR AX, DX D) SUB AX,CX E) - MOV CX, DX AX= AX= AX= AX= CX= BX= CX= DX= CX= DX=

3 O diagrama representa a arquitetura 80XX e a conexo via barramentos da CPU com a memria. Considere que o comando R do DEBUG mostrou o seguinte resultado:
AX=0ABC BX=0357 DS= 0CA0 ES=0CA0 0CA0:0100 29C3 CX=0FFF SS= 0CA0 SUB BX,AX DX=01AB CS=0CAO SP=FFEE IP=0100 BP=0000 SI=0000 DI=0000 NV UP EI PL NZ NA PO NC

Arquitetura Von Neumann - notas de aula

1.sem.2012

A) Complete no diagrama os valores dados nos locais assinalados em negrito


Endereo
Memria (RAM)

Contedo

Endereo
0000 UC: B de dados ...... 0100H 0102 B de endereos: IP:_______ B. de controle

Contedo

____________

AX

BX

CX

DX

FFFFH

______ ______ _______ _______

Memria (RAM)

B) Foi dado o comando T. Complete no diagrama os valores dados nos locais assinalados em negrito. Considere que a UC recebe a instruo em execuo.

Endereo
0000 0001

Contedo

UC:____

B de dados ___________________

0100H 0102

____________

IP:_______

B de endereos: ________________

AX

BX

CX

DX

B. de controle

FFFFH

______ _____ _____ ________

4 - Assinale V ou F a -( ) Sistemas de memrias cache so implementadas com memrias de tecnologia DRAM com tempo de acesso da ordem de 1 a 5 ns b- ( ) Sistemas de memrias principal so implementadas com memrias de tecnologia SRAM com tempo de acesso da ordem de 10ns c - ( ) Pipeline um mtodo para acelerar o processamento diminuindo o tempo de acesso memria principal. d- ( ) Os HDs so sistemas de memria secundria implementadas com unidades magnticas com tempo de acesso da ordem de 10ms. e - ( ) As memria cache em nvel 1 so internas CPU 5 - Complete (i) - Calcular a durao do pulso do clock para um computador de: 1,38GHz: __________________b- 2,62GHZ:______________________c 3,7GHz: ______________________

10

Arquitetura Von Neumann - notas de aula

1.sem.2012

(ii) Calcular o tempo gasto para o sinal de clock percorrer as seguintes distancias: a 1,2 mm: _____________b- 1,40 mm:_______________c- 14 cm: _______________d- 1,25m:_____________ e- 15m:_____________ (iii)3 Indique o valor de x nas seguintes expresses. B= Byte; b=bit; K=1024; M = 1K vezes 1K; 1G = 1M vezes 1K

a) 524288b = x Kb

x=______________

b) 196608K = xM _____________________

c) 256KB = xb

x=____________________

d)

8GB = xb x=_____________________

(iv) Escreva os seis endereos posteriores de 2B12H. Escreva os seis endereos anteriores a 2B12H: (v) Considere uma memria de 1024KB (1024 posies e em cada posio existe 1 Byte). Responda: a ) Qual o maior endereo desta memria em decimal. c) Qual o tamanho do barramento de endereos? b) Qual o tamanho do barramento de dados?

6Responda usando a questo A0 como referncia. A0 - Explique todas as etapas de criao de um programa em assembly, desde a criao do arquivo fonte (edio) at a execuo. Apresente os arquivos criados. Escreva um programa simples para imprimir o seu nome. A4 Escreva um programa assembly completo para imprimir a sequencia: M, N,O,P,Q. A5 Escreva um programa assembly para imprimir a sequencia: 0, 2, 4, 6 , 8; O cdigo ASCII do ZERO 30H. A6 Escreva um programa para preencher toda a tela com o alfabeto (A, B, C, Z). A1 Explique as diferenas entre as pseudoinstrues EXICODE e END. A2 Explique como funciona a impresso de string utilizando a funo 9 da INT 21H. A3 Como construdo um LOOP usando o assembly A8- Sendo AX=00FFH. BX=01ABH; CX=F0FAH DX=000FH. Obtenha o resultado das instrues. ADD AX,BX. SUB CX,BX. AND CX,DX AX= _______________ BX=_____________ BX=________________ CX=_____________ CX=________________ DX=_____________ E

XOR AX,DX AX=________________ DX=_____________ A7 -Escreva um programa para: a Posicionar o cursor na linha 10 e coluna OR BX,DX BX=________________ DX=_____________ 10 b Receber um caractere, sem eco. c Testar o caractere recebido: Se for 1, repetir o item a. Se for outro caractere, encerrar.

11

Arquitetura Von Neumann - notas de aula

1.sem.2012

Histria da Arquitetura Intel: programas criados a partir de 1978 e as evolues O 8086 tem registradores de 16 bits e um barramento externo de 16 bits, com de endereo de memria de 20 bits (Um Megabyte de memria principal). O 8088 (idntico ao 8086) possui um barramento de dados externo de 8 bits, e agrega o conceito de segmentao de memria: Um registrador de segmento de 16 bits contm um apontador para um segmento de memria de at 64 Kb. Usando 4 registradores de segmentos o 8086/8088 capaz de enderear at 256 Kb, sem efetuar a troca de segmentos. O Intel 286 introduziu a operao em modo protegido. Um registrador de segmento contm um seletor ou apontador para tabelas de descrio que disponibilizam endereamento de base de 24 bits, permitindo que a memria fsica se estenda at 16 MB. Oferece suporte para o gerenciamento de memria virtual e mecanismos de proteo de memria: checagem de limites de segmentos, opes de segmentos read-only e execute-only e at 4 nveis de privilgio para proteo do cdigo do sistema operacional (das aplicaes dos usurios). Alm disso, a troca de tarefas do hardware e a tabela de descrio permitem ao sistema operacional proteger as aplicaes de um usurio entre si. O processador Intel 386 foi o primeiro processador de 32 bits da famlia Intel. Contm registradores de 32 bits para a manipulao de operando e endereamento. A memria baixa de cada registrador manteve as propriedades de 16 bits das geraes. Um novo modo virtual do 8086 foi implementado para aumentar a eficincia na execuo de instrues criadas para o 8086/88. O barramento de endereos de 32 bits, permite at 4 GB de memria fsica. O processador Intel 386 introduziu o conceito de paginao (pginas de 4 Kb) no uso do gerenciamento de memria virtual, o que permitiu mais eficincia aos sistemas operacionais desenvolvidos para o 386 e transparncia para o desenvolvimento de aplicaes. Foi projetada para suportar a compatibilidade retroativa em nvel de cdigo objeto. O processador 386 foi o primeiro da famlia Intel a incluir 6 estgios de operao pipeline: O processador Intel 486 adicionou mais capacidade de execuo em paralelo, expandindo as unidades de execuo e decodificao de instrues do 386 em cinco estgios de pipeline. Um cache de 8 Kb foi implementado em um chip para aumentar a taxa de execuo. Houve a integrao do coprocessador x87 no chipset, e suporte a conservao e gerenciamento de energia e outras capacidades para notebooks. O processador Pentium adicionou um segundo caminho de pipeline para execuo superescalar (pipelines, conhecidos como " u" e "v"). O cache de primeiro nvel (L1) teve o seu tamanho dobrado, com 8 KB dedicados para codificar e os outros 8KB voltados para dados. Os registradores principais so todos de 32 bits, mas os caminhos internos usam 128 e 256 bits, aumentando a taxa de transferncia interna de dados. O Intel Pentium 4 permite que os processadores operem em velocidades maiores de clock com as seguintes caractersticas: Streaming SIMD Extensions 2 (extenso da tecnologia MMX com 144 novas instrues) Suporte a operaes de inteiros e ponto flutuante com 128 Recursos para acelerar o processamento de vdeo, voz, encriptao de dados e processamento de imagem e fotos digitais. Throughput 3.2 GB por segundo (3 vezes mais rpido que o Pentium III) Compatibilidade retroativa com aplicaes da famlia Intel de processadores (32 bits).

12

Arquitetura Von Neumann - notas de aula

1.sem.2012

Caracteristicas da arquitetura do AMD Athlon 64; inovacoes e recursos da plataforma O processador AMD Athlon 64 (tecnologia AMD64) permite a execuo de aplicativos de 32 bits sem necessidade de emulao e incluiu a tecnologia de conexo ponto-a-ponto denominada HyperTransport: controladora de memria integrada ao processador que substitui o FSB (Front Side Bus). Modos de operao A controladora de memria est integrada ao processador (no no chipset da placa-m) e no existe o FSB (Front Side Bus). As memrias se conectam diretamente a controladora de memria integrada na mesma frequncia do processador.

A tecnologia HyperTransport uma conexo ponto a ponto, projetada para aumentar a velocidade da comunicao entre os circuitos integrados perifricos. Os dados so transmitidos em pacotes, de forma similar a um protocolo de rede, usando tecnologia DDR (Double Data Rate) transmitindo dois bits de dados por cada ciclo de clock. Outros recursos arquitetnicos do processador Os Registradores de Uso Geral ou GPR (General Purpose Registers) tem capacidade de armazenar nmeros de at 64 bits (2 elevado a 64). Alm disso, permite enderear at 1 Terabyte de memria fsica e 256 Terabytes de memria virtual. O ncleo o Athlon 64 um processador superescalar de 9 vias (9 instrues simultneas) agrupadas em 3 unidades ULAs, 3 Unidades de Geraco de Endereos(AGUs: Adress-Generation Units) e 3 Unidades de Clculo de Ponto-Flutuante (FPUs: Floating Point Units)

Potrebbero piacerti anche