aula 00: arquitetura de computadores - provasdeti.com.br · arquitetura de computador refere-se aos...

26
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: [email protected]

Upload: phungnhan

Post on 13-Nov-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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:

[email protected]

Page 2: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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.

Page 3: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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

Page 4: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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.

Page 5: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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.

Page 6: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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.

Page 7: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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.

Page 8: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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

Page 9: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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

Page 10: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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.

Page 11: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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

Page 12: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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.

Page 13: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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.

Page 14: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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.

Page 15: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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:

Page 16: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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.

Page 17: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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.

Page 18: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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.

Page 19: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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.

Page 20: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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:

Page 21: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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:

Page 22: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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.

Page 23: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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.

Page 24: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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

Page 25: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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

Page 26: AULA 00: Arquitetura de Computadores - provasdeti.com.br · Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador, ou seja, atributos que possuem

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