Você está na página 1de 9

Capitulo 01 Introducao

1.1 Conceitos Bsicos


Arquitetura: Refere-se aos atributos do ponto de vista do programador e, portanto, tem impacto direto sobre a execuo lgica de um programa.
Exemplos: conj. Instr., numero bits de dados para representar nmeros, caracteres, E/S e endereamento de memoria.
Organizao: Refere-se s unidades operacionais e suas interconexes, desta forma, uma mesma arquitetura pode ser implementada por meio de
diferentes organizaes.
Exemplos: detalhes de hardware transparente ao programador, tecnologia de memoria utilizada, sinais de controle, interface entre pc e perifricos.
Para desempenhar as funes o computador precisa executar um conjunto de instrues (programa). Os computadores que conhecemos so baseados
no conceito de programa armazenado, introduzido por Von-Neumann. As instrues do programa e os dados so armazenados em uma memria, de
forma que a alterao de um programa consiste na alterao de um endereo de memria, no entanto, os computadores modernos utilizam o conceito
de interrupo para diminuir o tempo de ociosidade dos processadores, o ciclo de execuo das instrues ganha mais alguns es tados. Muitos
fabricantes oferecem uma mesma arquitetura numa famlia de pcs mas com organizao diferente. Uma arquitetura pode durar muitos anos enquanto
uma organizao muda conforme a tecnologia evolui.
O ciclo de execuo de cada uma das instrues de um programa dividido em 07 estados:
Clculo do endereo de instruo;
Busca da instruo (Instruction Fetch);
Decodificao da instruo;
Clculo do endereo do operando;
Busca do operando (Operand Fetch);
Execuo da operao;
Armazenamento do resultado.
As classes mais comuns de interrupo so:
Interrupes de software;
Interrupo de relgio;
Interrupo de E/S;
Falha de hardware.
Para interconectar dispositivos em um sistema so utilizados barramentos, que podem ser utilizados para controlar direito de leitura/escrita em
memria ou E/S, interrupes, confirmaes, relgio e reset. Para aumentar o desempenho do sistema, os barramentos so organizados de maneira
hierrquica, de forma a isolar o trfego de dados entre CPU e memria do trfego proveniente de operaes de E/S. Os chamados barramentos de
expanso proporcionam maior flexibilidade ao sistema (ex.SCSI),enquanto os barramentos de alta velocidade so utilizados para dispositivos de alta
capacidade (ex. FireWire). Os barramentos so compostos por linhas que podem ser, Dados, Endereo ou Controle.
O projeto dos barramentos de grande importncia no desempenho do sistema. 05 Pontos importantes no projeto de barramento:
Tipo dedicado ou multiplexado;
Mtodo de arbitrao Centralizado ou Distribudo;
Temporizao - Sncrona ou Assncrona;
Largura nmero de linhas;
Tipo de transferncia Leitura, escrita, escrita/modificao/escrita, escrita/leitura, em bloco.
1.2 Estrutura e Funcao
Sistema hiearquico o ponto chave da maioria dos sistemas complexos e constitudo por um conjunto de sub sistemas descendo ate atingir os nveis
mais elementares, tambm essencial para o seu projeto e sua descrio. O sistema um conjunto de nveis e seus relacionamentos entre si e o
projetista deve considerar cada um de seus nveis tanto em estrutura quanto em relacionamento dos seus componentes.
Estrutura: modo como os componentes esto inter-relacionados
Funcao: o operao individual de cada componente como parte da estrutura.
Pode ser feito de 2 modos:
Do nvel mais baixo ate a composio do nvel global
Do nvel mais alto e decompondo o sistema em subpartes (esta seria a mais clara e eficaz)
FUNCAO: A estrutura do computador no reflete a funo que ele desempenha (qualquer especializao decorre da programao e no do seu projeto).
Funes bsicas de um computador:
Processamento de dados: * sempre ira processar e armazenar mesmo nas tarefas mais simples de E/S. (funo de armaz. temporria de dados).
Armazenamento de dados: * sempre ira processar e armazenar mesmo nas tarefas mais simples de E/S. (funo de armaz. temporria de dados).
Transf. de dados: dispositivo diretamente conectado (E/S e denominado periferico), para distancias maiores ou dispositivo remoto (comunic. de dados)
Controle: exercido por indivduos que fornecem instrues ao pc (gerencia o computador e o desempenho baseado nas instrues)
ESTRUTURA: A estrutura do computador no reflete a funo que ele desempenha (qualquer especializao decorre da programao e no do projeto).
A estrutura bsica de um computador composta 04 componentes:
Unidade central de processamento (CPU): Desempenha a funo de processamento de dados
Memria principal: Armazena dados
Dispositivos de E/S: Transfere dados entre o computador e o ambiente externo
Sistemas de interconexo: mecanismos que estabelecem conexes entre a cpu, memoria e dispositivos de E/S
Cada componente possui subdivises. A CPU, por exemplo, possui 04 subdivises:
Unidade de controle: controla a operao da cpu
Unidade lgica e aritmtica (ULA): desempenha a funo de processamento de dados do computador
Registradores: fornece o armazenamento interno de dados para a cpu
Interconexes da CPU: possibilita a comunicao entre a unidade de controle, ula e registradores

Capitulo 02 Evolucao
Caracteristicas:
Aumento da velocidade: tem como responsvel a reduo de componentes e a mudana na organizao da cpu (uso de pipelines e multthreading)
Reducao dos componentes
Aumento de memoria
Aumento da capacidade e velocidade de E/S.
Primeira Geracao vlvulas eletrnicas e ENIAC
Com Inveno da vlvula na dcada de 1940 e aprimoramento da lgebra de Boole, foi possvel o desenvolvimento do ENIAC Impulsionado pela 2
Guerra Mundial, seu uso era voltado para efetuar clculos balsticos e decifrar cdigos inimigos. Projetado com o apoio do exercito dos Estados Unidos,
na Universidade da Pensilvnia, representou a revoluo, desenvolvido para fins militares mas so foi concludo em 1946 aps o trmino da guerra.
- Totalmente eletrnico de proposito geral;
- Possua aprox. 18.000 vlvulas operando a uma taxa de 100.000 pulsos por segundo;
- Consumia aprox. 140 kW/h e alcanava temperaturas de at 67C quando se encontrava em plena operao;
- A memria consistia de 20 acumuladores com capacidade de cada um armazenar um numero decimal de 10 digitos, cada digito era representado por
um anel de 10 valvulas e a cada instante apenas 1 valvula ficava em estado ON representando um dos 10 digitos;
- Pesava por volta de 30 toneladas e ocupava uma rea de aprox. 140 metros quadrados;
- Realizava 5.000 adicoes por segundo;
- Era uma maquina decimal e no binaria ( representao dos nmeros era feita na base decimal e usada para os operaes aritmticas)
- A principal desvantagem : ser programado manualmente (ligando e desligando chaves e conectando e desconectando cabos)
Primeira Geracao Maquina de Von Neumann
Caracteriza pela possibilidade de armazenar seus programas no mesmo espao de memria que os dados, podendo assim manipular tais programas.
Esta arquitetura um projeto modelo de um computador digital de programa armazenado que utiliza uma unidade de processamento (CPU) e uma de
armazenamento ("memria") para comportar, respectivamente, instrues e dados .
A mquina proposta por Von Neumann rene os seguintes componentes (IAS):
- Uma memria: armazena dados e instrucoes
- Uma unidade aritmtica e lgica (ALU): capaz de realizar operaes com dados binarios
- Uma Unidade de Controle (CU): interpreta e executa instrues armazenadas na memoria
- Dispositivos de E/S: so operados pela unidade de controle
Estrutura:
1 - deve conter componentes especializados em operaes aritmtica;
2 - deve possuir um componente de controle ( de proposito geral);
3 - deve possuir memoria para conjunto de instrues serem recuperadas e mantes contato com dispositivos de E/S;
4 - deve possuir mecanismos para transferir informaes entrada;
5 - deve possuir mecanismos para transferir informaes sada;
- Memoria IAS tem 1000 posicoes de memoria denominadas palavras cada uma com 40 dgitos binrios; Maquina Binaria;
- Registradores:
MBR Registrador Temporario de dados armazena dados na memoria ou recebe uma palavra da memoria
MAR Registrador de Enderecamento a Memoria especifica o endereo na memoria da palavra a ser escrita ou lida no MBR
IR Registrador de Instrucoes contem cod. De operao de 8 bits que esta sendo executado
IBR Registrador de Armazenamento temporrio de instrues armazena temporariamente a instruo contida a direita de uma palavra da memoria
PC Contador do programa contem endereo de memoria do prximo par de instrues a ser buscado da memoria
AC Acumulador utilizado para armazenar temporariamente os operandos e resultados de operaes efetuadas na ULA
MQ Quociente de multiplicao utilizado para armazenar temporariamente os operandos e resultados de operaes efetuadas na ULA
O IAS consiste na execuo repetida de um ciclo de instrues que consiste em dois itens; Ciclo de busca e ciclo de execuo
IAS tinha 21 instrucoes que so agrupadas da seguinte forma:
- Tranferencia de dados ; Desvio Incondicional ; Desvio Condicional ; Aritmetica ; Alteracao de Endereco.

Primeira Geracao Maquina Comerciais


- Anos 50 nasce IBM e Sperry
- UNIVAC I foi o 1 pc comercial de sucesso (aplicaes cientificas e comerciais), realizava computao algbrica sobre matrizes
- UNIVAC II maior desempenho e memoria e com a caracterstica de os programas poderem ser compatvel com maquinas anteriores
- IBM mark I
Segunda Geracao Transistores
- Criado em 1947 pela Bell
- Substituicao da vlvula por transistores (menor, mais barato e dissipa menos calor)
- Dispositivo de estado solido feito por silcio
- integr. por componentes discretos (transistores, resistores, capacitores encapsulados em recipiente prprio e soldados ou ligados com fios), wireup
- NCR e RCA foram as primeiras empresas a utilizar a tecnologia
- 200.000 operacoes por segundo
- Utilizacao programao de alto nvel e software de sistema
- Unidade Logica, Aritmetica e de controle eram mais complexas
- Inicio do conceito de minicomputador com o computador PDP-1 fabricado pela empresa DEC
- Uso de canais de dados que um modulo E/S independente com prprio processador e conjunto de instrues
- Introducao do Multiplexador (ponto central de conexo entre os canais de dados, a CPU e a memoria), este seleciona qual dispo sto entre a cpu e os
canal de dados pode fazer acesso a memoria.

Terceira Geracao Circuitos Integrados


- 1958 desenvolvimento do circuito integrado
Microeletronica
- Eletronica Pequena
- Reducao dos circuitos a sua maior caracterstica
- SSI circuito de integrao em baixa escala (empacotamento em uma nica pastilha um pequeno n de portas logicas ou clulas de memoria).
- Avanco da tecnologia e gradual aumento no empacotamento de pastilhas (tendncia tecnolgica)
Lei de Moore: numero de transistores que podiam ser impressos em uma pastilha dobravam a cada ano e a partir de 70 a duplicao ocorria a cada 18
meses e estabilizou-se.
Consequncias:
- custo inalterado ao longo do perodo de crescimento com consequente reduo dos custos
- menor tamanho, menor distancia entre elas e o consequente aumento da velocidade
- computadores cada vez menores
- reduo do consumo eltrico e consequente reduo da temperatura
- interconexes mais confiveis.
IBM 360 Computadores incompatveis entre si, foi a 1 famlia de computadores planejada, conjunto de intrucoes e SOs idnticos, velocidades, n de
portas E/S, memoria e custos crescentes. O sistema de famlia influenciou toda a indstria e se tornou padro entre os computadores de grande porte.
DEC PDP-8 Relativamente baratos, pequenos, fabricantes podiam utiliza-lo como parte de outros sistemas e tais comearam a ser chamados de OEMs
que permanece ate hoje, definiu o conceito de microcomputadores, nos modelos finais j utilizavam a tecnologia de barramento (omnibus).
Ultimas Geracoes
- Introducao da LSI (integrao em grande escala mais de 1000 componentes podem ser colocados em uma nica pastilha de c.i.)
- Introducao da VLSI (integrao em escala muito grande mais de 10.000 componentes por pastilha e as atuais podem conter mais de 100.000)
Memoria de Semi-Condutores
- antes de 1970 as memorias eram eram de ferro-magnetico bastante rpida mas caras e volumosas
- processadores deram inicio aplicao da tecnologia de circuito integrado (pastilhas)
- descobriu-se que poderia ser usada em memorias
- 1970 fairchild desenvolve a 1 memoria de semicondutores
- em cada gerao a densidade da memoria aumentou em 4x acompanhado pelo declnio do custo e tempo de acesso.
Microprocessadores
- aumento na densidade de componentes nas pastilhas de processadores
- 1971 desenvolvimento do intel 4004 (1 pastilha a conter todos os componentes de uma cpu e processador de proposito especifico)
- com isso nasce o microprocessador
- 1972 desenvolvimento do intel 8008 (1 processador de 8 bits e 2x mais complexo que o 4004 e processador de proposito especifico)
- 1974 desenvolvimento do intel 8080 (processador de proposito geral, velocidade de 8 bits)
- final dos anos 70 nascem os processadores de 16 bits 8086
- 1981 Bell e Hp lancam um processador de velocidade de 32 bits de uma nica pastilha)
- 1985 Intel lanca seu processador 80386 com velocidade de 32 bits)
Tcnicas imbutidas nos processadores atuais:
- previso de desvio ( processador examina instrues a serem processadas mais a frente e prev quais desvios ou instrues podem ser processadas)
- analise de fluxo de dados (processador verfica quais instrues dependem de resultados ou dados de outras instrues
- execuo especulativa ( processador executa instrues de maneira especulativa antes que elas ocorram na sequencia de execuo do programa)
Em um pc atual estima-se que h aprox. 100 milhoes de transistores e so projetos que visam o desempenho.
Balanceamento do Desempenho
- Ajuste na organizao e arquitetura para compensar as diferenas de capacidade entre os vrios componentes (ex: processador X outros componentes)
- Maior diferena ocorre na interface entre o processador e a memoria principal (rota mais importante do computador)
- se memoria e processador no se comunicarem na velocidade adequada o processador fica bloqueado em estado de espera.
Algumas Solues:
- aumento de n de bits obtidos em cada acesso de memoria aumentando a largura ao invez da capacidade e usando barramentos mais largos
- usar memoria cache ou mudar a interface da memoria dram
- as mesmas solues podem ser aplicadas a dispositivos de E/S
Evolucao do Pentium e do PowerPc
Pentium conjunto complexo de instrues (cisc)
PowerPc descendente do 1 sistema risc

Capitulo 03 Barramentos do Sistema


Formacao de um ciclo de sequencia de instruo:
- busca de instruo seguida de 0 ou mais operaes de busca de operandos;
- busca de instruo seguida de 0 ou mais operaes de armazenamento de dados;
- teste de interrupes.
Para interconectar dispositivos em um sistema so utilizados barramentos, que podem ser utilizados para controlar direito de leitura/escrita em
memria ou E/S, interrupes, confirmaes, relgio e reset. Para aumentar o desempenho do sistema, os barramentos so organizados de maneira
hierrquica, de forma a isolar o trfego de dados entre CPU e memria do trfego proveniente de operaes de E/S. Os chamados barramentos de
expanso proporcionam maior flexibilidade ao sistema (ex.SCSI),enquanto os barramentos de alta velocidade so utilizados para dispositivos de alta
capacidade (ex. FireWire). Os barramentos so compostos por linhas que podem ser, Dados, Endereo ou Controle.
O projeto dos barramentos de grande importncia no desempenho do sistema. 05 Pontos importantes no projeto de barramento:
Tipo dedicado ou multiplexado;
Mtodo de arbitrao a deciso sobre permisses de envio de sinais atravs de linhas do barramento, pode ser Centralizado ou Distribudo;
Temporizao o envio de sinais pode Sncrona atravs de um relgio central ou Assncrona com base na transmisso mais recente;
Largura nmero de linhas de endereo e de linha de dados;
Tipo de transferncia Leitura, escrita, escrita/modificao/escrita, escrita/leitura, em bloco.
Componentes de Computador
Todos os projetos atuais de computadores so baseados nos conceitos de arquitetura von neumann, e so 3 conceitos bsicos:
- Os dados e as instrues so armazenadas em uma nica memoria de leitura e escrita;
- O contedo dessa memoria endereada pela sua posio, independente do tipo de dados contidos;
- A execuo da instruo ocorre de modo sequencial ( h excessoes).
Programa Hardwire combinao variada de um conjunto de componentes lgicos bsicos para armazenar dados binrios e executar operaes
aritmticas e logicas sobre esses dados, conectar diferentes componentes para obter a configurao desejada.
Um programa constitudo por uma sequencia de passos, sendo executa uma operao logica ou aritmtica para cada passo, ao invs de projetar um
novo hardware para cada aplicao nova, precisamos apenas fornecer uma nova sequencia de cdigos (instrues) para gerar os s inais de controle
desejados (software).
Os 2 componentes mais importantes do sistema so:
- modulo que interpreta a instruo
- modulo que executa as funes logicas e aritmticas (cpu)
- modulo de entrada de dados E/S
- modulo de sada de dados E/S
- modulo de memoria usado para armazenar temporariamente instrues e dados
CPU
MEMORIA
Usa 2 registradores na troca de informacao:
1 registrador de enderecamento memoria (MAR) determina o prximo endereo de memoria a ser usada na instruo de leitura ou escrita;
2 registrador temporrio de dados (MBR) contem um valor para gravar na memoria ou recebe um valor lido da memoria;
Depois o registrador de endereamento de E/S (I/O AR) determina o dispositivo E/S
Depois um registrador temporrio de dados de E/S (I/O BR) usado para a troca de dados entre um dispositivo E/S e a cpu
O modulo de memoria formado por um conjunto de posies de memoria identificadas por endereos numerados sequencialmente, cada posio
contem um numero binrio que pode ser interpretado como uma instruo ou um dado.
Programa: conjunto de instrues armazenadas na memoria e na forma mais simples h 2 passos para o processamento da instruo:
- A cpu busca a instruo na memoria uma de cada vez e executa uma por vez e isso se repete, a execuo do programa consiste em busca e execuo
de instrues.
Ciclo de instruo: processamento necessrio para a execuo de uma instruo
Ciclo de busca: cpu busca uma instruo na memoria (usa-se o PC contador de instruo) usado para guardar o endereo da prxima instruo
Ciclo de execuo: depois que a cpu buscou a instruo na memoria usando o PC, a cpu usara a IR (registrador de instruo) para executar a acao
Essa ACOES so definidas em 4 categorias:
* Processador-memoria: troca de dados entre cpu/memoria ou memoria/cpu
* Processador-E/S: troca de dados entre cpu e um dispositivo perifrico atravs de um modulo E/S
* Processamento de dados: execuo de operaes logicas ou aritmticas sobre dados
* Controle: gerencia as sequencias de instrues nos endereos de memoria

Os estados de ciclos de instruo so descritos como:


- calculo de endereo de instruo(instruction address calculation)endereo da prxima instruo a ser executada determinado
- busca de instruo(instruction fetch)instruo lida da memoria e armazenada no processador
- decodificador instruo(instruction operation decoding)instruo a ser executada analisada para determinar qual operao e operandos sero usados
- calculo de endereo de operando(operand address calculation)endereo de operando sera determinado se a operao fizer referencia a operando na
memoria o estiver disponvel via E/S.
- busca de operando (operand fetch)operando localizado na memoria ou lido no dispositivo E/S
- execuo da operao (data operation)operao indicada na instruo executada
- armazenamento de resultado (operand store)o resultado escrito na memoria ou no dispositivo de E/S

Interrupcoes:
As classes mais comuns de interrupo so:
Interr. de software: Gerado pelo resultado da execuo de uma instruo, tal como overflow, diviso por 0, endereamento de memoria errado, etc..
Interr. de relgio: gerado pelo relgio interno do processador, permite que o S.O execute funes em intervalo de tempo regulares.
Interr. de E/S: gerada pelo controlador de E/S para sinalizar a concluso de operao ou sinalizar erro.
Falha de hardware: gerada na ocorrncia de uma falha como queda na energia ou erro na paridade de memoria.
Interrupcoes e o ciclo de instrucoes: com o uso do mecanismo, o processador pode executar outras tarefas enquanto a operao de E/S esta em
andamento, interrupo ser a interrupo da sequencia normal de execuo que depois prossegue normalmente quando o processamento dessa
interrupo concludo e sempre sera de responsabilidade do processador ou do S.O executar esta rotina , O sistema visa principalmente a melhoria de
performance do sistema. Para acomodar interrupes, um ciclo de interrupo adicionado ao ciclo de instruo. O tempo de execuo de uma
operao de E/S muito maior do que o tempo de execuo de uma sequencia de instrues de uma programa de usurio.
Multiplas Interrupcoes: podem ocorrer mltiplas interrupes e existe 2 abordagens para isso: 1 - Desabilitar as interrupes (o processador ignorara
qualquer sinal de requisio de interrupo), as solicitaes ficaro pendentes e so sero analizados depois que as interrup es forem habilitadas. A
desvantagem que o procedimento no leva em considerao a prioridade relativas ao tempo. 2 - Definir prioridade para as interrupes interrupes
de maior prioridade podem interromper rotinas de interrupo de menor prioridade

Nenhuma
interrupcao
Funcionamento E/S: O modulo E/S (ex. contr. disco) pode trocar dados diretamente com o processador, da mesma forma que feita com a memoria e
em alguns casos prefervel que a transferncia de dados de E/S seja feita diretamente para a memoria. Processador autoriza a leitura e escrita de um
modulo E/S memoria e a troca de dados feita sem a interveno do processador, esse processo chamado de DMA-direct memory access.
Estruturas de Interconexao: so as linhas de conexo que interligam os mdulos bsicos de um computador (processador, memoria, E/S).
Memoria: compostas de N palavras do mesmo tamanho com um nico endereo, pode ser lida ou escrita e a operao indicada por sinais de controle.
E/S: pode ler ou escrever dados, pode controlar mais de 1 dispositivo externo chamada de Portas e cada porta tem um endereo. A operao na entrada
de dados denominada (leitura) e a sada de dados (escrita) e o modulo E/S tambm pode enviar sinal de interrupo para o processador.
Processador: le dados e instrues, escreve dados aps seu processamento, pode receber sinais de interrupo e usa sinais de controle para controla as
operaes de todo o sistema.
Interconexao de Barramentos: Uma caracterstica bsica ser um meio de comunicao compartilhado. Para interconectar dispositivos em um sistema
so utilizados barramentos, que podem ser utilizados para controlar direito de leitura/escrita em memria ou E/S, interrupes, confirmaes, relgio e
reset. Para aumentar o desempenho do sistema, os barramentos so organizados de maneira hierrquica, de forma a isolar o trfego de dados entre
CPU e memria do trfego proveniente de operaes de E/S. Os chamados barramentos de expanso proporcionam maior flexibilidad e ao sistema
(ex.SCSI),enquanto os barramentos de alta velocidade so utilizados para dispositivos de alta capacidade (ex. FireWire). Os barramentos so compostos
por linhas que podem ser Dados, Endereo ou Controle. Apenas um dispositivo pode transmitir dados a cada instante seno sinais podero ser alterados.
Pode ser usado em paralelo para transmitir dgitos binrios simultaneamente. O principal barramento o barramento de sistema (conecta processador,
memoria e E/S). O barramento pode ser definido tambm como um conjunto de condutores eltricos paralelos

Estruturas de Barramentos: Um barramento de sistema contem de 50 a 100 linhas distintas, pode ser dividido em:
Linha de dados: ou barramento de dados contem 8, 16 ou 32 linhas conhecida como largura e cada linha pode conduzir um bit por vez.
Linha de endereo: usados para designar a origem ou destino dos dados transferidos pelo barramento de dados
Linha de controle: usadas para controlar o acesso e a utilizao das linhas de dados e de endereo. As linhas de controle tpicas possuem:
Escrita na memoria: grava os dados do barramento no endereo de memoria especificado nas linha de endereo.
Leitura de memoria: coloca nas linhas de barramento os valores armazenados no endereo de memoria
Escrita em porta de E/S: envia os dados endereados da porta E/S para o barramento
Confirmao (ACK) de transferncia:confirma envio ou recebimento de dados no barramento
Requisio de barramento: indica que algum modulo do sistema precisa do controle do barramento
Concesso de barramento: concede o controle do barramento ao modulo que fez a requisicao
Requisio de interrupo: indica a existncia de uma interrupo pendente
Confirmao (ACK) de interrupo: confirma o reconhecimento de uma interrupo pendente
Relgio: utilizado para a temporizao de operacoes
Inicializao (reset): inicializa todos os mdulos do sistema
Linha de energia: usado para distribuio de energia aos mdulos conectados no barramento.
Hierarquia de Multiplos Barramentos: muitos dispositivos conectados num barramento podem prejudicar o desempenho do sistema principalmente
quando a demanda de dados se aproxima da capacidade do barramento. Uma soluo pode ser o aumento da largura do barramento de 32 para 64 bits.
Dispositivos E/S podem se conectar diretamente ao barramento mas o ideal utilizar portas de expanso que serve como armazenamento temporrio
de dados.
Arquitetura de Mezanino: barramento de alta velocidade que seja integrado ao resto do sistema usando somente uma ponte entre o barramento do
processador e o barramento de alta velocidade. Mudancas na arquitetura do processador no afetam o barramento de alta velocidade e vice-versa.
O projeto dos barramentos de grande importncia no desempenho do sistema. 05 Pontos importantes no projeto de barramento:
Tipo : linhas do barramento
Dedicado: utilizao de linhas distintas para dados e endereo.
Multiplexado: utilizao das mesmas linhas fsicas por mais de um conjunto de sinais.
Mtodo de arbitrao : controle do barramento
Centralizado: o controlador de barramento ou arbitro responsvel por alocar tempo de utilizao do barramento a cada modulo do sistema
Distribudo: no existe controlador central, cada modulo do sistema contem uma logica de controle de acesso agindo de forma conjunta para compartilhar o barramento.
Temporizao: referem-se a coordenao do barramento
Sncrona: ocorrncia de eventos determinada por um relgio, o barramento possui uma linha de relgio que transmite uma sequencia alternada de 1s e 0s de = durao
denominada ciclo de relgio ou ciclo de barramento. Todos os dispositivos conectados ao barramento podem ler a linha de relgio e todos os eventos no barramento
devem comear no inicio de um ciclo de relogio

Assncrona: a ocorrencia de um evento depende de um evento ocorrido anteriormente


Largura:
nmero de linhas e largura do barramento, quanto maior, melhor
Tipo de transferncia:
Leitura, escrita, escrita/modificao/escrita, escrita/leitura, em bloco.
Barramento PCI (peripheral componente interconnect)
No incio da dcada de 1990, a Intel lanou um novo padro de barramento, o barramento PCI (Interconexo de Componentes Perifricos). Fornece
acesso direto memria do sistema para dispositivos conectados, mas usa uma ponte para se conectar ao barramento frontal (frontside bus) e,
portanto, ao processador. O barramento frontal uma conexo fsica que liga o processador maioria dos outros componentes do computador,
inclusive memria RAM, aos HDs e aos slots PCI. Placas PCI tm 49 linhas obrigatrias e 51 linhas opcionais. O PCI no incio operava a 33MHz, usando
um caminho de 32 bits de largura. O padro foi atualizado, e sua velocidade subiu de 33MHz para 66MHz, e sua largura dobrou para 64 bits. Atualmente,
o PCI-X transfere em 64 bits a uma velocidade de 133MHz a uma incrvel taxa de transferncia de 1GBps (gigabyte por segundo). As placas PCI tm 47
pinos (49 para uma placa com "bus mastering", que controla o barramento PCI sem interveno do processador). O barramento PCI consegue trabalhar
com poucos pinos por causa da multiplexao de hardware, que significa que o dispositivo envia mais do que um sinal por pino. Alm disso, o PCI
compatvel com dispositivos que usam tanto 5 volts como 3,3 volts.
Estrutura do Barramento PCI - obrigatorias
- Pinos de sistema: inclui os pinos de relgio e inicializao (reset)
- Pinos de dados e endereo: 32 linhas multiplexadas no tempo para endereos/dados e as demais, utilizadas para interpretar/validar as linhas de sinal.
- Pinos de controle da interface: controla a temporizao das transaes e fornece coordenao entre o iniciador e alvo de cada transao.
- Pinos de arbitrao: linhas no compartilhadas, cada mestre do PCI possui seu prprio par de linhas de arbitrao que o conecta ao arbitro central do barramento PCI.
- Pinos de erros: utilizado para indicar erros de paridade e outros erros.
Estrutura do Barramento PCI opcionais
- Pinos de interrupo: disponiveis a dispositivos que precisam gerar interrupo, no compartilhados, com sua linha prpria de interrupo para um controlador.
- Pinos de suporte a memoria cache: necessrio para o funcionamento de uma memoria no PCI que possa ser armazenada em uma memoria cache, permitem snoopy.
- Pinos de extenso do barramento para 64 bits: 32 linha multiplexadas combinados com linhas obrigatrias para formar um barramento de 64 bits.
- Pinos de teste / JTAG: dao suporte aos procedimentos de testes definidos no padro IEEE 1149.1.
Comandos PCI
- confirmao de interrupo
- ciclo especial
- leitura em dispositivo de E/S
- escrita em dispositivo de E/S

- leitura mltipla de memoria


- escrita na memoria
- escrita na memoria e invalidao
- leitura de configurao

- leitura de memoria

- escrita de configurao

- leitura de linha de memoria

- ciclo de endereo duplo

Disposicoes finais
- A atividade do barramento ocorre na forma de transaes entre um iniciador, ou mestre e um alvo.
- toda a transferncia de dados no PCI uma transao nica, consistindo em uma fase de transferncia de endereo e uma ou mais fases de transferncia de dados.
- o PCI utiliza um esquema de arbitrao sncrono e centralizado no qual os mestres possuem linha de sinal REQ (requisio) e GNT (concesso).
- o PCI no determina arbitrao particular, pode ser por critrio de prioridade, round Robin ou fifo.

Capitulo 04 Memoria Interna


Visao Geral dos Sistemas de Memoria: Nos sistemas computacionais as memrias so organizadas de uma maneira hierrquica onde temos o nvel
superior, as mais prximas do processador, que podemos citar os registradores do processador, com um ou dois nveis (hoje j temos at trs nveis com
o cache L3) que so cache L1 e cache L2, aps temos a memria principal DRAM. Essas memrias citadas acima so consideradas interna nos sistemas de
computao. Continuando a hierarquia temos as memrias consideradas externa nos sistemas computacionais onde podemos citar como exemplos:
disco rgido (magnticos) e mais abaixo os meios removveis. Sabemos que a partir do primeiro computador (ENIAC) que no era possvel o
armazenamento dos processos de programao se viu necessrio o uso de memrias para armazenamento das instrues podendo um programa ser
carregado ou modificado atribuindo valores a posio de memria. Abaixo a pirmide exemplificando de modo grfico a Hierarquia das Memrias:

A medida que descemos pela hierarquia de memria, o custo por bit torna-se menor, a capacidade de memria fica maior e o tempo de acesso, mais
lento, o ideal seria usar apenas memria rpida, mas isso geraria um custo/benefcio muito alto, ideia organizar dados e programas na memria de
maneira que as palavras de memria requeridas sejam encontradas nas memrias rpidas, sendo provvel que a maioria dos acesso s futuros memria
principal pelo processador sejam posies de memria usadas recentemente. Assim, a memria cache mantm automaticamente uma cpia de algumas
palavras da memria usadas recentemente e montado um projeto adequado as palavras requisitadas estaro, geralmente, na memria cache.
Memria talvez seja o componente que apresenta maior variedade de tipos, tecnologias, organizaes, desempenhos e custos de todos os elementos de
um computador. Nenhuma das tecnologias de memria existentes satisfaz todos os requisitos de armazenamento de dados. Um sistema tpico
equipado com uma hierarquia de subsistemas de memria, algumas internas e outras externas.
Localizacao
Processador
Interna (Principal)
Externa (Secundaria)

Capacidade
Tam. Palav.
N. Palavras

Unid. de Transf.
Palavra
Bloco

Metodo de Acesso
Sequencial
Direto
Aleatorio
Associativo

Desempenho
Tempo Acesso
Tempo Ciclo
Tx. Transferencia

Tecnologia
Semicondutores
Optica
Magnetica
Magnetica- Optica

Caract. Fisicas
Volatil
No-Volatil
Apagavel
No- Apagavel

Organizacao

A capacidade uma caracterstica bvia da memria, deste modo temos na memria interna a capacidade usualmente expressa em f uno de bytes
(1byte = 8 bits) ou palavras sendo os tamanhos mais usuais 8, 16, 32 bits, a passo que na memria externa expressa em funo de bytes. Considere os
03 conceitos relacionados memria interna a seguir:
Palavra: unidade de organizao da memria sendo o tamanho tipicamente igual ao n. bits usados para representar um inteiro, h excees.
Unidade enderevel: a palavra, porm alguns sistemas permitem o endereamento por bytes.
Unidade de transferncia: na memria interna n bits que pode ser lido de cada vez. Na externa pode ser transferidos dados maiores que uma palavra.
Mtodo de acesso aos dados, conforme abaixo:
Acesso Sequencial: dados so organizados na memria em unidades chamadas registros sendo o acesso feito segundo uma sequencia linear tambm
com informaes de endereamento, necessrio para separar um registro do outro, facilitando o processo de busca por um registro.
Acesso Direto: emprega um mecanismo compartilhado para leitura/escrita, possuindo cada bloco/registro um endereo nico, baseado em sua
localizao fsica.
Acesso aleatrio: cada posio de memria enderevel possui um mecanismo de endereamento nico e fisicamente conectado a ela sendo o tempo
de acesso a uma determinada posio constante e independente da sequencia de acessos anteriores.
Associativo: possibilita comparar simultaneamente certo n de bits de uma palavra com todas as palavras da memria, determinando quais dessas
palavras contm o mesmo padro de bits, deste modo uma palavra buscada na memria com base em uma parte do contedo e no o endereo.
Os parmetros empregados para medir o desempenho so:
Tempo de acesso: tempo gasto na operao de leitura e escrita (instante que o endereo apresentado at o momento dos dados serem armazenados
ou disponibilizados para utilizao).
Tempo ciclo de memria: (memria acesso aleatrio) o tempo de acesso e o tempo adicional requerido antes que um 2 acesso possa ser iniciado.
Taxa de transferncia: taxa na qual os dados podem ser transferidos de ou para a unidade de memria.
Diversas tecnologias tem sido empregadas na construo de memria, as mais comuns so as memrias de semicondutores e as memrias de superfcie
magnticas, diversas caractersticas de armazenamento so importantes, pois em uma memria voltil os dados so perdidos quando a energia eltrica
desligada e na memria no-voltil, os dados, uma vez gravados, permanecem armazenados sem alterao at serem modificados.

Hierarquia de Memria
ROM read only memory (memoria somente de leitura), as restries de um projeto de memoria se resumem a 03: Custo, velocidade e capacidade, a
velocidade da memoria deve ser compatvel com a do processador ou a frequncia de acesso do processador memoria deve ser menor. Quando
falamos de memria interna ela pode ser confundida com a memria principal do computador, mas o processador requer uma memria local prpria
que so formadas por registradores e h tambm a unidade de controle que tambm pode ter sua prpria memria interna e ainda temos um outro tipo
de memria interna chamada de memria cache e tambm as memorias externas. Registradores, memria cache e memria principal so 03 formas de
memrias volteis que empregam tecnologias de semicondutores. O uso de 03 nveis de memria de semicondutores salienta o fatos que existem vrios
tipos de memria que diferem em velocidade e custo.
Registradores
Um processador tpico contm algumas dezenas de registradores internos embora algumas mquinas possuam centenas, Em um sistema de
computao, a destinao final do contedo de qualquer tipo de memria o processador (a CPU). Isto , o objetivo final de cada uma das memrias
(ou do subsistema de memria) armazenar informaes destinadas a serem, em algum momento, utilizadas pelo processador. Ele o responsvel pela
execuo das instrues, pela manipulao dos dados e pela produo dos resultados das operaes.
As aes operativas do processador so realizadas nas suas unidades funcionais: na unidade aritmtica e lgica - ULA (Aritmetic and Logic Unit), na
unidade de ponto flutuante - UFP (Float Point Unit - FPU) ou talvez em uma unidade de processamento vetorial. No entanto, antes que a instruo seja
interpretada e as unidades da CPU sejam acionadas, o processador necessita buscar a instruo de onde ela estiver armazenada (memria cache ou
principal) e armazen-la em seu prprio interior, em um dispositivo de memria denominado registrador de instruo.
Em seguida a este armazenamento da instruo, o processador dever, na maioria das vezes, buscar dados da memria (cache, principal ou mesmo de
unidades de disco em fita) para serem manipulados na ULA. Esses dados tambm precisam ser armazenados em algum local da CPU at serem
efetivamente utilizados. Os resultados de um processamento (de uma soma, subtrao, operao lgica, etc.) tambm precisam, s vezes, ser guardados
temporariamente na CPU, ou para serem novamente manipulados na ULA por uma outra instruo, ou para serem transferidos para u ma memria
externa CPU. Esses dados so armazenados na CPU em pequenas unidades de memria, denominadas registradores.
Um registrador , portanto, o elemento superior da pirmide de memria (ver figura 1), por possuir a maior velocidade de transferncia dentro do
sistema (menor tempo de acesso), menor capacidade de armazenamento e maior custo.
Analisando os diversos parmetros que caracterizam as memrias, descritos no item anterior, temos:
Tempo de acesso/ciclo de memria - por serem construdos com a mesma tecnologia da CPU, estes dispositivos possuem o menor tempo de
acesso/ciclo de memria do sistema (neste caso, no aplicvel distinguir-se tempo de acesso e ciclo de memria, por serem sempre iguais), algo em
torno de l0 a 20 nanossegundos, dependendo de tratar-se de CPU de um supercomputador ou de um microprocessador mais lento.
Capacidade - os registradores so fabricados com capacidade de armazenar um nico dado, uma nica instruo ou at mesmo um nico endereo.
Desta forma, a quantidade de bits de cada um de uns poucos bits (de 8 a 64), dependendo do tipo de processador e, dentro deste, da aplicao dada
ao registrador em si. Registradores de dados tm, em geral, o tamanho definido pelo fabricante para a palavra do processador, tamanho diferente dos
registradores usados exclusivamente para armazenar endereos (quando h registradores com esta funo especfica no processador). Por exemplo, o
processador Intel 80486, cuja palavra de 32 bits, tem registradores tambm de 32 bits, inclusive registradores de endereos (os nmeros que indicam
os endereos de clula de memria principal do processador tm 32 bits); o processador Motorola 68000 tem registradores de dados de 32 bits (palavra
de 32 bits) e registrador de endereos de 24 bits, enquanto os processadores da famlia IBM 43xx possuem registradores de dad os de 32 bits e
endereos de 24 bits.
Volatilidade - registradores so memrias de semicondutores e, portanto, necessitam de energia eltrica para funcionarem. Assim, registradores so
memrias volteis. Para a CPU funcionar sem interrupo, mesmo quando eventualmente a energia eltrica para o computador interrompida,
necessrio que o sistema de computao seja ligado a um dispositivo de alimentao eltrica denominado "no-break", o qual constitudo de bateria ou
gerador de corrente, conversor AC/DC.
Tecnologia - conforme mencionado no tpico anterior, os registradores so memrias de semicondutores, sendo fabricados com tecnologia igual dos
demais circuitos da CPU, visto que eles se encontram inseridos em seu interior. No entanto, h diversos modelos de tecnologia de fabricao de
semicondutores, uns com tempo de acesso maior que outros, custos e capacidade de armazenamento, no mesmo espao fsico, diferentes. Tecnologias
bipolar e MOS ("metal oxide semicondutor") so comuns na fabricao de registradores, sendo descritas na disciplina "Circuitos Lgicos".
Temporariedade - os registradores so memrias auxiliares internas CPU e, portanto, tendem a guardar informao (dados ou instrues) o mais
temporariamente possvel. Acumuladores ou registradores de dados armazenam os dados apenas o tempo necessrio para sua utilizao na ULA.
Custo - devido tecnologia mais avanada de sua fabricao, os registradores encontram-se no topo da pirmide em termos de custos, sendo os
dispositivos de maior custo entre os diversos tipos de memria.
Cache
A memria cache normalmente no visvel para o programador ou mesmo para o processador. Ele apenas um dispositivo que organiza a
movimentao dos dados entre a memria principal e os registradores do processador de modo que melhore o desempenho.
A memria cache tem como um dos princpios obter velocidade de acesso memria prxima da velocidade das memrias mais rpidas e, ao mesmo
tempo, disponibilizar no sistema uma memria de grande capacidade com custo prximo das de semicondutor mais baratas.
Uma memria principal grande e lenta combinada com uma memria cache menor e mais rpida. A memria cache contm uma cpia de partes da
memria principal, pois quando necessrio ao processador ler uma palavra da memria, realizado um teste para determinar se a palavra est na
memria cache, o que caso esteja fornecida ao processador, pois caso contrrio, um bloco de dados sa memria principal lido para a memria cache
e em seguida a palavra requerida entregue ao processador.
Segue figuras abaixo com o conceito de memria cache:

Quando as memrias caches


foram inicialmente introduzidas
tinhamos um nica memria
cache, mas atualmente o uso de
vrias memrias cache tornouse comum, deste modo
podemos citar dois aspectos
importantes do projeto de
sistemas
com
mltiplas
memrias cache que so o
numero de nveis e o uso de
memrias cache unificadas ou
separadas, pois com o aumento
da densidade dos circuitos integrados, foi possvel incluir a memria cache na mesma pastilha do processador, porm com a possibilidade de incluso da
memria cache na pastilha do processador, seria ainda desejvel utilizar uma cache externa pastilha, e assim, o s projetos mais modernos incluem
tanto uma memria cache externa quanto outra embutida na pastilha sendo a organizao resultante conhecida como memria cache de dois nveis,
sendo a interna chamada de nvel 1 (L1) e a externa, de nvel 2 (L2), mas sabemos que atualmente j temos tambm a memria cache 3 (L3) j includas
em sistemas computacionais.
Memria Principal
Desde seu aparecimento, as memrias baseadas na microeletrnica superaram de longe as memrias de ncleo magntico, ficando o uso de pastilhas
de semicondutores para a memria principal sendo quase universal. Dos tipos de memria de semicondutores o mais comum conhecida
como memria de acesso aleatrio, contudo, o uso desse termo um erro, visto que at memrias no-voltil so de acesso aleatrio. Uma
caracterstica particular das memrias RAM possibilitar que novos dados sejam lidos e escritos rapidamente e de modo bastan te fcil. Tanto a leitura
quanto a escrita so feitas por meio de sinais eltricos e tambm por se tratar de memria voltil requer um fornecimento de energia constante, pois
em caso de interrupo os dados so perdidos sendo usada para armazenamento temporario. Podemos citar que a tecnologia pode ser dividida em
esttica e dinmica sendo as duas formas volteis.
dinmica: feita de clulas que armazenam dados com a carga de capacitores, ou seja, a presena de carga ou ausncia representada por dgitos 1 ou 0.
esttica: os valores binrios so armazenados usando configuraes tradicionais de flip-flop com portas lgicas.
O tipo mais comum de memria RAM, aquela que compramos na forma de mdulos e instalamos na placa-me, chamada de DRAM, ou "dynamic
RAM". A memria DRAM passou a ser usada apenas a partir do final da dcada de 70, substituindo os chips de memria SRAM, pois o custo/benefcio
no compensava o uso. Com o passar do tempo, as memria DRAM viraram o padro, de forma que geralmente dizemos apenas "memria RAM" e no
"memria DRAM Num chip de memria DRAM, cada bit formado pelo conjunto de um transstor e um capacitor. O transstor controla a passagem da
corrente eltrica, enquanto o capacitor a armazena por um curto perodo. Quando o capacitor contm um impulso eltrico, temos um bit 1 e quando ele
est descarregado, temos um bit 0. Quando citado "capacitor" em relao a memria RAM, no nada similar aos capacitores eletrolticos da placame. Os "capacitores" usados nos chips de memria so extremamente pequenos e simples, basicamente dois pequenos blocos de metal ligados ao
transstor, que conservam o impulso eltrico por apenas uma frao de segundo. Para evitar a perda dos dados, a placa-me inclui um circuito de
refresh, que responsvel por regravar o contedo da memria vrias vezes por segundo (a cada 64 milessegundos ou menos), algo similar ao que
temos num monitor CRT, onde o canho de eltrons do monitor precisa atualizar a imagem vrias vezes por segundo para evitar que as clulas de
fsforo percam seu brilho. O processo de refresh atrapalha duplamente, pois consome energia e torna o acesso memria mais lento.
A memria principal geralmente combinada com um memria cache menor e de maior velocidade, porm a memria principal um componente
essencial em qualquer tipo de computador. Por mais que exista espao de armazenamento disponvel quer seja HD ou memria flas h, sempre
necessria uma certa quantidade de memria RAM. A principal diferena entre DRAM e SRAM que na memria SRAM cada clula formada por 4 ou 6
transstores, em vez de apenas um. Dois deles controlam a leitura e gravao de dados, enquanto os demais formam a clula que armazena o impulso
eltrico (a clula continua armazenando um nico bit). As memrias SRAM so muito mais rpidas e no precisam de refresh, o que faz com que
tambm consumam pouca energia. Alm de ser usada como memria cache, a memria SRAM muito usada em palmtops e celulares, onde o consumo
eltrico uma questo crtica. Seria perfeitamente possvel construir um PC que usasse memria SRAM como memria principal, mas o custo seria
proibitivo. Foi por causa do custo que as memrias DRAM passaram a ser utilizadas em primeiro lugar. Mesmo utilizando um nico transstor por bit, os
mdulos de memria RAM so formados por um nmero assustador deles, muito mais que os processadores e outros componentes. Um mdulo d e
memria de 1 GB, por exemplo, formado geralmente por 8 chips de 1 gigabit cada um (8 gigabits = 1 gigabyte). Cada chip possui ento mais de 1 bilho
de transstores e capacitores e o mdulo inteiro acumula mais de 8 bilhes de conjuntos.
Apesar dessa brutal quantidade de transistores, os chips de memria so relativamente simples de se produzir, j que basta repetir a mesma estrutura
indefinidamente. muito diferente de um processador, que alm de ser muito mais complexo, precisa ser capaz de operar a freq ncias muito mais
altas. Com a evoluo nas tcnicas de fabricao, os mdulos de memria foram ficando cada vez mais baratos com o passar das dcadas. Na poca dos
micros 486, chegava-se a pagar 40 dlares por megabyte de memria, valor que hoje em dia compra um mdulo de 512 MB (ou at mais). O problema
que os requisitos dos sistemas operacionais e aplicativos tambm aumentaram, quase que na mesma proporo. Enquanto o MS-DOS rodava bem com
2 ou 4 MB de memria, o Windows 95 j precisava de pelo menos 16 MB. O Windows XP (assim como a maioria das distribuies Lin ux atuais) no roda
bem com menos de 256 MB, enquanto no Vista o ideal usar 1 GB ou mais. Na maioria das situaes, ter uma quantidade suficiente de memria RAM
instalada mais importante que o desempenho do processador, pois sem memria RAM suficiente o sistema passa a utilizar memria swap, que
absurdamente mais lenta. Enquanto uma seqncia de 4 leituras em um mdulo de memria DDR2-800 demora cerca de 35 bilionsimos de segundo,
um acesso a um setor qualquer do HD demora pelo menos 10 milsimos. A taxa de transferncia nominal do mesmo mdulo de memria de 6.4 GB/s,
enquanto mesmo um HD rpido, de 7200 RPM tem dificuldades para superar a marca de 60 MB/s, mesmo lendo setores seqenciais. Ou seja, a memria
RAM possui nesse caso um tempo de acesso quase 300.000 vezes menor e uma taxa de transferncia contnua mais de 100 vezes maior que o HD. Se
lembrarmos que a memria RAM j muito mais lenta que o processador (justamente por isso temos os caches L1 e L2), fica fcil perceber o quanto o
uso de memria swap por falta de memria RAM fsica pode prejudicar o desempenho do sistema. Como disse h pouco, embora seja brutalmente mais
rpida que o HD e outros perifricos, a memria RAM continua sendo muito mais lenta que o processador. O uso de caches diminu i a perda de
desempenho, reduzindo o nmero de acessos memria; mas, quando o processador no encontra a informao que procura nos caches, precisa
recorrer a um doloroso acesso memria principal, que pode demorar o equivalente a mais de 100 ciclos do processador. Para reduzir a diferena (ou
pelo menos tentar impedir que ela aumente ainda mais), os fabricantes de memria passaram a desenvolver um conjunto de novas tecnologias, a fim de
otimizar o acesso aos dados. Tivemos tambm alteraes fsicas no formato dos mdulos, de forma que podemos classificar os mdulos de memria de
duas formas: Quanto tecnologia usada (EDO, SDRAM, DDR, DDR2, etc.) Quanto ao formato usado (SIMM, DIMM, etc.