Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
53
ORGANIZAO
E ARQUITETURA
DE COMPUTADORES
Srie Bibliogrfica Unit
Organizao e Arquitetura
de Computadores
Banco de Imagens:
Shutterstock
N778o
Apresentao
Prezado(a) estudante,
A modernidade anda cada vez mais atrelada ao tempo,
e a educao no pode ficar para trs. Prova disso so as
nossas disciplinas on-line, que possibilitam a voc estudar
com o maior conforto e comodidade possvel, sem perder a
qualidade do contedo.
Por meio do nosso programa de disciplinas on-line
voc pode ter acesso ao conhecimento de forma rpida,
prtica e eficiente, como deve ser a sua forma de comunicao
e interao com o mundo na modernidade. Fruns on-line,
chats, podcasts, livespace, vdeos, MSN, tudo vlido para
o seu aprendizado.
Mesmo com tantas opes, a Universidade Tiradentes
optou por criar a coleo de livros Srie Bibliogrfica Unit como
mais uma opo de acesso ao conhecimento. Escrita por nossos
professores, a obra contm todo o contedo da disciplina que
voc est cursando na modalidade EAD e representa,
sobretudo, a nossa preocupao em garantir o seu acesso
ao conhecimento, onde quer que voc esteja.
Sumrio
Parte 1: Arquitetura Computacional . . . . . . . . . . . 11
Tema 01: Introduo arquitetura de computadores . . . . . . . . . . . 13
1.1 Nveis de abstrao do hardware . . . . . . . . . . . . . . . . . . . . 14
1.2 Hardware/Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.3 Histria da Arquitetura de Computadores . . . . . . . . . . . . .31
1.4 Histria da Arquitetura de Computadores (4 Gerao
1980, a Famlia Intel e a Famlia Motorola). . . . . . . . . . . 40
Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Tema 02: Organizao dos Sistemas de Computao . . . . . . . . . . . .49
2.1 Processadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.2 Arquitetura Risc X Cisc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.3 Arquiteturas Paralelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
2.4 Memria Virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Referncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Concepo da Disciplina
Ementa
Introduo Arquitetura de Computadores: Nveis de Abstrao do Hardware; Hardware/Software;
Histria da Arquitetura de Computadores; Histria da
Arquitetura de Computadores (4 Gerao 1980, a
Famlia Intel e a Famlia Motorola). Organizao dos
Sistemas de Computao: Processadores; Arquitetura
Risc x Cisc; Arquiteturas Paralelas; Memria Virtual. Introduo Organizao dos Sistemas de Computao:
Memrias; Entrada e Sada; Entrada e Sada (teclado,
porta paralela, portas seriais, Interrupes e Acesso
direto memria); Processo de Montagem de Microcomputadores. A Interface do Hardware: Formatos de
Instrues em Linguagem de Mquina; Modos de Endereamento; Tipos de Instrues em linguagem de
mquina; Noes de Programao em Assembly.
Objetivos:
Geral
Levar ao aluno os conceitos necessrios da Organizao e da Arquitetura dos Computadores, visando obteno do conhecimento necessrio interpretao de seu funcionamento nos requisitos fsicos
e lgicos, bem como a sua aplicao na estruturas de
processamento.
Objetivos Especficos
ARQUITETURA
COMPUTACIONAL
Parte 1
Introduo arquitetura
de computadores
14
Tema 1
As instrues da Linguagem de Mquina devem ser simples, compatveis com o uso da mquina, ser compatvel com o desempenho e ter o
custo e complexidade eletrnica reduzidos, pois a
linguagem de mquina est muito distante de uma
linguagem natural.
A organizao de computadores est dividida em vrias camadas que representam abstraes
do mundo real. A mquina virtual representa uma
imagem de uma mquina que no existe no plano fsico, mas que para funcionar precisa de uma
linguagem definida e que, na maioria das vezes, a
linguagem de mquina tem como caractersticas de
ser simples, mas de difcil utilizao.
No pargrafo anterior vimos que a linguagem
de mquina simples mas de difcil utilizao. Ento, para resolver este problema temos duas maneiras, ambas envolvendo um novo projeto com um
conjunto de instrues de uso mais conveniente
para as pessoas do que instrues embutidas em
mquina, pois, juntas, as novas instrues formam
uma linguagem que chamamos de L2, enquanto
que as instrues que esto embutidas na mquina
chamamos de L1.
Os dois so diferentes na maneira em que o
programa escrito em L2 executado pelo computador, e que o computador pode apenas executar
o programa escrito em linguagem de mquina L1.
O programa executado em L2 consiste em:
Substituir cada instruo nele por uma sequncia equivalente s instrues de L1.
15
16
Tema 1
Computador com 6 nveis: Mtodo pelo qual cada nvel que suportado indicado abaixo do nvel
O nvel 0, ou nvel de Lgica Digital, o hardware verdadeiro da mquina, onde os seus circuitos executam programas em linguagem de mquina de nvel 1.
Existe ainda um nvel mais baixo que o nvel 0,
que seria um nvel da engenharia eltrica intitulado
nvel de dispositivo.
O nvel 1, ou nvel de microprogramao, o
verdadeiro nvel de linguagem de mquina, onde verdadeiramente existe um programa que denominamos
microprograma. Cada mquina de nvel 1 tem um ou
mais microprogramas que so executados nela.
17
18
C
#include <stdio.h>
int main()
{
int a,b,c,soma;
a = 4; b = 6; c = 23;
soma = a + b + c;
printf(soma = %d\n,soma);
}
Tema 1
COBOL
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
*
PROCEDURE DIVISION.
PARA-1.
DISPLAY Hello, World!!.
*
STOP RUN.
FORTRAN
$ vi soma.f
C Programa para realizar a soma de 3
valores e imprimir o resultado
program sum
C Declaracao de variaveis
integer a, b, c, soma
C Atribuicao de valores
a = 33
b = 55
c = 34
C Soma das valores
soma = a + b + c
C Impressao do resultado
print*, soma
C Final do programa
stop
end
:wq!
$
O nvel das linguagens de alto nvel representada pela linguagem e pelo compilador, utilizados para facilitar a construo de aplicaes por parte do programa.
19
20
Tema 1
PARA REFLETIR
Hardware e software so equivalentes logicamente,
ou seja, qualquer operao efetuada pelo software
poder tambm ser implementada pelo hardware e
qualquer instruo poder ser executada pelo hardware ou ser simulada pelo software. Tente perceber isso em um computador em sua casa ou no laboratrio de informtica. Sendo assim, coloque um
comentrio no frum do AVA sobre essa relao.
21
22
1.2 Hardware/Software
Para darmos incio ao tema proposto neste
contedo temos que, primeiramente, definir o que
software, que so os programas. J o hardware,
nada mais do que um conjunto de trs elementos: circuitos eletrnicos, memria e dispositivos
de entrada e sada, ou, tambm podemos afirmar
que hardware composto por objetos tangveis,
placas, cabos, circuitos eletrnicos, fontes de alimentao e leitora de cartes.
Hardware e software so logicamente equivalentes, pois posso embutir qualquer operao executada por software diretor no hardware e vice-versa.
importante destacarmos que tambm existe o
firmware. Esta uma forma intermediria entre o
software e o hardware e consiste no software embutido em dispositivos eletrnicos durante sua fabricao. Notamos a presena de firmware na BIOS,
em leitores ou gravadores de CDs e DVD e tambm
em celulares e iPods, etc.
Tema 1
MICROPROGRAMAO
A microprogramao surgiu em 1951, com o
nvel lgico digital e Isa (circuitos complexos), pelo
pesquisador Maurice WilKes, da Universidade de
Cambridge, no trabalho intitulado como the best
way to design an automatic calculating machine,
onde ele descreve que as instrues ficaram mais
simples, com menos circuitos eletrnicos e em consequncia disso menos falha e mais confiabilidade.
O Hardware da unidade de controle microprogramada responsvel por buscar, uma a uma,
cada micro instruo do micro programa na memria de controle e armazen-las em um registrador
prprio. (MIR REGISTRADOR DE MICROINSTRUO). Uma das vantagens da microprogramao
a possibilidade de alterao do NVEL ISA, escrevendo outro microprograma com a concepo de
FAMLIA DE PROCESSADORES.
Os sinais de controle da CPU codificados na microinstruo que so armazenados na MIR so descodificados pelo hardware da unidade de controle. Com
isso, o hardware da unidade de controle microprogramada e responsvel por executar microinstrues e
aplicar os sinais de controle no caminho de dados da
CPU, de acordo com um tempo adequado.
Atualmente, muitas das operaes programadas no Nvel de mquina convencional passaram a ser
executadas pelo hardware ou microprogramas como:
23
24
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Tema 1
25
26
Cartes Perfurados
Tema 1
27
28
MICROCDIGOS
A microprogramao se tornou comum em
1970, quando se permitia incluir instrues de mquina via programao. O microcdigo escrito pelo coordenador do processador durante a fase de projeto.
Os microcdigos tem a finalidade do armazenamento de pequenos programas, as microinstrues so realizadas uma a uma, sequenciadas ou
escolhidas por um condicionador. Como exemplo
temos dois condicionadores: o COND e o ADDR na
microinstruo.
Microprogramada genrica
Tema 1
FUNES DO COMPUTADOR
O computador tem como funo bsica a
execuo de um programa bsico, constitudo de
um conjunto de instrues que fica armazenado em
uma memria. com o processador que se realiza o trabalho de executar instrues especficas
no programa. Na sua forma simples o processador
possui duas maneiras para que sejam processadas
as instrues. A primeira, era o processo de se ler
ou busca na memria, sendo uma de cada vez e
a execuo de um programa consiste na repetio
do processo de busca e execuo das instrues, e
que cada instruo poder envolver diversas operaes a depender da natureza da instruo.
Quando temos uma execuo de processamento em uma instruo chamamos de ciclo de
instruo. Neste, temos dois passos: o de ciclo de
busca e o ciclo de execuo. A execuo de um
programa encerrada somente se a mquina for
desligada, se ocorrer algum erro irrecupervel ou se
for executada uma instruo de programa que pare
a operao do computador.
29
30
PARA REFLETIR
O sistema operacional tem como objetivo organizar
e controlar o hardware e o software para que os
dispositivos funcionem corretamente de maneira
flexvel e previsvel. De acordo com o enunciado
acima, verifique em sua mquina quais os hardwares que seu sistema operacional est gerenciando.
Tema 1
O BACO
31
32
RGUA DE CLCULO
Shutterstock/Graeme Dawes
Rgua de clculo
Tema 1
33
34
8080 da Intel
1834
Mquina analtica
1936
1943
COLOSSUS
1946
Mark I
1951
Univac I
1952
IAS
1961
1401 da IBM
1964
360 da IBM.
1970
PDT-11 de DEC
1974
8080 da Intel
1978
VAX da DEC
Tema 1
35
36
Tema 1
37
1961
1401 da IBM
1962
7094 da IBM
1963
B500 da Burroughs
1964
IBM 360
1964
38
Circuito Integrado
Uma das inovaes desta gerao foi a multiprogramao que utilizava vrios programas na
memria do computador. O modelo 360, que poderia emular, ou seja, poderia simular outro computador, tambm resolveu o dilema do binrio-paralelo
Tema 1
PARA REFLETIR
As geraes de computadores foram importantes
para diferenciar a sua evoluo desde as mquinas
analticas at os super computadores atuais. Ento,
observe os computadores em sua volta e tente detectar em que gerao eles estariam.
39
40
Intel 8080
Tema 1
41
Apple I
42
A FAMLIA INTEL
8088
80286
Tema 1
43
44
1 Ou seja,
reprojetado.
1971
1972
1974
1974
1978
1980
1982
1982
1985
1988
1989
1992
1995
Tema 1
A FAMLIA MOTOROLA
A Motorola, uma fbrica de semicondutores e
rival da INTEL, lanou sua verso 6800, que era uma
mquina de 8 bits comparvel ao 8080 da INTEL. Ela
foi muito bem recebida pelas empresas onde era utilizada como controlador embutido em equipamentos
industriais.
Em 1979 a Motorola lanou uma pastilha 68000
totalmente diferente e compatvel com o 6800 e com
o 6809. Ela tinha como ideia ganhar do modelo 8086,
pelo qual ganharia a ateno dos engenheiros. O
68000 na verdade foi uma grande mudana em relao ao passado, pois buscava na memria 16 bits de
cada vez e seus registradores eram vistos pelo programador com 32 bits. O 68000 foi utilizado pela ATARI, MACINTOSH E AMIGA devido a sua ruptura limpa
e seu comprimento de palavra de 32 bits, a qual fez
muito sucesso e deu incio sequncia de pastilhas
Motorola 680X0.
A 68008 foi a segunda pastilha da famlia Motorola. Ela tinha um barramento de dados de 8 bits.
A UNIX comeou a implementar seu sistema operacional no 68008, j o modelo 68012 possua pinos
de endereamento de forma que poderia enderear
2 gigabytes de memria ao invs de 16 megabytes.
Os dois modelos, porm, foram eliminados com o
surgimento do modelo 68020. Com uma pastilha de
32 bits, com um barramento tambm de 32 bits e
instrues de multiplicao e diviso de 32 bits esse
modelo foi um sucesso em estaes de trabalho cientfico e na engenharia.
O 68030 foi o substituto do 68020 e possua
uma unidade de gerenciamento de memria na pastilha. O modelo de pastilha 68040
contm uma CPU, co-processador de pontoflutuante, uma unidade de gerenciamento de
memria e cache na mesma pastilha.
68000
45
46
PARA REFLETIR
A INTEL realmente um marco na construo de
pastilhas. Ento, para que possamos refletir, veja em
seu computador qual o processador que ele est
usando e faa um breve comentrio sobre o funcionamento dele com seu professor e publique no AVA.
Tema 1
RESUMO
Voc aprendeu neste primeiro tema sobre a introduo arquitetura de computadores, com nfase
em nveis de abstrao do hardware.
J na segunda parte voc comeou a aumentar seu conhecimento apreendendo sobre hardware e software,
um pouco de microprogramao, bem como a inveno do sistema operacional e sobre os microcdigos.
Na terceira etapa conhecemos a histria da arquitetura de computadores, colocando os pontos mais
importante.
Na quarta etapa demos continuidade histria da
arquitetura, mas j na ltima gerao, quando comeamos a abordar sobre a famlia de processadores
Intel e Motorola.
47
Este tema consiste em voc estudar mais a fundo o funcionamento e a estrutura dos processadores, a estrutura RISC X CISC, as arquiteturas paralelas e o paralelismo de instrues e sobre a memria.
50
2.1 Processadores
Vimos no tema anterior diversos processadores da famlia INTEL e da MOTOROLA, pois a evoluo dos computadores passa pela evoluo dos
processadores, j que ele considerado como o
crebro do computador.
A figura abaixo mostra uma organizao simples do processador orientado a barramento (CPU).
Componentes do computador
A Unidade Lgica e Aritmtica (ULA) a responsvel por fazer operaes tais como adies e booleano, que so necessrias para a execuo das instrues. Sua funo a efetiva execuo das instrues.
A unidade lgica trata-se de um aglomerado de circuitos lgicos e componentes eletrnicos que integrados
realizam as operaes aritmticas e lgicas (soma,
subtrao, multiplicao, diviso, AND, OR).
J os registradores so pequenas memrias de
alta velocidade que so usadas para armazenar resultados temporrios e certas informaes de controle
e, por estarem situadas dentro do processador, os
registradores podem ser lidos e escritos a uma velocidade bastante alta e servem tambm como memria
auxiliar para UNIDADE LGICA E ARITMTICA.
51
52
Barramento
registrador memria;
registrador registrador;
memria-memria.
EXECUO DE INSTRUES
Para que um programa possa ser executado
por um computador, ele deve ser constitudo de vrias instrues de mquina e estar armazenado em
clulas na memria principal. A unidade central de
53
54
INSTRUES:
ENTRE COM OS DADOS NA PORTA 1 DE
ENTRADA;
ARMAZENE OS DADOS DA PORTA 1 NA
POSIO DE MEMRIA 200;
SAIA COM OS DADOS PARA A PORTA 10
DE SADA.
55
56
PARA REFLETIR
A unidade de controle responsvel pela busca
de instrues da memria principal e determinao
dos seus tipos. Faa um comentrio com seus colegas no AVA sobre o funcionamento da unidade
de controle.
57
58
59
60
CISC x RISC
61
62
Execuo otimizada de chamada de funes. Umas das caractersticas que a distingue da arquitetura CISC o modo de
realizar chamadas de rotinas e passagem
de parmetros.
As mquinas com arquitetura RISC podem diferir da arquitetura CISC em oito formas crticas,
como listado abaixo.
RISC instrues simples levando 1 ciclo.
NENHUM MICROCDIGO
Em uma mquina com arquitetura RISC, suas
instrues so geradas pelo compilador diretamente no hardware, ou seja, no so interpretadas por
microcdigos. Sendo assim, elimina esse nvel de
interpretao, sendo este o segredo da velocidade
nas mquinas com arquiteturas RISC.
Uma vantagem da implementao da arquitetura CISC a economia em um pouco de memria.
INSTRUES REDUZIDAS
Neste ponto as mquinas RISC foram nomeadas, pois no existe nenhuma objeo em relao
a ter vrias instrues, sendo que cada uma seja
executada em ciclo. Neste caso existe um problema,
que a complexidade dos blocos decodificador, que
crescem com o nmero de instrues e, sendo assim, consomem uma quantidade da rea da pastilha.
63
64
MEDIDAS DE DESEMPENHO
Existem no mercado vrios mtodos de se
medir e divulgar o desempenho de processadores
e sistemas de computao, bem como as unidades de medidas decorrentes. Umas das unidades
de medidas mais conhecida o MIPS (milhes de
instrues por segundo). Contudo, o MIPS no
uma boa unidade de medida de comparao entre
a arquitetura RISC e a arquitetura CISC devido ao
princpio conceitual de ambas as arquiteturas.
O MFLOPS (milhes de operaes de ponto flutuante por segundo) uma unidade que mais apropriada para medir velocidade com clculos matemticos pelo processador. Os MFLOPS so os que mais
interessam aos pesquisadores e cientistas.
Atualmente os MFLOPS vm sendo empregados para medir o desempenho de mquinas RISC
a unidade SPECmark, denominada assim devido
sigla do comit que a criou.
O desempenho entre RISC x CISC geralmente so medidos pelos seus vendedores atravs de
programas de testes chamados benchmarks.
65
66
PROCESSADORES SPARC
Vamos estudar um pouco sobre a arquitetura dos
processadores SPARC, sigla que vem do ingls Scalable Processor Architecture, que a empresa SUN
denominou de unidade de inteiro (IU), na unidade
de ponto flutuante (FPU), no coprocessador (CP),
em um gerenciador de memria de (MmU) e em
uma memria cache, alm do barramento interno,
que interliga os diferentes dispositivos e barramentos do sistemas para ligar com a memria principal
externa e perifricos.
PARA REFLETIR
Os processadores com arquitetura RISC so realmente melhores que os processadores com arquitetura CISC? Com essa pergunta procure na internet
ou nas literaturas a diferena entre as arquiteturas
e poste no AVA o seu comentrio.
67
68
69
70
As CPUs que so chamadas de fracamente acopladas so aquelas que seus sistemas possuem um
nmero pequeno de CPUs grandes e independentes,
que suas conexes so de baixa velocidade entre
as CPUs. O oposto aos fracamente acoplados so
chamados de fortemente acoplados, onde seus componentes so geralmente pequenos, muito prximos
e frequentemente se interagem atravs de redes de
comunicao de altssima velocidade. Algumas vezes
os sistemas com problemas de paralelismo com granularidade grossa funciona melhor do que o sistema
fracamente acoplado, j o problema de paralelismo
com granuralidade fina funciona melhor em sistemas
fortemente acoplados.
Inmeros pesquisadores tm tentado produzir um esquema de classificao e taxonomia para
computao paralela, mas sem xito. Com isso, o
nico esquema o Flynn, que muito utilizado. O
FLYNN se baseia em dois conceitos, que so fluxo
de instrues e fluxo de dados, onde o fluxo de
instrues corresponde a um contador de programa
e o fluxo de dados consiste em um conjunto de
operadores. Em certo ponto os dois fluxos so independentes e, sendo assim, existem quatro combinaes conforme abaixo.
Fluxo de
instrues
Fluxo de
dados
Nome
Exemplo
SISD
mltiplos
SIMD
Supercomputadores vetoriais
mltiplos
MISD
Questionvel, nenhum
mltiplos
mltiplos
MIMD
Multiprocessadores
71
72
Temos como exemplo trs situaes diferentes da simulao compartilhada em computadores disjuntos. Primeiro o Kai Li de 1988,
que sugere um nico espao virtual pginado
abrangendo todos os processos que trabalham
juntos. O segundo o Linda, um modelo de
programao baseada em um espao abstrato
de tuplas, onde cada tupla contm um ou mais
itens de dados, como um registro em pascal. O
terceiro e ltimo Orca, que uma linguagem
que permite aos programadores definir objetos
abstratos em conjunto com as operaes com
esses objetos.
73
74
Topologias de Rede
MULTIPROCESSADORES SIMTRICOS
At pouco tempo, a maioria dos computadores pessoais e as estaes de trabalho possuam um nico microprocessador. Com a necessidade de se ter um maior desempenho os fabricantes
introduziram o sistema SMP, que tem essa denominao porque refere-se arquitetura de hardware do computador quanto ao funcionamento do
sistema operacional que reflete nesta arquitetura.
O SMP definido como um sistema de computador independente que possui em suas caractersticas a existncia de dois ou mais processadores similares. Os processadores compartilham a
mesma memria principal com facilidades na entrada e sada dos dados, so conectados entre si
atravs de um barramento ou de um outro tipo de
conexo interno. Os processadores compartilham
acesso aos dispositivos de entrada e sada atravs de canais comuns ou por canais distintos que
venham a fornecer caminhos para os mesmos dispositivos. Os processadores podem desempenhar
as mesmas funes e o sistema controlado por
um sistema operacional integrado que prove uma
interao entre processadores e programas em seu
nvel de tarefa, de arquivos e de dados.
O sistema operacional de um SMP efetua
um escalonamento de processos sobre todos os
processadores. Sendo assim, a arquitetura SMP
possui vrias vantagens sobre uma arquitetura uniprocessador (um s processador).
Vantagens:
No desempenho, um computador com
mltiplos processadores possui mais vantagens do que um computador com um
processador, pois os de mltiplos processadores podem se organizar de maneira
que alguns trabalhos possam ser feitos
em paralelo.
Na disponibilidade, em multiprocessadores, em que os mesmos possuem a capacidade de realizar a mesma tarefa simultaneamente, uma falha em um nico
processador no causa a parada do sistema, mas compromete o seu desempenho.
75
76
TRANSPUTERS
O transputer uma mquina RISC que foi
projetada especialmente para computadores paralelos construdos a partir de um grande nmero de
transputers arranjados em uma grade retangular. O
transputer possui trs registradores, ao contrrio
das mquinas RISC.
PARA REFLETIR
Os Computadores paralelos podem ser divididos
em MIMD e SIMD. Coloque no Ava a diferena entre eles, criando assim um debate sobre o tema.
77
78
Um programa que est no ambiente de memria virtual no faz referncia a endereos fsicos
de memria, mas ao endereo virtual. No momento
da execuo de uma instruo o endereo virtual
traduzido para o endereo fsico para poder ser
atendido pela CPU. O mecanismo de traduo do
endereo virtual para endereo fsico chamado
de mapeamento e o conjunto de endereos virtuais que os processos endeream so chamados
de espao de endereamento virtual. A maneira do
conjunto de endereos reais chamado de espao
de endereamento real.
Memria virtual
MAPEAMENTO
Todo programa quando executado em seu contexto precisa estar no espao de endereamento real
para poder ser refernciado pelo processador. Sendo
assim, deve existir um mecanismo que transforme endereos virtuais em endereos reais, sendo que cada
processo tem que ter o mesmo espao de endereamento virtual, como se ele possusse sua prpria
memria. O mecanismo de traduo fica responsvel
em manter as tabelas de mapeamento exclusivas para
cada processo, relacionando os endereos virtuais do
processo a sua posio na memria fsica.
Processo de mapeamento de parte da memria virtual para uma memria de 4096 palavras - memria virtual
79
80
Paginao
Os pesquisadores tinham a ideia de separar
os conceitos de espao de endereamento e de posies de memria.
A tcnica de overlay automtico que chamamos de paginao e as pores de programas que
so lidos na memria secundria so chamadas de
pginas, que em seu espao virtual tem denominao de pginas virtuais, enquanto que as pginas
no seu espao real so chamadas de pginas reais.
81
82
ALEATRIA
Essa escolha no utiliza nenhum critrio para
a seleo.
Todas as pginas do working set tm a mesma chance de serem selecionadas.
Essa estratgia consome poucos recursos
mas no muito comum.
83
84
est associado a cada entrada na tabela de pginas. medida que as pginas so refernciadas o
flag modificado para (1).
Todas as pginas que esto com flag indicando que no foram refernciadas recebem (0).
85
PARA REFLETIR
As memrias virtuais so realmente importantes
para o funcionamento dos sistemas operacionais?
Coloque no sistema Ava a sua opinio.
RESUMO
Voc aprendeu at aqui o funcionamento dos processadores, um pouco sobre arquitetura RISC X
CISC, sobre a arquitetura paralela e sobre a memria virtual mostrando sua importncia, bem como o
seu funcionamento.
85
lgebra Linear
86
90
3.1 Memria
Neste tema vamos introduzir o conceito de
hierarquia de memria, memria principal e memrias auxiliares, tais como discos magnticos, etc. A
operao e a organizao de memrias associativas
sero explicadas em detalhes.
O gerenciamento de memria introduzido
atravs da apresentao de requisitos de hardware
para um sistema de memria virtual que estudamos no tema 2 deste livro.
Memria principal
A memria principal a unidade central de
armazenamento em um sistema computacional.
uma memria relativamente grande e rpida, usada
para armazenar dados e programas durante a operao do computador.
A principal tecnologia usada na construo
da memria principal baseada em circuitos integrados em semicondutores. Os chips de circuito
integrado de RAM esto disponveis em dois modos de operao possveis, esttico e dinmico. A
memria RAM esttica consiste essencialmente de
flip-flops (um circuito digital, capaz de servir uma
memria de um bit internos que armazenam a informao binria.
A unidade bsica de memria o digito binrio. A informao armazenada permanece vlida enquanto uma tenso especfica aplicada unidade.
A memria RAM dinmica armazena a informao binria na forma de cargas eltricas que so
aplicadas a capacitores. Os capacitores so dispostos dentro do chip por meio de transistores. A carga
armazenada nos capacitores tende a se descarregar
Tema 3
com o tempo, e a atualizao da memria dinmica deve ser feita periodicamente, por meio da
recarga dos capacitores, pois esta atualizao se
d pela varredura das posies de memria a cada
intervalo de alguns milissegundos, de modo a restaurar a carga decadente. A memria RAM dinmica
permite o consumo reduzido de potncia e capacidade maior de armazenamento em um nico chip
de memria.
A memria RAM esttica mais fcil de usar
e possui ciclos mais curtos de leitura e escrita. A
maioria das memrias principais em um computador de propsito geral feita de chips de circuitos
integrados RAM, mas uma poro da memria pode
ser construda com chips de memria ROM.
Originalmente a RAM era usada para se referir a uma memria de acesso aleatrio, mas atualmente ela usada pra designar uma memria de
leitura e escrita, para distingui-la de uma memria
somente de leitura.
importante sabermos ainda que a memria
RAM usada para armazenar o corpo dos programas e dados que so sujeitos a mudanas, enquanto que a memria ROM usada para armazenar
programas que so permanentemente mantidos no
computador e para tabelas de constantes que no
mudam o seu valor aps a concluso da produo
do computador.
A poro ROM da memria principal necessria para armazenar um programa inicial, chamado
de carregador de bootstrap. Este carregador um
programa cuja funo iniciar a operao do software do computador quando o mesmo ligado.
Uma vez que a RAM uma memria voltil, o seu contedo se perde ao computador ser
desligado. J os contedos da ROM permanecem
intactos aps o computador ser desligado e ligado
novamente. Neste sentido, a inicializao de um
91
92
Tema 3
Diagrama de blocos
Chip select
93
94
Memrias RAM
Memrias ROM
Tema 3
95
96
Tema 3
O barramento de dados da ROM possui apenas a funo de sada, ao passo que o barramento
de dados conectado s RAMs pode transferir informao em ambas as direes.
O projetista precisa estabelecer um mapa de
memria que atribua endereos aos vrios chips a
partir dos quais as conexes requeridas.
As memrias auxiliares mais comuns usadas
em sistemas computacionais so discos magnticos, discos pticos (Cds e DVDs) e fitas.
Outras comunicaes usadas, mas no to
frequentemente, so tambores magnticos, bolhas
de memria magnticas, entre outros.
97
98
Memria Associativa
Muitas aplicaes de processamento de dados requerem a busca de itens em uma tabela armazenada na memria, com um programa em assembler e realiza a busca pela tabela de endereos
de smbolos, de modo a extrair o equivalente em
binrio do smbolo. Um nmero de conta-corrente,
por exemplo, pode ser buscado em um arquivo para
determinar o nome do seu titular e a sua situao.
O nmero de acessos memria depende da
localizao do item e da eficincia do algoritmo de
busca. Muitos desses algoritmos foram desenvolvidos para minimizar o nmero de acessos enquanto
buscam por um item em uma memria de acesso
aleatrio ou sequencial.
Uma unidade de memria acessada pelo seu
contedo chamada de memria endereada por
contedo. Quando uma palavra escrita em uma
memria associativa, no fornecido um endereo.
Tema 3
99
PARA REFLETIR
As memrias ROM so memrias de semicondutores que atingem 3 objetivos, que ter desempenho
semelhante s memrias R/W, no so volteis e
tm uma segurana permitindo apenas leitura do
seu contedo, procure em seu computador onde
est caracterizada a presena desta memria, colocando um comentrio no Ava.
Entrada x sada
Shutterstock/300dpi
A arquitetura de computadores (entrada e sada) constitui em uma interface com o meio externo. A arquitetura de entrada e sada foi projetada
para permitir um controle sistemtico de interao
com o exterior e permitir ao sistema operacional
informaes que ele necessita para gerenciar as
atividade de entrada e sada.
Quando precisamos de rapidez e flexibilidade
em um computador no seria apenas o seu poder
de armazenamento em memria dos programas, e
nem informaes que seriam necessrias para o processamento e nem tambm a possibilidade de se executar
milhes de instrues. Seria preciso
que o programa escrito em um
papel e seus dados a serem
manipulados fossem inseridos
em um sistema bit a bit
incluindo seus espaos,
sinais e smbolos.
100
Para que possamos realizar determinada tarefa necessrio de um meio de comunicao entre
o usurio e o computador e, da mesma forma, a
necessidade de comunicao inversa, de maneira
que o usurio possa entender o resultado do processamento, pois os perifrico so os dispositivos
responsveis pela entrada e sada das informaes.
Os dispositivos de entrada e sada funcionam
geralmente caracterizados por diversos elementos
mesmo que realizem a mesma tarefa, por possurem
caracterstica diversificadas. Sendo assim, a integrao dos diversos elementos que cooperam no processamento de entrada e de sada em um subsistema fazem parte do sistema de computador.
Um subsistema de entrada/sada (I/O) realiza
duas funes muito importante:
1.
Tema 3
Transmisso serial
101
102
Transmisso paralela
Tema 3
103
104
MOUSE
O mouse, que no considerado perifrico
padro de Sistemas de Informao, mas hoje essencial, um dispositivo de entrada cujo propsito facilitar o trabalho do usurio em sua comunicao com o sistema. Os mouses
do tipo TICO-MECNICO possuem
o mesmo mecanismo de esfera e rolete que os dispositivos mecnicos,
sendo que os roletes so conectados
a rodas vazadas e medida que as
rodas giram, elas ora bloqueiam, ora
permitem a passagem de luz, que
produzida pelo LED, e estas transies so detectadas por semicondutores sensveis luz
Mouse por dentro
Tema 3
105
MONITOR
Em qualquer microcomputador necessrio a existncia de um sistema de vdeo para
que as operaes realizadas sejam mostradas
ou verificar o que est sendo digitado, carregado e at mesmo os resultados de clculos
solicitados pelo usurio.
Hoje todos os monitores so geralmente
coloridos com uma resoluo mxima em sua frequncia. Os monitores geralmente vm interligados
placa me do computador. Mas se houver necessidade de uma maior resoluo e rapidez na passagem dos grficos pode-se obter as placas de vdeos
chamadas de off board, ou seja, placas externas com
quantidade de memria prpria e modelo de chipset.
Os monitores utilizam o padro super-VGA,
mas a tecnologia vem modificando diariamente podendo este mudar a qualquer momento. Os adaptadores de vdeo se conectam ao monitor atravs de
pinos (DB-15), com o cabo ligado ao monitor que
possui uma interface macho e o conector que faz a
conexo com a placa usa a interface fmea.
Hoje com novas interfaces grficas os fabricante de placas de vdeos sentiram a necessidade de
utilizar recurso de acelerao de vdeo, o que ocorre
hoje em praticamente todas as placas de vdeo.
J nas aplicaes com 3D, que necessitam de
uma demanda maior de clculos matemticos e um
grande consumo de memria, necessrio a
instalao de placas 2D e mais placas acele-radoras.
Shutterstock/tatniz
Shutterstock/ravl
15 pinos
i
(DB
(DB-15))
106
PARA REFLETIR
No passado os monitores eram grandes e tinha
como caractersticas serem monocromticos. Hoje
em dia muito difcil encontrar estes monitores,
pois os novos monitores cada vez mais finos e com
uma qualidade cada vez melhor. Para que possamos melhor entender os monitores coloque no
ambiente AVA os diferente tipos de monitores com
suas caractersticas.
Tema 3
3.3 ENTRADA E SADA (teclado, porta paralela, portas seriais, Interrupes e acesso direto memria)
Neste contedo iremos ler sobre o dispositivo de entrada (teclado), sobre as portas paralelas
que transmitem 8 bits de dados de cada vez e as
portas seriais que transmitem um bit de dados de
cada vez, sobres as interrupes e, por ltimo, sobre o acesso direto memria.
TECLADO
Entre os perifricos de entrada o teclado,
juntamente com o mouse, so os mais utilizados.
Desde o incio da sua utilizao nos computadores
os teclados vm sendo modificados para melhor
utilizao como a quantidade de teclas que vm
aumentando. O teclado comeou com 84 teclas e,
nos dias de hoje, j tem teclado com 111 teclas.
Muitas delas so teclas de atalho, que possibilitam
a entrada em um determinado programa, apenas
clicando na tecla programada.
A maioria dos teclados vem utilizando um padro que chamamos de QWERTY US-Internacional,
mas a ABNT tambm padronizou seu layout de teclas baseado no QWERTY. Sendo assim, foi possvel
a colocao de teclas a mais com o e com uma
melhora significativa em relao s teclas com a
acentuao, tendo como finalidade facilitar os trabalhos dos usurios da lngua brasileira.
Os teclados utilizam dois padres pra sua conexo: a placa me, o DIN de cinco pinos e MINIDIN com at 6 pinos, com o surgimento do modelo
PS/2. Temos ainda alguns adaptadores
caso alguma placa me no venha com
algum dos tipos. Atualmente, alm dos
modelos citados, temos os teclados
que se conectam placa me atravs
da conexo USB.
Shutterstock/ilker canikligil
107
108
PORTA PARALELA
As portas paralelas so dispositivos que permitem que os dados do computador saiam diretamente para um dispositivo externo (byte a byte),
ou seja, um conjunto de 8 bits um byte. A sua
comunicao paralela extremamente rpida e segura, mas est sujeita a rudos. Sendo assim, no
se pode usar em comunicaes com dispositivos
com uma grande distncia.
Quando temos uma porta paralela tradicional dizemos que unidirecional, ou seja, permite
apenas que os dados sejam enviados apenas pelo
computador ao perifrico especfico.
As portas paralelas so constitudas por interfaces com conectores de pinagem de 25 pinos
(DB-25) do tipo fmea, o que se diferencia das impressoras que em sua interface paralela utilizam os
conectores Centronics com pinagem de 36 pinos do
tipo fmea. Para que se possa realizar uma ligao
deve-se utilizar de um padro de conector DB-25
do tipo macho em uma das pontas e o Centronics
macho na outra ponta.
As portas paralelas possuem trs modos
de operao: as operaes SPP (standard paralel port), que um modo
de operao padro, com
caracterstica unidirecional e com uma taxa de
transferncia de no mximo 150 KB/s; o modo de
operao EPP (Enhanced
Parallel Port) que permite
uma maior taxa de transferncia de dados com o
Cabo paralelo
Tema 3
Portas seriais
A comunicao das portas seriais so realizadas bit a bit, no sendo possvel palavra por
palavras. Sendo assim, a comunicao literalmente
fica mais lenta e com um probabilidade de acontecerem erros. As portas seriais no necessitam de
muitos fios para se conectarem entre dispositivos
e possibilita que a ligao entre os meios acontea
em uma maior distncia. Os tipos de comunicao
serial podem ser do tipo sncrona, que transmite
um bit a cada pulso de clock e com caracteres back-to-back e assncrona, que utiliza o mesmo canal
sinalizando com um start bit para o incio de cada
caracter ou o fim de um conjunto de dados.
109
Shutterstock/SM
Scanners
Shutterstock/Kitch Bain
zip drive
110
Interrupes
Um problema da entrada e sada programada
a necessidade que o processador tem de esperar um bom tempo para que o mdulo de entrada e sada que foi requerido esteja em estado de
pronto, para que se possa enviar/receber os dados.
Enquanto h uma espera por parte do processador
Tema 3
111
112
Tema 3
113
114
PARA REFLETIR
Os computadores pessoais tratam o teclado e o
monitor como dispositivos independentes. Ento,
para uma melhor interao, coloque no AVA os dispositivos de entradas e sada que voc conhece
apresentando as caractersticas deles, interagindo
assim com seus colegas.
Tema 3
115
116
PASSO UM
Tema 3
117
118
SEGUNDO PASSO
A funo do segundo passo de gerar o programa objeto e, se possvel, imprimir a listagem de
montagem. O passo dois deve produzir informaes
necessrias ao linker para que se possa ligar o procedimento montado em suas instncias diferentes.
Tema 3
TABELA DE SMBOLOS
Durante o passo um de um processo de
montagem, o montador acumula informaes acerca dos smbolos e de seus valores que devem ser
armazenados na tabela de smbolos, para uma pesquisa no passo dois.
Existem vrios mtodos para que se possa
organizar uma tabela, mas todos eles tentam simular uma memria associativa, que nada mais
do que um conjunto de pares, smbolos ou valor.
Dado o smbolo, a memria associativa deve produzir um valor. O modo de ordenar por smbolo
usar algoritmo de busca binria pra se procurar
outro smbolo.
O algoritmo funciona comparando o smbolo
ao meio de entrada da tabela. Quando o smbolo
estiver antes da entrada do meio, em ordem alfabtica, ele deve estar localizado na primeira parte
da tabela e se o smbolo estiver aps a entrada do
119
120
Uma tcnica diferente de simular uma memria associativa a tcnica conhecida como
HASHING. Essa tcnica requer uma funo chamada
HASH, que mapeia os smbolos em inteiros na faixa
de 0 a K -1.
Uma possvel funo seria multiplicar os cdigos da tabela ASCII dos caracteres do smbolo,
ignorando o overflow e tomando o resto da diviso
por K.
Tema 3
Tabela ASCII
121
122
PARA REFLETIR
Quando temos a tabela de smbolos temos o algoritmo de pesquisa binria. Ento, para que possamos ter conhecimento sobre a pesquisa binria,
vamos pesquisar nas literaturas o que seria o algoritmo de pesquisa binria e colocar em discusso
no Ava.
RESUMO
Voc aprendeu neste tema sobre as memrias, conhecendo um pouco da memria principal, as definies sobre a memria RAM e ROM, o mapa de
endereos de memria, a conexo da memria com
a CPU e sobre a memria associativa. Com isso, foi
possvel aumentar o seu conhecimento em relao
ao tema abordado.
Voc tambm pde conhecer sobre os dispositivos
de entrada e sada com suas estruturas e ligaes
com o computador, bem como sobre o processo de
montagem possibilitando um conhecimento sobre
este processo desde o montador de dois passos
at a tabela de smbolos.
A Interface do Hardware
Neste tema iremos estudar os formatos de instrues em linguagem de mquina, os modos de endereamento, os tipos de instrues em linguagem de mquina e as noes da linguagem de
programao Assembly.
124
(a) Instruo sem endereo. (b) Instruo com um endereo. (c) Instruo com dois endereos. (d) instruo com trs endereos. instruo
sem endereo.
PDP-11.
As instrues de dois operandos do PDP-11
so codificados como na figura 2, onde cada instruo deve conter um cdigo de operao de 4 bits
e mais dois campos de endereamento de 6 bits.
O bit que fica mais para a esquerda do cdigo de
operao indica se a instruo opera sobre bytes.
125
126
Pdp -11
Os campos de endereamento
que se subdividem em um de trs bits
para o modo e outro de trs bits para
o registrador.
Quando temos um conjunto de
instrues em que o mtodo especificado dos endereos dos operandos
independente do cdigo de operao,
ele chamado de ORTOGONAL.
Poucas outras instrues, inclusive as instrues de um operando, o
PDP-11 utiliza-se de um esquema de
cdigos de operao expandindo, com cdigos de
operao do x111( binrio), que se utiliza como escape para cdigos de operaes maiores. As instrues do PDP-11 que endeream memria possuem
uma ou duas palavras de 16 bits adicionais para
as seguintes instrues de se especificar os endereos.
Cdigo de operao de expanso
FAMLIA INTEL
As CPUs Intel tm uma situao diferente
e muito menos regular. Temos instrues de dois
operandos: quando um operando est na memria
o outro operando no poder estar na memria.
Sendo assim, existem instrues para se adicionar o contedo de dois registradores e adicionar o
contedo de um registrador ao contedo de uma
localizao de memria, e adicionar um contedo
de uma localizao de memria ao contedo do
registrador, mas quando no existe instrues para
adicionar o contedo de uma localizao de memria ao contedo de uma outra localizao de
memria, algo em que o PDP-11 permite sua ortogonalidade.
127
128
Tipos de instrues
129
130
de segmento responsvel por especificar o registrador de segmento que dever ser usado na
execuo da instruo. O tamanho de endereo, o
processador poder enderear de 16 a 32 bits, pois
o prefixo de tamanho de endereo quem indica
se deve utilizar um tamanho diferente do padro.
POWER PC
As instrues do PowerPC possuem um tamanho de 32 bits e tm um formato regular. Em
sua formatao os seis primeiros bits so aqueles
que identificam a operao que ser efetuada. Na
maioria das instrues em operaes de aritmtica
e ponto flutuante, inclui um bit, que ir indicar o
resultado de cada operao e que dever ser anotado no registrador. Essa caracterstica muito til
no processamento de previso de desvio.
Quando temos as instrues de ponto flutuante os mesmos possuem trs campos para trs
registradores fontes, sendo que em muitos casos
s so utilizados apenas dois registradores. Em
algumas instrues que envolvem a multiplicao
com dois registradores fontes com a colocao de
um terceiro registrador. A colocao dessa instruo composta se deve frequncia com que so
utilizadas.
131
132
PARA REFLETIR
Um formato de instruo quem determina a disposio de bits da instruo. Para que possamos
melhorar o nosso conhecimento vamos colocar em
frum no Ava como o formato de instruo do
VAX.
ENDEREAMENTO IMEDIATO
Os operandos imediatos so aqueles que so
especificados na instruo propriamente dita, onde
o campo do operando contm o que ser de fato
usado em conjuno com a operao especificada na instruo. Quando temos o endereamento
imediato no existe uma referncia extra memria para buscar o operando, como desvantagem de
restringir o operando a um nmero que possa caber em um campo de endereamento.
No 68000 algumas instrues permitem constantes de 8 a 16 bits, sendo que no 68020 todos
133
134
ENDEREAMENTO DIRETO
O endereamento direto igual ao endereo
contido na instruo, ou seja, o operando est na
memria e especificado no campo do endereo.
As CPUs da INTEL possuem endereamento
direto, os modelos 8088 e o modelo 80286 utilizam endereos diretos de 16 bits, j o modelo
80386 utiliza 16 bits nos modos real e virtual com
segmentos de 16 bits em modo protegido. Quando
temos o modo protegido de 32 bits, os endereos
diretos so de 32 bits.
ENDEREAMENTO DE REGISTRADOR
No modo registrador o campo endereo especifica um registrador do processador, e os operandos so os valores nos registradores.
Uma pgina com 16 registradores e 65.536
palavras de memria possui, na realidade, dois espaos de endereamento. Como neste caso existe
menos registradores do que palavras de memria,
ento precisa-se de um endereo menor, e assim instrues de diferentes formatos so frequentemente
utilizadas para operandos tipo registrador e operando do tipo memria. Assim, se temos uma instruo
de registrador para cada instruo que endereasse
memria, ento a metade dos cdigos de operao
seria para operandos do tipo memria e a outra metade para tipo registrador, pois seria necessrio um
bit no cdigo do operando para designar qual o espao de endereamento a ser usado.
Temos duas razes que nos mostra por que
os registradores foram projetados com registradores.
Na primeira os registradores so mais rpidos do
que a memria principal e, na segunda, como eles
so em pequeno nmero, so necessrios apenas
alguns bits para endere-los.
A INTEL e a MOTOROLA possuem um amplo
repertrio de instrues que obtm seus operandos
de registradores e depositam o resultado em um
registrador.
ENDEREAMENTO INDIRETO
O endereamento indireto um modelo no
qual o endereo quem especifica qual palavra de
memria contm no o operando, mas sim o endereo do operando.
135
136
Os processadores INTEL possuem endereamento indireto via um registrador. Em alguns processadores so permitidos endereamento indireto
de mltiplos nveis. Neste modo de endereamento, o apontador utilizado para localizar uma palavra de memria que aponta para uma palavra de
memria e assim por diante.
Os endereamentos direto, indireto, imediatos e
indiretos de mltiplos nveis exibem uma certa progresso, pois o endereamento imediato no necessita de
quaisquer referncias na memria, j o endereamento
direto requer uma referncia de memria para buscar
o operando. O endereamento indireto, por sua vez,
requer duas referncias a memria, sendo uma para
o apontador e a outra para o operando. E os endereamentos indiretos de mltiplos nveis requerem pelo
menos trs referncias na memria, sendo duas ou
mais para apontadores e uma para o operando.
Pontos importantes entre INTEL e MOTOROLA:
Intel:
As unidades centrais de processamentos possuem endereamento direto. Os
8088/80286 possuem endereos diretos
de 16 bits, j o 80386 utiliza endereos
diretos de 16 bits, possui segmentos de
16 bits no modo protegido e utiliza endereos diretos de 32 bits no seu modo
protegido de 32 bits.
Motorola:
No Motorola existem duas formas de
endereamento direto, a de 16 bits e a
32bits. As formas de endereamento direto so indicadas no campo MODO de 3
bits, em que os operandos de instruo
so aplicados.
INDEXAO
Embora alguns programas que modificam a
si prprio tenham sido populares, isto atualmente considerado uma m prtica de se programar.
Elas so difceis de depurar e geralmente dificultam
o compartilhamento de um programa entre vrios
usurios de um sistema de tempo compartilhado
ou TIME SHARING SYTEM. O problema de se ter
uma cpia pode ser resolvido atravs do endereamento indireto, onde um registrador ou posio de
memria carregado com um endereo e o outro
carregado com outro endereo. As instrues utilizam o MOVE que utiliza os dois endereos como
apontador e depois que cada palavra foi copiada
os apontadores para ele so incrementados de 1.
Endereamento Indexado
137
138
B, B + 1, B + 2, ..., B + N 1
QUANDO COPIADO NAS POSIES
C, C +1, C + 2,... C + N 1
A Mquina POSSUI UMA INSTRUO
MOVE B,C
O CONTEDO DE B VAI SER COPIADO PARA
O CONTEDO C, PODER-SE-IA EXECUTAR
ESTA INSTRUO, MODIFICAR A PRPRIA INSTRUO PARA
MOVE B + 1, C + 1
CPUs MOTOROLA e INTEL possuem diversos
modos de endereamento que envolvem indexao.
ENDEREAMENTO DE PILHA
J percebemos que as instrues de mquina
so to curtas quanto possvel, ou seja, para que
se possa economizar memria e tempo da CPU.
A Pilha consiste em itens de dados armazenados em ordem consecutiva na memria. Sempre
que o primeiro item colocado na pilha denominado fundo da pilha, e teremos associado a cada
pilha um registrador ou palavra de memria que
contm o endereo do topo da pilha, o que denominamos de Apontador da Pilha.
Uso da pilha para armazenar variveis locais. (a) Enquanto A est ativo.
(b) Aps A ter chamado B. (c) Aps B ter chamado C. (d) Aps Ce B
terem retornado e A ter chamado D
Os computadores orientados a pilha possuem uma instruo para inserir o contedo e uma
posio de memria ou de um registrador na pilha.
Essa instruo deve tanto incrementar o apontador
de pilha quanto copiar o item.
As instrues que no possuem endereos
so utilizadas conjuntamente com uma pilha. Sendo assim, esta forma de endereamento especifica
que os dois operandos devem ser retirados da pilha, um aps o outro, a operao executada e o
resultado recolocado da pilha.
139
140
PARA REFLETIR
No endereamento direto o valor binrio contido
no campo operando da instruo vai indicar o endereo de memria, onde se localiza o dado, j o
endereamento indireto, o valor binrio do campo
operando vai representar o endereo de uma clula. Com essa explicao faa uma anlise sobre o
endereamento direto e indireto criando um frum
no AVA e postando um comentrio.
141
142
OPERAES DIDICAS
As operaes didicas so aquelas que combinam dois operandos para que possa produzir um
nico resultado. Na maioria das mquinas do nvel
2 visto esse tipo de operao, por conter instrues que realizam adio e subtrao, o que
uma exceo nos microcomputadores com 8 bits,
multiplicao e diviso que tambm bastante comum. Em outras operaes didicas so includas
as operaes booleanas, tendo como caracterstica
143
144
OPERAES MONDICAS
As operaes mondicas tm como caracterstica fundamental ter um operando e produzir um
nico resultado. Nelas so especificados muito menos endereos que as operaes didicas. Sendo
assim, so mais curtas em muitas das vezes.
As instrues utilizadas para deslocar ou rodar um contedo de um palavra so teis e frequentemente providas de formas diferenciadas.
Os deslocamentos so operaes em que o
bit removido para a direita ou para a esquerda,
perdendo, assim, bit de deslocamento para fora da
palavra. As rotaes so os bits que so jogados
para fora da palavra que reaparece em outro lado.
Sendo assim, a diferena entre uma rotao e um
deslocamento de 2 bits mostrada abaixo.
00000000 00000000 00000000 01100011 A
00000000 00000000 00000000 00011000 A Deslocamento
11000000 00000000 00000000 00011000 A Rotao
As unidades centrais de processamento Intel
possuem instrues INC e DEC para soma e subtrao. J as unidades centrais de processamento do
680x0 possuem instrues gerais, como o ADDQ e
o SUBQ, que somam e subtraem uma constante na
faixa de 1 a 8.
145
146
147
CONTROLE DE LOOP
Quando temos a necessidade de um grupo
de instrues executar um nmero fixo de vezes
repetidamente, algumas mquinas possuem instrues para facilitar este processo, pois todo o
processo envolvido por um contador que a cada
passo incrementado ou decrementado de certa
maneira a fazer um loop. Este contador testado
cada vez no loop. Se uma condio for atingida o
loop ser encerrado.
Um loop com um teste no final sempre ser
realizado uma vez.
As famlias de processadores possuem uma
instruo que primeiro testa os cdigos de condio
para uma outra condio, passando pelo loop. Se o
loop for V, (verdadeiro), se esta condio for F, (falso)
o registrador ele ser decrementado e se o resultado
for >=0, o loop ser repetido, ou ento o loop ser
encerrado e a instruo seguinte ser executada.
Exemplo de um LOOP:
X:=1;
1: { temos aqui o primeiro comando }
{ temos aqui o segundo comando }
{ temos aqui o terceiro comando }
.
.
.
{comando final }
X:= x +1;
If X<=N then goto 1;
2: {neste ponto ser realizado o primeiro comando aps
o loop}
148
PARA REFLETIR
As operaes mondicas so aquelas que tm um
operando e produzem um resultado. Neste caso
elas so mais curtas que as operaes didicas.
Com essa informao coloque no ambiente AVA sua
opnio sobre as operaes mondicas e didicas.
149
150
LINGUAGEM DE MONTAGEM
As principais diferenas entre as linguagens
simblicas como as usadas para os processadores
hipotticos RAMSES e CESAR e o montador comercial como o MASM so:
LINHA DE INSTRUO
LINHA DE DIRETIVA
Uma linha de instruo contm um mnemnico
de uma instruo e vai gerar uma instruo de mquina. Tem o formato que apresenta vrios campos.
Uma linha de diretiva possui o formato como
abaixo:
Nome diretiva operandos; comentrio
O nome no seguido de :
151
152
terminaes (ENDIF, ENDM, ENDP, ENDS). O END sempre determina o fim de um trecho do programa fonte.
DEFINIES DE CONSTANTES
A constante um nmero sem atributo e sem
nenhuma posio reservada na memria. Nomes
podem ser associados a constantes atravs da diretiva equate.
Diretiva: EQU
Funo: ela associa um nome a uma
constante sem ter que reservar espao.
Formato: [name] EQU valor
Exemplo:
LEOPOLDO EQU 33 ; LEOPOLDO representa o valor 33
SIMONNE EQU 25 ; SIMONNE representa o valor 25
GIOVANNA EQU 10; GIOVANNA representa o valor 10
153
154
Formato:
[variable-name] DB valor inicial/duplicao
[variable-name] DW valor inicial/duplicao
[variable-name] DD valor inicial/duplicao
jle digit2
;se verdadeiro, obtm o
segundo dgito
sub AL,7h
;se falso, subtrai de 7h
digit2:
add DL,AL
;adiciona o segundo dgito
mov AH,4Ch
;funo 4Ch do DOS (exit)
Int 21h
;interrupo 21h
End
;finaliza o programa
PARA REFLETIR
Um montador uma ferramenta indispensvel para
o desenvolvimento de um programa que deve acessar os recursos de arquitetura de um processador.
Tente, junto ao seu professor, bolar um pequeno
programa em Assembly e poste no AVA, para uma
eventual discusso.
155
156
RESUMO
Neste tema pudemos aumentar o nosso conhecimento lendo sobre a interface do hardware nos
seus respectivos assuntos. Destacamos o estudo
das formas de instrues com seus critrios de projeto, alguns exemplos de formato de instruo e,
por ltimo, pudemos ver tambm um pouco sobre
endereamento, os tipos de instrues e sobre a
linguagem de programao Assembly.
Referncias
TANENBAUM, Andrew S. Organizao estruturada
de computadores. 5. ed. Rio de Janeiro: Prentice
Hall, 2006.
MONTEIRO, Mrio A. Introduo organizao de
computadores. 4. ed. Rio de Janeiro: LTC, 2001.
STALLINGS, William. Arquitetura e organizao de
computadores. 5. ed. So Paulo: Prentice-Hall,
2002.
WEBER, Raul Fernando. Fundamentos de arquitetura de computadores. 3. ed. Porto alegre: Instituto
de informtica da UFRG, 2004.
SICA, Carlos. Sistema Automticos com microcontoladores 8031/8051. So Paulo: Novatec, 2006.
157
158
Anotaes
Anotaes
159
160
Anotaes
ORGANIZAO
E ARQUITETURA
DE COMPUTADORES
Srie Bibliogrfica Unit