aula 00: arquitetura de computadores - provasdeti.com.br · arquitetura de computador refere-se aos...
TRANSCRIPT
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 1 de 26
AULA 00: Arquitetura de Computadores
Sumário 1. Apresentação. ............................................................................................................................... 2
1.1. A Banca. .................................................................................................................................... 2
1.2. Metodologia das aulas. ............................................................................................................. 2
3. Organização e Arquitetura. ........................................................................................................... 3
4. Estrutura e Função ........................................................................................................................ 5
5. A lei de Moore .............................................................................................................................. 7
6. Evolução dos computadores ......................................................................................................... 9
7. Evolução das Máquinas ............................................................................................................... 12
8. Questões Comentadas ................................................................................................................ 15
9. Lista das Questões Utilizadas na Aula. ........................................................................................ 22
10. Gabarito. ................................................................................................................................. 26
Olá Pessoal!
Eu sou o Prof. Almeida Júnior. Durante muitos anos fui concurseiro como você e sei
exatamente o que você está passando. Por isso, quando escrevo um curso, escrevo focado
nas reais necessidades de um concurseiro. Meu objeto é um só: aprovar você.
Atualmente sou Auditor Federal de Finanças e Controle na Controladoria Geral da União
(CGU). Desde que entrei na CGU tenho atuado em diferentes equipes da TI. Em relação a
minha formação, sou engenheiro eletrônico, tenho pós-graduação e mestrado na área de TI.
Apesar dessa base acadêmica ser importante para a construção das minhas aulas, considero
muito mais importante a minha experiência fazendo provas de concursos. Assim, acredito
que o grande valor das minhas aulas é que elas terão foco no que é necessário para ser
aprovado. Não estamos aqui somente para aprender a matéria. Nosso objetivo é que você
acerte todas as questões da prova e seja aprovado.
Qualquer dúvida você pode entrar em contato comigo pelo email:
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 2 de 26
1. Apresentação.
1.1. A Banca.
Vamos utilizar questões de diversas bancas
1.2. Metodologia das aulas.
As aulas serão de teoria e exercícios. A teoria será concisa, ou seja, terá o necessário e
somente o necessário para você acertar as questões. O material também terá completude,
ou seja, você não precisará recorrer a outro material. Tudo que você precisa estará nesse
curso. Por fim, as questões servirão como treino e fixação.
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 3 de 26
2. Organização e Arquitetura.
É comum que os livros de arquitetura de computadores também sejam chamados de
organização de computadores. Ou seja, não há uma divisão clara entre os conceitos na
prática. Apesar disso, Stallings diferencia os dois termos. Essa diferenciação já foi cobrada
pelo CESPE na prova de perito da polícia federal. É provável que essa questão não apareça
mais na prova, mas é possível que algo tema relacionado seja cobrado. Por isso, vamos
explorar os conceitos que giram em torno desse tópico e se precaver de qualquer questão
que possa ser cobrada
Para Stallings,
Arquitetura são atributos visíveis ao programador. Por exemplo, conjunto de instruções,
número de bits usados para representação de dados, mecanismos de E/S, técnicas de
endereçamento, etc.
Organização é como os recursos são implementados. Por exemplo, sinais de controle,
interfaces, tecnologia de memória, etc.
Para entender de forma simples tais conceitos, note que a arquitetura é familiar ao
profissional de TI. Como dito, são atributos visíveis ao programador. Já a organização é um
campo mais familiar ao engenheiro eletrônico. Para não confundir na hora da prova que tal
um bizu?
Arquitetura tem T logo é o cara de TI;
Organização, que não tem a letra t, é “coisa” do cara de engenharia;
Esse macete do T, pode ajudar a você não fazer confusão na hora da prova. Continuando...
para ficar clara a diferença, vamos pensar na operação de multiplicação. Para o programador,
o que interessa é a instrução de multiplicação em si. Ou seja, que seja disponibilizado a ele a
operação e como chamá-la no seu programa. O programador não quer saber como a
instrução foi implementada. Para ele, a instrução é uma abstração de tais detalhes. O
conjunto de instruções fazem formam uma determinada arquitetura.
Note também que uma instrução de multiplicação pode ser implementada de diferentes
maneiras. Por exemplo, por um hardware especializado que faz a multiplicação ou por
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 4 de 26
hardware que faz adições repetidas. O programador não tem como saber e nem se interessa
como os circuitos que implementam a operação de multiplicação forma criados. A forma
como a instrução é implementada no hardware é uma preocupação do engenheiro, é tema
da organização de computadores.
Dentro desse assunto, também é importante notar que uma mesma família de processadores
compartilha a mesma arquitetura. Assim, por exemplo, na família Intel x86, vamos encontrar
a mesma arquitetura básica. Isso significa que os processadores dessa família terão as
mesmas instruções. Logo um programa que roda em um processador vai rodar no outro
processador da mesma família. Na verdade, o que é garantido é a retrocompatibilidade, ou
seja, os programas que rodam em uma máquina mais antiga continuarão rodando nas
máquinas mais novas da mesma família. Isso porque as máquinas mais novas (dentro mesma
família) podem ter novas instruções, mas deverão manter as instruções antigas. A rigor a
arquitetura estaria sendo alterada, contudo, note que dissemos que uma família é aquela que
mantém a mesma arquitetura básica e não exatamente o mesmo conjunto de instruções.
Por fim, perceba que dentro de uma mesma família o que muda é a organização. Ou seja,
como os recursos foram implementados. Um processador mais novo, da mesma família,
pode ter, por exemplo, a mesma instrução implementada por um hardware mais rápido e/ou
com tecnologia superior.
01. (CESPE/PF-PERITO/2013) Acerca da organização e arquitetura de computadores e dos
componentes de um computador, julgue os itens a seguir.
Arquitetura de computador refere-se aos atributos de um sistema visíveis a um
programador, ou seja, atributos que possuem impacto direto sobre a execução lógica de
um programa. Nesse contexto, é considerada uma questão arquitetural, por exemplo, se
uma instrução de multiplicação será realizada por uma unidade de multiplicação especial
ou por um mecanismo que faça uso repetido da unidade de adição do sistema
Comentários:
A primeira parte (até o ponto) está correta. A segunda parte dá um exemplo de uma questão
organizacional. Portanto, gabarito ERRADO.
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 5 de 26
3. Estrutura e Função
Em ciência da computação é comum utilizarmos uma abordagem de abstração. Abstrair
significa esconder detalhes. Um computador pode ser visto em camadas ou níveis. Em cada
nível, estamos preocupados com dois aspectos: a estrutura e a função.
A estrutura, como nome sugere, é forma como os componentes de um determinado nível
estão inter-relacionados. Por sua vez, a função descreve o papel de cada componente de um
determinado nível.
As funções de um sistema computacional são:
• Processamento de dados
• Armazenamento de dados
• Movimentação de dados
• Controle
Você já deve saber que um computador processa dados. Ou seja, recebe uma entrada de
dados, faz cálculos sobre esses dados e devolve uma saída. Também faz parte do computador
a função de armazenamento. Esse armazenamento de dados pode ser temporário (por
exemplo, na memória RAM) ou de longa duração (em fitas). Para receber e devolver os dados,
os computadores se valem de dispositivos de I/O (Input/Output). Os computadores também
precisam ser capazes de mover dados do mundo externo para dentro da máquina e vice-
versa. Por fim, computadores precisam orquestrar todas essas funções. Essa capacidade é
chamada de função e controle.
Em termos de estrutura, os principais componentes de um sistema computacional são:
• CPU (Central Processing Unit): É o “cérebro” da máquina. Responsável pelas funções
de processamento e controle.
• Memória Principal: Responsável pela função de armazenamento. Tipicamente
chamamos de “RAM”. É onde os programas são carregados.
• I/O: Dispositivos responsáveis por ler dados e entregar dados. Fazem a interface com
o mundo externo. Por exemplo, um teclado recebe entrada de dados e o monitor
apresenta resultados.
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 6 de 26
• Sistemas de interconexão: Os demais componentes precisam se comunicar. Isso é
feito por meio de “barramentos”. O conjunto de barramentos forma o sistema de
interconexão.
A CPU é um componente que pode ser “explodido” em um nível (ou camada) mais baixa. Ou
seja, a CPU é, por sua vez, formada por outros componentes. De forma geral uma CPU é
composta por:
• Unidade de Controle: Executa a função de controle. Orquestra toda a atividade de
uma máquina.
• ALU (Arithmetic and Logic Unit): Executa a função de processamento. Como nome
sugere, é na ALU (ou ULA, em português) que as operações lógicas e cálculos
matemáticos são executados.
• Registradores: São pequenas unidades de memória utilizadas pela CPU. Os
registradores têm tipicamente alguns bits de tamanho.
• Interconexão: Da mesma forma que vimos na camada anterior, o CPU também precisa
interligar seus componentes. Existem barramentos internos que fazem a conexão
entre a unidade controle, a ULA e os registradores.
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 7 de 26
4. A lei de Moore
Gordon Moore percebeu que sempre a indústria avançava em sua tecnologia e conseguia
reduzir o tamanho dos transistores, os computadores tornavam-se também muito mais
velozes. Porém, essa redução no tamanho dos transistores requeria atualização nos
equipamentos da indústria, tornando os equipamentos anteriores obsoletos. Assim, só seria
viável a evolução para transistores menores se o lucro da empresa fosse o suficiente para
pagar todas essas despesas. Por outro lado, ele também percebeu que os computadores e
equipamentos mais obsoletos ainda possuíam mercado aberto em países menos
desenvolvidos economicamente. Com isso, a indústria seria sim capaz de continuar evoluindo
na redução do tamanho dos transistores porque os novos computadores, sendo tornando
mais velozes, seriam tão mais eficientes e atrativos, que todos os clientes, principalmente as
empresas, fariam de tudo para trocar seus computadores antigos por novos, afim de se
tornarem cada vez mais produtivos. Ao final, ele afirmou que:
O número de transistores dos chips teria um aumento de 100% (dobrar), pelo mesmo custo,
a cada período de 18 meses.
Assim, por consequência, os computadores irão dobrar sua velocidade de processamento a
18 meses, e ainda vão permanecer com o mesmo preço.
Essas ideias constituem a chamada “Lei de Moore” e ela ainda é válida até os dias de hoje.
Contudo, parece que estamos chegando aos limites de miniaturização dos transistores.
Diminuir o tamanho dos transistores também adicionar um problema: dissipação de calor.
Quando mais transistores no chip, maior a dissipação de calor. Por isso, pesquisadores tem
buscado outras formas de fazer com que os computadores continuem evoluindo em sua
velocidade e reduzindo seu tamanho. Uma das opções é substituir os transistores de Silício
por outros materiais, como Grafeno. Outras opções são os computadores quânticos.
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 8 de 26
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 9 de 26
5. Evolução dos computadores
O ENIAC (Electroníc Numerícal Integrator and Computer), projetado Mauchly e Eckert foi o
primeiro computador eletrônico digital de propósito geral. Ser de propósito geral significava
que ele poderia rodar programas diferentes. Era um computador que utilizava a tecnologia
de válvulas. A primeira geração dos computadores é marcada pela utilização dessas válvulas.
A válvula é um tubo de vidro, similar a uma lâmpada fechada sem ar em seu interior, ou seja,
um ambiente fechado a vácuo, e contendo eletrodos, cuja finalidade é controlar o fluxo de
elétrons. As válvulas aqueciam bastante e costumavam queimar com facilidade.
O ENIAC era uma máquina decimal (não usava a notação binária, comum aos computadores
atuais). Portanto, as operações aritméticas utilizavam números a base decimal. A memória
era formada por 20 'acumuladores'. Cada acumulador podia armazenar um número decimal
de dez dígitos. A principal desvantagem do ENIAC era que ele tinha de ser programado
manualmente, ligando e desligando chaves e conectando e desconectando cabos. Note que
não existia o conceito de programa carregado em memória. A memória era utilizada para
armazenar os dados e não o algoritmo (o programa). Esse era programado no próprio
hardware.
A ideia de programa armazenado em memória, também conhecida como conceito de
programa armazenado, geralmente é atribuída a John von Neumann. Contudo, ela também
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 10 de 26
foi concebida por Alan Turing. Em 1946, von Neumann e seus colegas começaram o projeto
de um novo computador de programa armazenado, conhecido como IAS. Esse computador
tinha a seguinte estrutura geral:
• Uma memória principal, que armazena dados e instruções.
• Uma unidade lógica e aritmética (ULA), capaz de realizar operações com dados binários.
• Uma unidade de controle, que interpreta e executa instruções armazenadas na memória.
• Dispositivos de entrada e saída (EIS), operados pela unidade de controle.
Ou seja, basicamente o que encontramos quem qualquer computador moderno. Essa
estrutura é chamada de arquitetura de Von Neumann. A grande “sacada” foi facilitar o
processo de programação representando o programa em uma memória juntamente com os
dados. Dessa forma, não era necessário alterar reconfigurar o hardware caso fosse necessário
trocar o programa. Se um novo programa fosse necessário, o computador poderia obter as
instruções diretamente a partir da memória.
02. (2017/INAZ/CFF) A arquitetura de computadores de Von Neumann é frequentemente
definida como o conjunto de atributos da máquina que um programador deve compreender
para que consiga programar o computador específico com sucesso, e também são
compostas de três subsistemas básicos. Assinale a alternativa correta que apresenta os três
subsistemas básicos.
a) CPU, memória principal e sistema de entrada e saída.
b) Vídeo, memória externa e não volátil e sistema de entrada e saída.
c) CPU, memória secundária e sistema de entrada e saída.
d) CPU, memória principal e sistema operacional.
e) Vídeo, memória secundária e sistema de entrada e saída.
Comentários:
A máquina de Von Neumann era formada por: memória principal, ULA, UC e dispositivos de
E/S. Portanto, gabarito A.
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 11 de 26
A segunda geração de computadores foi marcada pela substituição da válvula pelo transistor.
O transistor revolucionou a eletrônica em geral e os computadores em especial. Eles eram
muito menores do que as válvulas a vácuo e tinham outras vantagens: não exigiam tempo de
pré-aquecimento, consumiam menos energia, geravam menos calor e eram mais rápidos e
confiáveis.
A terceira geração de computadores é marcada pela utilização dos circuitos integrados, feitos
de silício. Também conhecidos como microchips, eles eram construídos integrando um
grande número de transistores, o que possibilitou a construção de equipamentos menores e
mais baratos.
Os computadores da quarta geração são reconhecidos pelo surgimento dos processadores —
unidade central de processamento. Os sistemas operacionais como MS-DOS, UNIX, Apple’s
Macintosh foram construídos. Linguagens de programação orientadas a objeto como C++ e
Smalltalk foram desenvolvidas. Discos rígidos eram utilizados como memória secundária.
Impressoras matriciais, e os teclados com os layouts atuais foram criados nesta época.
Os computadores da quinta geração usam processadores com milhões de transistores. Nesta
geração surgiram as arquiteturas de 64 bits, os processadores que utilizam tecnologias RISC
e CISC, discos rígidos com capacidade superior a 600GB, pen-drives com mais de 1GB de
memória e utilização de disco ótico com mais de 50GB de armazenamento
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 12 de 26
6. Máquinas Multiníveis
Um computador é um sistema complexo. Uma forma de enfrentar esse problema é criando
múltiplas abstrações. Em cada camada ou nível existe uma máquina e uma linguagem de
máquina. Cada linguagem utiliza a sua antecessora como base. Assim, a linguagem que fica
mais abaixo é a mais simples e que fica no último nível é a mais sofisticada.
Nos computadores modernos podemos dividir uma máquina em 6 níveis. São eles:
• Nível Lógico Digital (Nível 0): Nesse nível os elementos que são vistos são as portas
digitais (E, OU, XOR, ...)
• Nível da microarquitetura (Nível 1): Nesse nível as portas são combinadas para formar
circuitos mais complexos. Nesse nível encontramos a ULA e os registradores. Os
registradores são ligados à ULA para formar um caminho de dados por meio do qual
os dados trafegam.
• Nível ISA - Instruction Set Architecture (Nível 2): Em português, é chamado de
Arquitetura do Conjunto de Instruções. Com o nome sugere, nesse nível é onde está
a linguagem de máquina. Entenda que as instruções aqui são sequências de 0’s e 1’s.
Não confunda com a linguagem Assembly que está em nível acima. O microprograma
é o único programa escrito para este nível. Ele é um interpretador de instruções do
Nível ISA: busca, decodifica e executa as instruções. Nesse nível encontramos
instruções de transferência de dados (LOAD,STORE,MOVE), aritméticas (ADD, SUB,
MUL, DIV, ...), lógicas (XOR, AND, NOR,...), monádicas (tem apenas um operando, ex:
shitf), controle de fluxo/desvio (JMP), entrada e saída (IN, OUT) e chamadas de
interrupções (INT).
• Nível do Sistema Operacional (Nível 3): Nesse nível, as instruções são executadas pelo
sistema operacional ou pelo microprograma.
• Nível da linguagem de montagem (Nível 4): Nesse nível é possível escrever código
utilizando mnemônicos. É o nível da linguagem assembly. A tradução desse código
para o nível ISA é feito por um programa chamado assembler.
• Nível das linguagens de alto nível (Nível 5): Nesse nível encontram-se as linguagens de
programação: C, C++, Java, etc.
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 13 de 26
03. (2016/UFES/Técnico de Tecnologia da Informação) A quantidade de instruções
disponíveis e o código binário associado a cada instrução podem variar bastante entre
conjuntos de instruções de arquiteturas (ISA ou Instruction Set Architecture). Por outro
lado, existe um subconjunto comum de instruções que estão disponíveis na maioria dos
ISA’s atuais. Entre as alternativas abaixo, a que NÃO está associada a um subconjunto típico
de instruções de um ISA é:
a) Lógicas.
b) Interrupções.
c) Aritméticas.
d) Transferência de dados.
e) Controle de fluxo.
Comentários:
No nível ISA encontramos instruções de transferência de dados (LOAD,STORE,MOVE),
aritméticas (ADD, SUB, MUL, DIV, ...), lógicas (XOR, AND, NOR,...), monádicas (apenas um
operando, ex: shitf), controle de fluxo/desvio (JMP), entrada e saída (IN, OUT) e as chamadas
de interrupções (INT). O gabarito da questão foi B, mas deveria ter sido anulada. Talvez o
examinador tenha pensado em interrupções de hardware. Contudo, é possível gerar
interrupções via software.
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 14 de 26
7. O Microprograma
O Nível de Arquitetura do Conjunto de Instruções (ISA - Instruction Set Architecture) é a
interface entre software e hardware. É o nível mais próximo ao hardware em que o usuário
pode programar. Nos primeiros computadores, existia uma separação clara entre hardware
e software. Atualmente é difícil definir uma barreira clara. Por exemplo, hoje é possível
simular o hardware de um computador por meio de um software. Tal processo é conhecido
como virtualização. Uma frase famosa do Tanenbaum é: “Hardware e Software são
logicamente equivalentes”. Também ficou famosa a frase: “Hardware é apenas software
petrificado”. Dentro desse tópico, podemos citar a máquina virtual Java, a qual é um
programa que simula uma máquina, ou seja, um hardware.
Em 1951, Maurice Wilkes pensou em uma máquina com um interpretador embutido (o
microprograma). Nessa estratégia, o interpretador (microprograma) seria responsável por
executar programas do nível ISA (por interpretação). Desta forma, ocorreria uma diminuição
do número de circuitos e como consequência um hardware mais simples. Em 1970, o uso do
nível ISA interpretado por microprograma, ao invés de executado diretamente por circuitos
eletrônicos, tornou-se uma prática comum. O problema é que os microprogramas cresceram
muito e, em consequência, tornaram-se lentos. Isso levou os pesquisadores voltarem com a
ideia de se ter instruções e funcionalidades executadas diretamente pelo hardware e a
consequência foi a eliminação do microprograma.
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 15 de 26
8. Arquitetura Harvard
A Arquitetura de von Neumann se caracteriza por armazenar os programas no mesmo
espaço de memória que os dados e existe apenas um barramento ligando a CPU à memória.
Por seu turno, a Arquitetura de Harvard possui duas memórias diferentes e independentes.
Cada memória tem um barramento ligando a unidade controle. Na máquina de Harvard existe
uma memória para dados e outra para as instruções. Como os barramentos são separados, é
possível acessar as duas memórias simultaneamente. Essa estratégia permite um
desempenho melhor quando comparado à Arquitetura de von Neumann.
04. (2016/VUNESP/MPE-SP/Engenheiro de Computação) Assinale a alternativa que contém
uma afirmação correta a respeito de arquiteturas de computadores conhecidas como
máquinas de von Neumann e máquinas Harvard.
a) As máquinas de von Neumann utilizam o conceito de programa armazenado e um
caminho único entre a memória principal e a CPU.
b) As máquinas de von Neumann não utilizam o conceito de programa armazenado.
c) As máquinas Harvard utilizam um caminho único entre a memória principal e a CPU.
d) O conceito de programa armazenado não se aplica a arquiteturas do tipo máquinas
Harvard.
e) Tanto as máquinas de von Neumann quanto as máquinas Harvard utilizam vias separadas
para dados e instruções entre a memória principal e a CPU.
Comentários:
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 16 de 26
a) Correto. A grande sacada da máquina de Von Neumann foi o conceito de programa
armazenado em memória. Até então, o programa estava petrificado no próprio hardware.
Para trocar o programa era necessário configurar chaves e trocar cabos. Essa arquitetura
também usa um único barramento (caminho) entre a memória e a CPU. Diferente é a máquina
de Harvard que possui duas memórias (uma para dados e outra para instruções) e um
barramento para cada uma delas ligar-se a unidade de controle.
b) Errado. Essa foi sua grande contribuição
c) Errado. Existe mais de um barramento. Na verdade, existem duas memórias uma para
dados e outra para as instruções do programa
d) Errado. Os programas ficam em uma memória separada, mas também estão armazenados
em memória. A diferença é que na Von Neumann dados e instruções estão na mesma
memória.
e) Errado. Isso é característica da máquina de Harvard
Gabarito A.
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 17 de 26
9. Processadores ARM
ARM é um acrônimo de Advanced RISC Machine (Máquina RISC avançada) é uma família de
arquiteturas RISC desenvolvida pela empresa britânica ARM Holdings.
Vamos falar de RISC e CISC em outra aula. Por hora, tenha em mente que RISC é a abreviação
de Reduced Instruction Set Computer (Conjunto Reduzido de Instruções de Computador) e
que a abordagem oposta seria CISC (Complex Instruction Set Computer - Conjunto Complexo
de Instruções de Computador). O padrão CISC é utilizada pelos processadores x86 da Intel ou
AMD. São os processadores geralmente utilizados nos PCs e laptops. E onde o ARM/RISC é
utilizado?
Antes dos smartphones, processadores ARM eram voltados praticamente para automação e
não havia preocupações extremas com desempenho. Para os problemas de automação, eram
mais importante a eficiência energética e durabilidade. Contudo, com os smartphones, os
modelos Cortex-A começaram a ficar populares. Eles eram capazes de fornecer o
processamento adequado aos sistemas operacionais (Android, iOS e Windows Phone).
Também existem cores ARM que podem inclusive executar bytecode Java. O Jazelle DBX
(Direct bytecode eXecution) é uma extensão que permite que alguns processadores ARM
executem bytecode Java em hardware.
Processadores ARM utilizam uma arquitetura load/store. Em uma arquitetura load/store o
conjuntos de instruções é dividido em dois grandes grupos: acesso a memória (load/store
entre a memória e os registradores) e operações da ULA (estas operações ocorrem apenas
entre registradores),
05. (2018/ CESPE/ ABIN) A respeito de arquitetura ARM, julgue o próximo item.
Processadores ARM normalmente realizam operações com dados que estejam em
registradores e só acessam diretamente a memória em situações muito específicas.
Comentários:
ERRADO. A segunda frase está incorreta. O acesso não é feito diretamente na memória.
Referências à memória são feitas apenas por meio de instruções LOAD e STORE. As operações
devem ser feita sobre os registradores. Esse é um dos pontos chaves da filosofia RISC. Essa
estratégia busca minimizando atrasos devidos a referências à memória principal.
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 18 de 26
10. Ciclo de Busca-Decodificação-Execução
Em um computador que segue arquitetura de Von Neumann, tipicamente encontrarmos dois
registradores especiais:
• Contador de Programa (PC – Program Counter): Armazena o endereço na memória principal
onde se localiza a próxima instrução a ser interpretada.
• Registrador de Instrução (IR – Instruction Register): Armazena a Instrução corrente que foi
buscada na memória principal.
Note que o registrador PC armazena um endereço e o IR uma instrução em si.
A execução de um programa em processador segue o que chamamos de Ciclo de Busca-
Decodificação-Execução. Esse ciclo obedece ao seguinte algoritmo:
1. Busca da próxima instrução no endereço da memória principal apontado pelo PC e
armazenamento da mesma no IR.
2. Atualização do PC, fazendo-o apontar para a instrução seguinte (PC := PC +1).
3. Determinação do tipo de instrução armazenada no IR.
4. Se a instrução precisa de operandos armazenados na memória principal, os seus endereços
devem ser determinados.
5. Caso necessário, busca de operandos na memória principal.
6. Execução da instrução.
7. Retorno ao passo 1 para iniciar a execução da instrução seguinte.
06. (2017/ UFPA/Técnico de Tecnologia da Informação) O processamento de instruções em
um processador pode ser definido de forma simplificada nos seguintes passos:
a) Execução, Decodificação e Armazenamento.
b) Busca, Armazenamento e Execução.
c) Armazenamento, Busca e Decodificação.
d) Decodificação, Busca e Armazenamento.
e) Busca, Decodificação e Execução.
Comentários:
Como vimos em detalhes, o ciclo é busca-decodificação-execução. Portanto, gabarito E.
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 19 de 26
11. Questões Comentadas
07. (2017/UPENET/IAUPE/UPE) Conforme o conceito de Von Neumann, para que um
programa possa ser executado pelo processador, ele precisa estar carregado na memória
a) magnética.
b) ótica.
c) secundária.
d) principal.
e) virtual.
Comentários:
A arquitetura de Von Neumann é a base para a maioria das CPUs modernas. Ela é formada
por: memória principal, ULA, UC e dispositivos de E/S. Portanto, gabarito B. Vamos comentar
as alternativas.
a) Memória magnéticas são memórias secundárias de massa. O exemplo típico são os HDs.
b) Memória óticas são aquelas utilizam a luz como forma de ler os dados. Exemplos de tais
memórias são os CD’s e DVD’s.
c) Memória secundária é aquele que não é principal. São memórias capazes de armazenar um
grande volume de dados quando comparadas a memória principal (tipicamente, memorias
RAM)
d) Memória Principal é onde os programas rodam. Nos computadores atuais é sinônimo de
memória RAM.
e) Memória Virtual é aquele implementada no HD da máquina. Ele estende o tamanho da
memória RAM. Faz com que o seu computador pense que tem mais RAM do que realmente
existe fisicamente. Claro que o custo disso é perda de velocidade, pois o dados precisar sair
do HD para a RAM e vice-versa em um processo que chamamos de swap.
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 20 de 26
08. (2017/FCC/DPE-RS/Analista - Infraestrutura e Redes) A arquitetura de grande parte dos
computadores atuais é baseada na máquina de von Neumann que apresenta como
componentes principais:
a) Acumulador, Registradores de propósito geral, Processador e Memória ROM.
b) Entrada/Saída, Memória Cache, Pipeline e Memória de Massa.
c) Unidade de controle, Pipeline, Acumulador e Memória Secundária.
d) Unidade lógica e aritmética, Chipset, Pipeline e Memória Cache.
e) Memória, Unidade de controle, Unidade Lógica e Aritmética e Entrada/Saída
Comentários:
Perceba como as bancas costumam explorar o mesmo assunto. Espero que essa questão já
esteja trivial depois de nossa aula. Como sabemos a máquina de Von Neumann era formada
por: memória principal, ULA, UC e dispositivos de E/S. Portanto, gabarito E.
09. (2016/CESPE/TRE-PI) A respeito de arquitetura e organização de computadores, assinale
a opção correta.
a) Os projetos das unidades operacionais de um computador e de suas interconexões estão
incluídos na definição da arquitetura de computadores.
b) A organização de um computador refere-se aos atributos de um sistema que têm impacto
direto sobre a execução lógica de um programa.
c) O conjunto de instruções e o número de bites usados para representar os vários tipos de
dados são atributos da arquitetura de computadores.
d) Os mecanismos de entrada e saída e as técnicas de endereçamento à memória são
definidos na organização de computadores.
e) A tecnologia de memória usada em um computador é definida na arquitetura de
computadores.
Comentários:
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 21 de 26
a) Arquitetura tem T, T de TI. Logo é que é visto pelo programador, ou seja, as instruções. Ora,
interconexões é coisa da engenharia eletrônica, logo da organização. O programador não está
preocupado com isso. Errado.
b) Programação => Cara de TI => T tem em Arquitetura. Errado.
c) O conjunto de instruções e como os números são representados são visíveis ao
programador. Portanto, faz parta da arquitetura da máquina. Essa alternativa é o gabarito.
d) O conjunto de instruções, número de bits usados para representação de dados,
mecanismos de E/S, técnicas de endereçamento fazem parte da arquitetura da máquina.
Portanto, errado.
e) A tecnologia é assunto da engenharia eletrônica, logo questão de organização. O
programador não pode fazer nada a respeito. Item Errado.
10. (2016/FUNRIO/IF-BA) Os projetos de computadores foram fundamentados nos
conceitos da arquitetura desenvolvida por John von Neumann, conhecido como Arquitetura
von Neumann. Analise as afirmações abaixo:
I. Os dados e as instruções são armazenados em memória organizada hierarquicamente
como primária e secundária.
II. O conteúdo da memória é endereçado pela sua posição, independentemente do tipo de
dados nela contidos.
III. A execução de instruções ocorre de modo sequencial (exceto quando essa sequência é
explicitamente alterada de uma instrução para a seguinte).
Quais afirmações correspondem a conceitos básicos da Arquitetura von Neumann?
a) Nenhuma das afirmações
b) Somente as duas primeiras
c) Somente a primeira e a terceira
d) Somente as duas últimas
e) Todas as afirmações
Comentários:
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 22 de 26
I. Errado. Na arquitetura de Von Neumann dados e instruções estão na mesma memória.
II. Certo. Não há memória separadas por conteúdo (uma para instruções e outra para dados)
III. Correto. Um ciclo de busca e execução descreve em essência o modo como um
computador funciona: a instrução deve ser buscada na memória principal e depois executada
pela CPU. A execução é feita em sequência, a menos que uma instrução de desvio apareça.
GABARITO: D
12. Lista das Questões Utilizadas na Aula.
01. (CESPE/PF-PERITO/2013) Acerca da organização e arquitetura de computadores e dos
componentes de um computador, julgue os itens a seguir.
Arquitetura de computador refere-se aos atributos de um sistema visíveis a um
programador, ou seja, atributos que possuem impacto direto sobre a execução lógica de
um programa. Nesse contexto, é considerada uma questão arquitetural, por exemplo, se
uma instrução de multiplicação será realizada por uma unidade de multiplicação especial
ou por um mecanismo que faça uso repetido da unidade de adição do sistema
02. (2017/INAZ/CFF) A arquitetura de computadores de Von Neumann é frequentemente
definida como o conjunto de atributos da máquina que um programador deve compreender
para que consiga programar o computador específico com sucesso, e também são
compostas de três subsistemas básicos. Assinale a alternativa correta que apresenta os três
subsistemas básicos.
a) CPU, memória principal e sistema de entrada e saída.
b) Vídeo, memória externa e não volátil e sistema de entrada e saída.
c) CPU, memória secundária e sistema de entrada e saída.
d) CPU, memória principal e sistema operacional.
e) Vídeo, memória secundária e sistema de entrada e saída.
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 23 de 26
03. (2016/UFES/Técnico de Tecnologia da Informação) A quantidade de instruções
disponíveis e o código binário associado a cada instrução podem variar bastante entre
conjuntos de instruções de arquiteturas (ISA ou Instruction Set Architecture). Por outro
lado, existe um subconjunto comum de instruções que estão disponíveis na maioria dos
ISA’s atuais. Entre as alternativas abaixo, a que NÃO está associada a um subconjunto típico
de instruções de um ISA é:
a) Lógicas.
b) Interrupções.
c) Aritméticas.
d) Transferência de dados.
e) Controle de fluxo.
04. (2016/VUNESP/MPE-SP/Engenheiro de Computação) Assinale a alternativa que contém
uma afirmação correta a respeito de arquiteturas de computadores conhecidas como
máquinas de von Neumann e máquinas Harvard.
a) As máquinas de von Neumann utilizam o conceito de programa armazenado e um
caminho único entre a memória principal e a CPU.
b) As máquinas de von Neumann não utilizam o conceito de programa armazenado.
c) As máquinas Harvard utilizam um caminho único entre a memória principal e a CPU.
d) O conceito de programa armazenado não se aplica a arquiteturas do tipo máquinas
Harvard.
e) Tanto as máquinas de von Neumann quanto as máquinas Harvard utilizam vias separadas
para dados e instruções entre a memória principal e a CPU.
05. (2018/ CESPE/ ABIN) A respeito de arquitetura ARM, julgue o próximo item.
Processadores ARM normalmente realizam operações com dados que estejam em
registradores e só acessam diretamente a memória em situações muito específicas.
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 24 de 26
06. (2017/ UFPA/Técnico de Tecnologia da Informação) O processamento de instruções em
um processador pode ser definido de forma simplificada nos seguintes passos:
a) Execução, Decodificação e Armazenamento.
b) Busca, Armazenamento e Execução.
c) Armazenamento, Busca e Decodificação.
d) Decodificação, Busca e Armazenamento.
e) Busca, Decodificação e Execução.
07. (2017/UPENET/IAUPE/UPE) Conforme o conceito de Von Neumann, para que um
programa possa ser executado pelo processador, ele precisa estar carregado na memória
a) magnética.
b) ótica.
c) secundária.
d) principal.
e) virtual.
08. (2017/FCC/DPE-RS/Analista - Infraestrutura e Redes) A arquitetura de grande parte dos
computadores atuais é baseada na máquina de von Neumann que apresenta como
componentes principais:
a) Acumulador, Registradores de propósito geral, Processador e Memória ROM.
b) Entrada/Saída, Memória Cache, Pipeline e Memória de Massa.
c) Unidade de controle, Pipeline, Acumulador e Memória Secundária.
d) Unidade lógica e aritmética, Chipset, Pipeline e Memória Cache.
e) Memória, Unidade de controle, Unidade Lógica e Aritmética e Entrada/Saída
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 25 de 26
09. (2016/CESPE/TRE-PI) A respeito de arquitetura e organização de computadores, assinale
a opção correta.
a) Os projetos das unidades operacionais de um computador e de suas interconexões estão
incluídos na definição da arquitetura de computadores.
b) A organização de um computador refere-se aos atributos de um sistema que têm impacto
direto sobre a execução lógica de um programa.
c) O conjunto de instruções e o número de bites usados para representar os vários tipos de
dados são atributos da arquitetura de computadores.
d) Os mecanismos de entrada e saída e as técnicas de endereçamento à memória são
definidos na organização de computadores.
e) A tecnologia de memória usada em um computador é definida na arquitetura de
computadores.
10. (2016/FUNRIO/IF-BA) Os projetos de computadores foram fundamentados nos
conceitos da arquitetura desenvolvida por John von Neumann, conhecido como Arquitetura
von Neumann. Analise as afirmações abaixo:
I. Os dados e as instruções são armazenados em memória organizada hierarquicamente
como primária e secundária.
II. O conteúdo da memória é endereçado pela sua posição, independentemente do tipo de
dados nela contidos.
III. A execução de instruções ocorre de modo sequencial (exceto quando essa sequência é
explicitamente alterada de uma instrução para a seguinte).
Quais afirmações correspondem a conceitos básicos da Arquitetura von Neumann?
a) Nenhuma das afirmações
b) Somente as duas primeiras
c) Somente a primeira e a terceira
d) Somente as duas últimas
e) Todas as afirmações
Arquitetura de Computadores para o cargo de Perito Criminal do Distrito Federal
Prof. Almeida Júnior
www.provasdeti.com.br Página 26 de 26
13. Gabarito.
01.E 02.A 03.B 04.A 05.E 06.E 07.B 08.E 09.C 10.D