Escolar Documentos
Profissional Documentos
Cultura Documentos
de Computadores
Material teórico
Tópicos de Arquitetura de computadores
Revisão Textual:
Profa Esp. Vera Lidia de Sá Cicaroni
Tópicos de Arquitetura de computadores
• Introdução – Histórico
• Conceitos básicos
• Medidas de desempenho
• Representação da Informação
Atenção
Para um bom aproveitamento do curso, leia o material teórico atentamente antes de realizar
as atividades. É importante também respeitar os prazos estabelecidos no cronograma.
5
Unidade: Tópicos de Arquitetura de computadores
Contextualização
6
Introdução – Histórico
7
Unidade: Tópicos de Arquitetura de computadores
É lógico que outras ferramentas foram inventadas para auxiliar o homem a calcular
com maior rapidez; não é nossa intenção descrever todas elas. Vamos nos concentrar somente
naquelas que contribuíram, de alguma forma, para o desenvolvimento e evolução dos
computadores digitais. O ábaco não supria todas as necessidades dos intelectuais do século
XVII, portanto novas iniciativas para o desenvolvimento de novas ferramentas foram feitas.
Foi nesse século que o inglês Willian Oughtred inventou a régua de cálculo, que consistia em
uma régua que apresentava resultados pré-definidos de multiplicações.
Nesse mesmo século, Blaise Pascal inventou uma máquina para cálculos. Essa
máquina, chamada máquina de Pascal, resolvia alguns cálculos que a régua de cálculo não
estipulava, pois apresentava alguns resultados pré-definidos.
Charles Babbage, conforme Garbi, foi outro notável precursor que gastou quase toda a
vida e a fortuna no aperfeiçoamento de uma máquina de calcular concebida dentro de
princípios válidos até hoje. Não chegou a ir muito longe, pois a tecnologia da época não
permitia o desenvolvimento de peças no nível de que precisava.
8
John Von Neumann, ainda na Segunda Guerra Mundial, dedicou-se ao
desenvolvimento do computador, tomando como base a teoria de Turing. Ele conseguiu
resolver um dos principais problemas técnicos da época, relacionado ao armazenamento de
dados em memórias magnéticas. Esse importante passo possibilitou que os programas
pudessem ser armazenados diretamente em componentes eletrônicos e não mais em fitas
perfuradas. Esse e outros fatos ocorridos na história da evolução dos computadores
permitiram que, hoje, possamos ter um computador para ser usado em casa, em empresas,
nas universidades e em qualquer outro local onde se faça necessário.
A evolução tecnológica não tem fim, sempre teremos novidades, no entanto a linha
que se está seguindo é o da miniaturização dos componentes e também dos equipamentos. A
tendência caminha para o processamento, ou seja, inclusão do microprocessador na maioria
dos equipamentos eletrônicos, como micro-ondas, televisões, geladeiras, fogões e até
automóveis e outros.
9
Unidade: Tópicos de Arquitetura de computadores
Conceitos básicos
Chamo a sua atenção para o fato de que um computador digital é uma máquina que
pode resolver problemas executando um conjunto limitado de instruções e essas instruções
estão estritamente relacionadas ao microprocessador de um determinado fabricante, um
programa escrito em linguagem de alto nível, como Java, C++, VB.NET, C# e outras, que,
quando executadas, passam por algumas conversões até virarem instruções que o
microprocessador possa entender.Os microprocessadores só entendem os bits “1” e “0”,
portanto qualquer programa é convertido a uma dessas instruções, constituídas de “1” e “0”,
limitadas do microprocessador. Esse procedimento é usado por ser mais confiável para
codificar informações digitais e por propiciar maiores velocidades de processamento. As
instruções primitivas de um processador formam uma linguagem por meio da qual as pessoas,
desde que tenham conhecimento, podem se comunicar. Essa linguagem é denominada
linguagem de máquina.
10
Figura 4: Diagrama básico de um computador. Fonte: Tanenbaum
Analisando a figura 4, podemos notar que a CPU é composta por algumas outras
partes. Uma delas é a unidade de controle, que é responsável por endereçar, ou seja, apontar
para uma posição da memória onde estará o dado ou instrução a ser carregada para o
processador e controlar se esses dados serão lidos ou escritos na memória principal.
Analogamente podemos considerar que a memória é parecida com um vetor; cada linha é
composta por oito bits e tem um número ao qual damos o nome de endereço. A CPU tem
que, de alguma maneira, capturar as informações contidas na memória para serem
processados. Essas informações são capturadas pela indicação do endereço de onde eles estão
armazenados.
A outra é a unidade lógica e aritmética, que efetua operações básicas como adição,
subtração, multiplicação, divisão e comparação dos dados.
11
Unidade: Tópicos de Arquitetura de computadores
Conforme pode ser verificado na figura 5, a unidade lógica e aritmética recebe duas
informações, uma de cada registrador. Esses dados serão processados pela unidade lógica e
aritmética, que retornará um resultado e irá inseri-lo em um dos registradores. Portanto você
pode perceber que os dados vêm dos registradores, passam pela unidade lógica e aritmética e
um resultado é obtido e enviado para um dos registradores. Basicamente é assim que
funciona a unidade lógica e aritmética: os dados são enviados da memória principal para os
registradores e o resultado da operação pode ser inserido em um dos registradores ou, então,
voltar direto para a memória principal.
12
John Von Neumann, conforme já mencionado, era uma matemático com grande
interesse na área da computação. Ele apresentou uma arquitetura de computador que é usada
ainda hoje no projeto de computadores. Sua arquitetura reúne os seguintes componentes:
uma memória, uma unidade aritmética e lógica, uma unidade central de processamento,
composta por diversos registradores, e uma unidade de controle, que tem a função de auxiliar
na busca de um programa na memória instrução por instrução.
13
Unidade: Tópicos de Arquitetura de computadores
situações e circunstâncias. Como exemplo, podemos citar todos os computadores que são
anunciados para venda, geralmente, usando um sistema operacional Windows, Linux ou
MAC. Esses computadores são adquiridos para serem usados em uma variedade grande de
situações, como acesso à internet, leitura e-mails, telefonemas, desenvolvimento de textos,
planilhas, banco de dados, desenhos, execução de jogos, filmes, programas e aplicativos em
praticamente todos os ramos profissionais. Além disso, esses computadores permitem a
personalização de interfaces e áreas de trabalho conforme a preferência de cada um. É
importante que fique claro que esses computadores têm uma arquitetura que permite que isso
seja possível desde que sejam instalados os softwares aplicativos para executar as atividades
em questão.
Medidas de desempenho
14
Uma das partes mais prejudiciais ao desempenho refere-se aos dispositivos de E/S,
principalmente aqueles que envolvem partes mecânicas para acesso à informação, como é o
caso dos HDs e dispositivos de escrita e leitura ótica. O acesso a esses dispositivos ocorre com
menos evolução em relação aos processadores, aspecto que influencia o desempenho do
conjunto na execução de tarefas.
Suponha que temos um benchmark que executa em 100 segundos divididos em: 90s
de processador + 10s de E/S. Se o tempo de processador melhorar em 50% ao ano para os
próximos anos, mas o tempo de E/S se mantiver, quanto esse programa vai ficar mais rápido
ao final de 5 anos?
Solução:
15
Unidade: Tópicos de Arquitetura de computadores
Desempenho(x)=1/Tempo de execução(x)
n=Desempenho(x)/Desempenho(y)
n=15/10 = 1,5
16
Representação da Informação
Como já citado, os computadores usam uma forma diferente para tratar as informações
que devem ser processadas: enquanto nós, seres humanos, tratamos a informação através de
um conjunto de caracteres alfanuméricos, os computadores consideram apenas bits “1” e “0”,
ou seja, se há ou não um nível de voltagem, geralmente dada por +5v ou 0v, onde +5v
indica o valor binário “1” e o 0v indica o valor “0” em binário. Esta técnica de trabalho
garante às máquinas maior desempenho e facilidade na representação de cada informação.
Nós, seres humanos, trabalhamos com um sistema de numeração na base 10, ou seja,
com os números de 0 a 9 conseguimos representar qualquer número e com o alfabeto
conseguimos escrever sobre tudo. Os computadores trabalham com o sistema de numeração
binária, pois só há dois símbolos, “0” e “1”. Com esse sistema de numeração, ele consegue
representar qualquer número e também representar todas as letras do alfabeto.
Trabalhar com o sistema binário é quase impossível para nós seres humanos, no
entanto deve haver uma forma de tradução do que entendemos para que uma máquina possa
entender. Os primeiros computadores eram manipulados usando algum tipo de material que
pudesse representar 1 e 0; o cartão perfurado e as chaves on/off tinham essa finalidade. Essa
época foi marcada por baixa produtividade e complexidade no desenvolvimento de
programas para executarem determinadas tarefas. Com o passar do tempo, foram surgindo
alguns programas para controlar essas máquinas, aos quais foi dado o nome de sistemas
operacionais. Com eles foi possível tirar a responsabilidade do especialista sobre o controle
total da máquina. Sendo assim, o foco maior, por parte dos especialistas, voltou-se para o
desenvolvimento de programas para realizar determinadas tarefas. Mesmo assim, lidar apenas
com 1 e 0 para desenvolver um programa ainda tornava a atividade complexa e sacrificante,
principalmente se algum erro fosse cometido durante o desenvolvimento. Muitas vezes, era
melhor refazer o código em vez de procurar onde estava o erro.
De qualquer forma, após escrever um programa em linguagem de alto nível, ela deverá
ser convertida para a linguagem de máquina, ou seja, em “0” e “1”. Essa interpretação ou
compilação gera um custo relacionado ao desempenho na execução do programa, por esse
motivo aquelas aplicações que necessitam de velocidade na execução - como jogos, sistemas
operacionais, programas que têm a tarefa de renderização de imagens e outros - são
desenvolvidas usando linguagens de mais baixo nível como Assembler, C, C++.
17
Unidade: Tópicos de Arquitetura de computadores
Material Complementar
18
Referências
19
Unidade: Tópicos de Arquitetura de computadores
Anotações
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
20
_________________________________________________________________________________
_________________________________________________________________________________
Responsável pelo Conteúdo:
Prof. Ms. Vagner Silva
Revisão Textual:
Profª. Esp. Vera Lidia de Sa Cicaroni
Sistemas de Numeração
Atenção
Para um bom aproveitamento do curso, leia o material teórico atentamente antes de realizar
as atividades. É importante também respeitar os prazos estabelecidos no cronograma.
Contextualização
Abaixo você irá encontrar parte de uma entrevista realizada com Renato Degiovani. Esta entrevista
está disponível em: http://meiobit.com/17470/entrevista-renato-degiovani/ Acessada em 01.05.2012.
Cenário: 1983. No exterior surgiam o Apple Lisa, o Apple IIe, o Atari 1200XL. A Lotus lançava o 1-2-
3, a IBM anunciava o PC-XT e a Microsoft mostrava o DOS 2.0. Por aqui, reserva de mercado. As
novidades eram o CP300, da Prológica; o TK85 da Microdigital e falava-se que a Gradiente fabricaria
um micro compatível com o poderoso padrão MSX.
A revista de informática mais influente do mercado era a “Micro Sistemas”, que trazia, na sua edição
de julho, um marco na história do desenvolvimento de jogos no Brasil: a listagem (é, naquela época se
digitavam os programas que vinham nas revistas) do “Aeroporto 83″. Sucesso imediato, a edição
esgotou rapidamente, deixando os leitores ávidos por mais e mais jogos. O responsável pelo feito:
Renato Degiovani.
MB: O senhor já disse que seu primeiro micro foi um NE-Z80. Portanto, o senhor teve que
aprender linguagem de máquina: assembly. Como foi a experiência, para alguém que não
veio de uma formação técnica na área? E qual linguagem utiliza hoje?
RD: Aprender linguagem de máquina foi uma das minhas maiores conquistas, porque, naquela época
(inicio dos anos 80), não existiam livros sobre o assunto, não existiam manuais e não tinha nem a
quem perguntar, ou tirar uma dúvida. Porém eu já tinha assimilado (via basic) a principal regra da
programação: o computador vai executar o que for programado, em sequência e instrução por
instrução.
Eu olhava para os códigos em LM e ficava me perguntando onde estava o sentido daquilo. As poucas
referências à programação eram do tipo “com linguagem de máquina você literalmente conversa com
o processador”. Ora, como tirar de frases como essa o sentido da programação e dos códigos? Para
mim era angustiante não compreender uma simples listagem. Só quando caiu a ficha e entendi que LD
A,10 significava “load register A with 10″ e que isso significava algo parecido com “LET A = 10″ do
basic, é que tudo passou a fazer sentido. Dai em diante não teve mais nenhum mistério.
Perceba que, a cada vez que vamos dividindo pela base, neste caso a base 10, o resto
é multiplicado pela base elevada à sua representatividade. Vamos analisar a primeira divisão:
(6434 : 10). Tivemos como resultado o número 643 e como resto ficou o número 4. O resto
da divisão (4) representamos da seguinte forma: 4x100. Sabemos que qualquer número
elevado a 0 tem como valor o número 1, então, como resultado, temos 4x1 = 4. E assim foi
feito com as outras divisões até decompormos o número 6434. Como resultado da
decomposição temos 6x103 + 4x102 + 3x101 + 4x100.
Para número real usamos a multiplicação para realizar a decomposição.
Vejamos um exemplo abaixo.
Para converter uma base decimal para qualquer outra base, seja ela binária, octal ou
hexadecimal, basta dividir, sucessivamente, o número decimal a ser convertido, pela base
para a qual se quer converter, guardando o resto da divisão. O resultado dessa operação é
novamente dividido pela base e devemos guardar o resto. Este processo irá se repetir até que
o resultado seja menor que a base. Exemplo.
Ao converter 29 (decimal) para binário, após o cálculo, devemos chegar ao resultado
111012.
Como queremos representar o número 29 na base binária, então devemos
dividi-lo por 2.
29 : 2 = 14 , resto 1 20
14 : 2 = 7 , resto 0 21
7 : 2 = 3 , resto 1 22
3 : 2 = 1 , resto 1 23
1 : 2 = 0 , resto 1 24
0,0
No exemplo acima, o valor 0,8125 foi multiplicado por dois, resultando o valor 1,625.
Guardamos o valor inteiro, neste caso o valor 1, e multiplicamos novamente o número
fracionário (0,625) por dois. Novamente guardamos o valor inteiro e multiplicamos o número
fracionário por dois. Repetimos esse procedimento até que o valor decimal seja zero. Há
casos, aqueles que caracterizam dízima, em que o valor do lado direito da vírgula nunca dará
zero; neste caso temos que, em algum momento, parar a multiplicação.
0,3 * 2 = 0, 6 2-1
0,6 * 2 = 1, 2 2-2
--------
0,2 * 2 = 0, 4 2-3
0,4 * 2 = 0, 8 2-4
0,8 * 2 = 1, 6 2-5
0,6 * 2 = 1, 2 2-6
--------
…
…
Se continuarmos com essa multiplicação, veremos que não haverá um fim, pois a
sequência 1001 começa a se repetir, o que caracteriza dízima, ou seja, essa mesma sequência
de números sempre irá aparecer.
Na base 16, quando o resto da divisão for maior que 10, temos que representá-lo por
sua respectiva letra, portanto, para o cálculo efetuado acima, para o lado esquerdo da
vírgula teremos => 9EC 16
b) Em segundo lugar, vamos resolver o lado direito da vírgula, no qual temos o número
fracionário. Portanto devemos multiplicá-lo por 16. Veja, abaixo, como fica o cálculo.
Agora temos que agrupar os dois resultados, o que calculamos para o lado esquerdo da
vírgula e o que calculamos para o lado direito da vírgula, e temos como resultado final
~9EC,570A316
Para fazer conversão do sistema binário para o sistema decimal, devemos proceder da
seguinte forma: multiplicamos o primeiro número binário, da direita para a esquerda, por dois
elevado a zero; o segundo número, da direita para a esquerda, multiplicamos por dois elevado
a um; e assim sucessivamente até que todos os dígitos binários sejam multiplicados por dois e
seu respectivo expoente. Os resultados dessas multiplicações devem ser somados para
obtermos o número decimal. Veja abaixo um exemplo.
Converter 110101 (binário) para número decimal:
Para melhor visualizar o que foi feito, vamos analisar a tabela abaixo:
1 1 0 1 0 1
25 24 23 22 21 20
Como pode ser visto, cada dígito binário, representado na primeira linha da tabela,
será multiplicado, da direita para a esquerda, pela base elevada a 0, depois a 1 e assim
sucessivamente. A soma dessas multiplicações será o número em decimal.
Vamos desenvolver uma conversão considerando um binário negativo e fracionário.
Vamos converter -11,101 (binário) para decimal.
Para a parte à direita da vírgula, usamos o mesmo método do exemplo anterior a este.
A diferença está no cálculo do lado direito da vírgula. Perceba que multiplicamos o dígito
binário pela base elevada a um valor negativo, começando por 2 -1, depois 2-2, e assim
sucessivamente. Lembre-se de que usamos a propriedade do expoente negativo; sendo
assim, teremos ½ = 0.5 – ¼ = 0,25 e 1/8 = 0,125.
Conversão de hexadecimal para decimal
Conforme pode ser observado na tabela acima, devemos multiplicar a parte esquerda
da vírgula por 160, depois 161 e 162. A parte que está à direita da vírgula, multiplicamos por 16-
1
, depois 16-2 e assim sucessivamente. Para efetuar a multiplicação, não podemos esquecer de
converter as letras por números, conforme segue A=10, B=11, C=12, D=13, E=14, F=15.
Para fazer uma conversão rápida entre bases hexadecimais para binário, podemos
separar cada número hexadecimal e representá-lo em binário, depois basta agregar estes
números binários para a representação final. Veja o exemplo abaixo.
-6F,A16 =
6 F A
- 0110 1111 , 1010 2 = - 1101111 , 101 2
Aritmética binária
Os processadores realizam vários cálculos aritméticos para resolverem os trabalhos a
eles entregues. Os cálculos aritméticos realizados na base binária são idênticos àqueles usados
na base dez, no entanto não podemos esquecer que, nessa base, temos apenas dois símbolos.
0+0=0
0+1=1
1+0=1
1 + 1 = 0 e vai 1
Observe que no sistema decimal, 1 + 1 tem como resultado o valor 2. Em binário,
representamos o valor dessa soma como 102 , ou seja, o bit com valor 1 + o bit com valor 1,
conforme demonstrado acima, resulta 0 e vai 1. Sendo assim, temos 102.
Veja abaixo a adição de 112 + 102
Conforme se pode observar na figura acima, a soma é feita da mesma forma como se
faz uma adição no sistema decimal, ou seja, primeiro somamos os primeiros termos da direita,
neste caso 1 + 0. Pela regra apresentada, o valor dessa adição tem como resultado o valor 1.
Depois, somamos o valor 1 + 1 e, pela regra apresentada, o resultado dará zero (0) e
vai 1. Este 1 que foi é somado com o próximo dígito, que, neste caso, não há, portanto o
resultado desta operação será o próprio 1 que foi. O resultado final desta operação, como
apresentado na operação, é 1012. Vamos ver outro exemplo mais elaborado.
No exemplo acima, temos vários casos em que a soma dos termos tem como resultado
o zero e vai um. Analisando a figura, é possível acompanhar cada “vai um”; basta aplicar as
regras estabelecidas para o caso da adição para cada termo.
Subtração de números binários
A subtração de números binários é semelhante à feita para o sistema de numeração
decimal.
0–0=0
1–1=0
1–0=1
0 – 1 = 1 e “empresta 1”
A figura abaixo ilustra a subtração de números binários. Neste caso, temos que tomar
bastante cuidado para não nos perdermos nos resultados. Cada termo deve ser subtraído e
depois é preciso verificar se foi emprestado o valor 1 para ser considerado no resultado. Por
exemplo, os primeiros termos da direita (0 – 1) foram subtraídos, tendo como resultado o
valor 1, e foi emprestado 1 para o próximo termo. Perceba que este valor emprestado foi
inserido ao lado do próximo termo para ser considerado na subtração. No segundo termo da
direita para a esquerda foi efetuada a subtração ( 0 – 1 ). Pela regra temos como resultado o
valor 1 e é emprestado 1. O resultado ( 1 ) foi subtraído do valor que foi emprestado; sendo
assim temos 1 – 1 = 0. A subtração segue até que o último termo da direita para esquerda
seja subtraído.
Figura 3: Subtração de números binários: Idoeta, Capuano, 1985
0x0=0
0x1=0
1x0=0
1x1=1
Vamos analisar o exemplo abaixo.
IDOETA I, V.; CAPUANO, F. G. Elementos de Eletrônica Digital. 8. ed. São Paulo: Erica
Editora LTDA. 1985.
STALLINGS, W. Arquitetura e Organização de Computadores: Projeto Para o
Desempenho. 5. ed. Sao Paulo: Prentice Hall, 2004.
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
Organização e
Arquitetura de
Computadores
Material Teórico
Função Processamento
Revisão Textual:
Profa Esp. Vera Lidia de Sá Cicaroni
UNIDADE Função Processamento
• Função processamento
Nesta terceira aula referente à disciplina que estamos estudando, você irá se aprofundar um
pouco mais nos conceitos relacionados ao processador. Você começará a estudar detalhes
do processamento e também conhecerá a evolução dos processadores. Sabemos que os
processadores evoluem constantemente no sentido de melhorar o desempenho da máquina.
Por último você aprenderá a distinguir um processador com tecnologia CISC de outro com
tecnologia RISC.
Você poderá esclarecer os pontos sobre os quais ainda tenha dúvidas através do fórum de
discussão; é importante que participe inserindo suas dúvidas ou até mesmo respondendo
aos colegas.
5
Unidade: Arquitetura e Organização de Computadores
Contextualização
Os processadores estão se tornando comuns na maioria dos aparelhos eletrônicos. Veja, neste
vídeo, o processador fabricado pela Intel para facilitar a integração entre esses aparelhos e sua
importância nos dias atuais. Vale ressaltar que surgem novas possibilidades para desenvolvimento
de aplicações e de infraestrutura em redes de computadores.
http://olhardigital.uol.com.br/produtos/central_de_videos/dispositivos-inteligentes-a-caminho-da-sua-casa
6
1 - Função processamento
http://historiacomputadoresl.webnode.
pt/servi%C3%A7os/componentes-ess
O microprocessador 4004 da Intel era composto por 2000 transistores. Como já foi descrito,
ele era limitado em relação a operações e instruções a serem executadas. No início da década
de 80, mais precisamente em 1981, a Intel lançou o processador 8088, o primeiro a ter 16 bits.
Essa característica aumentou a velocidade de processamento, pois esses processadores podiam
receber 16 bits de informações. Fazendo uma análise um pouco mais profunda, trabalhar com
16 bits significa receber duas palavras de 8 bits. Até então os processadores podiam receber
apenas uma palavra de cada vez; com 16 bits passaram a receber duas palavras de uma vez,
ou seja, maior poder de processamento. O 8088 dispunha de 29.000 transistores e trabalhava
com clock de 10 MHz. Um ano depois, em 1982, a Intel lançou o 286 com 139.000 transistores.
Começava, então, a era x86, pois, até o momento, o 8086 era o único da série a ter sido lançado.
Em 1985, a Intel desenvolveu o 386 com 287.000 transistores e 32 bits. Foi o primeiro
microprocessador a executar tarefas múltiplas; operava com clock de 33 MHz. No fim da
década de 80, o 486 foi desenvolvido e oferecido ao mercado com um clock de 100 MHz.
No final da década de 90, a quantidade de transistores passou a ser três vezes maior com
o lançamento do Pentium III.
7
Unidade: Arquitetura e Organização de Computadores
O Pentium, que quebrou a série x86, foi apresentado em 1991 e continha 3 milhões de
transistores. Em 2005, começou a era do multicore com o Intel Pentium D. Começava, a partir daí, a
tecnologia Dual-Core em microprocessadores. Os avanços na tecnologia multicore continuaram
surgindo: os processadores de quatro núcleos Intel Core 2Quad e outros processadores com
mais núcleos em um único componente. Pelo que parece, essa evolução está longe de acabar.
Figura 2: http://www.hardware.com.br/dicas/processadores-iniciantes.html
8
Entre as tarefas comuns a esta função - processamento - podem ser citadas as que realizam
operações aritméticas, lógicas, movimentação de dados, desvios e operações de entrada e
saída. O diagrama básico de um computador pode ser visto na figura abaixo. Note que há uma
grande ênfase no processador, pois ele, em conjunto com o sistema operacional, é responsável
pelo bom funcionamento do computador.
9
Unidade: Arquitetura e Organização de Computadores
Pelo que foi descrito até agora, você já deve ter notado que a CPU faz o controle dos dados que
devem ser lidos ou escritos na memória. Na memória principal, a qual chamamos de memória
RAM, são armazenados dados e instruções: os dados, quando entram na CPU, são direcionados
para a unidade lógica e aritmética; as instruções, quando entram na CPU, são direcionadas
para a unidade de controle. É bom lembrar que os processadores contêm instruções próprias e
limitadas projetadas pelos fabricantes e são elas que são executadas pela unidade de controle.
Esse conceito, sobre dados e instruções, deve estar bem claro, pois iremos usá-lo futuramente.
O diagrama abaixo apresenta alguns componentes da unidade central de processamento
(CPU), mais precisamente chamado de processadores. Vamos, primeiramente, conceituar cada
um dos componentes internos do processador para depois entender a função de cada um deles
de forma integrada.
UAL: a Unidade lógica e Aritmética tem como função receber dados para uma operação ou
então comparação entre eles. Observe, na figura acima, que em um dos lados há duas entradas
de dados para a UAL e do outro lado, uma saída. Isso significa que serão recebidos dois dados
para uma operação aritmética ou comparação entre eles e o resultado sairá pelo outro lado da
unidade lógica e aritmética.
Registradores (ACC): os dados vindos da memória principal ou os resultados obtidos pelo
processamento na unidade lógica e aritmética podem ser inseridos, temporariamente, nos
registradores. O acumulador (ACC) é um dos principais registradores dentro do processador, pois
toda e qualquer operação é feita em relação a ele. Convém conceituar que esses registradores
nada mais são que memórias de acesso rápido e estão inseridos dentro da unidade central de
processamento para que a velocidade de comunicação entre ele e a unidade lógica e aritmética
tenha melhor desempenho.
10
PC: significa contador de programas. Sua função é gerar endereços de memória para acessar
os dados ou as instruções. Quando ligamos o computador, o contador de programa inicia-se
com o endereço zero para que posicione no primeiro endereço de memória. Nesse endereço,
os computadores são projetados para encontrar a memória FLASH, conhecida como BIOS,
na qual se encontram as primeiras instruções para verificação do hardware e para carregar o
sistema operacional do disco rígido para a memória principal.
MBR: este Registrador de Barramento de Memória tem a função de receber dados ou instruções
que estão armazenados na memória ou de enviar dados ou instruções para a memória. Todos
os dados ou instruções passam por este registrador no momento de leitura ou escrita; ele é a
porta de saída ou de entrada do processador. Portanto, pelo conceito estabelecido, podemos
concluir que, pelo MBR, trafegam dados ou instruções que vêm ou que vão para a memória
principal.
MAR: o Registrador de Endereço de Memória recebe endereçamento tanto do contador de
programa (PC) como também dos registradores de instruções. Sua função é apontar para o
endereço de memória, indicando onde os dados ou instruções serão lidos ou escritos. Uma
instrução pode indicar uma posição de memória. Quando isso ocorre, o decodificador de
instruções envia para o registrador MAR esse endereço; por sua vez, o registrador MAR espelha
esse endereço para o contador de programa e posiciona a memória para que os dados possam
ser lidos ou escritos.
Relógio: o Relógio, como vimos anteriormente, tem a função de manter a sincronia de todos
os componentes que estão dentro da unidade central de processamento. Ele gera sinais digitais
síncronos para que os componentes mantenham, de forma síncrona, a comunicação dos dados.
UC: a Unidade de Controle tem como função receber uma instrução e decodificá-la. O
barramento de controle é ligado aos componentes externos que recebem informações sobre
leitura ou escrita e sobre o dispositivo em que essas ações devem ocorrer. Os dispositivos são
identificados também por um endereço. Ele recebe essas instruções do registrador de instruções.
RI: o Registrador de Instrução recebe as instruções que estão armazenadas na memória.
Sempre que uma instrução é carregada para a unidade central de processamento, ela é
direcionada para este registrador. Sua função é decodificar essas instruções e passar parte dela
para a unidade de controle e a outra parte para o registrador de endereçamento de memória.
Como se pode notar, muitos dos componentes são registradores que têm como função
armazenar, temporariamente, um determinado dado. Esses registradores podem afetar a
velocidade e, consequentemente, o desempenho do processador. Os computadores vendidos
atualmente operam com 32 ou 64 bits. Isso determina o tamanho da palavra com que eles
trabalham; quanto maior a palavra mais dados serão transportados em um ciclo. Portanto, se
todos os outros recursos forem os mesmos em relação ao desempenho, um processador que
usa um registrador que comporte palavras de 16 bits terá um desempenho duas vezes menor
em relação a um processador que usa um registrador que comporte uma palavra de 32 bits.
A tabela abaixo apresenta as características dos processadores durante toda a sua evolução, e,
nela, você poderá verificar dados, como a data de desenvolvimento, quantidade de transistores,
tamanho, velocidade de clock, o tamanho da palavra e quantos milhões de instruções por
segundo caracterizavam os processadores em cada momento.
11
Unidade: Arquitetura e Organização de Computadores
12
Essa memória contém as primeiras instruções de verificação de periféricos e instruções para
carregar o sistema operacional para memória principal. O registrador de endereço não lê as
informações que estão na memória; ele apenas aponta para um determinado endereço, neste
caso, informado pelo contador de programas (PC). Uma vez informado o endereço, o registrador
de dados lerá a informação da primeira posição da memória; essa instrução será carregada e
enviada, através do barramento interno, para o registrador de instrução (RI), pois, na primeira
posição de memória, é conveniente que tenha uma instrução para iniciar todo o processo de
boot. Deve ficar bem claro, até este momento, que todas as instruções seguirão esse fluxo, ou
seja, passarão do registrador de dados para o registrador de instrução, o que ocorrerá caso a
informação lida seja uma instrução. O registrador de instrução analisará essa instrução enviada
a ele. Se essa instrução informar que um determinado dado deve ser lido em outra posição
de memória, parte dessas informações, que neste caso é o endereço, vai para o registrador de
endereço (MAR) e a outra parte da instrução, que será a instrução de leitura, irá para a unidade
de controle. O registrador de endereço irá se posicionar nesse novo endereço informado pela
instrução, e a unidade de controle acionará o circuito de leitura da memória, pois é exatamente
isso que a instrução solicitou. Se já se tem o endereço e a unidade de controle solicitou a leitura
dos dados, novamente o registrador de endereço pegará esse dado, posicionando-o em uma
das entradas da unidade lógica e aritmética. Esse procedimento ocorre milhões de vezes por
segundo na unidade central de processamento: ora é lida uma instrução, ora é lido um dado;
a instrução é enviada para o registrador de instruções (RI) para ser decodificada, os dados são
enviados para unidade lógica e aritmética para serem processados, executando uma operação
aritmética ou comparação. Uma vez processados os dados da unidade lógica e aritmética, será
retornado um resultado, o qual poderá ficar no acumulador ou em um dos registradores. Isso
dependerá da instrução que está sendo executada.
De qualquer forma, o resultado será armazenado na memória principal. Dois fatos podem
ocorrer aí: o resultado sairá da unidade lógica e aritmética e será gravado diretamente na memória
principal através do registrador de dados ou o resultado da unidade lógica e aritmética será
enviado para um registrador para, posteriormente, ser enviado para a memória principal. Todo
esse conjunto tem que trabalhar de forma sincronizada. Os microprocessadores, conforme já
descrito em aulas anteriores, têm um conjunto de instruções reduzidas e são essas instruções que
vão determinar as operações que devem ocorrer dentro da unidade central de processamento.
Qualquer linguagem de programação de alto nível, que tenha vários comandos para serem
aplicados em um determinado programa, quando se apresentar em baixo nível, será convertida
a uma dessas instruções de que o microprocessador dispõe.
Há outro exemplo simples e mais genérico na análise do
processamento dos dados. Conforme Norton (1996), pode-se utilizar
a ideia de um cálculo matemático, neste caso, a multiplicação, para
analisar o fluxo que os dados seguem para se obter o resultado. A
ideia baseia-se no uso de uma calculadora sendo executada na tela
do computador, idêntica à que está sendo apresentada na figura 5.
Figura 5: Calculadora
13
Unidade: Arquitetura e Organização de Computadores
a. Carregue o primeiro número (4) para um registrador, neste caso, o registrador ax;
b. carregue o segundo número (46) para o outro registrador, neste caso, o registrador bx;
c. multiplique o valor contido no registrador ax pelo valor contido no registrador bx; o
resultado insira no registrador cx;
d. armazene o valor de cx na memória.
As duas primeiras instruções são muito parecidas. O que diferencia uma da outra é o
registrador no qual serão armazenados os valores: o valor 4 será armazenado no registrador
AX e o registrador BX receberá o valor 46. Ao ler a terceira instrução, a unidade de controle
passa para a Unidade de Lógica e Aritmética a responsabilidade de efetuar a operação de
multiplicação.
Conforme já foi citado, os processadores contêm um conjunto limitado de instruções e, dentre
estas, há muitas que podem ser usadas para realizar a operação de multiplicação. Uma das
técnicas que podem ser usadas na multiplicação entre dois números chama-se deslocamento
de bits, ou seja, basta deslocar os bits para a esquerda na quantidade que se deseja multiplicar.
Vamos analisar como funciona essa técnica com os valores que estamos trabalhando ( 4 x 46 ).
O número 46, representado em binário, equivale a 00101110. Ao se deslocarem uma vez os bits
para a esquerda, temos como resultado o valor 01011100, que, convertido para decimal, tem
como resultado o número 92. Como os bits do número 46 foram deslocados apenas uma vez,
a multiplicação efetuada foi 46 x 2, tendo como resultado o valor 92. Isso significa que, para
obter o resultado da operação 46 x 4, temos que deslocar os bits do número 46 mais uma vez,
portanto ele ficará da seguinte forma 10111000. Convertendo esse valor para o decimal, temos
o número 184, que corresponde ao valor esperado da multiplicação.
O resultado será enviado pela unidade central de processamento para a memória e, finalmente,
ele será enviado para o monitor de vídeo.
14
2 - Processadores RISC e CISC
15
Unidade: Arquitetura e Organização de Computadores
Material Complementar
Aqui, disponibilizamos algumas sugestões de leitura para você aprofundar seu conhecimento
sobre o assunto estudado nesta unidade.
16
Referências
História do processador
http://historiacomputadoresl.webnode.pt/servi%C3%A7os/componentes-essenciais-ao-
funcionamento-de-um-computador-processador/historia-do-processador/.
Acessado em 10.07.2012
MicroprocessorQuickReferenceGuide
http://www.intel.com/pressroom/kits/quickreffam.htm. Acessado em 14.07.2012
17
Unidade: Arquitetura e Organização de Computadores
Anotações
18
www.cruzeirodosulvirtual.com.br
Campus Liberdade
Rua Galvão Bueno, 868
CEP 01506-000
São Paulo SP Brasil
Tel: (55 11) 3385-3000
Organização e Arquitetura
de computadores
Material Teórico
Unidade de Controle e Clock
Revisão Textual:
Profª. Vera Lidia de Sá Cicaroni
Unidade Unidade de Controle e Clock
• Unidade de Controle
• O relógio (clock)
• Registrador de Instruções
5
Unidade: Unidade de Controle e Clock
Contextualização
Explore
Veja, no link abaixo, uma técnica usada pela Intel para aumentar esse desempenho sem prejudicar
a vida útil do processador.
http://informatica.hsw.uol.com.br/arquitetura-processador-nehalem4.htm
6
A unidade de controle tem funções pré-determinadas dentro do processador, as quais são
executadas pelas instruções que são estabelecidas no projeto. Sendo assim, ela tem os circuitos
necessários para acionar a memória ou os dispositivos de entrada e saída e ainda controlar se
os dados serão armazenados ou lidos. Nesta aula você irá estudar, de forma um pouco mais
detalhada, as funções da unidade de controle.
1. Unidade de Controle
A Unidade de Controle (UC) faz parte de um dos blocos do processador; ela é responsável
pela decodificação e execução das instruções, fornecendo os sinais de sincronização adequados
para as diversas partes do processador e do próprio computador. Além das funções citadas
acima, ela contém registradores para armazenamento da Informação Binária (dados, endereços
e instruções).
Ela coordena o computador na execução das instruções armazenadas em um programa. A
unidade de controle contém os circuitos eletrônicos arranjados de forma que possa executar as
instruções da CPU.
A unidade de controle é como um maestro de uma orquestra, pois comanda algumas partes
do sistema. Para isso, o conjunto de instruções, embutido nos circuitos da unidade de controle,
nada mais é que uma lista de todas as operações que a CPU é capaz de executar.
As CPUs, que são fabricadas por empresas diferentes, têm conjuntos de instruções diferentes,
e até mesmo modelos diferentes de CPU fabricados pela mesma empresa podem apresentar
conjuntos de instruções também diferentes.
Quando uma nova CPU é desenvolvida, seu conjunto de instruções tem as mesmas
instruções de sua antecessora e, geralmente, são incluídos mais alguns comandos
novos. Essa estratégia é conhecida como Compatibilidade ascendente.
7
Unidade: Unidade de Controle e Clock
Atenção
Algumas instruções do processador precisam de mais que um ciclo para poderem ser
totalmente executadas.
8
1.2 Tipos de Controle em uma CPU
Como já foi descrito acima, a principal função de uma unidade de controle (UC) é decodificar
uma instrução e sequenciar as micro-operações correspondentes. Cada micro-operação deve ser
previamente definida na unidade de controle, seja através de hardware (Programação Direta no
Hardware) ou de software (Microprogramação). Vamos detalhar um pouco mais cada uma delas.
9
Unidade: Unidade de Controle e Clock
OPCODE
Endereço Micromemória 0 0011 00
10
2. O relógio (clock)
Quando decidimos comprar ou trocar um computador, a primeira coisa em que pensamos
é o desempenho da máquina. Mas será que quanto mais veloz, melhor? Nem sempre. São
muitas variáveis que afetam o desempenho do computador. Ao analisar os componentes de
um computador, deparamo-nos com diversos termos técnicos, como é o caso do Clock. Abaixo
você terá uma descrição sobre esse componente e qual sua função no computador.
Pelos estudos que já realizamos, chegamos à conclusão de que tudo gira em torno do
processador, considerado o “cérebro” do sistema computacional. Esse componente, também
chamado de microprocessador ou CPU (Central Processing Unit), é o responsável por processar
os dados e as instruções. A maneira como essa operação será processada dependerá do
programa, que pode ser desde um editor de textos até mesmo um jogo. Para o processador, o
tipo de aplicativo a ser executado não faz a menor diferença, pois ele apenas obedece às ordens
(chamadas de comandos ou instruções) contidas nos softwares, as quais serão convertidas em
uma ou mais instruções de que o processador dispõe. Portanto qualquer instrução recebida
de um programa de alto nível será interpretada para uma instrução que o processador possa
entender. Essas instruções podem ser desde um simples cálculo matemático chegando até a
dados complexos para a placa de vídeo, por exemplo.
Portanto, a cada pulso de clock, os dispositivos executam suas atividades, param e vão para
o próximo ciclo de forma sincronizada. Tecnicamente falando, o pulso gerado pelo cristal, após
passar por um chip, é uma onda quadrada passando de “0” a “1” a uma taxa fixa, em que
o início de cada ciclo é quando o sinal passa de “0” a “1”. A unidade de medida usada para
determinar a velocidade de vibração do quartzo é dada em Hertz (Hz), que significa o número
de pulsos que o quartzo vibra por segundo. Portanto, um processador de 100 MHz indica que,
em um segundo, há 100 milhões de pulsos de clock.
11
Unidade: Unidade de Controle e Clock
É lógico que essa é uma explicação para fins didáticos, tomando como exemplo apenas
uma unidade de execução sobre o funcionamento do processador, pois os processadores
atuais possuem mais que um núcleo trabalhando em paralelo, capazes de executar várias
tarefas em paralelo e muitas instruções necessitam de mais que um ciclo de clock para que
sejam totalmente executadas.
12
Como a velocidade está restrita à placa-mãe, pelos motivos descritos acima, a frequência do
processador não é fixada. Ela pode ser maior ou menor do que o especificado pelos fabricantes;
isto depende de como a placa-mãe está configurada e é, neste ponto, que algumas pessoas,
com conhecimentos mais avançados, costumam alterar as velocidades de vibração do quartzo,
implementando o que chamamos de overclocks, o que faz com que o processador trabalhe com
taxas superiores às recomendadas pelos fabricantes.
Desde o desenvolvimento dos computadores 486 até os dias atuais, os processadores usam
o clock externo para transferir dados para a memória RAM e dispositivos de entrada e saída. É
usado um chip controlador na placa-mãe, chamado de “ponte norte”, que tem a finalidade de
adequar a velocidade entre diferentes barramentos da placa-mãe. Por exemplo, em um Pentium
4 de 3 GHz, a velocidade de 3 GHz refere-se ao clock interno do processador, que é obtido
quando multiplicamos por 15 seu clock externo de 200 MHz.
Barramento
Chipset Local Processador
(ponte Norte)
Figura 5: Chipset controlador de velocidade
Por terem valores de velocidade muito distintos, diversas técnicas são usadas para minimizar
o impacto da diferença de clock interno e externo. Uma delas é o uso de quantidade maior
de memória cache dentro do processador. Outra técnica, considerada mais comum, é fazer
a transferência de mais de uma informação por pulso de clock. Tanto os processadores AMD
como os processadores da Intel, que são os fabricantes mais conhecidos de chips, usam esse
tipo de recurso. Os processadores da AMD transferem dois dados por ciclo de clock e os da
Intel, quatro dados por ciclo de clock.
Com a transferência de dois dados por ciclo, considerando um clock externo de 100 MHz,
podemos concluir que, na verdade, o processador está trabalhando a uma velocidade de 200
MHz, ou seja, o dobro da velocidade. Como podemos ver, não é somente o clock que influencia
o desempenho do computador.
Pense
Atualmente, o recurso de multiplicação de clock é indispensável, pois sem ele seria impossível
desenvolver processadores muito rápidos, já que não é possível aumentar a frequência das placas-
mãe e dos demais periféricos na mesma proporção do aumento do clock dos processadores.
13
Unidade: Unidade de Controle e Clock
3. Registrador de Instruções
Assembly Descrição
14
4. Contador e decodificador de Instruções.
As instruções a serem executadas por um microprocessador estão em forma de códigos de
instruções. Essas instruções devem ser processadas de forma correta e na sequência lógica
correta e, para que isso seja possível, deve haver um controle preciso sobre essas instruções. A
sequência lógica é feita de acordo com o que foi estabelecido nos programas desenvolvidos por
nós, sejam eles em qualquer linguagem de programação. A unidade de controle é a responsável
pelo controle da sequência de eventos necessários para a execução das instruções, ou seja, de
acordo com a definição feita na programação, esta irá auxiliar a execução das instruções. Cada
instrução é executada de acordo com o clock, conforme já explanado acima.
O contador de programas indica onde o próximo byte de instrução está localizado na
memória. Uma instrução recebida da memória pode alterar o contador de programa para que
outra posição da memória seja lida ou escrita. O sincronismo do contador de programas também
está relacionado ao relógio (Clock) e pode indicar que uma ou mais instruções foram carregadas
da memória para o microprocessador.
O microprocessador utiliza o registrador de instruções para armazenar as últimas instruções
obtidas da memória. O primeiro byte de uma instrução é passado para o decodificador de
instruções, que tem a função de interpretá-las para determinar qual operação deve ser efetuada
com os dados.
ADD
8-Bit
SUB
Instruction Instruction Instruction
IN Memory
Decoder Register
OUT
MOV
Program Counter
Pulses Reset
16-Bit Address
Memory Address 16-Bit Address
Register
Qualquer linguagem de programação de alto nível tem seu programa traduzido para uma das
instruções que o processador pode interpretar. Por esse motivo é que colocamos o interpretador
e compiladores como influenciadores no desempenho da máquina, pois, se o programa estivesse
desenvolvido em linguagem de máquina, não haveria a necessidade de interpretá-los. Como
exemplo, entre as operações decodificadas, estão as que foram descritas acima.
15
Unidade: Unidade de Controle e Clock
16
Material Complementar
17
Unidade: Unidade de Controle e Clock
Referências
STALLINGS, W. Arquitetura e Organização de Computadores: Projeto Para o Desempenho. 5.
ed. Sao Paulo: Prentice Hall, 2004.
18
Anotações
19
www.cruzeirodosulvirtual.com.br
Campus Liberdade
Rua Galvão Bueno, 868
CEP 01506-000
São Paulo SP Brasil
Tel: (55 11) 3385-3000
Organização e Arquitetura
de Computadores
Material teórico
Memória e Dispositivos de E/S
Revisão Textual:
Profª. Dra. Maria Isabel Andrade Sousa Moniz
Memória e Dispositivos de E/S
• Memórias
Nesta quinta e última aula você irá estudar sobre os dispositivos de armazenamento,
principalmente os vários tipos de memória RAM e memórias secundárias, além de uma
introdução básica aos dispositivos de entrada e saída.
5
Unidade: Memória e Dispositivos de E/S
Logo em seguida, você deverá ler o conteúdo da aula, você encontrará, como primeiro
assunto, detalhes da memória RAM. Hoje há vários tipos de memórias e você irá conhecer
quais as diferenças entre elas. Além disto, poderá verificar alguns procedimentos executados
pelo computador em relação à memória que prejudicam seu desempenho. Seguindo o texto,
você estudará também características das memórias secundárias. Há vários modelos de
memória secundária e nela armazenamos nossos trabalhos para poder usá-los futuramente.
Houve uma evolução significativa nas memórias secundárias e você poderá conhecer algumas
delas. Além destes assuntos, você irá estudar sobre dispositivos de entrada e saída.
Todo o conteúdo deve ser lido com bastante atenção e deve ser compreendido. Desta
forma, você estará apto a prosseguir com as atividades que serão propostas.
Após estudar o texto, você deverá analisar a apresentação narrada. Nele você poderá
estudar os pontos relevantes do assunto desta quinta aula.
Com estes conceitos já desenvolvidos, você estará pronto para participar do fórum e
das atividades.
Participe do fórum de discussão, poste suas dúvidas para que possamos esclarecê-las.
Vamos iniciar?
6
Contextualização
http://windows.microsoft.com/pt-BR/windows7/Optimize-Windows-7-for-better-performance
7
Unidade: Memória e Dispositivos de E/S
1. Memórias
Na década de 70, a Intel lançou o primeiro chip DRAM (Dynamic Random Access
Memory ) que veio substituir a memória de ferrite. Este chip foi usado no computador HP
9800. Atualmente, o acesso à memória de forma aleatória, conhecida como memória RAM,
ainda é largamente usada no armazenamento de informações que estão sendo executadas. As
memórias evoluíram e tornaram-se cada vez menores. Alguns problemas ainda são
encontrados, como velocidade de acesso e resposta, no entanto as pesquisas continuam no
sentido de melhorar estas características.
9
Unidade: Memória e Dispositivos de E/S
Memória RAM
Na figura acima, podemos observar que cada intersecção entre linhas e colunas tem
uma célula de memória composta um por um transistor e um capacitor. A intersecção entre
linha e coluna é ativada para representar o bit 1 ou desativada para representar o bit 0. Cada
célula é definida por um endereço que se dá por esta intersecção.
A memória RAM estática usa uma técnica totalmente diferente da memória dinâmica.
Ela é construída de maneira que um conjunto de quatro ou seis transistores, montados de
forma combinacional (FLIP FLOPS), represente uma célula para armazenar uma informação.
10
Neste tipo de técnica, não há necessidade de refrescamento da memória, pois o conjunto de
transistores mantem a informação sempre ativa, além de ser significativamente mais rápida
que a RAM dinâmica. Uma desvantagem deste tipo de técnica fica por conta do tamanho do
componente (chip) para armazenar as informações. Isto se deve à quantidade de transistores
usados para compor uma célula. Como visto acima, temos que ter de quatro a seis transistores
para formar uma célula com capacidade de armazenar apenas um bit.
Por ser mais rápida, a memória RAM estática é usada como memória cache,
geralmente implementada dentro dos processadores, e a memória RAM dinâmica é usada
como memória RAM, mais conhecida como memória DRAM.
FPM DRAM (Fast Page Mode ou memória RAM de modo de paginação rápida): usa a
mesma técnica de armazenamento da memória dinâmica, no entanto evolui na forma
de leitura e escrita na memória. Ela parte do princípio de que a maioria das
informações é gravada de forma sequencial na memória, com isto é possível trabalhar
na forma de enviar o endereçamento para a leitura das informações.
EDO DRAM (Extended Data-Out ou memória RAM de saída estendida): segue a
técnica usada na FPM RAM, porém não aguarda toda a leitura de um bit para começar
a ler o próximo. Com esta técnica é possível aumentar o desempenho em até 5% em
relação à memória FPM DRAM.
SDRAM (Synchronous DRAM ou memória DRAM síncrona): também tem como
princípio que os dados são colocados sequencialmente na memória, sendo assim é
posicionado na linha e movido rapidamente pela coluna para obter as informações. O
sincronismo refere-se ao uso do mesmo ciclo de clock da placa mãe para leitura e
escrita.
DDR SDRAM (Double Data Rate SDRAM ou Memória SDRAM com taxa de
transferência dupla): tomou como base a técnica usada na SDRAM, no entanto
transfere dois dados por pulso de clock. Teoricamente obtém-se o dobro do
desempenho se tomarmos como base a transferência de um dado a cada pulso de
clock.
RDRAM (Rambus DRAM ou memória RAM dinâmica de Rambus): é uma memória
dinâmica, porém alterou sua arquitetura em relação à DRAM. Ela usa um barramento
interno de alta velocidade batizado como Rambus, opera com taxa de dados de 800
Mhz ou 1.600 MB/s.
VRAM (Vídeo RAM): é uma memória usada em adaptadores de vídeo ou aceleradores
3D. Este tipo de memória tem duas portas (multiporta) e isto acelera a gravação e
leitura, pois simultaneamente pode ser acessada pela CPU e pelo processador gráfico.
11
Unidade: Memória e Dispositivos de E/S
Analisando desta forma, é fácil verificarmos que quanto mais aplicativos abrirmos
simultaneamente, mais memória acaba sendo consumida e se o computador for composto de
pouca memória RAM, então a concorrência pelo seu uso será inevitável. O aplicativo que
queremos executar será carregado para a memória RAM, no entanto algum outro aplicativo
deverá deixar a memória para que este ocupe um espaço. Este controle é feito pelo sistema
operacional, que decide, por algumas técnicas implementadas, qual aplicativo deixará a
memória volátil para que o outro aplicativo ocupe este espaço. Este processo de liberar espaço
na memória RAM para carregar outro aplicativo de uma memória não volátil é chamado de
“swap” e quanto mais swaps ocorrerem, mais lenta ficará a execução dos programas. A
lentidão ocorre porque os itens abaixo devem ser checados:
Os itens descritos acima são controlados pelo sistema operacional e levam um tempo
para serem executados. Dois itens - “salvar status das informações...” e “Carregar o aplicativo
e as informações...” - descritos acima, contribuem ainda mais para a lentidão, pois envolvem
leitura e escrita através do acionamento de partes eletromecânicas. Geralmente os aplicativos
que queremos executar estão gravados em uma memória não volátil, por exemplo, o HD
(Hard Disk) e como veremos mais abaixo, a leitura e escrita nestes dispositivos de entrada e
saída exigem o acionamento de partes mecânicas que contribuem para a lentidão do
conjunto.
12
Na figura abaixo, pode-se verificar a troca de processos entre memória RAM e o HD: a
memória RAM já está cheia e deve ser liberado espaço para que o programa a ser executado
ocupe um espaço. Vale ressaltar que algumas informações sobre o aplicativo que está saindo
da memória RAM, e também as informações, devem ter seu status armazenado em algum
lugar, pois se o usuário voltar ao aplicativo que está ainda em aberto para ele, este
procedimento de swap deve novamente ser feito para trazer, no ponto em que estavam, o
aplicativo e as informações.
Conforme estudado até agora nesta unidade, você pôde perceber que se desligarmos o
computador, as informações que estão armazenadas na memória RAM são perdidas, portanto
temos que gravar os trabalhos que estamos desenvolvendo em algum local onde poderemos
resgatá-los quando for preciso. Para estes casos, as informações são armazenadas em algum
dispositivo de memória secundária.
Existem vários tipos de armazenamento secundário que são divididos em três grupos:
armazenamento magnético, armazenamento óptico e armazenamento usando memória Flash.
13
Unidade: Memória e Dispositivos de E/S
• CD-ROM
• DVD
14
Para ler os dados que estão gravados, o cabeçote de leitura e gravação passa pela
superfície sem corrente elétrica, porém como a superfície magnética do meio de
armazenamento tem carga magnética, então ela emite uma pequena corrente que é capturada
pela cabeça de leitura e gravação. Dependendo do sentido da carga magnética, obtêm-se os
bits 1 e 0.
Os disquetes e as fitas magnéticas têm esta característica e foram usados por um
período grande para armazenar informações.
O problema com este tipo de armazenamento está no transporte e no local onde serão
guardados, pois não podem ficar expostos próximos a imãs e qualquer situação onde possa
ser criado um campo magnético, como é o caso de transporte em metrô e fios de alta tensão.
Os discos rígidos têm o mesmo princípio de gravação e leitura de um disquete, mas
são diferentes quanto ao material usado: enquanto um disquete usa uma superfície flexível, o
disco rígido, como o próprio nome já define, é construído com uma superfície rígida e com
vários discos (que chamamos também de pratos de metal), que gira sobre um eixo. Os pratos
são revestidos de óxido de ferro e são envoltos por uma caixa selada conforme pode ser visto
na figura 7. Todas estas características ajudam na precisão da leitura e gravação das
informações,
15
Unidade: Memória e Dispositivos de E/S
16
A diferença entre um CD-R e um CD-RW, está em um material a mais, adicionado
entre a camada de policarbonato e a camada protetora, que consiste em uma tinta que
permite que o laser modifique os dados gravados.
A evolução não para e novos dispositivos estão sendo projetados para substituir,
gradativamente, os dispositivos que usam partes mecânicas para armazenamento. Atualmente,
principalmente em substituição de HDs, os componentes SSDs (Unidade de Estado Sólido)
estão sendo usados.
Estes componentes são conhecidos por memória Flash e já são vendidos no formato de
pen drive. O futuro destes componentes é promissor. Há uma vertente que acredita que em
um futuro próximo, assim que o preço começar a baixar devido à produção em massa, estes
componentes se tornarão comuns em computadores pessoais e servidores de grande porte.
17
Unidade: Memória e Dispositivos de E/S
Introduzir dados do meio externo para processamento em uma máquina ou então ter
acesso a informações processadas por ela é uma das características mais importantes na
interação homem máquina. Os aplicativos e/ou programas têm esta função de interação, no
entanto para que isto seja viabilizado há vários dispositivos que permitem a introdução, ao
quais chamamos de “dispositivos de entrada” e a apresentação destas informações, ao quais
chamamos de “dispositivos de saída”. Como dispositivos de entrada, podemos citar o teclado,
caneta ótica e o mouse, dentre outros. Como dispositivos de saída, temos a impressora, o
monitor, plotter e outros que você irá estudar nesta unidade.
A comunicação serial foi uma das primeiras a serem disponibilizadas nas máquinas
para viabilizar a comunicação com o meio externo. Este tipo de comunicação caracteriza-se
pelo envio dos dados usando um único canal de comunicação. Ou seja, para transmitir uma
palavra de 8 bits, eles devem passar por um componente que irá serializá-los, dispondo cada
bit no tempo para depois efetuar a transmissão. A figura abaixo demonstra a transmissão
serial.
18
Figura 10: Transmissão serial. Fonte: http://pt.kioskea.net/contents/pc/serie.php3
Este tipo de transmissão tem um desempenho menor que a transmissão paralela, pois
os dados devem ser enfileirados para depois serem transmitidos.
Transmitindo desta forma o desempenho é bem melhor, embora o custo deste tipo de
transmissor seja mais elevado que o serial, pois, para uma transmissão serial há apenas um
circuito para transmissão e na transmissão paralela, vários circuitos deverão ser montados,
aumentando assim o custo.
2.2. Teclado
Para Pensar
Como bem sabemos, o teclado é um dispositivo de entrada. Sua principal função é converter em sinais
elétricos o que está sendo digitado. Até este ponto nada de novidade. Mas, como funcionam os
teclados?
19
Unidade: Memória e Dispositivos de E/S
Existem vários tipos de materiais usados para identificar a tecla pressionada, dentre eles
podemos citar:
• Domo de borracha
• Membrana
• Contato metálico
• Elemento de espuma.
2.3. Mouse
A partir do momento que a interface gráfica foi desenvolvida, o mouse passou a ter sua
importância no mundo dos computadores. Os primeiros mouses foram desenvolvidos
utilizando-se de uma técnica a partir de um plano de coordenadas cartesianas (pontos x e y).
Para isto utiliza-se uma bola e duas rodinhas, uma representando o eixo x e outra
representando o eixo y. Quando o mouse é movimentado sobre uma superfície plana, a bola
movimenta as rodinhas e esses movimentos são detectados por sensores que enviam as
informações para o computador na forma de alterações na posição atual do ponteiro ou
cursor.
20
O mouse ótico não tem partes mecânicas e sim um fotodetector que percebe o
movimento efetuado sobre uma plataforma plana e envia as coordenadas para o computador.
O monitor de vídeo, segundo Norton (1996), cria imagens com um tipo especial de
cristal líquido que normalmente é transparente, mas fica opaco quando carregado com
eletricidade.
2.6. Impressoras
A impressora ainda tem função importante no conjunto computacional, pois não foi
totalmente substituída apenas por documentos digitais. Há vários tipos de impressoras, desde
as matriciais, jato de tinta, laser, toner e até impressoras em 3D.
21
Unidade: Memória e Dispositivos de E/S
Material Complementar
22
Anotações
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
23
Unidade: Memória e Dispositivos de E/S
Referências
CIRIACO, D. Como são feitos os discos de CDs, DVDs e Blu-rays? Disponível em:
http://www.tecmundo.com.br/dvd/8778-como-sao-feitos-os-discos-de-cds-dvds-e-blu-rays-.htm
24.02.2011. Acesso em: 05 out. 2012.
24