Você está na página 1de 34

O QUE É UM COMPUTADOR DIGITAL?

Máquina Que Resolve Problemas Executando Uma Série De Instruções.


O QUE É UM PROGRAMA
Conjunto De Instruções Que Descrevem Uma Maneira De Se Executar Tarefas.
O QUE SÃO CIRCUITOS ELETRÔNICOS
Executam Um Conjunto Limitado De Instruções Muito Simples (Um Programa Deve Ser
Convertido)
COMO SÃO EM GERAL AS INSTRUÇÕES?
Em geral, essas instruções não são mais complicadas que: Somar dois números. Comparar um
valor de um número com zero. Copiar um conjunto de dados de uma parte da memória para outra
parte.
QUAL A VANTAGEM E DESVANTAGEM DA SIMPLICIDADE DAS INSTRUÇÕES?
Vantagem ⇒ redução de custo e da complexidade da eletrônica.
Desvantagem ⇒ seu uso torna-se difícil e tedioso para nós.
Conseqüência da desvantagem ⇒ definição de uma maneira estruturada de se organizar os
computadores.
COMO SÃO TRATADOS OS COMPUTADORES? E COMO SÃO AS ABSTRAÇÕES?
Computadores ⇒ tratados como uma série de abstrações.
Cada abstração ⇒ construída com base naquela situada imediatamente abaixo.
Consequência disso ⇒ complexidade pode ser dominada, e os sistemas de computador podem ser
projetados de maneira sistemática e organizada.
HÁ UMA DIFERENÇA MUITO GRANDE ENTRE AQUILO QUE É CONVENIENTE
PARA NÓS E AQUILO QUE CONVÉM AOS COMPUTADORES. AS PESSOAS
DESEJAM FAZER X MAS OS COMPUTADORES SÓ PODEM FAZER Y. COMO
RESOLVER ISSO?
Solução do problema ⇒ duas metodologias diferentes.
Ambas metodologias usam um novo conjunto de instruções mais conveniente para os usuários.
Novas instruções ⇒ nova linguagem ⇒ L1
Instruções de máquina ⇒ linguagem ⇒ L0
As duas metodologias diferem na maneira como os programas escritos em L1 serão executados
pelo processador (executa L0).
COMO SÃO AS METODOLOGIA DA L1 E L0?
1ª metodologia ⇒ substitui cada instrução em L1 por uma sequência equivalente de instruções
em L0. O processador executa o novo programa expresso em linguagem L0 em substituição ao
primeiro escrito em L1. Essa técnica é conhecida como tradução.
2ª metodologia ⇒ consiste em escrever programas em L0 que admitam como entrada programas
escritos em L1. Execução de programas em L1 ⇒ conversão de instruções em L1 em uma
sequência de instruções em L0 ⇒ sequência esta executada antes do exame da próxima instrução
escrita em L1.Esta técnica não requer a geração de um novo programa em L0. A técnica é
conhecida como interpretação. Programa que a implementa ⇒ interpretador. Técnicas de tradução
e interpretação ⇒ muito parecidas.
Semelhança ⇒ em última análise as instruções em L1 são executadas por um conjunto equivalente
de instruções em L0. Diferença: Na tradução ⇒ programa em L1 primeiro é convertido em L0
⇒ L1 é descartado ⇒ L0 é carregado na memória e executado ⇒ é o programa em L0 que está
rodando e controlando o computador.
Na interpretação ⇒ instrução em L1 é executada imediatamente após ter sido examinada e
reconhecida pelo interpretador ⇒ não há geração de programa algum ⇒ o próprio interpretador
controla o computador durante a execução ⇒ para o interpretador, o programa em L1 é tratado
como dado de entrada.
Foi visto o conceito de tradutor e interpretador. Em vez de tradução ou interpretação, pudesse
imaginar um computador hipotético (máquina virtual) com linguagem de máquina L1. Máquina
virtual M1 ⇒ Linguagem L1. Máquina virtual M0 ⇒ Linguagem L0. Para tornar a tradução ou a
interpretação uma tarefa prática ⇒ L1 e L0 não podem ser muito diferentes. Consequência ⇒
apesar de L1 ser melhor que L0, ainda está distante do ideal. Solução ⇒ inventar um outro
conjunto de instruções mais próximo das pessoas e mais distante das máquinas. A idéia poderia
prosseguir de forma indefinida. Normalmente se projetam máquinas com 6 níveis de abstração.
QUAIS SÃO OS NÍVEIS DE ABSTRAÇÃO DE UMA MÁQUINA?
nível n - Máquina virtual Mn com a linguagem de máquina Ln. Programa em Ln interpretado por
interpretador que rode em um nível abaixo, ou traduzido para Ln-1
nível 1 - Máquina virtual M1 com a linguagem de máquina L1 - Programa em L1 interpretado
por interpretador que rode em M0, ou traduzido para L0
nível 0 - Máquina virtual M0 com a linguagem de máquina LO. Programa em L0 executado por
nível 0 circuitos eletrônicos
QUAIS SÃO OS 6 NÍVEIS DE UM COMPUTADOR?
Nível 5 Nível das linguagens de alto nível
Nível 4 Nível da linguagem do montador – tradução (compilador)
Nível 3 Nível do sistema operacional – tradução (montador)
Nível 2 Nível da arquitetura do conjunto de instruções - interpretação parcial
Nível 1 Nível da microarquitetura – Interpretação (microprograma)
Nível 0 Nível da lógica digital – Hardware
Nível da lógica digital ⇒ transistores ⇒ componente analógico ⇒ modelam portas lógicas ⇒
diversas portas formam uma memória de 1 bit (armazena 0 ou 1) ⇒ diversas memórias (ex: 32)
formam registradores (de 32 bits) ⇒ cada registrador pode guardar um único valor binário (até
um valor máximo).
Nível da microarquitetura ⇒ 8 a 32 registradores formam uma memória local e um circuito
chamado UAL (Unidade Aritmética e Lógica) ⇒ realiza operações aritméticas muito simples.
Registradores conectados à UAL formam o caminho de dados ⇒ fluxo de dados.
Operação básica do caminho de dados ⇒ selecionar um ou dois registradores para que a UAL
opere sobre eles (ex: somar dois conteúdos e por o resultado em registrador)
Em alguns tipos de máquinas ⇒ operação do caminho de dados é controlada por um programa ⇒
microprograma.
Em outros tipos de máquinas ⇒ caminho de dados é controlado diretamente pelo hardware.
Microprograma ⇒ interpretador para a interpretação das instruções de nível 2 ⇒ busca, decodifica
e executa as instruções, uma a uma, usando o caminho de dados.
Em máquinas cujo caminho de dados é controlado por hardware ⇒ mesma execução ⇒ mas sem
a existência de um interpretador para a interpretação das instruções de nível 2.
Nível 2 ⇒ nível da Arquitetura do Conjunto de Instruções (nível ISA ⇒ Instruction Set
Architecture).
Descrição do conjunto das instruções de máquina ⇒ descrição de como as instruções são
executadas interpretativamente pelo microprograma, ou como elas são executadas diretamente
pelo hardware.
Nível 3 do sistema operacional ⇒ nível híbrido ⇒ maioria das instruções da sua linguagem
também pertence ao nível ISA. Algumas instruções do nível 3 são interpretadas pelo sistema
operacional e outras o são diretamente pelo microprograma ou pelo hardware ⇒ daí chamar nível
híbrido.
Quanto à maneira de suportar os níveis mais altos:
Níveis 2 e 3 ⇒ sempre interpretados
Níveis 4 e 5 ⇒ suportados por tradução Quanto à natureza das linguagens
Níveis 1, 2 e 3 ⇒ numérica Níveis
4 e 5 ⇒ palavras e abreviações
Nível 4 ⇒ linguagem de montagem ⇒ forma simbólica das linguagens de mais baixo nível.
Programas em linguagem de montagem ⇒ traduzidos para a linguagem dos níveis 1, 2 ou 3 e
então interpretados pela máquina virtual apropriada. Programa que realiza a tradução ⇒
montador. Linguagens do nível 5 ⇒ usadas por programadores de aplicação ⇒ resolver
problemas.
Linguagens do nível 5 ⇒ são conhecidas como linguagem de alto nível. Há centenas dessas
linguagens: C, C++, Pascal, Java, Fortran, LISP, Prolog, etc. Programas nessas linguagens ⇒
traduzidas para os níveis 3 ou 4 por tradutores ⇒ compiladores. Podem também ser interpretadas.
Resumindo ⇒ computadores são projetados como uma série de níveis ⇒ cada nível é construído
em cima de seu precursor ⇒ cada nível representa uma abstração com diferentes objetos e
operações. Projetar e analisar computadores desta maneira ⇒ ignora detalhes irrelevantes ⇒ reduz
a complexidade a algo simples de ser entendido.

Gerações de Máquinas
Quais as características de cada geração?
Geração Zero - Computadores Mecânicos (1642-1945)
A Primeira Geração - Válvulas (1945-1955)
A Segunda Geração - Transistores (1955-1965)
A Terceira Geração - Circuitos Integrados (1965-1980)
A Quarta Geração - Integração de Circuitos em Escala Muito Alta (1980-?) 2

GERAÇÃO ZERO: MÊCANICO


- Primeiro instrumento moderno de calcular ⇒ uma somadora (Máquina de Pascal) ⇒ construído
por Blaise Pascal
- Gottfried Wilhelm Leibnitz projetou a primeira máquina de multiplicação e divisão, além de
soma e subtração.
-Charles Babbage (matemático, 1792-1871) inventa a Máquina Diferencial, utilizando os cartões
de Jacquard. Funções trigonométricas e logaritmos eram calculados na máquina.
Máquina diferencial:
 Idealizada para construir tabelas de números para navegação naval.
 Construída para executar um único algoritmo ⇒ método das diferenças finitas usando
polinômios. Método para disponibilizar informações na saída ⇒ resultados perfurados
em um prato de cobre.
- Babbage inventou a precursora dos computadores digitais de hoje ⇒ a Máquina Analítica.
Máquina Analítica
 Usava a base 10 ⇒ máquina “mecânica” ⇒ trabalhava a vapor.
 Programação seqüencial de operações ⇒ um procedimento que hoje chamamos de
sistema operacional.
 Por seu trabalho na máquina analítica, Babbage é considerado um dos pioneiros dos
computadores.
Máquina Analítica ⇒ programável em linguagem de montagem simples ⇒ software.
Ada Byron King (Matemática) ⇒ compreendeu o funcionamento da Máquina Analítica e
escreveu os melhores relatos sobre o processo.
Companheira de Babbage, iniciou o ambicioso projeto de construção da Máquina Analítica.
Criou programas para a máquina ⇒ primeira programadora de computador. É uma das
poucas mulheres a figurar na história do processamento de dados.
A máquina de Babbage não foi construída: a tecnologia da época era incapaz de fornecer a
precisão necessária. Babbage não dispunha de recursos para financiá-la, nem encontrou
investidores dispostos a ir além de algumas doações. Seus projetos e ideias foram a base para
outros projetos anos adiante. Em 1991, o Science Museum de Londres desenvolveu o Engenho
Diferencial utilizando os planos de Babbage e funcionou perfeitamente
- Tentativas de substituir as partes mecânicas dos computadores por partes elétricas.
- O uso de relés ⇒ uma forma de fazer essas substituições ⇒ o alto custo, tamanho físico e baixo
desempenho eram as desvantagens desses tipos de máquinas.
- Mark I (Howard Aiken) - primeiro computador eletromecânico construído.
Características
 18 metros de comprimento
 2 metros de largura
 Peso ⇒ 70 toneladas
 7 milhões de peças móveis
 Fiação alcançava 800 Km
 Tinha 72 palavras de 23 dígitos decimais
 Tempo de execução de uma instrução ⇒ 6 segundos.

PRIMEIRA GERAÇÃO – VALVULAS


O tubo de vidro na ilustração possui um terminal positivo e um negativo (o cátodo e o ânodo)
separados por uma grade de fios.
• Os elétrons do cátodo são atraídos pelo ânodo e fazem uma corrente de elétrons passar através
da válvula.
• O fluxo natural dos elétrons negativos para o terminal positivo é intensificado de duas maneiras:
o cátodo se aquece até a incandescência e sua superfície é tratada com um produto químico
especial.
• A grade de controle está situada entre o cátodo e o ânodo e geralmente não interfere no
movimento dos elétrons. Mas, quando uma carga negativa é aplicada à grade, os elétrons são
repelidos e não atingem o ânodo.
• A força repulsora da grade supera a força de atração do ânodo e o fluxo de elétrons cessa. A
corrente é interrompida e o interruptor desliga.
Computadores Eletrônicos
 Principal estímulo ⇒ Segunda Guerra Mundial.
 Enigma “O orgulho alemão”
 Marian Rejewski Codebreaker polonês desvenda o segredo dos rotores.
 1939 ⇒ Ingleses aprendem a decodificar as mensagens. Problema ⇒ dificuldade de
decodificação. Solução ⇒ COLOSSUS
Colossus
 Considerado o primeiro computador eletrônico digital construído no mundo.
 Características:
 Desenvolvido com a tecnologia de válvulas.
 Capaz de processar cerca de 5 mil caracteres por segundo.
 Capaz de quebrar o código da segunda geração de máquinas ENIGMA.
 No final da guerra, dez Colossus em operação constante permitiam que os ingleses
soubessem melhor que o comando alemão onde se encontravam seus submarinos

Outra consequência da guerra: Cientistas americanos trabalham no desenvolvimento de máquinas


de computação. Objetivo ⇒ calcular tabelas de direção de tiro para auxiliar na pontaria da
artilharia americana. Solução ⇒ ENIAC (Eletronic Numerical Integrator And Computer
Características do ENIAC (a última grande calculadora)
 3 anos para ser construído.
 Possuía: 18.000 válvulas (aproximadamente)
 70.000 resistências,
 10.000 capacitores,
 1.500 relés
 6.000 comutadores manuais.
 500.000 conexões de solda
 30 toneladas de peso
 5,5 m de altura
 25 m de comprimento
 150 m² de área
Características do ENIAC (a última grande calculadora):
 Acionamento ⇒ motor equivalente a dois potentes motores de carros de quatro cilindros,
enquanto um enorme ventilador refrigerava o calor produzido pelas válvulas.
 Consumo ⇒ 150 kW ao produzir o calor equivalente a 50 aquecedores domésticos.
 Arquitetura do ENIAC ⇒ composta de 20 registradores (cada um capaz de armazenar um
número decimal de 10 dígitos).
 Programação ⇒ através de fios e pinos (como painel telefônico, usando 6.000 chaves).
Executava 5000 adições/subtrações ou 300 multiplicações p/ seg
 Para programar demorava 1 ou 2 dias .
 Grande limitação ⇒ capacidade de armazenamento.
 Conclusão do ENIAC (1946) ⇒ inútil para os propósitos originais. Sucessoras ⇒
EDSAC (1949), JOHNIAC, ILLIAC, MANIAC, WEIZAC. Outra invenção do
construtores do ENIAC (Eckert e Mauchley) ⇒ EDVAC (Electronic Discret Variable
Automatic Computer). John von Neumann ⇒ versão própria do EDVAC ⇒ Máquina
IAS.
-John von Neuman (consultor do projeto ENIAC) Criou o conceito de “programa armazenado”.
Criou o conceito de operações com número binário. Desenvolveu a lógica dos circuitos.
Denominação atual da máquina proposta ⇒ Máquina de Von Neumann.
Características da Máquina de Von Neumann:
Aplicação ⇒ Máquina IAS (Institute of Advanced Studies – Princeton) Memória
 4.096 palavras de 40 bits
 Cada palavra armazenava 2 instruções de 20 bits ou um número de inteiro com sinal de
40 bits
 Instrução: 8 bits ⇒ tipo da instrução, 12 bits ⇒ especificar uma das 4096 palavras de
memória.
 Unidade Aritmética Lógica Registrador especial de 40 bits ⇒ acumulador
 Não processava números reais
IBM
 Início ⇒ produzir perfuradoras de cartão e máquinas mecânicas para separar cartões.
 IBM 701 ⇒ 2048 palavras de 36 bits, duas instruções por palavra - 1 o computador de
grande porte da IBM Usado na guerra da Coréia
 IBM 704 ⇒ 4 K de memória, instruções de 36 bits, hardware para processamento de
números em ponto flutuante.
 1958 ⇒ Produção da última máquina a válvula (IBM 709).
SEGUNDA GERAÇÃO - TRANSISTORES
O Prêmio Nobel de 1956 foi conferido à equipe cuja pesquisa levou à invenção do transistor.
Usando elementos semicondutores, os transistores funcionam como chaves, porém são menores,
mais rápidos, não esquentam, duram mais e consomem menos energia que as válvulas.
Transistor ⇒ passou a ser um componente básico na construção de computadores e apresentava
as seguintes vantagens:
 Aquecimento mínimo
 Baixo consumo de energia
 Mais confiável e veloz do que as válvulas
Primeiro computador transistorizado (MIT) TX-0
IBM (início do domínio)

TERCEIRA GERAÇÃO - CIRCUITOS INTEGRADOS


1958 ⇒ Jack Kilby (Texas Instruments) ⇒ construção do primeiro circuito integrado, contendo
cinco componentes em uma peça de germânio com meia polegada de comprimento e fina como
um palito de dente.
Características dos Circuitos Integrados:
 Transistores e outros componentes eletrônicos miniaturizados montados em um único
chip. Maior confiabilidade ⇒ não tem partes móveis.
 Muito menores ⇒ equipamento mais compacto e mais rápido pela proximidade dos
circuitos. Baixo consumo de energia ⇒ miniaturização dos componentes.
 custo de fabricação muito menor.
Primeiros CIs ⇒ 10 ou 20 transistores em um chip (SSI - Small-Scale Integration). Final dos anos
60 ⇒ de 20 a 200 transistores em um chip (MSI - Medium-Scale Integration). Final dos anos 70
⇒ até 5000 transistores em um chip (LSI - LargeScale Integration)

QUARTA GERAÇÃO INTEGRAÇAO DE CIRCUITOS EM ESCALA MUITO ALTA


Década de 1980: VLSI ⇒Very Large Scale Integration.
Diferença significativa ⇒ microcomputadores, minicomputadores e computadores de grande
porte.
Primeiros microcomputadores ⇒ microprocessador 8080.
Apple e Apple II.
IBM entra no mercado de microcomputadores ⇒ PC da IBM (Sistema Operacional: MS-DOS)
O primeiro computador portátil (Osborne I).
Estratégia equivocada da IBM ⇒ divulgação do projeto ⇒ surgimento de CLONES.
IBM + Microsoft ⇒ lançam o sistema operacional OS/2 ⇒ fracasso
Microsoft lança Windows (Crise da IBM).
Processadores
Composição básica de um computador eletrônico digital:
 Processador
 Memória : Memória Principal e Memória Secundária
 Dispositivos de entrada e saída interligados
PROCESSADORES

Unidade Central de Processamento – UCP (Central Processing Unity – CPU) é o "cérebro" do


computador. Função ⇒ executar os programas armazenados na memória principal. O processador
busca cada instrução na memória, examina-a e executa uma após outra.

Operações realizadas pela UCP:


 Processamento
 operações aritméticas e lógicas
 movimentação de dados
 desvios
 operações de entrada ou saída
 Controle
 busca, interpretação e controle da execução das instruções.
 controle da ação dos demais componentes do sistema de computação (memória,
entrada/saída).

UCP - Componentes fundamentais:


 Unidade de Controle
 Unidade Aritmética e Lógica
 Registros (Registradores)
 Sistemas de Comunicação (Barramentos)
UC - Unidade de Controle:
 Funções ⇒ busca, interpretação e controle de execução das instruções, e o controle dos
demais componentes do computador.
 Envia ordens de cálculo para a UAL, que indica os valores a processar, e os coloca nos
registradores para esse efeito.
 A partir da UC a informação é transferida para as outras partes que constituem o
computador, como a memória, os sistemas de E/S, etc.

UAL - Unidade Aritmética e Lógica:


 Função ⇒ a efetiva execução das instruções.
 Aglomerado de circuitos lógicos e componentes eletrônicos simples que, integrados,
realizam as operações aritméticas e lógicas (soma, subtração, multiplicação, divisão,
AND, OR, XOR, complemento, deslocamento, incremento e decremento).
 Processadores modernos utilizam mais de uma UAL.
Registradores:
 Função ⇒ armazenamento de dados e resultados que serão usados pela UAL. Servem
de memória auxiliar básica para a UAL.
 Classificação (atual) ⇒ registradores de uso geral e registradores de uso específico.
 Em geral, os registradores de dados da UCP têm uma largura (quantidade de bits que
podem armazenar) igual ao tamanho estabelecido pelo fabricante para a palavra do
referido processador.
 A quantidade e o emprego dos registradores variam bastante de modelo para modelo de
UCP.

Registradores: em função de estarem dentro do processador, podem ser lidos e escritos a uma
velocidade bastante alta.
Exemplos: Program Counter (PC) ⇒ armazena o endereço da próxima instrução.
Registrador de Instruções (IR) ⇒ armazena instrução que está sendo executada.
Pentium II ⇒ registradores de uso geral de 32 bits (EAX, EBX, ECX, EDX, ...), registradores de
segmentos de 16 bits (CS, DS, ...), registrador FLAGS (PSW - Program Status Word), e EIP (PC,
32 bits)

Barramentos: Conjunto de fios paralelos que permite a transmissão de dados, endereços, sinais
de controle e instruções. Tipos ⇒ barramentos internos e externos ao processador.

Caminho de dados:
 Parte constituída dos registradores (em geral de 1 a 32), UAL e barramentos.
 Os registradores alimentam as duas entradas (A e B) da UAL.
 Saída da UAL ⇒ conectada a um dos registradores.
 Existem duas classes de instruções:
 instrução registrador-memória ⇒ permite que uma palavra de memória seja armazenada
no registrador, e vice-versa.
 instrução registrador-registrador ⇒ instrução que opera sobre 2 registradores e coloca a
saída em outro registrador (ciclo de caminho de dados).
1. Busca próxima instrução na memória e armazena no IR.
2. Atualiza Contador de Instrução PC para apontar para a próxima instrução
3. Determina tipo de instrução armazenada no IR
4. Determina endereço dos dados na memória, se a instrução requer dados adicionais.
5. Busca palavras (dados) na memória, caso a instrução precise, e armazena-as em outros
registradores.
6. Executa instrução.
7. Retorna ao passo 1.

CISC - Complex Instruction Set Computer Tecnologia mais antiga e usada para famílias de
computadores compatíveis em nível de software. Número maior de instruções (~200 a 300
instruções). Uso extensivo de interpretação (principalmente para modelos mais baratos)

RISC - Reduced Instruction Set Computer. Processador com pequeno número de instruções muito
simples. Instruções capazes de serem executadas em um único ciclo do caminho de dados.
Argumento RISC ⇒ mesmo que uma máquina RISC precisasse de 4 ou 5 instruções para fazer o
que uma máquina CISC faria com apenas 1 instrução, se a instrução RISC fosse 10 vezes mais
rápida (só hardware) a máquina RISC venceria.

Questão ⇒ porque então a tecnologia RISC não suplantou a CISC? Problemas de compatibilidade
com máquinas antigas com software já desenvolvido. Aparecimento de soluções híbridas ⇒ por
exemplo, a INTEL usa RISC para instruções de uso mais freqüente (Núcleo RISC) e interpretação
para instruções mais complexas e de uso menos freqüente.
Princípios do projeto RISC que os arquitetos de processadores de propósito geral devem
seguir:
 Todas as instruções são diretamente executadas por hardware.
 Maximizar a taxa à qual as instruções são executadas.
 As instruções precisam ser facilmente decodificadas.
 Somente as instruções de Load e Store devem referenciar a memória.
 Projetar uma máquina com muitos registradores (>= 32)
 Todas as instruções são diretamente executadas por hardware: não existe o nível de
microinstrução. Para máquina com filosofia CISC as instruções, em geral menos
freqüentes, que não existem em hardware são interpretadas.
 Maximizar a taxa à qual as instruções são executadas: uso de paralelismo ⇒ execução de
várias instruções lentas ao mesmo tempo. Execução de instruções não precisa seguir a
lógica da programação.
 As instruções precisam ser facilmente decodificadas: decodificação influencia na
velocidade de execução das instruções. Decodificação determina os recursos a serem
usados na execução das instruções. Quanto menor o número de formatos, mais fácil a
decodificação.
 Somente as instruções de Load e Store devem referenciar a Memória: acesso a memória
é mais lento. Instruções que acessam a memória podem ser intercaladas com outras
instruções.
 Projetar uma máquina com muitos registradores (>= 32): palavras de memória devem
permanecer nos registradores o maior tempo possível. Falta de registradores pode obrigar
a buscar várias vezes a mesma palavra da memória.
Observação ⇒ outras soluções: existe limite tecnológico para desenvolvimento do hardware do
chip de processamento que depende do estado da arte da tecnologia. Solução para aumentar a
velocidade do processador ⇒ uso de paralelismo.
Em nível das instruções ⇒ um único processador deve executar mais instruções por segundo.
Em nível do processador ⇒ vários processadores trabalhando juntos na solução do mesmo
problema.

Paralelismo ao Nível das Instruções:


Maior gargalo para a velocidade de execução de instruções ⇒ o acesso a memória.
Execução em Pipeline: processamento em pipeline ⇒ divide a execução de instruções em várias
partes, cada uma das quais tratada por um hardware dedicado exclusivamente a ela.
Funcionamento de um pipeline de 5 estágios:
 Estágio 1 ⇒ busca a instrução da memória e armazena num buffer até chegar a hora de
executá-la.
 Estágio 2 ⇒ ocorre a decodificação da instrução, determinando tipo e operandos.
 Estágio 3 ⇒ ocorre a busca dos operandos na memória ou nos registradores.
 Estágio 4 ⇒ tem-se a execução ⇒ passagem pelo caminho de dados.
 Estágio 5 ⇒ o resultado do processamento é escrito num registrador.

A idéia básica do pipeline é a mesma de uma linha de produção em série. Vários processamentos
estão sendo executados ao mesmo tempo.
A figura mostra o funcionamento do pipeline, mostrando que os estágios de cada processamento
são aplicados a várias instruções ao mesmo tempo.
Exemplo ⇒
 No tempo 1 a instrução 1 está sendo lida
 No tempo 2 a instrução 1 está sendo decodificada enquanto que a instrução 2 está sendo
lida
 No tempo 3 a instrução 1 está buscando dados, a instrução 2 está sendo decodificada e a
instrução 3 está sendo lida, e assim por diante.
Arquiteturas Superescalares: se um pipeline é bom, com certeza dois serão ainda melhores. Neste
caso, uma única unidade de busca de instruções lê 2 instruções e coloca cada uma em 1 pipeline.

Execução das instruções ⇒ feita em paralelo e:


 Não pode haver conflitos pelo uso de recursos (mesmo registro, por exemplo).
 O resultado de uma instrução não pode depender do resultado da outra.
 Pode se pensar em pipelines com leitura inicial de 3 ou mais instruções, porém o
hardware fica complexo.

Máquinas de alto desempenho usam outra metodologia:


 Ideia básica ⇒ ter um único pipeline, com diversas unidades funcionais.
 O estágio 3 pode distribuir instruções a uma velocidade consideravelmente mais alta do
que o estágio 4 pode executá-las.
 Este estágio usa vários dispositivos de hardware (inclusive mais do que uma UAL) para
acelerar o processamento neste estágio.
A medida que os processadores vão ficando mais rápidos:
 Aparecem limitações de ordem física ⇒ velocidade da luz em fios de cobre ou fibras
ópticas.
 Maior produção de calor pelo chip ⇒ problema para dissipar essa energia.
 Operação do processador em pipeline ou em superescalar possibilita ganhos de 5 a ~10
vezes.
 Para ganhos maiores, 50-100 ou mais vezes, deve-se projetar computador com mais de
1 processador.

Multiprocessadores:
 É composto de vários processadores independentes.
 Compartilham uma mesma memória por um barramento principal.
 Ou compartilham uma memória e tem memórias locais.
 Executam processamentos locais.
 Liberam tráfego do barramento principal.
 É necessário gerenciar conflitos.
Sistemas com um grande número de computadores interconectados.
 Não existe nenhum tipo de memória comum sendo compartilhada.
 Comunicação entre computadores ⇒ feita através de troca de mensagens a uma
velocidade bem alta.
 Computador não precisa estar ligado diretamente com todos os outros (uso de topologias
em árvore, anéis, etc).
 Mensagens são roteadas do computador fonte para o destino (usando computadores
intermediários).
 Existem em operação sistemas multicomputadores com mais de 10.000 computadores.
MEMÓRIA – PARTE I
 Parte do computador onde os programas e os dados são armazenados.
 Elemento a ser manipulado ⇒ bit (armazena a informação na forma de bits).
 Unidade de informação a ser armazenada, recuperada ou transferida (célula) – Grupo de
n bits (n = 8) ⇒ 1 Byte.
 ENDEREÇO ⇒ código de identificação da localização das células (informações).
 Operações:
 ESCRITA ⇒ transferência de informações de outro componente do sistema de
computação para a memória (CPU → memória)
 LEITURA ⇒ transferência de bits da memória para a CPU, disco

Memória de um computador ⇒ vários componentes (vários tipos diferentes de memória)


interligados e integrados, com o objetivo de armazenar e recuperar informações.
Conceitos Importantes:
Tempo de acesso, Capacidade, Volatilidade, Tecnologia de fabricação, Temporariedade Custo
Em um sistema de computação não é possível construir e utilizar apenas um tipo de memória.
Para certas atividades, por exemplo, é fundamental que a transferência de informações seja a mais
rápida possível.
Hierarquia de Memória

Registradores Elementos superiores da pirâmide de memória ⇒ por possuírem a maior velocidade


de transferência dentro do sistema (menor tempo de acesso), menor capacidade de
armazenamento e maior custo.
Memórias rápidas usadas em execução de instruções dentro do processador. Objetivo ⇒
minimizar os acessos às memórias externas ao processador.

Podem ser divididos grosseiramente em 2 categorias:


Registradores de propósito específico
Cumprem funções específicas (Ex.: PC ou IP e SP)
Alguns só são usados pelo processador
Registradores de propósito geral
Usados para armazenar variáveis locais e resultados intermediários são, em geral, simétricos e
intercambiáveis (usados indistintamente)

Parâmetros ⇒ menor tempo de acesso, baixa capacidade (ex.: 32 bits), dispositivos voláteis,
memória de semicondutores, armazenamento temporário e apresenta o custo mais elevado.
Memoria Principal
É a memória básica de um sistema de computação desde seus primórdios. É o dispositivo no qual
o programa (e seus dados) que vai ser executado é armazenado para que a CPU "busque" instrução
por instrução.

Uma das principais características definidas no projeto de arquitetura do sistema de Von


Neumann, o qual se constitui na primeira geração dos computadores, consistia no fato de ser uma
máquina "de programa armazenado". O fato de as instruções, uma após a outra, poderem ser
imediatamente acessadas pela CPU é que garante o automatismo do sistema e aumenta a
velocidade de execução dos programas.

Parâmetros:
 Capacidade ⇒ na ordem de 2 GB, por exemplo.
 Dispositivos voláteis ⇒ são memórias que mantém o seu conteúdo apenas enquanto há
alimentação elétrica.
 Tecnologia ⇒ em sistemas atuais esta tecnologia produz memória com elementos
dinâmicos (por exemplo: DRAM).

Parâmetros: Temporariedade ⇒ variável, depende de várias circunstâncias (ex.: tamanho do


programa e sua duração, a quantidade de programas que estão sendo processados juntos, etc.). A
transitoriedade com que as informações permanecem armazenadas na MP é, em geral, mais
duradoura que na memória cache ou nos registradores.
A DRAM tem um custo mais baixo que o das memórias cache ⇒ são vendidos computadores
com quantidade apreciável de MP (512 MB, 2GB, 4GB) sem que o preço seja inaceitável.
Quanto maior a capacidade de armazenamento (em Bytes), maior a capacidade de processamento.
Uso de memória virtual ⇒ uso do HD como extensão da Memória Principal (uso de um arquivo
no HD → pagefile.sys no Windows). Mas isto está sendo superado por haver memórias de grande
capacidade.
Endereços de Memória:
 Memória ⇒ formada por um conjunto de células (posições), cada uma guarda uma
informação.
 Célula ⇒ menor unidade endereçável (tamanho padrão usual ⇒ 8 bits ⇒ 1 byte).
 Bytes são agrupados em palavras ⇒ palavra de 32 bits tem 4 bytes/palavra.
 Maioria das instruções de uma máquina ⇒ opera sobre palavras.
 Máquina de 32 bits ⇒ deverá ter registradores e instruções para tratar palavras de 32 bits.
 Endereço da célula ⇒ número associado à célula, que permite aos programas referenciá-
la.
 Memória de n células ⇒ 0 a n-1 endereços. Célula de k bits ⇒ pode armazenar 2k
combinações de bits.

Memória Principal Ordenação dos Bytes

Existem, basicamente, 2 formas de organização dos bytes em uma palavra de memória: ordenação
 big endian
 little endian

Os termos big endian (maior valor em primeiro lugar) e little endian (menor valor em primeiro
lugar) foram inseridos no jargão da computação por um artigo publicado em 1981, citando o
problema e relacionando-o a um episódio mencionado no livro As Viagens de Gulliver – povo
que foi à guerra para decidir qual a melhor maneira de quebrar ovos, se pelo maior (big) lado ou
se pelo menor (little) lado.

Ordenação big endian Bytes são numerados da esquerda para a direita (0, 1, 2,..., n-1).
Usada por sistemas Unix (arquiteturas SPARC, IBM Mainframe).
Exemplo numérico com 2 bytes: 0305H = 00000011 00000101

Ordenação little endian Bytes são numerados da direita para esquerda (n-1, ..., 2, 1, 0).
Usada por IBM PCs (arquiteturas INTEL).
Exemplo numérico com 2 bytes: 0305H = 00000101 00000011
Problemas causados pela falta de padronização do armazenamento em memória:
 Interpretação de instruções e dados em redes.
 Softwares que rodam em várias plataformas devem tratar essas diferenças.
Importante ⇒ a solução para o problema não é trivial, em geral se baseia em inversão
dos bytes. Isto funciona para valores numéricos mas não para cadeias de caracteres.

Problemas (Processador – Memória):


 Acesso à memória (leitura e escrita) ⇒ um dos motivos para menor velocidade de
processamento.
 Processador ⇒ muito mais rápido do que a transferência de dados. Soluções: Processador
deve executar outras instruções enquanto aguarda acesso à memória. Isto nem sempre é
possível e é difícil de implementar.
 Colocar memória principal no Chip do processador. Isto tornaria o chip maior e mais
caro.
 Uso de uma memória menor e mais rápida (em relação à memória principal) chamada
Memória Cache.

Dispositivo de memória entre a CPU e a MP.


Função ⇒ acelerar a velocidade de transferência das informações entre CPU e MP, aumentando
o desempenho dos sistemas. Usada para armazenamento de instruções e dados mais
frequentemente acessados do programa em execução. As palavras de memória mais usadas pelo
processador devem permanecer armazenadas na cache. Somente no caso de ela não estar
armazenada na cache é que a busca se dará na memória principal.
Cache ⇒ da palavra francesa cacher, que significa esconder
Logicamente ⇒ cache é colocada entre o processador e a memória principal.
Fisicamente ⇒ existem vários lugares possíveis para a cache.
Exemplo de funcionamento do sistema:
 UCP vai buscar uma nova instrução (ou dado), após a busca inicial ⇒ acesso à memória
cache.
 Instrução (ou dado) na cache ⇒ acerto (hit ).
 Instrução (ou dado) não está na cache ⇒ falta/falha (miss ). Falha no acesso à cache ⇒
ocorre sempre que o processador procura uma informação na cache e essa informação
não está armazenada neste local, havendo necessidade de buscá-la na memória principal.
Fabricada com tecnologia semelhante à da CPU ⇒ possui tempos de acesso compatíveis,
resultando numa considerável redução da espera da CPU para receber dados e instruções da cache,
ao contrário do que acontece em sistemas sem cache.
Há diversos tipos de memória cache utilizados em sistemas de computação modernos ⇒ Cache
para a Memória Principal (RAM cache), Cache para Disco.
Podem existir caches primárias (dentro do processador) e outra secundária (fora do chip do
processador) e até uma terceira cache mais externa.

Podem ser inseridas em dois (ou três) níveis ⇒ Cache L1 (Level 1 - nível 1), Cache L2 e Cache
L3.
 Cache L1 (primária) ⇒ interna ao processador.
 Cache L2 (externa ou secundária) ⇒ instalada, em geral, na placa-mãe do computador.
Atualmente ⇒ localizada no interior da pastilha do processador, separada deste (cache
backside).
 Cache L3 ⇒ existente em alguns processadores, localizada externamente ao processador.
Quanto mais próxima do processador, melhor será o desempenho do mesmo.
Cache unificada:
 Instruções e dados usando a mesma cache.
 mais simples de projetar.
 Estabelece automaticamente um equilíbrio entre as buscas de instruções e as buscas de
dados.
 Cache dividida (Arquitetura de Harvard): uma cache para instruções e outra para dados.
 permite acesso em paralelo a instruções e a dados. Arquitetura de Harvard ⇒ alusão ao
computador Mark III projetado por Howard Aiken, que tinha memórias diferentes para
instruções e para dados.

Parâmetros:
 Capacidade ⇒ deve-se conciliar o compromisso de uma apreciável capacidade com a
não-elevação demasiada de seu preço. Ex: 16K a 2 MB
 Dispositivos voláteis. Tecnologia ⇒ circuitos eletrônicos de alta velocidade. Em geral,
são memórias RAM estáticas (SRAM).
 Armazenamento temporário.
 O custo de fabricação das memórias cache é alto. Memórias cache internas à CPU ainda
são mais caras do que as externas.

Memória Secundária
memória auxiliar ou memória de massa.
Objetivo ⇒ garantir um armazenamento mais permanente à toda a estrutura de dados e programas
do usuário ⇒ deve possuir maior capacidade que a memória principal.
Pode ser constituída por diferentes tipos de dispositivos, alguns diretamente ligados ao sistema
para acesso imediato (Ex.: discos rígidos), e outros que podem ser conectados quando desejado
(ex: disquetes, CD-ROM, etc.).

Parâmetros:
 Tempo de acesso/ciclo de memória ⇒ são, em geral, dispositivos eletromecânicos e não
circuitos puramente eletrônicos ⇒ possuem tempo de acesso maiores. Discos do tipo CD-
ROM ⇒ 120 a 300 ms, por exemplo, fitas magnéticas ⇒ ordem de segundos.
 Capacidade ⇒ varia bastante dependendo do tipo de dispositivo utilizado. Exemplos:
Discos rígidos ⇒ 500 GB, CD-ROM ⇒ 700 MB, Fitas magnéticas ⇒ a capacidade
depende do comprimento da fita e da densidade de gravação.
 Volatilidade ⇒ não voláteis. Tecnologia ⇒ este parâmetro possui uma variedade imensa
de tipos, visto que, para cada dispositivo entre os já mencionados (discos rígidos,
disquetes, CD-ROM, CD R/W, DVD, etc.), há diferentes tecnologias de fabricação.
 Temporariedade ⇒ armazenamento com caráter permanente ou, pelo menos, de longo
período de armazenamento. Custo ⇒ bastante variado.

MEMÓRIA – PARTE II

Memória de um computador ⇒ sistema constituído de vários componentes (vários tipos diferentes


de memória) interligados e integrados, com o objetivo de armazenar e recuperar informações.

Tempo de acesso - Indica quanto tempo a memória gasta para colocar uma informação no
barramento de dados após uma determinada posição ter sido endereçada. É um dos parâmetros
que pode medir o desempenho da memória. Denominação ⇒ tempo de acesso para leitura (ou
tempo de leitura).

Tempo de acesso Dependente do modo como o sistema de memória é construído e da velocidade


dos seus circuitos. Memórias eletrônicas ⇒ igual, independentemente da distância física entre o
local de um acesso e o local do próximo acesso ⇒ acesso aleatório (direto). Dispositivos
eletromecânicos (discos, CDs,...) ⇒ tempo de acesso varia conforme a distância física entre dois
acessos consecutivos ⇒ acesso seqüencial.

Capacidade Quantidade de informação que pode ser armazenada em uma memória. Unidade de
medida mais comum ⇒ byte, podem ser usadas outras unidades como células (no caso de memória
principal ou cache), setores (no caso de discos) e bits (no caso de registradores). Dependendo do
tamanho da memória, isto é, de sua capacidade, indica-se o valor numérico total de elementos de
forma simplificada, através da inclusão de K (kilo), M (mega), G (giga) ou T (tera).

Volatilidade Memórias podem ser do tipo volátil ou não volátil.


Memória não volátil ⇒ retém a informação armazenada quando a energia elétrica é desligada. Ex:
discos, fitas.
Memória volátil ⇒ perde a informação armazenada na ausência de energia elétrica. Ex:
registradores, memória principal.
É possível manter a energia em uma memória originalmente não volátil ⇒ uso de baterias.
Tecnologias de fabricação
 Memórias de semicondutores
 Memórias de meio magnético
 Memórias de meio óptico

Memórias de semicondutores
 Dispositivos fabricados com circuitos eletrônicos e baseados em semicondutores.
 Rápidas e relativamente caras, se comparadas com outros tipos.
 Há várias tecnologias específicas, cada uma com suas vantagens, desvantagens,
velocidade, custo, etc

 Memória R/W - Read and Write - Memória de leitura e escrita, de acesso aleatório e
volátil. Pode ser estática (SRAM) ou dinâmica (DRAM).
 SRAM ⇒ uso de circuitos transistorizados (flip-flops) mantém a informação enquanto
estiver energizada, muito rápida (~ns), usada tipicamente como memória cache.
 DRAM ⇒ uso de capacitores (1 transistor e 1 capacitor por bit, não usa flip-flops),
necessita de refresh, alta capacidade de armazenamento (> densidade), mais lentas,
usadas tipicamente como memória principal. Evolução ⇒ FPM DRAM (Fast Page Mode)
assíncrona e mais antiga, EDO DRAM (Extended Data Output), também assíncrona,
SDRAM (memórias Síncronas), etc.

 Memória R/W - Read and Write DDR ou SDRAM-II (Double Data Rate SDRAM) É
uma memória SDRAM muito mais avançada e que consegue trabalhar com o dobro do
desempenho. Pode-se encontrá-la, por exemplo, em placas-mãe equipadas com o
processador AMD K7.
 RDRAM (Rambus DRAM) Baseada em protocolo, isto é, usa padrão de barramento
proprietário. A arquitetura interna dos circuitos, é muito diferente das demais pois,
permite a leitura e escrita de até 16 dados simultaneamente por circuito. Utilizadas,
principalmente, em algumas máquinas de jogos e em aplicações gráficas muito
intensivas.

 ROM - Read Only Memory Memória apenas de leitura. Uma vez gravada não pode mais
ser alterada. De acesso aleatório, não é volátil. Mais lenta que a R/W e mais barata. Pode
ser programada por máscara ("mask programmed " - MROM) em fábrica. Devido ao alto
custo da máscara somente se torna econômica em grandes quantidades.

 MROM ⇒ o firmware era gravado durante a fabricação do circuito, com o auxílio de um


filme fotográfico - máscara. As máscaras apresentam o inconveniente de serem caras e
não permitem regravação.

 ROM - Read Only Memory Utilizada geralmente para gravar programas que não se deseja
permitir que o usuário possa alterar ou apagar (Ex: o BIOS - Basic Input Output System
e Microprogramas de Memórias de Controle). Outros tipos: PROM, EPROM, EEPROM
e Flash.

 PROM - Programmable Read Only Memory Memória apenas de leitura, programável.


ROM programável com máquinas adequadas ⇒ queimadores de PROM. Geralmente é
comprada "virgem" (sem nada gravado), sendo muito utilizada no processo de testar
programas no lugar da ROM, ou sempre que se queira produzir ROM em quantidades
pequenas. Uma vez programada (em fábrica ou não), não pode mais ser alterada

 EPROM - Erasable Programmable Read Only Memory Memória apenas de leitura,


programável (com queimadores de PROM) e apagável (com máquinas adequadas, à base
de raios ultra-violeta). Tem utilização semelhante à da PROM, para testar programas no
lugar da ROM, ou sempre que se queira produzir ROM em quantidades pequenas, com a
vantagem de poder ser apagada e reutilizada.
 EEPROM (ou E2PROM) - Electrically Erasable Programmable Read Only Memory
Memória apenas de leitura, programável e eletronicamente alterável. Também chamada
EAROM (Electrically Alterable ROM). EPROM apagável ⇒ processo eletrônico, sob
controle da UCP (equipamento e programas adequados), menor e mais rápida que a
EPROM. Mais cara, geralmente utilizada em dispositivos aos quais se deseja permitir a
alteração, via modem (carga de novas versões de programas à distância ou possibilitar a
reprogramação dinâmica de funções específicas de um programa, geralmente relativas ao
hardware, p.ex., reconfiguração de teclado, programação de terminal, etc).

 ROM Flash Funcionamento similar ao da EEPROM ⇒ conteúdo total ou parcial da


memória pode ser apagado normalmente por um processo de escrita. Apagadas e
regravadas por blocos (o apagamento não pode ser efetuado ao nível de byte como na
EEPROM), alta capacidade de armazenamento. O termo flash foi imaginado devido à
elevada velocidade de apagamento dessas memórias em comparação com as antigas
EPROM e EEPROM. Ideal para várias aplicações portáteis (câmeras digitais, palmtop,
assistentes digitais portáteis, aparelhos de música digital ou telefones celulares).

 Memórias de meio magnético Fabricadas de modo a armazenar informações sob a forma


de campos magnéticos. Devido à natureza eletromecânica de seus componentes e à
tecnologia de construção em comparação com memórias de semicondutores, esse tipo é
mais barato, permitindo armazenamento de grande quantidade de informação. Método de
acesso às informações ⇒ seqüencial. Exemplos: disquetes, discos rígidos e fitas
magnéticas (de carretel ou de cartucho).

 Memórias de meio óptico Dispositivos que utilizam um feixe de luz para “marcar” o
valor (0 ou 1) de cada dado em sua superfície. Exemplos: CD-ROM (leitura) CD-RW
(leitura e escrita)

 Temporariedade Indica o conceito de tempo de permanência da informação em um dado


tipo de memória.
 Classificação: armazenamento “permanente”. Ex: discos, disquetes. armazenamento
transitório (temporário). Ex: registradores, memória cache, memória principal.
 Custo Bastante variado em função de diversos fatores:
 tecnologia de fabricação ciclo de memória quantidade de bits em um certo espaço físico,
etc.
 Uma boa unidade de medida de custo é o preço por byte armazenado, em vez do custo
total da memória em si.

Computador eletrônico digital Sistema composto por: processador, memória, dispositivos de


entrada e saída interligados

Dispositivos de E/S

O usuário se comunica com o núcleo do computador (composto por UCP e memória principal)
através de dispositivos de entrada e saída (dispositivos de E/S ou I/O devices, também
denominados periféricos).
Funções básicas dos dispositivos de E/S:
 a comunicação do usuário com o computador;
 a comunicação do computador com o meio ambiente (dispositivos externos a serem
monitorados ou controlados);
 armazenamento (gravação) de dados. Permitem a comunicação homem-máquina

Tipos de Dispositivos
 Dispositivos de ENTRADA Funções ⇒ coletar informações e introduzir as informações
na máquina, converter informações do homem para a máquina e recuperar informações
dos dispositivos de armazenamento. Ex: teclado, mouse, scanner, leitoras óticas, leitoras
de cartões magnéticos, câmeras de vídeo, microfones, sensores, etc.
 Dispositivos de SAÍDA Funções ⇒ exibir ou imprimir os resultados do processamento,
ou ainda controlar dispositivos externos. Ex: impressoras, monitores de vídeo, plotters,
atuadores, chaves, etc.

Interfaces de Entrada e Saída A UCP não se comunica diretamente com cada dispositivo de E/S
e sim com "interfaces ", de forma a compatibilizar as diferentes características. O processo de
comunicação ("protocolo") é feito através de transferência de informações de controle, endereços
e dados propriamente ditos.

Função ⇒ compatibilizar as diferentes características de um periférico e da UCP/MP, permitindo


um fluxo correto de dados em uma velocidade adequada a ambos os elementos que estão sendo
interconectados. Conhecidas por diversos nomes, dependendo do fabricante. Interface de E/S ⇒
Adaptador de Periférico, Controladora de E/S, Processador de Periférico, Canal de E/S.
Barramentos Caminho elétrico comum que liga diversos dispositivos. Como um dado é composto
por bits (geralmente um ou mais bytes) o barramento deverá ter tantas linhas condutoras quanto
forem os bits a serem transportados de cada vez. Em alguns computadores (usando uma
abordagem que visa a redução de custos), os dados podem ser transportados usando mais de um
ciclo do barramento.
Podem ser:
 Internos ao processador ⇒ transferência de dados entre UAL e registradores.
 Externos ao processador ⇒ transferência de dados entre CPU, memória e dispositivos de
E/S.
 Os barramentos externos podem ser expandidos para facilitar a conexão de dispositivos
especiais.
Tipos de barramento:
 Barramento de dados ⇒ bidirecional.
 Barramento de endereço ⇒ unidirecional.
 Barramento de controle ⇒ bidirecional.

Barramento de Dados (Data Bus) São linhas usadas para transferência de dados e instruções entre
processador, memória e dispositivos de E/S. Possuem diferentes tamanhos, dependendo do
processador. Exemplo: 8, 16, 32, 64 e 128

Barramento de Endereços (Address Bus) Usado para selecionar a origem ou destino de sinais
transmitidos em um dos outros barramentos ou em uma de suas linhas. Conduz endereços. Uma
função típica ⇒ selecionar um registrador em um dos dispositivos do sistema que é usado como
a fonte ou o destino do dado. O processador usa n linhas de endereço do barramento para
endereçar 2n posições diferentes de memória Exemplo ⇒ Barramento de Endereços com 16
linhas, pode endereçar 216 (64 K) dispositivos (1K = 1024).

Barramento de Controle (Control Bus) Sincroniza as atividades do sistema. Conduz o status e a


informação de controle de/para o microprocessador.Para um Barramento de Controle ser
formado, várias linhas de controle são necessárias (no mínimo 10, geralmente são mais).

Dispositivo de E/S Cada dispositivo de E/S é composto de duas partes: Controladora ⇒ contém
a maioria dos circuitos eletrônicos do dispositivo. O dispositivo propriamente dito (ex: drive de
disco)
Controladora Em geral está em uma placa ligada a um slot livre, exceto no caso daquelas que não
são opcionais (ex: teclado), que muitas vezes está na placa mãe.
 Função ⇒ controlar seu dispositivo de E/S e tratar o acesso do dispositivo ao barramento.
 Uma controladora que lê ou escreve dados da/na memória sem que seja necessária a
intervenção do processador executa Acesso Direto à Memória (Direct Memory Access –
DMA)

Acesso Direto à Memória (DMA) Quando termina a transferência dos dados, a controladora força
uma interrupção, fazendo com que o processador suspenda a execução do programa corrente, para
começar a rodar um procedimento especial ⇒ rotina de tratamento da interrupção. Quando a
rotina de tratamento da interrupção terminar sua execução ⇒ processador retorna a execução do
programa interrompido quando da ocorrência da interrupção.

Protocolos de Barramento É um conjunto de regras que especificam o funcionamento do


barramento. Define as regras e especificações, elétricas e mecânicas, de compatibilização de um
conjunto de dispositivos de E/S, em geral fornecidos por terceiros, com o barramento.
Os dispositivos ligados ao barramento podem funcionar como:
 mestres ⇒ dispositivos ativos, ou seja, que comandam o barramento.
 escravos ⇒ dispositivos passivos, ou seja, não controlam o barramento.

Protocolos de Barramento
 UNIBUS - definido pela DEC, praticamente fora de uso.
 ISA (Industry Standard Architecture/Adapter) - definido pela IBM para o PC-AT e
adotado por toda a indústria.
 EISA (Extended ISA) - praticamente abandonado.
 PCI (Peripheral Component Interconnect) - desenvolvido pela Intel, quase um padrão
para o mercado, com barramento de E/S de alta velocidade.
 AGP (Accelerated Graphics Port) - visa acelerar as transferências de dados do vídeo para
a memória, especialmente dados para 3D.
 USB (Universal Serial Bus) ⇒ Permite a conexão de muitos periféricos simultaneamente
ao barramento e este, por uma única tomada, se conecta a placa mãe. Este barramento é
plug-and-play e pretende ser norma para os dispositivos que necessitem de baixa
velocidade (Ex: teclado, mouse, modem, scanner, impressoras). Taxas de transferência
USB: USB 1.1 (lançado em 1998) ⇒ taxas entre 1,5 e 12 Mbps para periféricos mais
lentos como teclados, mouse, etc. USB 2.0 (lançado em 2000) ⇒ taxas de 480 Mbps para
periféricos mais velozes como impressoras, scanners, etc. USB 3.0 (em fase de
popularização) ⇒ taxas de 4,8 Gbps com um fornecimento de energia 80% maior.
 Fire-Wire (nome oficial - IEEE 1394) ⇒ barramento serial de altíssimo desempenho que
proporciona a conexão de diversos equipamentos, utilizando uma topologia flexível e
proporcionando uma boa relação custo-benefício. Criado pela Apple no início da década
de 90, foi adaptado, em 1995. Capacidade de comunicação pode atingir até 30 vezes a
velocidade do USB. Idéia é parecida com a do USB ⇒ possui uma interface simples capaz
de receber até 63 dispositivos (drives de discos, câmeras digitais, televisão digital,
computadores, etc).

Processador Genérico Um chip


 processador m pinos de endereço ⇒ acessar 2m posições de memória.
 n pinos de dados ⇒ ler ou escrever uma palavra de n bits em uma única operação
envolvendo a memória.
 pinos de controle. se comunica com a memória e os dispositivos de E/S colocando e lendo
sinais digitais no/do barramento. 4

Exemplo ⇒ busca de uma instrução na memória:


 O processador: 1. Coloca endereço da memória nos pinos de endereço 2. envia sinal de
leitura, pino de controle, para a memória
 A memória: 1. Coloca dados (instrução) da palavra selecionada nos pinos de dados 2.
Envia sinal de sucesso de leitura, pino de controle, para o processador
 O processador: 1. lê instrução que está já está disponível nos pinos de dados 2. Inicia
execução da instrução

Placa-mãe (Motherboard) É possivelmente a parte mais importante do computador.


 Gerencia toda a transação de dados entre a CPU e os periféricos.
 Mantém a CPU, sua memória cache secundária, o chipset, BIOS, memória principal,
chips I/O, portas de teclado, serial, paralela, discos e placas plug-in.

Placa-mãe (Motherboard) os microcomputadores diferenciam-se principalmente pelo processador


instalado na motherboard e pelos padrões dos barramentos de expansão. Em virtude do
lançamento constante de um novo processador com novas tecnologias para acelerar o
processamento (duplo cache interno, maior velocidade de clock, etc.), muitas motherboards
permitem o upgrade (atualização do processador sem a troca de qualquer outro componente do
microcomputador). A maioria tem jumpers de configuração onde é possível modificar a
velocidade do clock, do processador, etc.

Você também pode gostar