You are on page 1of 426

O SISTEMA DE COMPUTAO

Livro texto: Arquitetura e Organizao de


Computadores. Stallings, W.
1
HISTRIA dos COMPUTADORES

2
HISTRIA dos COMPUTADORES

3
HISTRIA dos COMPUTADORES

4
HISTRIA dos COMPUTADORES

5
6
A estenografia digital permite esconder um arquivo dentro de outro, de
modo que no se perceba a existncia desse arquivo ocultado. Por
exemplo, ocultar um arquivo de texto do Word ou uma planilha do
Excel, dentro de um arquivo de formato GIF, JPEG ou BMP (arquivos
de imagem). Arquivos como os de imagem e som possuem reas de
dados que no so usadas ou so pouco significativas. A estenografia
tira proveito disso, trocando essas reas por informao . O software
responsvel por esconder a mensagem em uma figura no deixa
marcas de sua ao, desabilitando temporariamente o histrico do
navegador e apagando dados do cach depois de fechado. JP Hide and
Seek (JPHS) um exemplo de software capaz de esconder uma
mensagem em um arquivo de imagem.

7
8
Algumas ferramentas para clculo

baco Pascaline
Rgua de Clculo (EUA)
Soroban (Japo)
Suan-pan (China)

Ossos de Napier Mquina Analtica Leitor de Cartes


9
10
11
12
13
HISTRIA dos COMPUTADORES

No incio do sculo XX j eram comuns as


calculadoras mecnicas e eltricas. As
calculadoras eltricas eram baseadas em um
pequeno dispositivo eltrico, chamado de REL.
Os rels tinham aproximadamente o tamanho de
uma caixa de fsforos. Mquinas calculadoras
construdas com rels eram muito grandes, pois
para constru-las eram necessrios centenas de
rels.

14
15
HISTRIA dos COMPUTADORES
Nos anos 30 surgiram as vlvulas eletrnicas,
muito usadas em rdios. Um daqueles antigos
rdios possuam mais ou menos uma dzia de
vlvulas eletrnicas. As vlvulas funcionavam
como rels mais sofisticados. Eram muito mais
rpidas que os rels, mas tinham o inconveniente
de durarem pouco tempo. Aps cerca de 1000
horas de uso, as vlvulas "queimavam", assim
como ocorre com as lmpadas. Era ento
necessrio trocar a vlvula queimada.

16
17
18
19
20
21
HISTRIA dos COMPUTADORES

Uma grande melhoria em todos os aparelhos eletrnico


ocorreu aps a inveno do TRANSISTOR. Esses
pequenos componentes serviam
para substituir as vlvulas, mas com
muitas vantagens. Eram muitos menores,
consumiam menos corrente eltricas e
duravam muitos anos. Tornou-se
possvel construo de computadores
de menor tamanho, mais rpidos,
mais confiveis e mais baratos.
J no final dos anos 50,
todos os computadores eram
construdos com transistores.

22
23
24
25
26
HISTRIA dos COMPUTADORES
Ao mesmo tempo em que os computadores transistorizados eram cada vez mais
utilizados em todo o mundo, um outro grande avano tecnolgico ocorria: A
corrida espacial. A miniaturizao de computadores era ainda mais importante,
no caso de um computador a ser colocado a bordo de um foguete. Seria
totalmente invivel levantar vo carregando um enorme computador valvulado.
J para um computador transistorizado, isto era possvel, mas se fosse
conseguida uma miniaturizao ainda maior, computadores mais poderosos ou
ento mais leves (ou ambas as coisas) poderiam ser embarcados nos foguetes.

A NASA (Agncia Espacial Norte-Americana) gastou bilhes de dlares com seu


programa espacial, contratou empresas fabricantes de transistores para que
realizassem uma miniaturizao ainda maior. Foram ento criados os primeiros
CIRCUITOS INTEGRADOS, tambm chamados de CHIPS( pequeno componente
eletrnico que possui em seu interior, centenas, ou at milhares de transistores).

27
HISTRIA dos COMPUTADORES
Antes da existncia dos microprocessadores, as CPUs dos
computadores eram formadas por um grande nmero de
chips, distribudos ao longo de uma ou diversas placas. Um
microprocessador nada mais que uma CPU inteira, dentro
de um nico CHIP. Um microprocessador contm todos os
circuitos que antigamente eram formados por diversas
placas.

28
29
Circuitos integrados com
milhes de transistores
por "chip".
Memrias semicondutoras
torna-se padro.
Processamento em
paralelo generalizado.
Redes de computadores e
estaes de trabalho.

https://www.youtube.com/watch?v=Ixgh3AhiL3E&feat
ure=related

30
A Evoluo dos
Microprocessadores

31
A Evoluo dos
Microprocessadores
Ligando-se um microprocessador a alguns chips de
memria e alguns outros chips auxiliares, tornou-se
possvel construir um computador inteiro em uma nica
placa de circuito. Esse computador, por ter um tamanho
muito menor que os computadores da poca (incio dos
anos 70), passou a ser conhecido como
MICROCOMPUTADOR.

A empresa americana INTEL, foi uma das primeiras a


produzirem microprocessadores. Seu primeiro
microprocessador era chamado de "4004". O 4004 era um
microprocessador ainda muito limitado. Era capaz de
realizar operaes com apenas 4 bits de cada vez ( s
pode operar com nmeros pequenos, de 0 a 15).

32
A Evoluo dos
Microprocessadores
At o final dos anos 70, os microcomputadores existentes operavam
com 8 bits (8080/8085). Nessa poca, a INTEL lanou os primeiros
microprocessadores de 16 bits: o 8086 e o 8088.
A cada ano foram lanados novos tipos de microprocessadores, cada
vez mais velozes. Por exemplo, o microprocessador 80286 foi utilizado
em um modelo da IBM chamado de IBM PC-AT. A sigla "AT" significa
"Advanced Technology" (Tecnologia Avanada). O IBM PC-AT
operava com 8 MHz, mas ao longo dos anos foram lanados novos
modelos com velocidades mais altas.
Assim como ocorreu com o 80286, os microprocessadores
80386,
80486 e PENTIUM tambm tiveram
verses com diversas
velocidades.

33
A Evoluo dos Microprocessadores
Os CHIPS podem ser divididos em vrias categorias, dependendo da
quantidade de transistores que existem em seu interior:
SSI - Short Scale of Integration, ou Integrao em Baixa Escala. Esse chip
contm em seu interior apenas algumas dezenas de transistores.
MSI - Medium Scale of Integration, ou Integrao em Mdia Escala. Esse chip
contm algumas centenas de transistores.
LSI - Large Scale of Integration,
ou Integrao em Alta Escala.
Contm em seu interior, alguns
milhares de transistores.
VLSI - Very Large Scale of
Integration, ou Integrao
em Escala Muito Alta.
Esse chip contm da ordem
de centenas de milhares de
transistores, ou +.
UVLSI (Ultra Very Large Scale
Integration) ou Integrao
em Escala Ultra Alta. Com milhes
de transistores 34
A Evoluo dos Microprocessadores

35
A Evoluo dos Microprocessadores

36
37
38
39
40
41
42
43
Nona Gerao - Processadores
Integrados no mesmo ncleo

44
45
A Evoluo dos Microprocessadores
Tamanho dos Transstores

46
A Evoluo dos Microprocessadores
Tamanho dos Transstores

47
Evoluo dos Encapsulamentos

48
Evoluo dos Encapsulamentos

49
Evoluo
dos
Encapsula-
mentos

50
Processadores
atuais
https://www.youtube.com/watch?v=8MY5gSrCr4E

? 51
a cincia que estuda as tcnicas, metodologias e
instrumentos computacionais, que automatiza processos e
desenvolve solues baseadas no uso do processamento
digital.

No se restringe apenas ao estudo dos algoritmos, suas


aplicaes e implementao na forma de software, envolve
as reas pertinentes Tecnologia da Informao, a
telecomunicao, bancos de dados e as aplicaes
tecnolgicas que possibilitam atingir o tratamento de dados
de entrada e sada, de forma que se transforme em
informao.
Cincia da Computao tem tanto a ver com o
computador como a Astronomia com o
telescpio, a Biologia com o microscpio, ou a
Qumica com os tubos de ensaio. A Cincia
no estuda ferramentas, mas o que fazemos e
o que descobrimos com elas.
Edsger Dijkstra

53
CINCIA DA COMPUTAO
x
TECNOLOGIA DA INFORMAO
Pode-se definir Tecnologia da Informao como o conjunto de
todas as atividades e solues providas por recursos de
Computao que visam a produo, o armazenamento, a
transmisso, o acesso, a segurana e o uso das informaes.

a rea da computao que trata a informao, a organizao


e a classificao de forma a permitir a tomada de deciso
em prol de algum objetivo.

A tecnologia da informao pode contribuir para alargar ou


reduzir as liberdades privadas e pblicas ou tornar-se um
instrumento de dominao. 54
Sistemas de
Computao -
Perspectivas

Os gastos mundiais com TI das empresas do


setor de servios financeiros bancos,
seguradoras, financeiras e companhias do
mercado de capitais esto em torno de US$
430 bilhes, de acordo com dados da IDC
(International Data Corporations).

O crescimento dos gastos globais com TIC em


3,8%, deve movimentar mais de 3,8 trilhes
dlares. Quase todo crescimento da despesa
ser focado em tecnologias da Terceira
Plataforma.
55
A Terceira Plataforma
https://www.youtube.com/watch?v=uRBeKTvAyoM

A Terceira Plataforma formada no apenas por uma tecnologia, mas


sim por um grupo de tecnologias complementares, como computao
em nuvem (cloud computing), big data, as tecnologias sociais (social
business) e a mobilidade. 56
A Terceira
Plataforma
Aps a Primeira Plataforma (mainframes) e Segunda
Plataforma (PCs), surge a Terceira Plataforma,
composta pelas tecnologias Cloud, Big Data, Social
Business e Mobilidade;

Destacam-se servios de Cloud e Mobilidade: A


popularizao dos smartphones e tablets,
associados sua capacidade de processamento e
conectividade, vo permitir as pessoas executarem
tarefas que antes no poderiam ser feitas atravs de
dispositivos mveis, como videoconferncia ou
mesmo operao de um sistema online robusto,
como um ERP.
57
58
Sistemas Computacionais
Aplicaes em TI

Os dispositivos mveis e os aplicativos


continuaro crescendo; As vendas de smartphones
e tablets esto em torno de 484 bilhes de dlares,
respondendo por 40% de todo o crescimento dos
gastos com TI (excluindo os servios de
telecomunicaes);
Os dispositivos vestveis (Internet das Coisas)
experimentaro uma exploso de inovao,
embora as vendas unitrias mantenham-se pouco
significativas. O desenvolvimento empresarial de
aplicativos mveis deve dobrar;
Os gastos com servios em nuvem continuaro a
ser um foco de atividade, respondendo por 118
bilhes de dlares. 59
A adoo de Infraestrutura como Servio (IaaS -
Infraestrutura como Servio) crescer
rapidamente (36%). Players de Software como
Servio (SaaS - Software as a Service) devem
acelerar a adoo de PaaS (Platform as a
service) e marketplaces na nuvem.
Gastos com solues de Big Data e Analytics
(tcnicas de extrao e anlise de
informaes a partir de dados para posterior
utilizao na tomada de decises) crescero
muito , envolvendo software, hardware e servios,
respondendo por um mercado de 125 bilhes de
dlares. 60
Sistemas
Computacionais
Aplicaes em TI

Solues de Analytics rich-media


(vdeo, udio e imagem) iro
emergir como importantes
impulsionadoras de projetos de
Big Data.

Despontaro novas e importantes


ofertas nas reas de computao
cognitiva, aprendizado de
mquina e solues de anlise
para Internet das Coisas (IoT). 61
Sistemas Computacionais
Aplicaes em TI

A Internet das Coisas um dos aceleradores de inovao


mais importantes para o crescimento e a expanso de valor
baseados na Terceira Plataforma de TI. A inveno de mais e
mais "coisas" inteligentes e conectadas ir conduzir ao
desenvolvimento de milhares de novas solues. Um tero
dos gastos com IoT ser focado em dispositivos inteligentes
embarcados;

Data centers provocaro uma exploso de inovaes de


hardware "cloud-first" e uma maior consolidao entre os
fornecedores de servidores, armazenamento, software e
redes;

62
Aplicaes em
TI

Alm da Internet das Coisas, sistemas de aprendizado de


mquina e de computao cognitiva sero outros dois
aceleradores de inovao que se tornaro drivers de
crescimento importantes . Solues de segurana vo ajudar
a garantir a borda (segurana biomtrica em dispositivos
mveis, por exemplo) e o ncleo da
nuvem (criptografia como prtica padro).

A inteligncia de ameaas emergir como uma categoria


essencial de Dados como Servio (DaaS), fornecendo
informaes sobre ameaas especficas para as empresas. E
a impresso 3D crescer expandindo o mercado das
empresas de impresso de documentos convencionais.
64
O SISTEMA DE COMPUTAO
O COMPUTADOR uma mquina (conjunto
de partes eletrnicas e eletromecnicas)
capaz de sistematicamente coletar,
manipular e fornecer os resultados da
manipulao de informaes para um ou
mais objetivos.

65
Processamento de Dados
( Data Processing)

Consiste, em uma srie de atividades


ordenadamente realizadas, com o objetivo de
produzir um arranjo determinado de
informaes a partir de outras obtidas
inicialmente.

66
Exemplo: Algoritmo para soma de 100
nmeros
Consideremos que se deseja somar 100 nmeros e
imprimir o resultado:

l. Escrever e guardar N=0 e SOMA=0


2. Ler nmero da entrada
3. Somar valor do nmero ao de SOMA e guardar resultado
como SOMA
4. Somar 1 ao valor de N e guardar resultado como novo N
5. Se valor de N for menor que 100, ento passar para item 2
6. Seno : imprimir valor de SOMA
7. Parar

67
Esquema da execuo do programa gerado
pelo Algoritmo:

68
As etapas de um algoritmo so as instrues que devero
ser executadas por uma mquina (quando falamos de
computadores); o conjunto de instrues constitui o que
chamamos de programa. Um programa de computador a
formalizao de um algoritmo em linguagem inteligvel
pelo computador.

Todo computador construdo com circuitos eletrnicos


capazes de reconhecer e executar diretamente apenas
um conjunto limitado e simples de instrues de mquina,
nas quais todo programa (escrito em Pascal, Cobol, Basic,
C, Java, etc.) deve ser convertido antes de ser executado. 69
As instrues so normalmente do tipo:

executar operaes aritmticas sobre dois


nmeros;

executar operaes lgicas sobre dois nmeros;

mover um conjunto de bits (um nmero ou parte)


de um ponto para outro do computador;

desviar a seqncia do programa;

comunicao com algum dispositivo de entrada


ou sada de dados.

70
REPRESENTAO DAS INFORMAES
Toda informao introduzida em um computador
(sejam dados que sero processados ou instrues
de um programa) precisa ser entendida pela
mquina, para que possa interpret-la e process-
la.

O computador, sendo um equipamento eletrnico,


armazena e movimenta as informaes
internamente sob forma eletrnica; esta pode ser
um valor de voltagem ou de corrente (sabemos
tambm que na memria secundria as
informaes so armazenadas sob forma
magntica ou tica).
71
Espectro de freqncia dos sinais para a
transferncia de iNFORMAES

72
REPRESENTAO DAS
INFORMAES

Envio de sinais bit a bit at pouco tempo atrs.


73
REPRESENTAO DAS
INFORMAES

74
REPRESENTAO DAS INFORMAES

Pode-se separar o grupo de bits que constitui


a instruo em duas partes: uma delas indica o
que a instruo e como ser executada e a
outra parte se refere ao(s) dado(s) que
ser(ao) manipulado(s) na operao.

A primeira parte constituda de um s


campo, enquanto a segunda parte
poder ter um ou mais campos,
conforme a instruo se refira
explicitamente a um ou mais dados.
75
Formato de Instrues

Temos os seguintes campos em cada


instruo:
Cdigo de Operao C. Op. o campo da
instruo cujo valor binrio a
identificao (ou cdigo) da operao a ser
realizada. Assim, cada instruo possui um
cdigo, o qual servir de entrada no
decodificador da rea de controle.
Campo Operando Op. (so) o(s)
campo(s) da instruo cujo valor binrio
indica a localizao do dado (ou dados) que
ser(o) manipulado(s) durante a realizao
da operao.
76
Formato de Instrues

A instruo pode ser constituda de um ou


mais campos operando, isto , se a operao
for realizada com mais de um dado, a instruo
poder conter o endereo de localizao de
cada um dos dados referidos nela.

77
Ciclo de Instruo Bsico
A funo bsica de um computador a execuo de
um programa que consiste num conjunto de
instrues armazenadas na memria.

No incio de cada ciclo o processador busca uma


instruo da memria. A instruo lida,
interpretada e uma ao correspondente
executada. 78
79
Abordagens de
Software e Hardware
(Stallings)

80
Computador Estrutura e Funo

81
Funo

Processamento de Dados

Armazenamento de Dados

Movimentao de Dados

Controle
82
Viso Funcional de um
Computador

83
Estrutura:
CPU, Memria Principal, E/S, Interconexes

84
85
86
87
88
89
90
Somar 2
nmeros e
armazenar
o resultado

91
Mas afinal, o que Arquitetura e
Organizao de Computadores ?
Arquitetura = recursos do processador percebidos pelo
programador , impactam na execuo lgica do programa
- Registradores
- Organizao de memria: palavras e endereo
- Conjunto de instrues, formatos e tipos de dados, modos de
endereamento
Organizao = recursos de hardware efetivamente existentes
no computador, unidades operacionais e suas interconexes
- Registradores Exemplo: arquitetura se um
- Memrias auxiliares computador ter uma instruo de
multiplicao; organizao se essa
- Unidades funcionais instruo ser implementada por uso
- Barramentos repetido da unidade de adio ou por
uma unidade de multiplicao especial
- Bloco de controle 92
93
Computador estruturado
em seis nveis

94
Computador
estruturado
em seis
nveis

95
Nveis de Abstrao de
um Microprocessador

96
Os nveis de abstrao num
computador
1) Nvel Linguagens de Aplicao
Este nvel caracterizado pela utilizao de linguagens, ditas
linguagens de alto nvel, concebidas para serem utilizadas pelos
programadores de aplicaes ( BASIC, COBOL, C, FORTRAN, LISP,
PASCAL, etc.). Os programas escritos nestas linguagens sero
traduzidos por ferramentas chamadas compiladores em programas
de nvel inferior na estruturao apresentada, embora, em alguns
casos, estes programas possam tambm ser interpretados.
2) Nvel Linguagem Assembly
Este nvel o primeiro que est diretamente ligado com o
programador de aplicaes do computador. As linguagens de
programao utilizadas apresentam palavras ou abreviaes de
mais fcil entendimento pelo ser humano (mas no entendidas pela
mquina). Os programas escritos em linguagem assembly, sero
sistematicamente traduzidos em linguagens dos nveis inferiores,
que sero, em seguida, interpretadas pelas mquinas virtuais dos
nveis correspondentes.
97
Os nveis de abstrao num
computador
3) Nvel Sistema Operacional

Este nvel caracterizado por uma linguagem que apresenta


instrues das mais diversas naturezas, podendo ser um
superconjunto das instrues da linguagem do nvel mquina
tradicional, enriquecido por instrues especficas, uma
organizao particular da memria, a possibilidade de
execuo de programas em paralelo, etc. Este e os nveis
inferiores so acessveis a programadores dedicados ao
desenvolvimento das mquinas virtuais (Engenheiro de
Computao).

4) Nvel Mquina Tradicional


Este nvel define a linguagem de mquina que ser adotada a
nvel do computador considerado. O conjunto de instrues que
define a linguagem de mquina aquele geralmente executvel
por este nvel e no pelo hardware do computador. 98
Os nveis de abstrao num
computador

5) Nvel Microprograma
Este nvel caracterizado por um programa (ou
microprograma) que tem por funo permitir a interpretao
das instrues definidas no nvel superior. Este nvel
caracterizado por um nmero bastante reduzido de
instrues, capazes de executar operaes bastante
simples (transferncia de dados, ou testes sobre valores de
dados).
6) Nvel Fsico
Este nvel caracterizado por uma composio de
transstores que configuram circuitos eletrnicos
integrados, ou portas lgicas. Cada porta dispe de uma ou
mais entradas/sadas lgicas, nas quais os sinais tratados
representam valores lgicos (0 ou 1). 99
Conceitos
Assemblers : programas que traduzem os
textos escritos em assembly language para
linguagem mquina, onde cada comando
compreendido pelo processador se encontra
codificado em binrio de acordo com um
formato definido pelo fabricante do
processador

Compiladores: programas Um compilador tem a finalidade de


que traduzem os converter uma linguagem Linguagem
programas escritos em Fonte de fcil escrita e leitura para os
HLL para um nvel de programadores, numa linguagem
abstrao inferior; a Linguagem alvo ou objecto que possa
maioria dos compiladores ser executada pelas mquinas.
existente inclui j os dois
passos da traduo para O cdigo executvel gerado pelo
linguagem mquina, isto , compilador dependente do sistema
traduzem de HLL operacional e da linguagem de mquina
diretamente para para o qual o cdigo fonte foi traduzido.
linguagem mquina
binria, sem necessitarem
de um assembler. 100
Conceitos
O interpretador traduz o cdigo
Existe ainda outro mecanismo linha a linha.
que permitem executar
programas escritos em HLL O cdigo fonte no totalmente
sem usar a compilao: a traduzido antes de ser
interpretao. Com um executado.
Interpretador, as instrues de
HLL so analisadas uma a uma, No existem fases distintas
e o interpretador para cada nem se produz cdigo
instruo em HLL, gera o intermedirio.
cdigo correspondente em
linguagem mquina e executa Passa o tempo todo lendo e
de imediato esse cdigo, sem o traduzindo cdigo.
guardar. No h propriamente
uma traduo de um programa Exemplos: Navegadores; Excel,
noutro, mas sim a anlise dum Word, Basic, Access,SmallTalk,
programa seguida de gerao e
execuo do cdigo mquina AutoLisp, Matlab, Lisp
associado.

101
MEDIDAS DE
DESEMPENHO

A medida geral de desempenho de um sistema de


computao depende fundamentalmente da
capacidade e velocidade de seus diferentes
componentes, da velocidade com que estes
componentes se comunicam entre si e do grau de
compatibilidade que possa existir entre eles.

Por exemplo, se a velocidade da CPU de um sistema


muito maior que a da memria, ento este sistema
tem um desempenho inferior ao de um outro em que a
CPU e a memria tm velocidades mais prximas. 102
MEDIDAS DE DESEMPENHO DE SISTEMAS
DE COMPUTAO

O desempenho dos processadores, em geral, medido


em termos da sua velocidade de trabalho; como seu
trabalho executar instrues, criaram-se as unidades
chamadas:

MIPS - milhes de instrues por segundo, e

MFLOPS (millions of floating point operations per


second) - milhes de operaes de ponto flutuante por
segundo, que uma medida tpica de estaes de
trabalho e de supercomputadores, pois estes costumam
trabalhar mais com clculos matemticos.

103
Quando se trata de recuperao ou escrita de
informaes na memria, o Tempo de acesso uma
unidade de medida mais apropriada, estando
relacionada velocidade de cada componente e do
canal de interligao entre os dois (CPU e memria).

Tempo de resposta uma medida ligada ao


desempenho mais global do sistema e no de um ou
outro componente. Trata-se do perodo de tempo gasto
entre o instante em que o usurio iniciou uma
solicitao ou interrogao e o instante em que o
sistema apresentou ao usurio a sua resposta ou
atendeu sua solicitao. (Por exemplo, o intervalo de tempo entre
a solicitao de um saldo de conta em um terminal bancrio e a apresentao
no vdeo da resposta - o saldo da conta).

Uma outra unidade de medida de desempenho a


Vazo ("throughput"), que define a quantidade de aes
ou transaes que podem ser realizadas por um sistema
na unidade de tempo. Por exemplo, a quantidade de
atualizaes que podem ser feitas em um sistema de
controle do estoque de uma empresa.

104
Exemplo de throughput para a medida de
desempenho de avies

105
Equao de Desempenho da CPU
Tempo de CPU = ciclos de clock da CPU p/ um programa x
Tempo de ciclo de clock

Tempo de CPU = Ciclos de clock da CPU para um programa/


Velocidade do Clock

106
Nmero mdio de ciclos de clock
por instruo

CPI = Ciclos de clock da CPU para um programa


Contagem de Instrues

107
Exemplo 1
Um programa roda em 10 seg. na mquina A, cuja
freqncia de clock de 400 MHz. Uma mquina
B, a ser projetada, tem que rodar este programa
em 6 seg. Que acrscimo na freqncia de clock
possvel, sabendo-se que causar um acrscimo
de 1.2 vezes mais em nmero de perodos de clock
da mquina A?

108
Exemplo 2

109
Exemplo 2

110
Taxa de Transferncia
A taxa de transferncia de dados entre
CPU e Memria calculada:
(Freqncia de operao X nmero de bits) /8

Exemplo 3: O Pentium 200 comunica-se com


a memria RAM a 66 MHz, usando palavras de
64 bits. Logo, a taxa de transferncia ser:
(66.000.000 X 64)/8 = 528 MB/s

111
Exemplo 4:
Em processadores pentium e core duo, calcula-se o
clock real do FSB vezes a quantidade de dados que ele
tranfere vezes a quantidade de bits que ele tranfere por
ciclo de clock e dividido por 8 para dar o resultado em
Megabytes.

Processadores pentium e core duo utilizam um sistema


QDR (quadruple data rate_ - tranferem 4 vezes o numero
de dados por ciclo de clock, se for DDR 2 dados, SDR
1 dado por ciclo de clock.

Assim um processador com FSB de 1066Mhz (que na


verdade tem FSB de 266Mhz em QDR) de 64bits,
transferem (266*4*64 /8) = 8512 MB/s. 112
(Front Side Bus barramento frontal que comunica a CPU com a memria, atravs da Northbridge)
Exemplo 5:

Uma memria DDR 400 Mhz opera na


verdade a 200 Mhz tranferindo 2 dados
por ciclo de clock, em um barramento 64
bits tem uma taxa de tranferencia de
3200 MB/s;

Uma DDR2 de 800 Mhz tambm opera a


200 Mhz mas transfere 4 dados por ciclo
de clock, logo tem, teoricamente, o
dobro de taxa da DDR 400 Mhz, ou seja,
6400 MB/s. 113
Quadro resumo.

114
Arquitetura de
Von Neumann

John Von Neumann, trabalhou no desenvolvimento do


ENIAC e posteriormente empregou sua experincia no
projeto do computador IAS (1952), elaborou as idias e os
conceitos que nortearam a arquitetura dos computadores
at os dias de hoje.

A Arquitetura de von Neumann uma arquitetura de


computador que se caracteriza pela possibilidade de uma
mquina digital armazenar seus programas no mesmo
espao de memria que os dados, podendo assim
manipular tais programas.

115
A Mquina de Von
Neumann

116
Organizao Funcional de um Computador
(Von Neumann)

117
A arquitetura bsica de um
sistema de computao
(modelo de John von
Neumann) traz a idia de que o
programa seja armazenado na
memria, juntamente com os
dados (programa armazenado),
permitindo assim, ao
computador obter as
instrues diretamente, a
partir da memria podendo
carreg-lo ou modific-lo
simplesmente atribuindo
valores a posies de 118
memria.
Organizao Funcional de um Computador
(Von Neumann)
https://www.youtube.com/watch?v=egPA39zBDys

119
A arquitetura Harvard

Utiliza memrias separadas para Dados e Instrues,


garantindo assim alta velocidade. utilizada nos
microcontroladores PIC, em processamento de sinal digital
especializados (DSP) e processadores ARM.

Os microcontroladores com arquitetura Havard so tambm


120
conhecidos como "microcontroladores RISC"
A arquitetura Super
Harvard

Super Harvard uma verso melhorada que soma a


propriedade de Cach de Instrues ao controlador de
I/O.
121
Estrutura interna de um
computador

A arquitetura bsica de um sistema de


computao (modelo de John von
Neumann) traz a idia de que o
programa seja armazenado na memria,
juntamente com os dados (programa
armazenado), permitindo assim, ao
computador obter as instrues
diretamente, a partir da memria
podendo carreg-lo ou modific-lo
simplesmente atribuindo valores a
posies de memria.
122
Processador
o Circuito Integrado que realiza as
funes de clculo e tomada de
deciso de um computador;

Inclui uma ou mais Unidades


Centrais de Processamento - CPU
e, eventualmente coprocessadores
para execuo de funes
matemticas, grficas, de
comunicaes, etc. 123
Memria Principal
So memrias que o processador pode enderear
diretamente, fornecendo geralmente uma ponte para as
memrias secundrias sendo sua funo principal a de
conter a informao necessria para o processador num
determinado momento;
Na MP armazenada toda a informao que o CPU vai
necessitar manusear; organiza-se em clulas que podem
ser direta e individualmente endereadas pela CPU (ou por
outro componente que tambm possa aceder diretamente
memria);
Cada clula tem normalmente oito bits de dimenso (todos
os processadores disponveis comercialmente lidam com
esta dimenso de clula);
A dimenso mxima de memria fsica que um
computador pode ter est normalmente associada
largura n do barramento de endereos (2n). 124
Unidade Lgica e
Aritmtica
a Unidade da
CPU capaz de
operar com
dados binrios e
executar as
principais
operaes
lgicas e
aritmticas do
computador 125
Unidade de Controle
Responsvel por gerar todos os sinais que
controlam as operaes no exterior da CPU, e
ainda por dar todas as instrues para o correto
funcionamento interno da CPU;

A principal funo da Unidade de Controle


acessar, decodificar e executar as instrues
sucessivas de um programa armazenado na
memria.
A Unidade de Controle sequencia a operao de
todo o sistema. Em particular, ela gera e gerencia
os sinais de controle necessrios para
sincronizar operaes, bem como o fluxo de
instrues de um programa e dados dentro e fora
da ULA.
126
Dispositivos de Entrada e
Sada
Dispositivos que fazem interface com o ser humano:
monitor, teclado, mouse, impressora, colunas de som, ...
Dispositivos que armazenam grandes quantidades de
informao, tambm designados por memria secundria:
disco, banda magntica, CD-ROM, ...
Dispositivos de interface para comunicao com outros
equipamentos: interfaces vdeo, placas de rede local,
modems, ...
Dispositivos internos auxiliares, como um temporizador,
um controlador de interrupes, um controlador de
acessos direto memria (DMA), ...

https://www.youtube.com/watch?v=jH5gOJvvCSQ

127
A influncia do Sistema
Operacional
Sistema Computacional = hardware + software

Tipos de Software:
Programas do sistema: gerenciam a operao do
computador
Programas de aplicao: programas de usurio

Sistema Operacional: principal programa do


sistema, que controla todos os recursos do
computador (dispositivos fsicos e funes de
software). 128
A influncia do Sistema
Operacional

O sistema operacional exerce funes


primordiais para que seja possvel a
utilizao do hardware:

realizar o gerenciamento da memria;


priorizao de requisies de sistema;
controle de entrada/sada;
realizar a interface com os diversos
hardwares existentes;
129
A influncia do Sistema
Operacional

oferece meios para que um programa seja


carregado na memria principal e executado;

permite a utilizao de arquivos e diretrios;


permitir o acesso aos perifricos;

mantm informaes sobre o estado do sistema:


a hora e a data correntes, a lista de usurios
utilizando o computador no momento, verso
do sistema operacional em uso;

garante que cada usurio possa trabalhar sem


sofrer interferncia dos demais, etc. 130
A influncia do Sistema
Operacional

131
Software e Sistemas Operacionais
SISTEMA OPERACIONAL:
Conjunto de programas supervisores que gerenciam os
recursos (hardware e software) de um sistema de
computao
Funes: Aplicativos
Gerncia de memria; (solicitando recursos)
Gerncia de processador;
Gerncia de arquivos;
Gerncia de dispositivos de E/S (perifricos)
Tarefas especficas:
ler a tecla pressionada no teclado, S.O.
transferir um arquivo do disquete
para a memria principal, etc

Ex.: MS-DOS, Windows, Linux, Hardware


MacOS, Unix, ... (recursos solicitados)

132
(software bsico)
Sistema Operacional (software bsico)

S.O.

133
A influncia do Sistema
Operacional

134
A influncia do Sistema
Operacional

Os programas solicitam servios ao


sistema operacional atravs das
chamadas de sistema.
Elas so semelhantes s chamadas de
sub-rotinas (poro de cdigo que resolve
um problema muito especfico - parte da
aplicao final)
Em uma linguagem de alto nvel as
chamadas de sistema ficam escondidas
dentro da biblioteca utilizada pelo
compilador. 135
A influncia do Sistema
Operacional

136
A influncia do
Sistema
Operacional

A parte do sistema operacional


responsvel por implementar as
chamadas de sistema normalmente
chamada de ncleo ou kernel.

Os principais componentes do kernel de


qualquer sistema operacional so a
gerncia de processador, a gerncia de
memria, o sistema de arquivos e a
gerncia de entrada e sada.
137
A influncia do Sistema
Operacional

O mais importante programa de sistema o


interpretador de comandos. Esse programa
ativado pelo sistema operacional sempre que
um usurio inicia sua sesso de trabalho.
Sua tarefa receber comandos do usurio e
execut-los.
Para isso, ele recebe as linhas tecladas pelo
usurio, analisa o seu contedo e executa o
comando teclado.
A execuo do comando, na maioria das vezes,
vai exigir uma ou mais chamadas de sistema.
138
139
A influncia do Sistema
Operacional
Os programas de sistema, algumas vezes
chamados de utilitrios, so programas
normais executados fora do kernel do
sistema operacional.

Exemplos so os utilitrios para manipulao de


arquivos: programas para exibir arquivo, imprimir
arquivo, copiar arquivo, trocar o nome de arquivo,
listar o contedo de diretrio, entre outros.

https://www.youtube.com/watch?v=nt0P8ZAYuUo

140
DISPOSITIVOS DE ARMAZENAMENTO

Os dispositivos de armazenamento utilizados como memrias


secundrias so abordados nos Trabalhos em Grupo. Neste tpico
sero abordados tpicos relacionados Memria Principal.
Memrias
O termo Memria usualmente designa vrios
tipos de memria e dois tipos so sempre mais
usados: Memria Principal e Memria Secundria.

A MEMRIA PRINCIPAL usada para armazenar o


programa que est sendo executado e os dados
requisitados ou gerados pela sua execuo.

Este tipo de memria deve ser rpida (para no


retardar a CPU) e relativamente cara.
Memrias
MEMRIA SECUNDRIA: ou memrias de
armazenamento em massa so usadas
para armazenamento permanente de dados. No podem
ser endereadas diretamente, a informao precisa ser
carregada em memria principal antes de poder ser
tratada pelo processador. So no-volteis, permitindo
guardar os dados permanentemente. Exemplos: discos
rgidos como o meio mais utilizado, discos ticos como
CDs, DVDs e Blu-Rays, disquetes e fitas magnticas,
Pendrives e SSDs.
Memrias
Um programa especifica a seqncia
de passos a serem executados pelo
processador. O programa
armazenado numa Memria.

Sob a superviso da Unidade de


Controle, cada uma das sucessivas
instrues do programa acessada na
memria e depositada num registrador
especial da Unidade de Controle, onde
decodificada e executada.
Memrias

Os dados armazenados na memria so


processados pela ULA Unidade
Lgica e Aritmtica).

Os dados podem ter uma variedade de


formatos. Em geral, dados so
nmeros ou caracteres representados
no sistema binrio.
OPERAES DE UMA CLULA DE
MEMRIA

A Seleo especifica uma clula de memria


para uma operao de escrita ou leitura;

O Controle indica o tipo de operao:


R(Read)/W(Write)
Operaes da memria
H duas operaes principais que podem ser
realizadas em uma memria:
Operao de escrita:
A CPU coloca o endereo binrio da posio de memria
onde o dado deve ser armazenado no barramento de
endereos.

A CPU coloca o dado a ser armazenado no barramento de


dados.

A CPU ativa as linhas de controle para a operao de escrita,


a memria decodifica o endereo e localiza a posio onde o
dado deve ser armazenado.

O barramento de dados transferido para a posio de


memria.
Operaes da memria
Operao de leitura:

A CPU coloca o endereo binrio da posio a ser lida


da memria no barramento de endereos.

A CPU ativa as linhas de controle para operao de


leitura.

A memria decodifica o endereo e localiza a posio


a ser lida.

A memria transfere o dado armazenado nesta


posio para o barramento de dados, onde a CPU vai
busc-los.

https://www.youtube.com/watch?v=Rp9Dz5wFleY
ALGUNS CONCEITOS
Uma memria logicamente organizada em
palavras. Uma palavra uma unidade lgica de
informao consistindo de um nmero de bits
( 4, 8, l6, 32 ou 64 bits).

A capacidade, ou tamanho, de uma memria


o nmero de palavras que ela contm. A
posio de uma palavra dentro da memria
tida como o seu endereo.

A primeira palavra da memria tem o endereo


0, a prxima palavra tem o endereo 1, e assim
por diante.
Para ler o contedo de uma palavra de memria
necessrio especificar o seu endereo.

Cada mdulo de memria por isso conectado


ao Barramento de Endereo.

Exemplo: Um Barramento de Endereo


formado por 16 linhas de tal modo que ele possa
especificar at 64 K (216 ) posies de memria.

Um barramento com 64 linhas pode especificar


at 264 = 18.446.744.073.709.551.616 endereos
ALGUNS CONCEITOS

Em resposta a um sinal de controle, tal como


ESCREVA (WRITE) para uma operao de ESCRITA
(GRAVAO), produzida a gravao do dado vindo
do Barramento de Dados na palavra de memria
selecionada.

No caso de uma operao de LEITURA (READ), uma


palavra de memria lida e o seu contedo
colocado no Barramento de Dados.

Aps um certo TEMPO DE ACESSO, o dado se torna


disponvel nos oito pinos de sada do chip de memria
(as palavras tm 8 bits de comprimento no nosso
exemplo).
MAIS CONCEITOS

Tempo de acesso tempo necessrio entre a


memria receber uma nova entrada de
endereo e os dados se tornarem disponveis
na sada da memria. Este parmetro usado
para medio de desempenho da memria.

Ciclo de Memria intervalo mnimo entre


dois acessos sucessivos memria.
Funcionamento da Memria
Principal
organizada em clulas
(geralmente de 8 bits)
endereadas direta e
individualmente pela
CPU;

Nela os programas so
organizados com
comandos descritos
seqencialmente e o
armazenamento das
instrues fisicamente
seqencial (embora a
execuo nem sempre se
mantenha seqencial).
Funcionamento da Memria
Principal
Ao carregar um programa, ele lido no HD (ou
outra mdia de armazenamento) e transferido
para a memria, para s ento ser executado
pelo processador.
A memria principal oferece tempos de acesso
brutalmente mais baixos que o HD e trabalha
com taxas de transferncia muito mais altas,
mas possui a desvantagem de perder os dados
armazenados quando o micro desligado, da a
necessidade de salvar os arquivos
periodicamente.
Funcionamento da Memria
Principal
tambm por causa disso que o processo de boot
refeito cada vez que se liga o microcomputador.
Durante o boot, o sistema operacional, drivers,
bibliotecas e aplicativos so novamente copiados para
a memria, junto com suas configuraes e
preferncias.
A nica forma de evitar repetir o demorado processo
de boot manter a memria ativa, ou salvar seu
contedo no HD, recuperando-o no prximo boot.
Essas so as estratgias usadas pela opo de
suspender disponvel tanto no Windows quanto em
vrias distribuies Linux.
Funcionamento da Memria
Principal
Ao suspender, a maioria dos componentes do
sistema so desligados, incluindo o HD, a placa de
vdeo e a maior parte dos componentes da placa-
me.
Mesmo o processador entra em um estgio de baixo
consumo, onde a maior parte dos componentes
internos so desativados e o clock reduzido.
Praticamente, os nicos componentes que

continuam realmente ativos so os mdulos de
memria. Graas a isso o PC acaba consumindo
(geralmente) menos de 20 watts de energia e pode
voltar ao estgio original muito rapidamente.
Clculos com a Capacidade de
Memria
A memria principal de qualquer sistema de
computao organizada como um
conjunto de N clulas.

Cada clula construda para armazenar


um grupo de M bits, que representa a
informao propriamente dita e que
manipulado em conjunto (como se fosse
uma nica unidade) em uma operao de
leitura ou de escrita.
Clculos com a Capacidade de
Memria
Clculos com a Capacidade de
Memria
A memria principal de qualquer sistema de
computao organizada como um
conjunto de N clulas.

Cada clula construda para armazenar


um grupo de M bits, que representa a
informao propriamente dita e que
manipulado em conjunto (como se fosse
uma nica unidade) em uma operao de
leitura ou de escrita.
Pode-se armazenar em cada clula um valor entre 0 e
(2M 1), um de cada vez. So 2M combinaes
possveis.
Por exemplo, se M = 8 bits, temos 28 = 256.
Seriam armazenados valores entre 0000 0000 e 1111
1111 (0 e 25510).

Sendo E = quantidade de bits dos nmeros que


representam cada um dos N endereos da MP:

N = 2E
Por exemplo, se N = 512, ento 512 = 2E, e E = 9,
pois 29 = 512.

O total de bits que podem ser armazenados na MP


denominado T, sendo:
T= N x M = 2E x M
Estrutura CPU/MP
Estrutura CPU/MP

Barramento de Endereos: interliga o REM MP para


transferncia dos bits que representam um
determinado endereo.

Barramento de Controle: interliga a CPU (unidade de


controle) MP para passagem de sinais de controle
durante uma operao de leitura ou escrita.

Controlador: ou decodificador. Tem por funo gerara


os sinais necessrios para controlar o processo de
leitura ou escrita, alm de interligar a memria aos
demais componentes do sistema de computao.
Estrutura CPU/MP
Elementos que compem a estrutura CPU/MP que
so utilizadas nas operaes de leitura e escrita
nas memrias.
Estrutura CPU/MP

Registrador de Dados da Memria -


RDM (Memory Buffer Register - MBR):

registrador que armazena


temporariamente a informao
(contedo de uma ou mais clulas) que
est sendo transferida da MP para a
CPU (em uma operao de leitura) ou
da CPU para a MP (em uma operao
de escrita).
Estrutura CPU/MP

Registrador de Endereos da
Memria - REM (Memory Address
Register MAR): armazena
temporariamente o endereo de
acesso a uma posio de
memria, ao se iniciar uma
operao de leitura ou escrita.

Barramento de Dados: interliga o


RDM MP para transferncia de
informaes entre a MP e a CPU
(sejam instrues ou dados).
Como a memria acessada
Como a memria
acessada

A memria controlada por um circuito


chamado controlador de memria. Este
circuito est fisicamente dentro do chipset
(chip ponte norte ou MCH, Memory
Controller Hub, Hub Controlador de
Memria)

* Os atuais processadores possuem controlador de


memria integrado. O controlador de memria integrado
reduz substancialmente o tempo de latncia da memria,
resultando em um ganho de desempenho considervel. Em
vez de utilizar um controlador single-channel, ou dual-
channel, a Intel optou por utilizar um controlador triple-
channel na verso inicial do Core i7, com memrias DDR3.
Isso significa uma banda total de at 32 GB/s.
Como a memria
acessada
A memria conectada ao controlador de memria
atravs de uma srie de fios. Esses fios so
divididos em trs grupos: dados, endereo e
controle.
Os fios do barramento de dados so responsveis
por transportar os dados que esto sendo lidos (ou
seja, dados que esto sendo transferidos da
memria para o controlador de memria e ento
para o processador) ou escritos (ou seja,
transferidos do controlador de memria para a
memria, vindos do processador).
Os fios do barramento de endereos dizem aos
mdulos de memria onde exatamente (isto , em
qual endereo) os dados precisam ser lidos ou
armazenados.
Como a memria
acessada
Os fios de controle enviam comandos para os
mdulos de memria dizendo a eles que tipo de
operao deve ser feita por exemplo, se uma
operao de escrita (armazenamento) ou leitura.
Outro fio importante presente no barramento de
controle sinal de clock da memria.
Se o controlador de memria for capaz de gerar
apenas um clock de, p. ex., 667 MHz (333 MHz x 2),
suas memrias DDR2-800 funcionaro a 667 MHz
neste caso.
Esta uma limitao fsica do controlador de
memria. Normalmente este tipo de limitao ocorre
apenas em micros equipados com processadores
Intel, j que os processadores da AMD reconhecem
memrias DDR2 at 800 MHz ou at 1.066 MHz.
Tecnologia de Dois Canais

Dual channel (ou tecnologia de dois canais) a


capacidade que alguns controladores de memria
tm de expandir a largura do barramento de dados
de 64 para 128 bits. Considerando que todos os
outros parmetros permaneam os mesmos (clock,
por exemplo), a taxa de transferncia mxima
terica da memria dobrada com o uso desta
tecnologia.

A taxa de transferncia mxima terica (TTMT)


calculada da seguinte forma:

TTMT = clock real x quantidade de dados transferidos


por pulso de clock x quantidade de bits transferidos
por pulso de clock / 8
CAS E RAS
O processador armazena na memria RAM as informaes
com os quais trabalha a todo momento, operaes de
gravao, eliminao e acesso aos dados so realizadas.
Esse trabalho todo possvel graas ao trabalho de um
circuito j citado chamado controlador de memria.

Para facilitar a realizao dessas operaes, as clulas de


memria so organizadas em uma espcie de matriz, ou
seja, so orientadas em um esquema que lembra linhas e
colunas.
O cruzamento de uma certa linha (tambm chamada de
wordline), com uma determinada coluna (tambm chamada
de bitline) forma o que conhecemos como endereo de
memria.
CAS e RAS
Para acessar o endereo de uma posio na memria,
o controlador obtm o seu valor de coluna, ou seja, o
valor RAS (Row Address Strobe) e o seu valor de linha,
ou seja, o valor CAS (Column Address Strobe);

Para acessar um determinado endereo de memria, o


controlador primeiro gera o valor RAS, ou o nmero da
linha da qual o endereo faz parte, gerando em
seguida o valor CAS, que corresponde coluna;

Quando o RAS enviado, toda a linha ativada


simultaneamente; depois de um pequeno tempo de
espera, o CAS enviado, fechando o circuito e
fazendo com que os dados do endereo selecionado
sejam lidos ou gravados.
CAS E RAS
CAS E RAS
Nos mdulos DIMM atuais so geralmente usados 8
chips de 8 bits cada um, formando os 64 bits
fornecidos ao processador. Existem ainda mdulos com
16 chips de 4 bits cada, ou ainda, mdulos com 4 chips
de 16 bits (comuns em notebooks). Do ponto de vista
do processador, no faz diferena, desde que somados
os chips totalizem 64 bits.

O controlador de memria pode enviar seqncias com


4, 8 ou 16 pares de endereos RAS e CAS e recebe de
volta o mesmo nmero de pacotes de 64 bits.

Mesmo em casos em que o processador precisa de


apenas alguns poucos bytes, contendo uma instruo
ou bloco de dados, ele precisa ler todo o bloco de 64
bits adjacente, ainda que seja para descartar os
demais.
Acesso memria

Quando se diz que o barramento de dados


da memria de 64 bits, isto significa que
existem 64 fios (sim, fios fsicos na placa
Me) conectando o controlador de memria
aos soquetes de memria.
Esses fios so rotulados como D0 a D63. O
barramento de dados da memria
compartilhado entre todos os soquetes de
memria.
Os barramentos de endereos e controle
ativaro o soquete apropriado dependendo
do endereo onde o dado deve ser
armazenado ou lido.
Acesso Memria
Tecnologia de Dois
Canais

Em micros que suportam a tecnologia de dois canais,


o barramento de dados da memria expandido para
128 bits.
Em tais sistemas existem 128 fios conectando o
controlador de memria aos soquetes de memria.
Esses fios so rotulados como D0 a D127: Como
cada mdulo de memria aceita apenas 64 bits por
pulso de clock, dois mdulos de memria so usados
para preencher o barramento de dados de 128 bits.
Em outras palavras, a tcnica de dois canais
funciona acessando dois mdulos de memria em
paralelo, atravs do uso de 2 controladoras.
Tecnologia de Dois Canais
Continua-se com
acessos de 64 bits, a
nica diferena que
agora a placa-me
capaz de acessar dois
endereos diferentes
(cada um em um mdulo
de memria) a cada
ciclo de clock, ao invs
de apenas um. Isso
permite transferir o
dobro de dados por
ciclo, fazendo com que o
processador precise
esperar menos tempo
ao transferir grandes
quantidades de dados.
MEMRIAS RAM
A memria de acesso aleatrio (RAM)
semicondutora um tipo de memria onde
podemos tanto ler como escrever dados.
utilizada como Memria Principal em sistemas
eletrnicos digitais.
O termo acesso aleatrio identifica a
capacidade de acesso a qualquer posio em
qualquer momento, por oposio ao acesso
sequencial, imposto por alguns dispositivos de
armazenamento, como fitas magnticas.
O nome no verdadeiramente apropriado, j
que outros tipos de memria (como a ROM)
tambm permitem o acesso aleatrio a seu
contedo. O nome mais apropriado seria
Memria de Leitura e Escrita.
A principal vantagem de uma RAM o
fato de ela poder ser escrita e lida
rapidamente com a mesma facilidade.
Uma desvantagem o fato da RAM
ser voltil, isto , se a alimentao
for desligada ela perde a informao.
As duas formas tradicionais de
memrias RAM usadas nos
computadores so a DRAM e a SRAM

MEMRIAS RAM
RAM Dinmica (DRAM)
Nesse tipo de memria a informao armazenada
em pequenos capacitores.

Como existe uma tendncia normal dos


capacitores se descarregarem, h a necessidade
de uma recarga (refresh refrescamento) desses
capacitores. De tempos em tempos (tipicamente
de 2 a 8 ms) o bit armazenado no capacitor
atualizado.

Esse tipo de memria constitui a memria principal


de um computador por causa de sua alta
capacidade e baixo consumo. Em relao
velocidade, as RAM estticas so mais rpidas.
RAM Esttica (SRAM)

Este tipo de memria armazena os dados enquanto for mantida a


alimentao. Suas clulas so compostas de flip-flops, e por
isso seu contedo no perdido enquanto houver alimentao.

Organizao
Interna de
uma RAM de
64 x 4
(64 palavras
de quatro
bits )
DRAM X SRAM
DRAM X SRAM-

A SRAM mais rpida, mais cara e menos


densa que a DRAM, sendo usada
principalmente para memria cache.
A DRAM usada para memria principal.
Para compensar a velocidade relativamente
baixada DRAM utilizam-se organizaes
avanadas de memria, tais como SDRAM e
RDRAM.
MEMRIAS - TIPOS -

SDRAM) ou DRAM Sncrona, troca dados


com o processador sincronizado com um
sinal de clock externo e executando na
velocidade plena do barramento do
processador/memria. uma das formas
mais utilizadas de DRAM.

RDRAM ou RAMBUS oferece informaes de


endereo e controle usando um protocolo
assncrono, orientado a bloco.
https://www.youtube.com/watch?v=Rp9Dz5wFleY
Double Data Rate-Synchronous
DRAM (DDR-SDRAM)

Tipo de SDRAM que suporta


transferncias de dados duas vezes
por ciclo de clock (subida e descida de
pulso), dobrando a velocidade de
acesso.
A transferncia de dados entre o
processador e esse tipo de memria
de cerca de 2.4 gigabytes por
segundo. Tambm chamada de SDRAM
II.
As memrias DDR3 realizam 8 acessos por ciclo, contra
4 acessos por ciclo das memrias DDR2.

Tabela comparativa de
desempenho
Desempenho SRAM x RDRAM x DDRAM
Memrias NVSRAM
A memria NVSRAM (No-Volatile Static Random
Access Memory - Memria para acesso aleatrio
esttica no-voltil) ou NVRAM resolve o
problema da volatilidade das memrias RAM de
uma maneira muito simples: ela possui em seu
encapsulamento uma pequena bateria de ltio
recarregvel, que mantm as informaes
gravadas mesmo que ela seja desenergizada.

Sua constituio interna a mesma da


memria SRAM. utilizada principalmente para
guardar as informaes de configurao do
BIOS (chamado Setup). muito conhecida como
CMOS devido a seu processo de fabricao
(Complemantary Metal-Oxide-Semiconductor -
Metal-xido-Semicondutor Complementar).
Memrias MRAM
As memrias MRAM (Magnetoresistive RAM)
utilizam clulas magnticas para armazenar
dados, ao invs de clulas que armazenam
eletricidade, como nas memrias DRAM, SRAM
ou Flash.

A grande diferena que, no lugar de um


capacitor, usada uma clula magntica, que
pode ser gravada e lida usando eletricidade e
conserva seus dados por longos perodos
(assim como nos HDs) sem precisar de refresh
ou alimentao eltrica.

uma tecnologia ainda em aperfeioamento.


Memria CACHE
Em toda execuo de uma instruo, a CPU acessa a
memria principal (sem cache) pelo menos uma vez, para
buscar a instruo (uma cpia dela) e transferi-la para um
dos registradores da CPU.

Para melhorar o desempenho dos sistemas de


computao (o gargalo de congestionamento na
comunicao CPU/MP que degrada o desempenho do
sistema) foi desenvolvida uma tcnica que consiste na
incluso de um dispositivo de memria entre a CPU e a
MP, denominado memria cache, cuja funo acelerar a
velocidade de transferncia das informaes entre a CPU
e a MP e, com isso, aumentar o desempenho dos sistemas
de computao.
Memria CACHE

Cache de memria uma memria


de alto desempenho localizada
dentro do processador e que serve
para aumentar a velocidade no
acesso aos dados e instrues
armazenados na memria RAM.
Memria CACHE

Todos os processadores modernos tm trs caches de


memria:

O L2, que o maior e pode ser encontrado entre a


memria RAM e o cache L1 de instrues, que
armazena tanto dados quanto instrues;

O cache L1 de instrues, que usado para armazenar


instrues que sero executadas pelo o processador;

E o cache L1 de dados, que usado para armazenar


dados que sero escritos de volta na memria.
Memria CACHE

L1 e L2 significam nvel 1
(Level 1) e nvel 2 (Level
2), respectivamente, e
referem-se distncia em que
se encontram do ncleo do
processador (unidade de
execuo).
Uma dvida comum porque
ter trs memrias cache
distintas (cache L1 de dados,
cache L1 de instrues e L2).
Memria CACHE

Fazer com que a latncia das memrias estticas seja


igual a zero um enorme desafio, especialmente com
os processadores trabalhando com clocks muito altos.

Como fabricar memrias estticas com latncia igual


a zero muito difcil, o fabricante usa este tipo de
memria apenas no cache de memria L1.

O cache de memria L2 usa uma RAM esttica que


no to rpida quanto usada no cache L1, j que
ela tem alguma latncia, o que faz com que o seu
acesso seja um pouco mais lento do que o acesso ao
do cache de memria L1.
Memria CACHE
O cache L1 de instrues funciona como um cache de
entrada, enquanto que o cache L1 de dados funciona como
um cache de sada.

O cache L1 de instrues que normalmente menor do que


o cache L2 particularmente eficiente quando o programa
iniciar um lao de repetio (loop), j que as instrues
necessrias j estaro prximas da unidade de busca.

O cache L1 de instrues tambm usado para armazenar


outros dados alm das instrues a serem decodificadas.

Dependendo do processador ele pode ser ainda usado para


armazenar alguns dados de pr-decodificao e informaes
de desvio (em resumo, dados de controle que aumentaro a
velocidade do processo de decodificao).
RA Read Access

Operao de leitura de cache


Fluxograma
Operao de leitura de cache
A unidade de busca do processador procura
pela a prxima instruo a ser executada no
cache L1 de instrues. Se ela no estiver l,
o processador procurar por ela no cache L2.
Por fim, se a instruo no estiver no cache
L2, o processador ter que busc-la na
memria RAM.

Chama-se de acerto (hit) quando o


processador carrega uma informao
requisitada do cache, e de erro (miss)
quando a informao requisitada pelo
processador no est no cache de memria e
ele precisa acessar a memria RAM do micro.
Operao de leitura de cache
Quando o processador carrega uma instruo de uma
certa posio da memria, um circuito chamado
controlador de cache carrega para o cache de memria
um pequeno bloco de dados abaixo da posio atual
que o processador acabou de carregar.

Os programas normalmente seguem um fluxo


seqencial, a prxima posio de memria que o
processador precisar, provavelmente ser a posio
de memria imediatamente inferior a qual o
processador acabou de carregar.

Como o controlador de memria j carregou alguns


dados abaixo da primeira posio de memria lida pelo
o processador, o prximo dado provavelmente j estar
dentro do cache de memria.
Funcionamento da Memria Cache

Wait States ou estado de espera so pulsos de clock adicionados ao ciclo de leitura ou escrita
em memria de modo a casar a velocidade do processador com a velocidade da memria RAM,
pois a memria RAM bem mais lenta que o processador, ou seja ou o tempo de espera por
parte do processador at que a memria esteja preparada para ler ou gravar dados.
Cache de Memria L2 nos Processadores
Multi-Ncleos

Nos processadores com mais de um ncleo a


arquitetura do cache L2 varia muito,
dependendo do processador.

Nos processadores Pentium D e nos


processadores AMD de dois ncleos
baseados na arquitetura K8, cada ncleo do
processador tem seu prprio cache de
memria L2. Portanto cada ncleo trabalha
como se fosse um processador independente.

Nos processadores de dois ncleos baseados


nas microarquiteturas Core e Pentium M,
existe apenas o cache de memria L2, que
compartilhado entre os dois ncleos.
Comparao entre as trs solues de cache
de memria L2.
Em resumo...
1. O processador solicita a instruo/dado armazenado no
endereo a.

2. Como o contedo do endereo a no est no cache de


memria, o processador precisa busc-lo diretamente da
memria RAM.

3. O controlador de cache carrega uma linha (tipicamente de 64


bytes) comeando do endereo a para dentro do cache de
memria. Isto , mais dados do que o processador solicitou,
portanto se o processador continuar executado o programa
sequencialmente (isto , solicitando o endereo a+1) a
prxima instruo/dado que o processador precisar j
estar localizada no cache de memria.

4. Um circuito chamado pr-busca carrega mais dados


localizados aps esta linha, ou seja, carrega o contedo do
endereo a+64 para dentro do cache.

5. Exemplo real, os processadores Pentium 4 tm um circuito


de pr-busca de 256 bytes, o que significa que ele carrega os
prximos 256 bytes aps a linha recm carregada para
dentro do cache.
Armazenamento na
Placa

HIERARQUIA
DE
MEMRIAS
Os discos magnticos e SSDs so os
componentes mais importantes da
memria externa

Para conseguir maior desempenho e


maior disponibilidade, servidores e
sistemas de grande porte utilizam
tecnologia de disco RAID (Redundant
Array of Independent Disks)

MEMRIA EXTERNA (SECUNDRIA)


RAID um conjunto de unidades de
discos fsicos, visto pelo Sistema
Operacional como uma nica unidade
lgica;
Os dados so distribudos pelos discos
fsicos de um array num esquema
chamado intercalao de dados (striping);
Permite que vrias unidades de
armazenamento trabalhem em conjunto

RAID ( Matriz Redundante de


Discos Independentes)
O nvel RAID 0 aquele onde os dados so
divididos em pequenos segmentos e
distribudos entre os discos. um nvel que no
oferece proteo contra falhas, j que nele no
existe redundncia;

Redundncia a capacidade de um sistema


em superar a falha de um de seus componentes
atravs do uso de recursos redundantes, ou
seja, um sistema redundante possui um
segundo dispositivo que est imediatamente
disponvel para uso quando da falha do
dispositivo primrio do sistema.

RAID 0 (striping -fracionamento)


O foco do RAID 0 o desempenho
(sistema soma a velocidade de
transmisso de dados de cada
unidade). Os dados so divididos, cada
parte de um arquivo gravada em
unidades diferentes ao mesmo tempo.
RAID 1
Uma unidade "duplica" a outra, isto , faz uma "cpia" da
primeira, razo pela qual o nvel tambm conhecido
como mirroring (espelhamento). Com isso, se o disco
principal falhar, os dados podem ser recuperados
imediatamente porque existe cpias no outro. O nvel
RAID 1 foca na proteo dos dados, ou seja, no torna o
acesso mais rpido.
um sistema "hbrido" (hybrid RAID), ou seja,
que combina RAID 0 com RAID 1. Para isso, o
sistema precisa ter pelo menos 4 unidades de
armazenamento, duas para cada nvel. Considera
tanto o aspecto do desempenho quanto o da
redundncia

RAID 0+1 e RAID 10


Neste, o aspecto da redundncia considerado de
maneira diferente: em vez de existir uma unidade de
armazenamento inteira como rplica, os prprios discos
servem de proteo, com o uso de um esquema de
paridade.

Neste mtodo de proteo, os dados so divididos em


pequenos blocos. Cada um deles recebe um bit
adicional - o bit de paridade - de acordo com a seguinte
regra: se a quantidade de bits '1' do bloco for par, seu
bit de paridade '0'; se a quantidade de bits '1' for
mpar, o bit de paridade '1'.

RAID 5
As informaes de paridade - assim como os prprios
dados - so distribudas entre todos os discos do
sistema. O espao destinado paridade equivalente
ao tamanho de um dos discos. Um array formado por
trs HDs de 500 GB ter 1 TB para armazenamento e
500 GB para paridade.

Se em uma tarefa de verificao o sistema constatar,


por exemplo, que o bit de paridade de um bloco '1',
mas ali h uma quantidade par de bits, percebe que h
um erro. Se houver apenas um bit com problema e se o
sistema conseguir identific-lo, conseguir substitu-lo
imediatamente. A restaurao dos dados poder ser
feita inclusive depois de o HD ter sido trocado.
Existem outros RAIDs como RAID 2, 3, 4, 6, etc.

possvel implement-los at mesmo em computadores


pessoais, mesmo porque praticamente qualquer sistema
operacional moderno (Windows, Linux, Mac OS X, entre
outros) suporta este recurso.

A maneira mais fcil de fazer isso adquirindo uma


placa-me que conta com uma controladora RAID. Em
poucas palavras, este dispositivo, que pode funcionar
com interfaces PATA, SATA ou SCSI, identifica as
unidades de armazenamento conectadas e as fazem
trabalhar como um sistema RAID. Sua configurao
geralmente feita a partir do setup do BIOS, embora
algum software de controle possa ser fornecido para
funcionar no sistema operacional.

Implementao de RAID
Principais parmetros e
caractersticas das memrias
Volatilidade Uma memria voltil aquela que perde a informao
armazenada quando o equipamento desligado (interrupo da
alimentao eltrica ou desligamento da chave ON/OFF do
equipamento).
Tecnologia de fabricao: Algumas das mais conhecidas so:
a) Memrias de Semicondutores: so dispositivos fabricados com
circuitos eletrnicos e baseados em semicondutores. So rpidas e
relativamente caras, se comparadas a outros tipos. Registradores,
memria principal e memria cach so exemplos.

b) Memrias de Meio Magntico: so dispositivos, como os disquetes


e discos rgidos (hard disks), fabricados de modo a armazenar
informaes sob a forma de campos magnticos.

c) Memrias de Meio tico: so dispositivos de armazenamento tico


(usam um feixe de luz laser para marcar o valor 0 ou 1 na
superfcie) capazes de armazenar grandes quantidades de
informao. CD-ROM (R, R/W), DVD so exemplos.
Principais parmetros e caractersticas
das memrias

Tempo de Acesso indica quanto tempo a memria


gasta para colocar uma informao na barra de dados
aps uma determinada posio ter sido endereada.
Ciclo de memria o perodo de tempo decorrido
entre duas operaes sucessivas de acesso
memria, sejam de escrita ou leitura.
Capacidade a quantidade de informao que pode
ser armazenada em uma memria. Ex: a memria ROM
tem 32 kbytes; o disco C tem capacidade para
armazenar 40 Tbytes.
Temporariedade trata-se de uma caracterstica que
indica o conceito de tempo de permanncia da
informao em um dado tipo de memria.
Comparao dos diferentes tipos
de memria
Cartes de Memria
Memria Virtual (SWAP)
A memria virtual consiste num conjunto de
recursos de hardware e software que possui trs
funes bsicas:
1. Assegurar que cada processo (aplicao) tenha
seu prprio espao de endereamento, comeando
em zero (problema de relocao);
2. Proteo de memria, para impedir que um
processo utilize um endereo de memria que no
lhe pertena;
3. Possibilitar que uma aplicao utilize mais
memria do que a fisicamente existente (essa a
funo mais conhecida).
Memria Virtual (SWAP)
Foi inicialmente criada para possibilitar a um programa
ser executado em um computador com uma quantidade
de memria principal (fsica) menor que o tamanho de
todo o espao do utilizado pelo prprio programa. Ou
seja, o espao ocupado pelas instrues, dados e pilha
de execuo de um programa pode ser maior que o
espao em memria principal disponvel.

Por exemplo, um programa que ocupa um total de 64 MB


pode ser executado em um computador com apenas 32
MB disponveis para o programa, bastando que o
sistema operacional encarregue-se de manter sempre
na memria principal as partes adequadas execuo
naquele momento.
Memria Virtual (SWAP)

Nos sistemas modernos, a memria fsica dividida em


blocos de bytes contguos, em geral com 4 KB ou 8 KB
de tamanho, denominados molduras de pginas (page
frames). Por sua vez, o espao de memria de um
processo dividido em pginas (contendo as instrues
e dados do programa), que so fisicamente
armazenadas nas molduras e possuem o mesmo
tamanho.

Um endereo virtual gerado durante o processamento


da aplicao e encaminhado para a unidade de
gerenciamento de memria (MMU -- memory
management unit), um dispositivo do processador cuja
funo transformar o endereo virtual em fsico e
solicitar este ltimo endereo ao controlador de
memria.
Memria Virtual
(SWAP)
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.
Uma seqncia de 4 leituras num mdulo de memria
DDR2-800 demora cerca de 35 bilionsimos de segundo,
enquanto que 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 neste caso possui um tempo de
acesso quase 300.000 vezes menor e uma taxa de
transferncia contnua mais de 100 vezes maior que o
HD.
MMU
Para implementar a memria virtual necessrio que o sistema
do computador tenha hardware para a administrao de memria
especial. Este hardware geralmente conhecido como uma MMU
(Memory Management Unit ou Unidade de Administrao de
Memria). Sem uma MMU, quando a CPU acessa a memria RAM,
as localidades reais da RAM nunca mudam o endereo de
memria 123 sempre a mesma localidade fsica dentro da RAM.
No entanto, com uma MMU, os endereos de memria passam por
uma fase de traduo antes de cada acesso memria. Isso
significa que o endereo de memria 123 pode ser direcionado ao
endereo fsico 82043 uma vez e ao endereo fsico 20468 na
prxima vez.
No desenrolar do processo, a sobrecarga de registrar
individualmente as tradues dos bilhes de bytes de memria de
virtual para fsico seria muito grande. Ao invs disso, a MMU
divide a RAM em pginas sees contguas de memria de
tamanho determinado, que so encaradas pela MMU como
entidades separadas. Para isso usa usa uma cache associada
chamada Translation Lookaside Buffer (TLB) que utilizado para
evitar a necessidade de acessar a memria principal toda vez que
um endereo virtual acessado.
Translation Address Table
A TLB fundamental no acesso memria. Basicamente, os
endereos de toda a memria RAM disponvel so divididos
em pginas de memria. Cada pgina de memria tem uma
tabela de endereos, com os dados armazenados e sua
localizao.
Esta tabela precisa ser consultada antes de cada acesso
memria. Em condies normais, a tabela fica armazenada
na prpria memria RAM, o que faz com que o processador
precise fazer um duplo acesso memria, o primeiro para
ler a tabela de endereos e o segundo para recuperar os
dados propriamente ditos.
A TLB uma espcie de cache, includo no processador -
MMU, que permite que ele mantenha as tabelas de
endereos de algumas pginas pr-carregados, o que
melhora consideravelmente a velocidade de acesso
memria, quando os dados necessrios no so
encontrados no cache L1 e L2. Quanto maior a TLB, mais
endereos podem ser armazenados e maior o ganho.
Em resumo: MMU e TLB

MMU modernos normalmente divide o espao de endereo


virtual (o intervalo de endereos usados pelo processador) em
pginas. Os bits do endereo inferior (o deslocamento dentro de
uma pgina) ficam inalterados. Os bits de endereo superior so
o nmero da pgina (virtual). A MMU normalmente converte
nmeros de pgina virtual em nmeros de pgina fsica atravs
de um cache associativo chamado um Translation Lookaside
Buffer (TLB).
Os dados encontrados em tais estruturas de dados so
normalmente chamados de entradas de tabela de pgina (PTEs),
e a prpria estrutura de dados normalmente chamada uma
tabela de pgina. O nmero de pgina fsica combinado com o
deslocamento de pgina para dar o endereo fsico completo.
Tipos de Memrias quanto
Tecnologia
Memria Somente de Leitura (ROM):
A memria somente de leitura (ROM) um tipo de memria
onde os dados nela armazenados no so alterados ou no
mudam com freqncia.
Tipos de ROM
Memrias ROM
ROM Programada por Mscara (MROM) este tipo de
ROM tem suas posies escritas (programadas) pelo
fabricante de acordo com as especificaes do
cliente. usada para armazenar tabelas ou
informaes pr-programadas como cdigos geradores
de caracteres de terminais de vdeo.
ROM Programvel (PROM) tipo de memria ROM onde
a programao feita apenas uma nica vez pelo
usurio. Esta programao consiste na queima ou no
de um fusvel que corresponde a um bit de informao.
ROM Programvel e Apagvel (EPROM Erasable and
Programable ROM) tipo de memria ROM que pode
ser programada e apagada pelo usurio vrias vezes. O
processo de programao consiste em aplicar certos
nveis de tenses que provocam a conduo
permanente ou no conduo de transistores MOS. O
apagamento da memria feito pela exposio dos
circuitos internos luz ultravioleta atravs de uma
janela.
Memrias ROM
PROM Apagvel Eletricamente (EEPROM) uma
melhoria em relao s EPROMs pois pode ser tanto
programada como apagada eletricamente. Assim, elas
podem ser programadas e apagadas no prprio circuito,
sem a necessidade de luz ultravioleta ou um
programador especial.
Memria Flash uma memria de computador do tipo
EEPROM NAND que permite que mltiplos endereos
sejam apagados ou escritos numa s operao. Em
termos leigos, trata-se de um chip re-escrevvel que, ao
contrrio de uma RAM, preserva o seu contedo sem a
necessidade de fonte de alimentao. Esta memria
comumente usada em cartes de memria e em drives
flash USB.
CD ROM-R/W tipo de armazenamento para leitura e
escrita que utiliza tecnologia laser. Os bits so
definidos pela reflexo ou no de um feixe laser
apontado para um ponto do disco.
OBSERVAES SOBRE A TECNOLOGIA
EPROM e EEPROM

Os bits de uma EPROM so programados pela injeo de


eltrons com uma alta tenso dentro da porta de um
transistor de efeito de campo onde um bit 0 desejado.
Os eltrons presos ali fazem com que o transistor
conduza, lendo um bit 0. Para apagar a EPROM, os
eltrons presos devem receber energia suficiente para
escapar da porta, o que feito pelo bombardeamento do
chip com radiao ultravioleta atravs de uma janela de
quartzo.
Para prevenir seu lento apagamento, devido a anos de
exposio luz do sol e de lmpadas fluorescentes, esta
janela de quartzo coberta com uma etiqueta opaca
durante seu uso normal.
J nas EEPROM (Electrically Erasable PROM), s vezes
chamada Flash PROM, os bits so limpos por um sinal
eltrico. Isto elimina a necessidade de um apagador
ultravioleta se a EPROM for reutilizada, mas requer
circuitos adicionais para se realizar o apagamento.
Aplicaes das ROMs
Firmware armazenamento de programas ou dados que devem estar
disponveis no processo de inicializao de sistemas microprocessados.
Por exemplo, produtos como videocassetes, CD players, fornos
microondas etc.
Memria de Bootstrap tipo de programa armazenado em uma ROM que
trata da inicializao do hardware de um computador. Aps a
inicializao, o programa de bootstrap chama o sistema operacional e o
computador comea a executar o sistema operacional.
Tabela de Dados as ROMs so bastante utilizadas para armazenar
tabelas de dados que no variam. Por exemplo, tabela trigonomtricas,
cdigos ASCII, etc.
Conversor de Cdigos este tipo de aplicao toma valores expressos em
um determinado tipo de cdigo e produz uma sada expressa em outro
cdigo. Por exemplo, o cdigo BCD pode ser convertido para 7 segmentos
por uma ROM.
Gerador de Funes basicamente, um gerador de funes um circuito
que produz formas de onda senides, triangulares e quadradas. Uma ROM
com tabelas de valores armazenados e um conversor D/A podem ser
usados para gerar essas formas de onda.
Armazenamento Auxiliar dados podem ser armazenados em memrias
ROM apagveis (EPROM, EEPROM, FLASH), tornando essas memrias
como alternativa aos discos magnticos de armazenamento.
Em
resumo
Memria de Vdeo
Vdeo RAM (VRam) Permite que a placa de vdeo use os
dados contidos na VRAM para atualizar a exibio das
imagens, ao mesmo tempo que o processador inclui
novos dados. O uso de memrias VRAM, proporciona
uma qualidade de vdeo muito superior. Porm muito
mais cara que os tipos de DRAM tradicionais.
Windows RAM (WRAM) - um outro tipo de VRAM,
porm oferece uma performance melhor e mais barata,
oferecendo endereamento de grandes blocos da
memria de vdeo.
Rambus DRAM (RDRAM) - um tipo de memria EDO
melhorada. usada em muitas aceleradoras de vdeo,
sendo o tipo de memria de vdeo mais rpida e cara que
existe atualmente.
Synchronous Graphic Random Access Memory (SGRAM)
- possui apenas uma entrada de dados, porm, pode abrir
duas pginas de memria ao mesmo tempo, simulando
uma dupla entrada de dados.
Resumindo

https://www.youtube.com/watch?v=V2LnwRcWtSc
A PLACA ME OU MOTHERBOARD
A PLACA ME
uma placa de circuito impresso, que serve
como base para a instalao dos principais
componentes de um computador, como o
processador, memria RAM, circuitos de
temporizao, placas controladoras, slots dos
barramentos, chipsets e outros componentes.

https://www.youtube.com/watch?v=LFfHGOdpjGI
COMPONENTES DE UMA PLACA-ME
COMPONENTES
DE UMA PLACA-
ME
Processador
Memria
BIOS (memria ROM)
Bateria
Chipset (norte e sul)
Barramentos:
Slots de expanso
Conector IDE
Conector SATA
Conector Mouse
Conector Teclado
Conector Impressora
Conector USB, etc.
EXEMPLO CHIPSET SRIE I925X - INTEL
CHIPSET
PT890
Estrutura de
interconexo
Barramentos
Conjunto de conexes eltricas/lgicas
paralelas
Permitem a transmisso de dados,
endereos e sinais de controle entre os
diversos mdulos funcionais do
computador
Estrutura do Barramento

Consiste de vrios caminhos e linhas de


comunicao
Esses caminhos so capazes de transmitir
sinais que representam um nico digito binrio
Um conjunto de linhas pode transmitir dados
em paralelo
Ex: uma unidade de barramento de 8 bits
pode transmitir por 8 linhas
Estrutura do Barramento
Um barramento possui dezenas de linhas
Cada linha possui uma funo particular,
agrupados e 3 tipos:
Linhas de dados
Linhas de endereo
Linhas de Controle
ESTRUTURA DE BARRAMENTO
As LINHAS DE DADOS oferecem um
caminho para a movimentao de dados
entre os mdulos do sistema.
Coletivamente so chamadas de
barramento de dados, consistindo de 32,
64, 128 ou mais linhas separadas.
Barramento de Dados (Data Bus)
Concede um caminho para transferncia de dados
entre os mdulos dos sistema

Tm por funo transportar a informao (cdigos


dos programas e dados) entre os blocos funcionais
do computador; quanto maior a sua "largura",
maior o nmero de bits que possvel transportar
em simultneo;

A largura do barramento de dados define o numero


de linhas deste caminho

A largura um fator importante para o


desempenho
Ex: Se o barramento de dados tem largura 8 bits
e cada instruo tem 16 bits, 2 acessos a
memria devem ser feitos a cada ciclo
BARRAMENTO DE DADOS (DATA BUS)

Portanto, um microprocessador de 8 bits requer um


barramento de dados de 8 linhas para transmitir dados de 8
bits em paralelo.

Semelhantemente, um microprocessador de 64 bits


necessita de um barramento de dados de 64 linhas para
transmitir dados de 64 bits em paralelo. Se o barramento de
dados para um microprocessador de 64 bits fosse formado
por 8 linhas, seriam necessrias oito transmisses
sucessivas, tornando mais lento o sistema.
LARGURA DE BARRAMENTO
ESTRUTURA DE BARRAMENTO
As LINHAS DE ENDEREO so usadas para
designar a origem ou o destino dos
dados. A largura do barramento de
endereos determina a capacidade de
memria mxima possvel do sistema.
Barramento de Endereo

Definem origem e destino dos dados

Quando o processador deseja ler


uma palavra ele coloca o endereo
da mesma nestas linhas

Tambm so empregadas para


enderear as portas dos mdulos de
E/S
BARRAMENTOS DE ENDEREO
BARRAMENTOS DE ENDEREO
Com uma nica linha de endereo, um processador
poderia criar exatamente dois endereos nicos: zero e
um. Com n linhas, o processador pode fornecer 2n
endereos distintos.
Portanto, o nmero de bits no barramento de endereos
que determina o nmero mximo de memria enderevel
e de posies de E/S.
ESTRUTURA DE BARRAMENTO

As LINHAS DE CONTROLE so usadas para


controlar o acesso e o uso das linhas de
dados e de endereos. Os sinais de
controle transmitem informaes de
comando e sincronizao entre os
mdulos do sistema. Os sinais de
sincronizao indicam a validade da
informao de dados e endereo. Os
sinais de comando especificam as
operaes a serem realizadas.
LINHAS DO BARRAMENTO DE
CONTROLE
o Escrita de memria: faz com que os dados no barramento sejam
escritos no local endereado;
o Leitura de memria: faz com que os dados do local endereado sejam
colocados no barramento;
o Escrita de E/S: faz com que os dados no barramento sejam enviados
para a porta de E/S endereada;
o Leitura de E/S: faz com que os dados da porta de E/S endereada sejam
colocadas no barramento;
o ACK de transferncia: indica que os dados foram aceitos do barramento
ou colocados nele;
o Solicitao de barramento (bus request): indica que um mdulo precisa
obter o controle do barramento;
o Concesso de barramento (bus grant): indica que um mdulo solicitante
recebeu o controle do barramento;
o Requisio de interrupo (interrupt request): indica que a interrupo
est pendente;
o ACK de interrupes: confirma que a interrupo pendente foi
reconhecida;
o Clock: usado para operaes de sincronizao;
o Reset: inicializa todos os mdulos.
Barramento de Controle
Controla o acesso e e uso das linhas de
dados e endereo

So utilizadas tanto para transmitir


ordens quanto para transmitir sinais de
temporizao

Os sinais de ordens indicam operaes


a serem executadas e de temporizao
indicam a validade dos dados
Em resumo:
1) Barramento de Dados: tm por funo transportar a
informao (cdigos dos programas e dados) entre os
blocos funcionais do computador; bidirecional, ou seja,
envia e recebe dados simultaneamente.

2) Barramento de Controle: agrupa todo o conjunto de


sinais eltricos de controle do sistema, necessrios ao
bom funcionamento do computador como um todo -
controla o trfego de dados, sendo unidirecional, ou seja,
s realiza uma nica operao por vez.

3) Barramento de Endereo: tm por funo transportar a


identificao/localizao ("endereo") dos lugares onde
se pretende ler ou escrever dados; sendo um barramento
unidirecional ou seja, s realiza uma nica operao por
vez.
Barramento Frontal
(Front Side Bus)
O BARRAMENTO DE
TRANSFERNCIA DE DADOS QUE
TRANSPORTA INFORMAO ENTRE A
UCP E A NORTHBRIDGE DA PLACA-
ME.

ESTE BARRAMENTO, JUNTAMENTE


COM A MEMRIA CACHE, PODE SER
ACESSADO DE MANEIRA MUITO MAIS
RPIDA DO QUE A RAM DO SISTEMA.

A LARGURA DE BANDA, OU O
THROUGHPUT TERICO MXIMO DO
BARRAMENTO FRONTAL,
ESPECIFICADO PELO PRODUTO DA
LARGURA DA VIDA DE DADOS, ALM
DA FREQUNCIA DE CLOCK E A
QUANTIDADE DE TRANSFERNCIAS
DE DADOS REALIZADAS POR CICLO
DE CLOCK.
Funcionamento do Barramento

Quando um modulo deseja enviar


dados:
Obtm o controle do Barramento
Transfere os dados
Quando deseja requisitar:
Obtm o controle do Barramento
Transfere a requisio para outro
modulo
Espera que o outro modulo transfira os
dados
BARRAMENTOS DE EXPANSO

por onde se conectam


os perifricos ao micro
tal como placa de
vdeo, som, etc.

A seguir apresentam-se
alguns tipos de
barramentos de
expanso
Hierarquia de barramentos

Quanto maior o numero de dispositivos


conectados maior o comprimento do
barramento

Assim maior o atraso na propagao dos


sinais

Esse atraso define o tempo para que um


dispositivo obtenha o controle do
barramento

O atraso pode comprometer o desempenho


Hierarquia de barramentos

O barramento pode se tornar um


gargalo quando a demanda de dados se
aproxima da sua capacidade de
transmisso

Aumentar a largura do barramento


soluciona o problema mas amplia o
espao ocupado pelos dispositivos

Outra alternativa ampliar a


velocidade de transferncia, contudo
nem todos dispositivos podem
trabalhar e altas velocidades
Hierarquia de barramentos

A soluo criar uma hierarquia


de barramentos

Num sistema hierrquico de


barramentos existem vrios
nveis de barramento divididos
pela prioridade e velocidade

Estes se nveis se comunicam


atravs de interfaces
HIERARQUIA DE BARRAMENTOS
Hierarquia de barramentos
Tipos de barramento

Dedicado
Tem uma funo fixa

Multiplexado
Mesma via utilizada para transmitir
endereos (no inicio de uma transferncia) e
para transmitir dados (aps o endereamento
ter sido consumado)
Resulta em custo menor s custas de um tempo
de transferncia maior
Alternativa para aumentar a largura sem
aumentar o nmero de linhas
Arbitrao de Barramento
Mecanismo de seleo do mestre do
barramento

til quando dois ou mais dispositivos


desejam usar o mesmo barramento

Mestre de barramento dispositivo que


inicia uma transferncia, agindo
ativamente na mesma

Escravo de Barramento o dispositivo


que, numa transferncia, responde s
requisies de um mestre
Tipo de Transferncia
Em bloco

Mais eficiente do que transmitir uma


palavra por vez

No primeiro ciclo da transferncia, o


mestre ativa um sinal de controle para
requisitar transferncia em bloco e
coloca no barramento o valor de um
contador que informa ao escravo o
tamanho do bloco

Em resposta, a cada ciclo, o escravo


coloca uma palavra no barramento,
decrementando o contador at o mesmo
zerar
Tipo de Transferncia
Leitura-modifica-escreve

Em sistemas multiprocessadores,
necessrio assegurar que apenas um
processador de cada vez ter acesso a
dados compartilhados

Para tal preciso um ciclo especial para ler-


modificar-escrever

Isso permite que sem liberar o barramento,


um processador:
leia uma palavra,
altere o seu valor
escreva o novo valor de volta na memria sem
interferncia
BARRAMENTOS - GERAL
O HYPERTRANSPORT
HyperTransport uma tecnologia que permite
criar interconexes bidirecionais ponto a ponto
de processadores com grande largura de banda,
baixa latncia e de maneira escalvel (alta taxa
de transferncia de dados).

Nas verses anteriores o chipset (principal chip


da placa me) controlava o barramento de
memria e outros componentes ao mesmo
tempo; ao surgir o AMD64 foi criado um controle
de barramento exclusivo aos outros
componentes chamado de HyperTransport.
O HYPERTRANSPORT

o Os processadores da AMD utilizam


para a troca de dados entre a MP e a
UCP, substituindo o barramento
frontal.

o Para isso a AMD trouxe os circuitos de


controle da memria para o interior do
prprio microprocessador.

o Isto permitiu uma troca de dados


bidirecional entre UCP e MP capaz de
transferir at 51,2 GB/s (25,6 GB/s em
cada sentido).
LINK: HTTP://WWW.YOUTUBE.COM/WATCH?V=XLSQSU_NPR8
O BARRAMENTO QUICKPATH INTERCONNECT

Assim como o HyperTransport, o QuickPath fornece duas


pistas separadas para a comunicaes entre o processador
e chipset. Isto permite ao processador transmitir
(escrever) e receber (ler) dados ao mesmo tempo (ou
seja, em paralelo).
Como na arquitetura tradicional o barramento externo
usado tanto para operaes de entrada quanto para
operaes de sada, as leituras e escritas no podem ser
feitas ao mesmo tempo.
QUICKPATH INTERCONNECT
ARQUITETURA USADA PELOS ATUAIS
PROCESSADORES DA INTEL
ARQUITETURA PADRO DOS
PROCESSADORES DA INTEL
ARQUITETURA USADA PELOS ATUAIS
PROCESSADORES DA INTEL
ARQUITETURA QPI - QUICKPATH
INTERCONNECT
HTTP://WWW.YOUTUBE.COM/WATCH?V=W06U7O5PCNK&FEATURE=RELATED
QUICKPATH INTERCONNECT E
HYPERTRANSPORT
Tecnicamente falando o QuickPath e o HyperTransport
no so barramentos, mas sim conexes ponto-a-ponto.

Um barramento um conjunto de fios que permite que


vrios componentes sejam conectados a ele ao mesmo
tempo, enquanto que uma conexo ponto-a-ponto um
caminho que conecta apenas dois dispositivos.

A tecnologia HyperTransport basicamente usa dois


barramentos para comunicao externa: um para acesso
memria e outro para acesso ao chipset. Na verdade,
este ltimo que recebe o nome de HyperTransport. At
ento, os processadores usavam apenas o barramento
externo para os dois tipos de acesso.

Com o HyperTransport, a AMD passou a indicar a


velocidade de trabalho deste ao invs do clock externo.
ALGUMAS MOTHERBOARDS

GIGABYTE
GA-E350N
WIN8
GIGABYTE G1.SNIPER 2 COM PCIE 3.0
ASUS MAXIMUS VI GENE MOTHERBOARDS
CIRCUITOS DE APOIO

Controlador de IRQs
Um pedido de interrupo o que se faz
ao microprocessador para que ele pare
de executar as tarefas que estiver
executando naquele determinado
momento para atender ao perifrico que
pediu tal interrupo.
Esse tipo de procedimento
extremamente importante para
dispositivos de entrada, como teclados,
por exemplo.
CONTROLADOR DE IRQS

Lista de IRQs:
IRQ 0 - Sinal de clock da placa-me (fixo)
IRQ 1 - Teclado (fixo)
IRQ 2 - Cascateador de IRQs (fixo)
IRQ 3 - Livre (serial 2 desativada)
IRQ 4 - Modem
IRQ 5 - Livre
IRQ 6 - Drive de disquetes
IRQ 7 - Livre (porta paralela desativada)
IRQ 8 - Relgio do CMOS (fixo)
IRQ 9 - Placa de som, placa de rede (1), placa de rede (2)
IRQ 10 - Placa de vdeo
IRQ 11 - Controlador USB (Mouse, impressora e scanner)
IRQ 12 - Livre (porta PS/2 desativada)
IRQ 13 - Coprocessador aritmtico
IRQ 14 - IDE Primria
IRQ 15 - Livre (IDE Secundria desativada)
DMA
Normalmente o nico
componente que
acessa a memria
RAM da mquina o
processador. O
recurso DMA permite
que outros
componentes
tambm acessem a
memria RAM
diretamente, como
discos rgidos, o que
aumenta o
desempenho na
transferncia de
grande quantidade
de dados.
CONTROLADOR DE DMA
Um uso tpico do DMA ocorre na cpia de blocos de memria
da RAM do sistema para um buffer de dispositivo. Estas
operaes no bloqueiam o processador que fica livre para
realizar outras tarefas.
Transferncias DMA so essenciais para sistemas
embarcados de alto desempenho. Tambm fundamental na
implementao de drivers de perifricos, roteamento de
pacotes de rede, execuo de udio e vdeo por streaming
Os canais de DMA so utilizados apenas por perifricos
lentos, como drives de disquete, placas de som e portas
paralelas padro ECP. Perifricos mais rpidos, como discos
rgidos, utilizam o Bus Mastering, uma espcie de DMA
melhorado.

https://www.youtube.com/watch?v=qWBkHOPs5Os
Realiza operaes com dados;
Tm um conjunto de instrues organizados em
palavras;

A seqncia de 0s e 1s que formaliza uma


operao denomina-se instruo de mquina;
Um programa executvel constitudo por um
conjunto de instrues de mquina;
Controla todo o funcionamento do sistema.
Leitura de dados da memria
Escrita de dados na memria
Leitura de dados de perifricos de E/S
Escrita de dados em perifricos de E/S
Operaes matemticas
Operaes lgicas
Comparaes e decises simples
Operaes com caracteres
Desvios na execuo de instrues
https://www.youtube.com/watch?v=wY7Dx4FBmKY
Para entender a organizao do Processador deve-se entender o
que lhe exigido:
busca uma instruo na memria (leitura), uma de cada
vez (cujo endereo deve estar armazenado no registrador
existente na CPU especfico para isso);
interpreta que operao a instruo est explicitando (soma
de dois nmeros, multiplicao, operao de entrada ou sada
de dados, ou ainda uma operao de movimentao de um
dado de uma clula para outra);
busca os dados onde estiverem armazenados para traz-los
at a CPU;
processa efetivamente a operao (aritmtica ou lgica)
com os dados;
guarda o resultado (se houver algum) no local definido na
instruo (memria ou mdulo de E/S); e, finalmente,
reinicia o processo buscando uma nova instruo fechando o
CICLO de INSTRUO.
UAL Unidade Lgica Aritmtica:

A unidade lgica e aritmtica (ULA) ou em ingls


Arithmetic Logic Unit (ALU) um circuito digital
que realiza operaes lgicas (and, or, xor, etc.)
e aritmticas (soma, subtrao, etc). uma
pea fundamental da unidade central de
processamento (CPU), e at dos mais simples
microprocessadores.
O matemtico John von Neumann props o
conceito de ULA em 1945, quando escreveu um
relatrio sobre os fundamentos para um novo
computador chamado EDVAC.
Registradores: armazenam os dados, ou o resultado
de uma operao, temporariamente(O ACC
acumulador- servia tambm, nos sistemas mais
antigos, como elemento de ligao da UAL com os
demais dispositivos da CPU;
Unidade de Controle: realiza a movimentao de
dados e instrues de e para a CPU atravs de sinais
que emite em instantes de tempo programados;
Registrador de Instruo (RI): armazena a instruo a
ser executada pela CPU;
Contador de Instruo (CI): To logo seja executada a
instruo, o sistema efetiva modificao do contedo
do CI para armazenar a prxima instruo;
Decodificador de Instruo: identifica que operao
ser realizada, relacionada instruo cujo cdigo de
operao foi decodificado cada instruo tem um valor
prprio, denominado cdigo de operao;
Relgio: dispositivo gerador de pulsos cuja durao
chamada ciclo. O nmero de ciclos por segundo a
freqncia que define a velocidade da CPU;
Registrador de Dados de Memria (RDM):
armazena temporariamente a informao que est sendo
transferida da MP para CPU (LEITURA) ou CPU para MP
(ESCRITA);
Registrador de Endereos da Memria (REM):
armazena temporariamente o endereo de acesso a uma
posio de memria ao se iniciar uma operao de leitura
ou escrita.
https://www.youtube.com/watch?v=69svptJTE9Y
Elementos que contribuem para a realizao da funo
Processamento:
Processar dados executar com eles uma ao
que produza algum tipo de resultado;
As tarefas mais comuns de Processamento so:
Operaes aritmticas (somar, subtrair,
multiplicar, dividir);
Operaes lgicas (and, or, xor, not, nand, nor,
etc.)
Movimentao de dados (MP CPU, CPU MP,
registrador CPU, etc.);
Desvios - alterao na seqncia de execuo de
instrues;
Operaes de entrada e/ou sada.
A rea de controle projetada para
entender o que fazer, como fazer e
comandar quem vai fazer no momento
adequado;
A Unidade de Controle o dispositivo mais
complexo da CPU;
Os sinais de Controle, emitidos pela UC,
ocorrem em vrios instantes durante o
perodo de realizao de um ciclo de
instruo. Eles tm, geralmente, uma
durao fixa, originada do gerador de
tempo;
Para fazer sua funo, a Unidade de Controle
de um processador efetua duas tarefas:
1) faz com que o processador execute uma srie
de micro-operaes (transferncia entre
registradores, operaes na ULA, registrador-
barramento, etc.) na sequncia correta, com
base no programa que est sendo executado;
2) gera os sinais de controle que fazem com que
cada micro-operao seja executada.
Os sinais de controle causam a abertura e
fechamento de portas lgicas, resultando
natransferncia de dados para e de
registradores e na operao da ULA.
Para executar as tarefas a UC precisa ter
ENTRADAS que lhe permitam determinar
o estado do sistema e SADAS que lhe
permitam controlar o comportamento do
sistema.
ENTRADAS:
Clock - determina o tempo de ciclo do
processador
Registrador de Instruo - o opcode e
o modo de endereamento so usados
para determinar qual micro-operao
executar no ciclo de execuo
Flags usadas para determinar o
estado do processador e das sadas
das operaes anteriores
Sinais de Controle do barramento de
controle constituem parte do barramento
do sistema que fornece sinais para a UC;
Sinais de Controle dentro do processador
so dois, os que fazem os dados serem
movimentados de um regsitrador para outro
e os que ativam funes especficas da ULA;
Sinais de controle para barramento de
controle so dois, sinais de controle para a
memria e sinais de controle para mdulos
de E/S.
SADAS:
Sinais de Controle dentro da CPU ativam
uma funo da ULA atravs de vrios
dispositivos e portas lgicas;
Sinais para o barramento externo por
exemplo, READ para leitura de memria;
Caminho de dados controle do fluxo
interno, por exemplo, na leitura da
instruo o contedo do buffer de memria
(MBR) transferido para o Registrador de
Instruo.
https://www.youtube.com/watch?v=LN6LuhRYzuA
Alm do nmero de bits internos do
processador (nmero de bits que o
microprocessador capaz de
processar internamente em uma
nica operao) deve-se
mencionar o nmero de bits externos,
ou seja, o nmero de bits que um
microprocessador
pode ler ou gravar na memria em
nica operao.
Quanto maior for o nmero de bits de um
microprocessador, mais rapidamente
ser capaz de fazer operaes com
nmeros grandes.
Entre os microprocessadores utilizados nos
PCs, existem modelos de 16, 32 bits e 64
bits. Os microprocessadores de 16 bits
so capazes de realizar, em uma nica
operao, o processamento de dados em
16 bits. J os microprocessadores de 32
e 64 bits so capazes de processar dados
de 32 e 64 bits em uma nica operao.
Por exemplo, com 16 bits um processador pode
manipular um nmero de valor at 65.535.
Se certo nmero tem valor 100.000, ele ter que
fazer a operao em duas partes.
No entanto, se um chip trabalha a 32 bits, ele
pode manipular nmeros de valor at

232= 4.294.967.296 (4 GB) em uma nica


operao

E um processador de 64 bits?

264 = 18.446.744.073.709.551.616 (16 EB)


o nmero externo de bits, ou seja, o nmero de bits que um
microprocessador pode ler ou gravar na memria em nica
operao. Quanto maior for o nmero externo de bits de um
microprocessador, mais rpido poder ler e escrever dados
na memria, o que contribui muito para o desempenho do
computador.
Possuem um novo modo de operao chamado IA32E, que
tem dois sub-modos:
Modo de Compatibilidade: Permite que sistemas operacionais
de 64 bits rodem programas de 32 bits e 16 bits sem a
necessidade de serem recompilados.
O sistema operacional pode ter programas de 64 bits (no
modo 64 bits), 32 bits e 16 bits (ambos no modo de
compatibilidade) sendo executados ao mesmo tempo. No
entanto, programas de 32 bits sero executados como se
estivessem rondando em um processador de 32 bits, ou seja,
acessaro no mximo 4 GB de memria RAM. A mesma idia
vlida para programas de 16 bits, que continuaro
acessando no mximo 1 MB de memria RAM.
Modo de 64 bits: Permite que sistemas operacionais e
programas de 64 bits utilizem o novo espao de
endereamento de 64 bits oferecido por esta tecnologia.
A tecnologia EM64T pode ser usada apenas por sistemas
operacionais de 64 bits, como o Windows 64.

Sistemas operacionais de 32 bits, como o Windows XP,


continuaro rodando no modo IA32, ou seja, usando o
espao de endereamento de 32 bits e podendo acessar a
no mximo 4 GB de memria RAM.

AMD64 (ou AMD64 ISA - Instruction Set Architecture) o


nome da tecnologia de 64 bits desenvolvida pela AMD. Um
de seus destaques o suporte s instrues de 32 bits
(Legacy Mode);

INTEL EM64T (Extended Memory 64-bit Technology) tido


como a interpretao do AMD64 feita pela Intel. Devido a
isso, recebeu de alguns a denominao iADMD64 (o "i" faz
referncia primeira letra do nome da Intel).
No computador, todas as medidas de tempo so
feitas em termos de ciclos de clock.
Por exemplo, uma memria RAM com latncia 5
significa que vai levar cinco ciclos de clock
completos para comear a transferncia de
dados.
Dentro da CPU, todas as instrues precisam de
um certo nmero de ciclos de clock para serem
executadas.
Eemplo: uma determinada instruo pode levar
sete ciclos de clock para ser completamente
executada.
O clock de um microprocessador medido em hz (Hertz ou ciclos
por segundo). Por exemplo um Pentium IV Prescott opera com
um clock de 3,8 Ghz, ou seja, 3,8 bilhes de ciclos por segundo.

O nmero de ciclos est diretamente relacionado com o nmero


de instrues e com o nmero de acessos memria que podem
ser realizados a cada segundo. Existem instrues que
necessitam de apenas um ciclo para sua execuo. Outras
instrues mais complexas podem levar 2, 3 ou mais ciclos.

Quanto maior o nmero de ciclos por segundo (ou seja, o clock),


maior ser o nmero de instrues que podem ser executadas.

Os acessos memria tambm ocupam ciclos. Por exemplo, se


cada acesso memria levar 2 ciclos, um microprocessador de 3
Ghz poder executar 1,5 bilhes de acessos memria a cada
segundo.
Tambm conhecido como FSB (Front Side Bus), o
clock externo, por sua vez, o que indica a
freqncia de trabalho do barramento (conhecido
como barramento externo) de comunicao com
a placa-me (na verdade, chipset, memria, etc).
Por exemplo, o processador AMD Sempron 2200+
trabalha com clock externo de 333 MHz.

O clock externo existe porque, devido a


limitaes tecnolgicas, os processadores no
podem se comunicar com a memria (mais
precisamente com a ponte norte - ou northbridge
do chipset, que contm o controlador da
memria) usando a mesma velocidade do clock
interno. Assim, quando essa comunicao feita,
o clock externo que usado.
O processador tem que reduzir sua velocidade em 17x
quando tem que ler dados da memria RAM. Durante esse
processo, ele funciona como se fosse um processador de 200
MHz!
Tcnicas para minimizar o impacto do clock
externo no desempenho

Diversas tcnicas so usadas para minimizar o


impacto dessa diferena de clock:

Uso de memria cache dentro do processador;

Transferir mais de um dado por pulso de clock.

Processadores da AMD e da Intel usam esse recurso, mas


enquanto os processadores da AMD transferem dois dados por
ciclo de clock, os da Intel transferem quatro dados por ciclo
de clock.
Taxa de Transferncia

O caminho de dados entre a memria


RAM e a CPU tem geralmente
largura de 64 bits (ou de 128 bits
quando usada configurao de
memria dual channel1), rodando
ao clock da memria ou ao clock
externo do processador, o que for
mais baixo. O nmero de bits usado
e a taxa de clock podem ser
combinados em uma unidade
chamada taxa de transferncia,
medida em MB/s.
Taxa de Transferncia

Para calcular a taxa de transferncia, a


frmula o nmero de bits x clock / 8.
Para um sistema usando memrias
DDR400 em configurao single
channel (64 bits) a taxa de
transferncia da memria ser de
3.200 MB/s, ao passo que o mesmo
sistema usando memrias dual
channel (128 bits) ter taxa de
transferncia de memria de 6.400
MB/s.
Taxa de Transferncia

Dependendo do processador, algumas de suas partes


internas podem at mesmo rodar a uma taxa de clock
mais alta. Alm disso, o caminho de dados entre as
unidades do processador pode ser mais largo, isto ,
transferir mais bits por ciclo de clock do que 64 ou 128.

Por exemplo, o caminho de dados entre a memria cache L2


e o cache de instruo L1 em processadores modernos
tem normalmente 256 bits de largura.

Quanto maior o nmero de bits transferidos por ciclo de


clock, mais rpida a transferncia ser feita (em outras
palavras, a taxa de transferncia ser mais alta).
Registradores so elementos digitais com
capacidade de armazenar dados.

Tem associados sinais de carga que determinam


quando sero armazenados novos contedos
nesses elementos.

So compostos por flip-flops sensveis a borda


de subida ou descida do relgio.

Podem possuir entradas de habilitao (enable),


limpa (clear ou reset), preenche (set).
Unidade de Controle
Registrador Contador de instruo (program
counter) IP ou PC (busca da instruo):
Contem a posio (endereo da memria
de programa) da proxima execuo a ser
executada.
Registrador localizado na CPU
Registrador de Instruo (busca da instruo)
Contem a instruo (codigo) lida da
memria e que ser executada.
A instruo decodificada (interpretada) no
bloco decodificador de instruo e uma
sequencia de sinais so gerados para a
execuo da instruo.
REGISTRADORES NA UNIDADE DE CONTROLE

Unidade de Controle
Apontador de pilha ("Stack Pointer -
SP") - registrador que aponta para o
endereo de retorno de subrotina,
sendo este ltimo armazenado em
uma pilha na memria;
Registrador de estado: marca os
ciclos de relgio onde cada micro
operao da unidade de controle
(sinais de habilitao de
registradores, ULA, etc) so
gerados.
Registrador de
Sinais de controle

Decodificao
Instruo

Registrador de
Estado

...

RI : registrador de Instruo
RST : registrador de estado
ULA

Registrador Acumulador tem funo de


armazenar um operando e / ou resultado
fornecido pela ULA. Usado na execuo da
instruo.
Nos computadores mais simples, encontrado
apenas um acumulador.
Em arquiteturas mais complexas, vrios
registradores podem desempenhar a funo de
acumulador.
O registrador acumulador se caracteriza ao
nvel de arquitetura pelo seu comprimento em
bits.
ULA

Registrador A Operando A Operando B Registrador B

Controle cdigos de condio


(define a funo (flags)
da ULA)

Resultado Registrador Acumulador

Registradores de entrada da ULA


Flag bandeira: funcionam como
sinalizadores. As flags so apenas
um bit de memria e se localizam
dentro do processador.
Um uso comum das flags o de
desviar a execuo para um ponto
em particular do cdigo usando
instrues de salto condicional.
Estas instrues faro o salto ou
no dependendo do estado de uma
ou mais flags.
Memria

Reg, dados da mem


Reg, endereo da mem (RDMin)
(REM) Memria
Read Reg, dados da mem
Write (RDMout)

Reg, endereo da mem


(REM) Memria Reg, dados da mem
Read
Write
um conjunto de registradores.
Banco de registradores tem funo de
armazenar dados lidos da memria
principal e auxiliar no registro de dados
que esto sendo executados na Unidade
Operativa.
O tempo de acesso (leitura) ao banco de
registradores bem menor que o tempo
de acesso a memria.
O uso de registradores acelera o processo
de execuo das instrues j que alguns
dados lidos da memria j esto
armazenado no banco de registradores.
Ao lado Wr D0 D1 D31

apresenta-se
clock D Q D Q D Q

D-FF D-FF D-FF


um banco de clock clock clock

registradores 0
convencional, D
E
com um E0 C D Q D Q D Q

endereo e uma E1
O D-FF D-FF D-FF

operao de
D clock clock clock

E2 I ...
leitura e uma E3
F 1
operao de I
C
escrita feitas
E4
A
uma a cada D D Q D Q D Q

momento O
R
D-FF
clock
D-FF
clock
D-FF
clock

(convencional)
31
D0 D1 D31
Tamanho 32 x 32 bits
Saida1
End1 (leitura)
1 1
5 bits (e 0-e 4) 32 bits Banco de
End2 (leitura) Banco de registradores com
registradores Saida2
2 2
5 bits (e 0-e 4) duas sadas
32 x 32 bits 32 bits => Operaes em
End (escrita) paralelo de leitura e
5 bits (e0-e4)
escrita

Dados

32 bits

Os endereos tm as seguintes funes:


os endereos em End1 servem para a leitura que ser feita em Saida1;
os endereos em End2 servem para a leitura que ser feita em Sada2;
os endereos em End servem para a escrita que ser feita via Dados.
Basicamente um sistema RISC
(Reduced Instruction Set Computer)
So processadores que visam a
simplificao das instrues, com o intuito
de atingir a mxima eficincia por ciclo,
podendo realizar tarefas menores com
ciclos mais curtos, e uma maior ordenao
das operaes dentro do ncleo de
processamento;

So encontrados em PDAs, telefones


celulares, calculadoras, perifricos de
computador, aplicaes industriais, etc.
A diferena entre ARM e a X86 fcil de explicar: A ARM
foi concebida para processos simples, enquanto que a X86
capaz de executar processos mais complexos. Por ser
simples, a ARM foi mais facilmente adoptada por
dispositivos que necessitam de ser pequenos e por isso,
possuem baterias menores;

A ARM vende o desenho da arquitectura dos processadores


a outras marcas. Os nomes Qualcomm Snapdragon,
MediaTek, Exynos, Nvidia, ou HiSilicon no so nomes de
processadores, mas sim de plataformas que vo controlar
o processador. Normalmente conhecidas como Chipsets.
Estes chipsets so mais importantes que o processador, e
por muitas vezes, as marcas dos chipsets criam verses
melhoradas da arquitetura base da ARM.
A CPU FAZ PARTE DO CHIPSET, BEM COMO QUASE TODOS OS
COMPONENTES DO SMARTPHONE.
Arquitetura Load-Store: as instrues processam
(soma, subtrao, etc) valores que esto nos
registradores e armazenam os resultados em
algum registrador;
Instrues fixas de 32 bits de largura alinhadas
em 4 bytes consecutivos da memria, com
execuo condicional, com poderosas
instrues de carga e armazenamento de
mltiplos registradores;
Capacidade de executar operaes de
deslocamento e na ULA com uma nica
instruo executada em um ciclo de clock;
Pipelines de 3 a 15 estgios.
Formato de instrues de 3 endereos (dois
registradores operandos e o registrador de
resultado so independentemente
especificados);

15 registradores de 32 bits para uso geral;

Manipulao de perifricos de I/O como


dispositivos mapeados na memria com suporte
interrupes;

Baixo Consumo de energia;

Tamanho do ncleo reduzido.


A Lei de Moore se refere a uma afirmao feita em Abril de
1965 por Gordon Moore, fundador da Intel, na qual ele
assume que a cada 2 anos a capacidade de
processamento dos computadores dobraria, enquanto os
custos permaneceriam constantes.

Isto , daqui a dois anos seria possvel comprar um chip com


o dobro da capacidade de processamento pelo mesmo
preo que se paga hoje.

Tal "lei" veio se mostrando verdadeira at os primeiros anos


do sculo XXI, mas provavelmente no continuar vlida
com o desenvolvimentos de novas arquiteturas aplicadas
na fabricao de processadores.

* Gordon Earl Moore co-fundador da Intel Corporation.


Conforme os transistores ficam menores, eles passam a ser formados por menos
tomos, o que torna cada vez mais difcil manter a integridade dos sinais. Isso faz
com que o desafio em criar a prxima gerao, seja exponencialmente maior que
o da gerao anterior. Entretanto, no h motivo para pnico, j que existem
outras tecnologias no horizonte, como o uso de nanotubos e a eterna promessa
dos computadores qunticos.
INSTRUES DE MQUINA

Atualmente, h duas tecnologias de projeto


de processadores empregadas pelos
fabricantes de computadores:

Sistemas com conjunto de instrues


complexo (Complex Instruction Set
Computers CISC) e,

Sistemas com conjunto de instrues


reduzido (Reduced Instruction Set
Computers RISC).
Vdeo:
https://www.youtube.com/watch?v=oYdmOpX0N4M&index=1&list=PLWJ
VgHJ6b_aGG5hxOaC1JTjQAEs1KZn4S
RISC
A arquitetura RISC (Reduced Instruction Set Computer),
como o prprio nome j diz, tem como principal objetivo
simplificar as instrues de modo que elas possam ser
executadas mais rapidamente.

Cada instruo executa apenas uma operao, que so


todas do mesmo tamanho, tem poucos formatos, e todas
as operaes aritmticas devem ser executadas entre
registradores (dados da memria no podem ser
utilizados como operandos).

Praticamente todos os conjuntos de instrues (para


qualquer arquitetura) lanados desde 1982 tm sido
RISC, ou alguma combinao entre RISC e CISC.
RISC - CARACTERSTICAS

Uma instruo por ciclo:


O ciclo de mquina o tempo necessrio
para obter dois operandos dos
registradores, executaruma operao de
ALU e armazenar o resultado em um
registrador
Com instrues simples de ciclo nico as
intrues de mquina podem ser
embutidas no hardware, havendo pouca
necessidade de microcdigos.
RISC - CARACTERSTICAS
Operaes Registrador-para-Registrador:

A maioria das operaes so efetuados


de registrador para regsitrador com
apenas operaes simples LOAD e
STORE acessando a memria,
simplificando o conjunto de instrues e
a unidade de controle.
RISC - CARACTERSTICAS

Modos de endereamento simples:


Quase todas as intrues usam modo de
endereamento de registradores simples;
Formatos de instrues simples:
Um ou poucos formatos so usados. O
tamanho da instruo fixo e ajustado
dentro dos limites da palavra. A posio
de campos fixa, especialmente o
Opcode.
CISC
Elevada densidade de cdigo com compiladores
simples => instruction set complexo, extenso
(prximo duma HLL) e compacto, com grande
riqueza de modos de endereamento da
memria;
Um processador CISC capaz de executar vrias
centenas de instrues complexas diferentes,
sendo extremamente verstil.

Exemplos de processadores CISC so o 386 e o


486.
Em instrues complexas os processadores CISC
saem-se melhor.
Incorporam um grande nmero de pequenas
instrues para executar uma simples operao.
RISC X CISC
RISC X CISC
A vantagem de uma arquitetura CISC que j
temos muitas das instrues guardadas no
prprio processador, o que facilita o trabalho dos
programadores, que j dispe de praticamente
todas as instrues que sero usadas em seus
programas;
No caso de um chip estritamente RISC, o
programador ter mais trabalho, pois como
dispe apenas de instrues simples, teria
sempre que combinar vrias instrues sempre
que precisasse executar alguma tarefa mais
complexa;
Nos chips atuais, que so na verdade misturas
das duas arquiteturas, juntam-se as duas coisas.
Vdeo:
https://www.youtube.com/watch?v=P8N970-m6EA
As Linguagens de programao
CDIGO FONTE ... LET TRADUTOR CDIGO OBJETO ...
SOMA = VAR1 + TOTAL ... 00010110111001011001011010 ...
(linguagem de prog.) (executvel)

MONTADOR (assembler)
Tradutor para linguagens de 2a gerao.
COMPILADOR:
Traduz todo o programa de uma vez.
INTERPRETADOR:
Traduz o programa instruo por instruo.
Software e Sistemas Operacionais
LINGUAGENS DE PROGRAMAO:
1a gerao - Linguagens de mquina

0010 0001 0110 1100

2a gerao - Linguagens de montagem (assembly)

ADD R1, TOTAL


BAIXO NVEL

3a gerao - Linguagens orientadas ao usurio

LET SOMA = VAR1 + TOTAL ALTO NVEL


IF SOMA > 3 THEN EXIT

4a gerao - Linguagens orientadas aplicao

LIST ALL NOME, ENDERECO, TELEFONE

FOR CIDADE = PORTO ALEGRE

5a gerao - Linguagens de conhecimento (IA)


1A GERAO - LINGUAGENS DE MQUINA

Linguagem de mquina escrita em notao


binria

Exemplo:
0010 0001 0110 1100

Endereo da posio de
memria que contm o dado
Endereo do registrador

Cdigo da operao: Adio

Traduo: soma do dados armazenado no


registrador 0001 com o dado armazenado na
posio de memria 0110 1100
2A GERAO - LINGUAGENS DE BAIXO NVEL

Elimina a notao binria


Assemblers (montadores)
Usam cdigos mnemnicos com letras e
nmeros para representar os comandos
Exemplos:
LOAD B carrega no registrador o dado que
est no endereo B
ADD A adiciona ao registrador o dado que
est no endereo A

Linguagem Humana
3A GERAO - LINGUAGEM DE ALTO NVEL

Usam comandos com nomes


geralmente auto-explanativos
Exemplo: read, write, if, open
Principais linguagens: Exemplo em Pascal:
program Exemplo;
Fortran (1954) var a,b:integer;
begin
Cobol (1959) write ('Digite um nmero para A');

Basic (1965)
readln (a);
write ('Digite o nmero para B');
Pascal (1975) readln (b);
if (a > b) then
C (1980) writeln ('A maior que B')
else
writeln ('B maior que A');
end.
4A GERAO - LINGUAGEM ORIENTADA
APLICAO

Geram cdigo a partir de


expresses de alto nvel
Exemplo: DBASE, SQL

Exemplo em DBASE:
List All Nome, Endereco, Telefone
For Cidade = Porto Alegre

Traduo: l todos os registros que compem um


arquivo e, para cada lido, seleciona aqueles cuja
cidade = Porto Alegre.
5A GERAO - INTELIGNCIA ARTIFICIAL

Socriadas bases de
conhecimentos, obtidas a partir de
especialistas, e as linguagens
fazem dedues, inferncias e
tiram concluses baseadas nas
bases de conhecimento.
Exemplos: Prolog, Lisp, Art
INSTRUES DE MQUINA

Uma mquina pode executar tarefas


complicadas e sucessivas se for instruda
sobre o que fazer e em que seqncia
isso deve ser feito.

Uma instruo de mquina a


formalizao de uma operao bsica (ou
primitiva) que o hardware capaz de
realizar diretamente.
INSTRUES DE MQUINA

O projeto de um processador centrado


no conjunto de instrues de mquina
que se deseja que ele execute (conjunto
de operaes primitivas que ele ir
executar).
Uma das mais fundamentais anlises e
decises do projeto envolve o tamanho e
a complexidade do conjunto de
instrues.
Quanto menor e mais simples o
conjunto de instrues, mais rpido o
ciclo de tempo do processador.
FORMATO DE INSTRUES

Um processador possui instrues


capazes de realizar os seguintes tipos de
operao:
operaes matemticas (aritmticas, lgicas, de
complemento, de deslocamento);
movimentao de dados (memria CPU e vice-
versa);
entrada e sada (leitura e escrita em dispositivo
de E/S); e
controle (desvio da seqncia de execuo,
parar, etc.).
FORMATO DE INSTRUES
Podemos separar o grupo de bits que
constitui a instruo em duas partes:
uma delas indica o que a instruo e
como ser executada e a outra parte se
refere ao(s) dado(s) que ser(ao)
manipulado(s) na operao.

A primeira parte constituda de um s


campo, enquanto a segunda parte
poder ter um ou mais campos,
conforme a instruo se refira
explicitamente a um ou mais dados.
FORMATO DE INSTRUES

Temos os seguintes campos em cada


instruo:

Cdigo de Operao Opcode o campo da


instruo cujo valor binrio a identificao
(ou cdigo) da operao a ser realizada.
Assim, cada instruo possui um cdigo, o
qual servir de entrada no decodificador da
rea de controle.

Campo Operando Op. (so) o(s) campo(s)


da instruo cujo valor binrio indica a
localizao do dado (ou dados) que ser(o)
manipulado(s) durante a realizao da
operao.
FORMATO DE INSTRUES

A instruo pode ser constituda de um ou


mais campos operando, isto , se a operao
for realizada com mais de um dado, a instruo
poder conter o endereo de localizao de
cada um dos dados referidos nela.
DO PONTO DE VISTA DAS INTRUES, PODE-SE
DIVIDIR O PROCESSADOR EM TRS PARTES:

Decodificador de instrues: Este componente tem a funo


de converter as instrues x86 usadas pelos programas nas
instrues simples que podem ser executadas pelo
processador;
Unidade de Controle: organiza as instrues da forma que
possam ser executadas mais rapidamente As instrues
formam ento uma fila, (scheduler) a fim de permitir que a
unidade de controle tenha tempo de fazer ser trabalho;
Unidades de Execuo: as instrues preparadas e
organizadas so finalmente processadas.

Todos os circuitos trabalham simultaneamente, visando que


as unidades de execuo sempre tenham algo para
processar.
AS TRS PARTES DO PROCESSADOR
O PROCESSAMENTO REALIZADO EM DUAS
PARTES

Front-End: todos os circuitos que decodificam e ordenam


as instrues dos programas. Isto inclui o decodificador
de instrues, a unidade de controle, e tambm os
registradores e o cache (preparar as instrues o mais
rpido possvel, de modo que as unidades de execuo
permaneam ocupadas todo o tempo);

Back-End: tem-se as unidades de execuo, onde


realmente so processadas as instrues (devem ser
capazes de processar o mximo de instrues possvel).

A lgica que quanto mais unidades de execuo tivermos trabalhando ao


mesmo tempo, mais instrues sero capazes de processar e quanto
mais circuitos de decodificao e controle tivermos, mais eficiente ser
a decodificao das instrues, resultando em um processamento mais
rpido.
CICLO DA INSTRUO BSICO

Cada instruo executada como


uma seqncia de trs fases:

1. Busca da instruo (fetch)

2. Decodificao

3. Execuo.
CICLO DE BUSCA INSTRUO (FETCH)
A PRIMEIRA FASE O ACESSO INSTRUO ("FETCH"): O
CONTEDO DO IP ("INSTRUCTION POINTER") POSTO NO
BARRAMENTO DE ENDEREO E A POSIO DE MEMRIA
SELECIONADA.
UM COMANDO DE LEITURA ENTO FORNECIDO
MEMRIA.

Aps alguns nanosegundos - correspondentes ao tempo de


leitura da memria (ou tempo de acesso) - os oito bits do
dado selecionado por esse endereo se tornam disponveis
nos pinos de sada da memria e so propagados no
barramento de dados do sistema .
O DADO ENCAMINHADO PARA O INTERIOR DA CPU AT O
REGISTRADOR DE INSTRUO (RI) DA UNIDADE DE CONTROLE,
COMPLETANDO ASSIM O CICLO DE FETCH.
DECODIFICAO E EXECUO
Os dois ciclos seguintes so a decodificao e a execuo:
0 RI decodificado pela unidade de controle e os sinais
apropriados so gerados, resultando na execuo da
instruo.
APS UMA INSTRUO SER ACESSADA E EXECUTADA, O
REGISTRADOR IP (INSTRUCTION POINTER) DEVE SER
ATUALIZADO
FLUXO DE DADOS NO CICLO DE BUSCA
FLUXO DE DADOS NO CICLO DE BUSCA

O Contador de Programa (PC) contm o endereo


da prxima instruo a ser buscada.
Esse endereo movido para o MAR (Registrador
de Endereo da memria REM) e colocado no
barramento de endereo;
A Unidade de Controle requisita uma leitura na
memria e o resultado colocado no barramento
de dados e copiado no MBR (Registrador de Dados
da Memria RDM) e ento movido para o IR;
Enquanto issso o contador de programa
incrementado de 1, para preparar a prxima
busca de instruo.
DIAGRAMA DE ESTADO DO CICLO DA
INSTRUO
DIAGRAMA DE ESTADO DO CICLO DA
INSTRUO
Clculo de Endereo de Instruo
(Instruction Address Calculation)
determina o endereo da prxima
instruo a ser executada;
Busca da Instruo (Instruction Fetch) l
a instruo do seu local de memria para o
processador;
Decodificao da Operao da Instruo
(Instruction Operation Decoding) analisa
a instruo para determinar o tipo de
operao a ser realizada e o operando(s) a
ser utilizado(s);
DIAGRAMA DE ESTADO DO CICLO DA
INSTRUO

Clculo do Endereo do Operando


(Operation Address Calculation) se a
operao envolve referncia a um
operando na memria em via E/S;
Busca do Operando (Operation Fetch)
busca do operando na memria ou l da
E/S;
Operao dos Dados (Data Operation)
realiza a operao indicada na instruo;
Armazenamento do Operando (Operand
Store) escreve o resultado na memria
ou envia para E/S.
CICLO DA INSTRUO COM
INTERRUPES
Interrupes so um modo de melhorar a
eficincia do processamento, pois o
processador pode estar executado outras
operaes enquanto uma operao de
E/S est em andamento.

https://www.youtube.com/watch?v=69svptJTE9Y
O QUE SO FLAGS ?

Flag bandeira: funcionam como


sinalizadores. As flags so apenas um bit
de memria e se localizam dentro do
processador.

Um uso comum das flags o de desviar a


execuo para um ponto em particular do
cdigo usando instrues de salto
condicional. Estas instrues faro o salto
ou no dependendo do estado de uma ou
mais flags.
LINGUAGEM DE MONTAGEM (ASSEMBLY)

Em geral, uma linha de instruo Assembly composta de


quatro partes ou campos:

1) Rtulo (ou label) indica um endereo significativo no


programa, como, por exemplo, o endereo de incio do
programa (sempre colocado para o sistema se orientar
sobre o incio), o endereo de desvio em um loop e outros. No
exemplo anterior, A, B, C, X so rtulos. As demias linhas no
usam rtulos, o que significa que o endero da linha o
seguinte na seqncia.
2) Operao contm o mnemnico predefinido
adequadamente para simbolizar a correspondente operao
(ADD, SUB, LDA, etc.).
LINGUAGEM DE MONTAGEM (ASSEMBLY)

3) Operando(s) onde so inseridos os smbolos


representativos dos endereos de memria ou
dos registradores utilizados para armazenar o(s)
respectivo(s) dado(s) referido(s) pela instruo.
No exmplo, os dados esto na MP e, por isso, A,
B, C e X representam endereos de memria.

4) Comentrios o campo opcional, ignorado


durante o processamento do programa.
LINGUAGEM DE MONTAGEM (ASSEMBLY)

Os cdigos de operao so apresentados por


abreviaes (em ingls) chamadas
mnemnicos que indicam a operao a ser
efetuada. Alguns exemplos comuns so:

ADD Adio
SUB Subtrao
MPY Multiplicao
DIV Diviso
LOAD Carregar dados da memria
STOR Armazenar dados na memria
PROGRAMA EM ASSEMBLY

Para escrever um programa em Linguagem


Assembly, utiliza-se os Mnemnicos (instrues
literais) patenteados pelo fabricante, que associam a
Instruo Literal funo da instruo:

Exemplo:
PROGRAMA EM ASSEMBLY
Um programa escrito em Linguagem
Assembly deve ter o seguinte formato:

O Campo do Label indica o endereo relativo da instruo.


O Campo do Comentrio precedido de ponto e vrgula.
LINGUAGEM DE MONTAGEM (ASSEMBLY)

Programas escritos em linguagem assembly no so


diretamente executveis porque o hardware no
entende smbolos, mas sim cdigos de operao
binrios.

H necessidade de se desenvolver um programa com o


propsito de converter as instrues em asssembly em
correspondentes instrues de mquina, e os
endereos simblicos (A, B, C, X do exemplo) em
endereos fsicos de memria.

Este programa denomina-se montador (ASSEMBLER) e


especfico da CPU em que ele ser executado.
LINGUAGEM DE MONTAGEM (ASSEMBLY)

Exemplo: Para ver como a CPU opera, sigamos


os seus passos com o programa SOMANDO DOIS
NMEROS.
AGORA QUE TEMOS UM PROGRAMA ASSEMBLY,
COMO FAZEMOS PARA ALIMENTAR A MQUINA
QUE S ENTENDE 0S E 1S?

A resposta clara: dentro da mquina, cada


OPERADOR codificado como uma cadeia de
bits chamada "CDIGO DA INSTRUO".
A INSTRUO DE MQUINA CONSISTE DE UM CAMPO
COM O CDIGO DA INSTRUO SEGUIDO DO CAMPO DE
ENDEREO QUE D O OPERANDO EM BINRIO:

CARG X codificada como:


O NOSSO PROGRAMA TRADUZIDO
EM LINGUAGEM DE MQUINA:
OUTRO EXEMPLO

A linguagem de mquina (linguagem binria de


0s e 1s) a mais elementar, a mais direta
forma de utilizar o hardware. Mas tambm
a mais complicada e difcil para o
programador.
O MICROPROCESSADOR 8085

O P 8085 contm:
um conjunto de registradores
uma unidade lgico-aritmtica(ALU)
uma seco de temporizao e
controle
um registrador de instruo e um
decodificador
uma interface de barramento para o
meio externo
Arquitetura do
8085
O MICROPROCESSADOR 8085

Para que se possa compreender a linguagem Assembly do


Microprocessador 8085A fundamental que se conhea a
estrutura interna de seu conjunto de Registradores.
Esses Registradores recebem o nome das letras mostradas
abaixo:
O MICROPROCESSADOR 8085
O conjunto de Registradores pode ser dividido em
duas partes, de acordo com a funo:

1. Registradores de Uso Geral: B, C, D, E, H, e L.


Eles podem ser
Registradores de 8-Bits ou trs pares de
registradores de
16-Bits (BC, DE, e HL).

2. Registradores Especiais: A, F, SP, e PC, so


usados para armazenar resultados de instrues
aritmticas e lgicas e tambm para
gerenciamento.
REGISTRADORES

ACUMULADOR
o O Acumulador (A) um registrador de grande importncia
para o 8085A porque usado para armazenar o resultado de
toda operao aritmtica ou lgica.
O REGISTRADOR DE FLAG
o O Registrador de Flag (F) contm 5 bits que so usados
como "flags" ou indicadores para a ALU. Quando o 8085A
executa uma instruo aritmtica ou lgica de 8-Bits, os
flags mudam para refletir o "status" do resultado. A figura
abaixo mostra o registrador de 8-Bits usado como o
Registrador de Flag.
Os bits marcados com um x no so definidos pelo fabricante.
O significado de cada um dos 5 bits de flag so:

S - Flag de Sinal (Sign Flag) - usado para indicar se o


resultado de uma operao aritmtica ou lgica positiva
ou negativa. S existe significado se estivermos trabalhando
com nmeros assinalados. Nvel Lgico 1 indica um
resultado negativo (o MSB 1). Nvel Lgico 0 indica um
resultado positivo.

Z - Flag de Zero (Zero Flag) - indica se o resultado da


operao realizada pela ALU zero ou diferente de zero.
Nvel Lgico 1 neste bit indica um resultado igual a zero.
Nvel Lgico 0 indica um resultado diferente de zero.

AC - Flag Auxiliar de Carry (Auxiliary Carry) - armazena o "vai


um" que ocorre entre a metade menos significativa do byte
e a metade mais significativa, como resultado de operao
da ALU. Nvel Lgico 1 indica que ocorreu um "vai um". Nvel
Lgico 0 indica que no ocorreu um "vai um".
P - Flag de Paridade (Parity Flag) - indica a paridade
do resultado da operao da ALU. Nvel Lgico 1
indica paridade par Nvel Lgico 0 indica paridade
mpar.

CY - Flag de Carry (Carry Flag) - armazena o "vai um"


(overflow de A) que ocorre aps uma adio, o
"vem um" (borrow) aps uma subtrao, ou um
nvel lgico zero aps toda operao lgica. Nvel
Lgico 1 indica um "overflow" do acumulador
como resultado de uma soma ou um "borrow"
como resultado de uma subtrao realizada pela
ALU. Nvel Lgico 0 indica que nenhum overflow"
ou nenhum "borrow" ocorreu. Pode tambm ser
zerado por alguma instruo lgica.
REGISTRADORES
CONTADOR DE PROGRAMA
O Contador de Program (Program Counter(PC))
usado pelo 8085A para apontar o endereo na
memria da prxima instruo a ser executada.
chamado de contador porque incrementado de um
para cada instruo trazida da memria, permitindo
ao microprocessador a execuo seqencial das
instrues.

PONTEIRO DE PILHA
O Ponteiro de Pilha (Stack Pointer (SP)) permite ao
8085A criar e usar sua pilha "last-in, first-out" (LIFO).
A Pilha no 8085A acessa dados tal que o primeiro
dado colocado na pilha o ltimo dado removido dela.
OS REGISTRADORES
REGISTRADOR DE INSTRUO
Este registrador usado para armazenar a instruo que
o 8085A est executando. Suas sadas so conectadas
ao decodificador de instruo, que decodifica a instruo
e controla o restante do processador, memria, e I/O
atravs do bloco de temporizao e controle e dos pinos
externos.

REGISTRADOR TEMPORRIO
O registrador temporrio usado para armazenar
informao da memria ou do conjunto de registradores
para a ALU. A outra entrada para a ALU vem
do acumulador. O resultado, disponvel na sada da ALU,
alimentado para o duto de dados interno de 8-bits, para
distribuio para o acumulador, conjunto de
registradores, ou memria.
ENDEREOS

As faixas de endereos que so usadas e o tipo de


memria em cada faixa so indicados por meio de
um MAPA DE MEMRIA

A figura mostra um
mapa de meMria
para um sistema de
microprocessador
pequeno: O sistema
tem 2 Kbytes de
ROM (0000 a 07FF) e
256 bytes de RAM
(2000 a 20FF)

59
O MAPA DE MEMRIA USADO PARA DEFINIR A
FAIXA DE ENDEREO DE CADA DISPOSITIVO
CONECTADO AO BARRAMENTO QUE DETECTAR
QUANDO O ENDERO REFERENTE A ELE ESTIVER
PRESENTE NO BARRAMENTO.

ISSO CONHECIDO COMO DECODIFICADOR DE


ENDEREO, CUJA SADA USADA PARA ATIVAR A
ENTRADA DE SELEO DE CHIP (CS) DO
DISPOSITIVO.. 60
DECODIFICAO DE ENDEREOS

Havendo vrios dispositivos conectados ao


barramentos do computador (RAM, ROM, I/O,
etc.) necessrio garantir que somente o
dispositivo desejado para a transferncia de
dados responde, quando uma requisio
feita pelo microprocessador;

Consegue-se fazer isso atravs de uma linha


conectada ao barramento denominada de
SELEO DE CHIP (CS Chip Select) que,
quando ativada permite ao dispositivo
responder s vrias requisies provindas do
barramento de controle. 61
O BARRAMENTO DE ENDEREOS

O barramento de endereos de 16-bits, A0 -


A15. O byte Menos Significativo do Duto de
Endereos(A0 - A7) compartilhado
(multiplexado no tempo) com os 8-bits do
barramento de dados .

O barramento de Endereos de 16-bits


permite que o 8085 enderece diretamente
64K (k=1024) posies de memria, 8 bits de
dados por vez, o que significa que cada
posio de memria ou dispositivo de I/O
conectado a ele contm 8 bits de dados.
OUTROS BLOCOS
"Latch Incrementador/Decrementador de
Endereo usado para armazenar o endereo do
dado a ser acessado na memria ou I/O.

Temporizao e Controle - A seco de controle


de interrupo usada para determinar a
prioridade das entradas de controle de
interrupo e tambm para suprir, em alguns
casos, uma instruo de interrupo para o
registrador de instruo.

Uma interrupo uma operao onde um


dispositivo externo interrompe um programa.
Quando o programa interrompido, o
microprocessador executa outro programa que
responde interrupo externa.
FORMATO DAS INSTRUES DO 8085A

A memria de Microcomputadores baseados


no 8085A organizada em Bytes (8-bits). Cada
byte tem uma nica posio na memria.
Cada posio de memria apontada por um
endereo de 16 bits.
O 8085A pode ento enderear at 64k
endereos cujo contedo sempre um Byte
(8-bits). Os dados so ento armazenados no
sistema (registradores e memria) de 8 em 8
bits.
Dizemos ento que o Formato dos dados :
D0 chamado de LSB (Least
Significant Bit) e
D7 chamado de MSB (Most
Significant Bit)
Uma Instruo do 8085A pode ter um, dois, ou tres Bytes de
comprimento. Uma Instruo de 1-Byte armazenada em
uma posio de memria.
Uma Instruo de 2-Bytes ocupa duas posies seqenciais
de memria e uma Instruo de 3-Bytes ocupa tres
posies seqenciais na memria.

Instruo de 1-Byte:

Instruo de 2-Bytes:
MODOS DE ENDEREAMENTO

O microprocessador usa basicamente


quatro modos diferentes de
endereamento:

Direto

a Registrador

Indireto a Registrador

Imediato
ENDEREAMENTO DIRETO

As instrues que endeream


diretamente a memria incluem o
endereo do dado na memria como
operando.
ENDEREAMENTO A REGISTRADOR

A instruo especifica o registrador A, B, C, D, E,


H, L ou o par de registradores BC, DE, HL, or SP que
ser usado com a instruo. Todas as Instrues
de Endereamento a Registrador so instrues de
1-Byte.
O formato desse tipo de instruo :

Por exemplo, se quisermos mover (copiar) o


contedo do registrador B para o registrador C. O
comando e o cdigo de mquina gerado sero:
ENDEREAMENTO INDIRETO A
REGISTRADOR

Nesse modo de endereamento um par de


registradores usado como um ponteiro,
armazenando o endereo da posio de memria que
ser acessada pela instruo.
Por exemplo, suponha que queiramos mover (copiar) o
contedo da posio de memria 0789H para o
registrador A. O comando seria o seguinte:
ENDEREAMENTO IMEDIATO
Nesse tipo de endereamento a instruo contm o dado.
Este pode ser tanto uma quantidade de 8-Bits como de 16-
Bits. Quando o dado de 8-Bits a instruo refere-se a um
registrador da CPU ou ao contedo de uma posio de
memria. Quando o dado de 16-Bits a instruo refere-se
a um par de registradores
Por exemplo, se quisermos carregar o registrador D com
3FH, o comando em Assembly ser:

Por exemplo, se quisermos carregar o par de registradores


DE com 234FH, o comando em Assembly ser:
PIPELINE DE INSTRUES

Uma pipeline de instrues semelhante a uma


linha de montagem de uma indstria. Uma linha de
montagem tira proveito do fato de que um produto
passa por vrios estgios de produo: produtos
em vrios estgios do processo de produo
podem ser trabalhados simultaneamente.

Em um pipeline de instrues, assim como em


uma linha de montagem, novas entradas so
aceitas em uma extremidade, antes que entradas
aceitas previamente apaream como sadas na
outra extremidade.
PIPELINE DE INSTRUES
O processamento de uma instruo subdividido em
trs estgios: busca da instruo, decodificao e
execuo da instruo.

Existem momentos durante a execuo de uma


instruo em que a memria principal no est
sendo usada.

Esse instante pode ser usado para buscar a prxima


instruo, em paralelo com a execuo da instruo
corrente.
PIPELINE DE INSTRUES

A vantagem da operao pipeline a melhora da


relao entre a latncia (quanto uma instruo
demora para ser executada) e a banda passante
(quantos MIPS milhes de instrues por
segundo o processador executa).
PIPELINE DE INSTRUES
PIPELINE DE INSTRUES
HAZARDS (BOLHAS) DO PIPELINE
Ocorrem quando o Pipeline precisa parar porque as
condioes no permitem a execuo contnua.
Podem ser:

Hazards de Recursos quando duas ou mais


instrues precisam do mesmo recurso;
Hazards de Dados quando h um conflito no
acesso a uma posio do operando;
Hazard de Controle quando o peipeline toma a
deciso errada ao prtever um desvio e acaba
trazendo instrues d3entro do pipeline que
precisam ser descartadas em seguida
PROCESSADORES SUPERESCALARES

So aqueles em que mltiplos e


independentes pipelines de instrues
so usados
Os processadores atuais so
superescalares, executam vrias
instrues por ciclo, simultaneamente, o
que torna essencial a existncia de
algum circuito que as coloque numa
ordem em que a execuo de uma no
dependa do resultado da execuo de
outra.
PROCESSADORES SUPERESCALARES

Uma implementao superescalar de uma


arquitetura de processador aquela onde
instrues comuns aritmticas de
inteiros e de pontos flutuantes, leituras,
escritas, desvios condicionais podem ser
iniciadas simultaneamente e executadas
independentemente;

O termo Paralelismo em Nvel de


Instrues refere-se ao grau em que as
instrues de um programa podem ser
executadas em paralelo.

You might also like