arquitetura de computadores -...

64
Questões comentadas Arquitetura de Computadores para concursos

Upload: buibao

Post on 06-Dec-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Questões comentadas

Arquitetura de Computadorespara concursos

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Prefácio

O estudo de requisitos necessários para que um computador funcione e da maneira de orga-nizar seus componentes com o objetivo de conseguir melhores desempenhos dá origem a umprojeto conceitual de extrema importância na área de computação: a Arquitetura de Compu-tadores. Ela determina aspectos relacionados à qualidade, ao desempenho e à aplicação para aqual determinado computador vai ser orientado.

Dado que o conhecimento em Arquitetura de Computadores é fundamental para o entendi-mento do funcionamento do computador e de suas potencialidades, tornando-se um alvo fácilem questões de concursos, o Grupo Handbook de TI preparou este volume, que traz uma sériede questões comentadas sobre os Arquitetura de Computadores para você se preparar adequa-damente para essa área.

Bons estudos,

Grupo Handbook de TI

Página 1 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Direitos Autorais

Este material é registrado no Escritório de Direitos Autorais (EDA) da Fundação BibliotecaNacional. Todos os direitos autorais referentes a esta obra são reservados exclusivamente aosseus autores.

Os autores deste material não proíbem seu compartilhamento entre amigos e colegas próxi-mos de estudo. Contudo, a reprodução, parcial ou integral, e a disseminação deste material deforma indiscriminada através de qualquer meio, inclusive na Internet, extrapolam os limites dacolaboração. Essa prática desincentiva o lançamento de novos produtos e enfraquece a comuni-dade concurseira Handbook de TI.

A série Handbook de Questões de TI Comentadas para Concursos � Além do Gabarito é umaprodução independente e contamos com você para mantê-la sempre viva.

Grupo Handbook de TI

Página 2 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Canais de Comunicação

O Grupo Handbook de TI disponibiliza diversos canais de comunicação para os concurseirosde TI.

Loja Handbook de TI

Acesse a nossa loja virtual em http://www.handbookdeti.com.br

Serviço de Atendimento

Comunique-se diretamente conosco através do e-mail [email protected]

Twitter do Handbook de TI

Acompanhe de perto promoções e lançamentos de produtos pelo nosso Twitter http://twitter.com/handbookdeti

Página 3 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

1. Assuntos relacionados: Organização de Computadores, Endereçamento de Memória,Banca: CESGRANRIOInstituição: BNDESCargo: Analista de Suporte

Ano: 2008Questão: 51

O hardware de um sistema microprocessado foi projetado para funcionar com uma memóriade 20 bits de endereçamento e palavra de 16 bits. Se neste sistema já estão instalados 1.024KB de memória, qual a quantidade máxima de memória possível para expansão, em KB?

(a). 1.024

(b). 924

(c). 768

(d). 512

(e). 256

Solução:

As memórias são constituídas de células que são identi�cadas por números, denominadosendereços, pelo qual programas podem referenciá-las. Todas as células contêm o mesmonúmero de bits. Se uma célula consiste de m bits, ela pode armazenar m bits de informação.

Os endereços de memória são expressos por números binários. Se um endereço tiver nbits, o número máximo de células endereçáveis é 2n.

Para determinar a quantidade máxima de memória possível para expansão, primeiramente,devemos calcular a capacidade total de memória em bytes que o hardware em questão su-porta. A informação de que 20 bits são necessários para endereçar uma memória nos diz queo hardware possui 220 células. Uma palavra de 16 bits informa que cada célula de memóriaarmazena até 2 bytes de informação.

A capacidade total de memória suportada é obtida pela multiplicação entre a capacidadede cada célula e o número de células, ou seja, 2*220 = 2 MB = 2048 KB. Como no sistemajá estão instalados 1024 KB, a quantidade máxima de memória possível para expansão é de1024 KB.

Página 4 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

2. Assuntos relacionados: Arquitetura de Computadores, Modos de Endereçamento de Me-

mória,Banca: CESGRANRIOInstituição: PetrobrasCargo: Analista de Sistemas - Eng. de Software

Ano: 2008Questão: 21

Um computador tem um registrador R e um conjunto de instruções de um operando, todascom modo de endereçamento indireto. Três destas instruções são especi�cadas a seguir.

LD: Copia da memória principal para o registrador R.

AC: Adiciona da memória principal ao registrador R.

ST: Move do registrador R para a memória principal.

Considere o programa apresentado abaixo, executado no computador, acessando o bloco dememória principal, cuja situação inicial é mostrada a seguir.

Endereço Valor Armazenado00H 01H01H 02H02H 03H03H 04H04H 05H

LD 01HAC 02HST 03HAC 00HST 01HLD 03HST 00H

Considere que tanto o endereçamento quanto os valores envolvidos nas operações utilizamapenas um byte de memória cada. Após a execução do programa, qual será, em hexadeci-mais, a soma dos valores armazenados no bloco de memória?

(a). 00H

(b). 04H

(c). 0AH

(d). 10H

(e). 1CH

Solução:

Primeiramente, os conceitos de endereçamento de dados devem estar bem claros. Em umainstrução de programa, há várias maneiras de referenciar um valor, as mais conhecidas são:

• Imediato: o valor do operando é especi�cado diretamente na instrução. Sua principalvantagem é não requerer acesso à memória para obter o operando. A desvantagem é queesse modo impõe uma limitação no tamanho do operando. Suponha que o computador

Página 5 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

descrito suporte acesso imediato. A instrução LD 30H faria com que o valor 30H fossecopiado para o registrador R. Entretanto, há ocasiões em que não somente um bytedeve ser copiado, por exemplo LD 201040H. Nesse caso, como o valor é armazenadodiretamente na instrução, seria necessário aumentar o tamanho da instrução e isso nãoé possível na maioria das arquiteturas de computador;

• Direto: o campo de endereço contém o endereço efetivo do operando na memória. Re-quer, portanto, apenas um acesso para determinar o valor do operando. Sua limitaçãoé fornecer um espaço de endereçamento limitado. Suponha que o computador descritosuporte endereçamento direto. A instrução LD 01H, faria com que o valor armazenadona posição de memória 01H, ou seja, 02H fosse copiado. Entretanto, se a instruçãopossuir somente um byte para o endereçamento direto, por exemplo, a quantidade deposições de memória estará limitada em 256 (28);

• Indireto: o campo de endereço aponta para uma posição de memória que contém oendereço de memória do operando. Sua principal desvantagem é a necessidade de doisacessos à memória. A vantagem em relação ao modo de endereçamento direto é o au-mento do espaço de endereçamento, que passa a ser igual 2n, onde n é o tamanho dapalavra na memória. Suponha que o computador tenha somente um byte para endere-çar a posição de memória, mas que essa posição de memória corresponda a uma palavracom tamanho de 2 bytes. Um endereçamento na forma indireta, possibilitará o ende-reçamento de 65536 posições de memória (216) e não mais 256 como no endereçamentodireto. Não é o caso da questão, onde tanto o tamanho permitido para endereçamentona instrução e o tamanho da palavra de memória são iguais a um byte;

• Registrador : é semelhante ao modo direto, no entanto, o campo de endereço se refere aum registrador e não a uma posição de memória. Geralmente, esse campo é compostopor 3 ou 4 bits, o que permite referenciar de 8 a 16 registradores de propósito geral.Suas vantagens são o tamanho pequeno do campo de endereço e a não necessidadede se acessar à memória. Sua desvantagem é o espaço de endereçamento limitadopelo número de registradores. Por exemplo, poderíamos supor que o computador daquestão permitisse endereçamento por registrador e tivesse 16 registradores. Assim,seria possível que um registrador além do R, por exemplo S, pudesse ser endereçadocomo 05H. Uma instrução da maneira LD 05H copiaria o valor do registrador S para oregistrador R;

• Indireto via Registrador : semelhante ao modo de endereçamento indireto. O campode endereço aponta para o registrador que contém a posição de memória do operando.Sua vantagem é a necessidade de um único acesso à memória, um a menos que no modoindireto;

• Deslocamento: requer que uma instrução tenha dois campos de endereço, com pelomenos um explícito. O valor de um dos campos é usado diretamente (valor = A). Ooutro campo é baseado no código da operação, e especi�ca um registrador cujo conteúdoé adicionado à A, para produzir o endereço efetivo. Os três modos de endereçamentopor deslocamento são: relativo, via registrador-base e indexado;

• Pilha: a pilha é um bloco reservado de posições de memória. Elementos podem sercolocados e removidos do topo da pilha. O apontador do topo da pilha (stack-pointer)é mantido em um registrador. Portanto, de fato, referências a pilha são feitas porendereçamento indireto via registrador.

Já que a questão trata de endereçamento indireto, o valor armazenado no local especi�cadopelo operando é o endereço de memória do valor que será utilizado na operação. Por exemplo,a instrução LD 01H, carrega, no registrador R, o valor 03H, pois no endereço 01H está

Página 6 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

armazenado o endereço 02H, que por sua vez, contém o valor desejado, 03H. Seguindo ospassos do programa, teremos:

1. LD 01H, R ← 03H, R recebe o valor armazenado no endereço 02H;

2. AC 02H, R ← 03H + 04H ← 07H, o valor de R é somado ao valor armazenado noendereço 03H;

3. ST 03H, [04H] ← 07H, a posição de memória 04H recebe o valor do registrador R;

4. AC 00H, R ← 07H + 02H ← 09H, o valor de R é somado ao valor da posição 01H;

5. ST 01H, [02H] ← 09H, a posição de memória 02H recebe o valor de R;

6. LD 03H, R ← 07H, R recebe o valor armazenado no endereço 04H;

7. ST 00H, [01H] ← 07H, a posição de memória 01H recebe o valor de R.

Após o término do programa, a situação �nal do bloco de memória será de acordo com aTabela 1.

Tabela 1: situação �nal do bloco de memória.Endereço Valor Armazenado

00H 01H01H 07H02H 09H03H 04H04H 07H

A soma é 01H+07H+09H+04H+07H = 1CH, que, em decimal, é 28. Logo, a alternativacorreta é a letra (e).

Página 7 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

3. Assuntos relacionados: Arquitetura de Computadores, Modos de Endereçamento de Me-

mória,Banca: CesgranrioInstituição: BR Distribuidora

Cargo: Analista de Sistemas - Desenvolvimento

Ano: 2008Questão: 25

Qual o modo de endereçamento que utiliza ponteiro(s) para especi�car a localização do(s)operando(s) em uma instrução?

(a). Pilha

(b). Direto

(c). Imediato

(d). Registrador

(e). Indireto de registrador

Solução:

Os modos de endereçamento estão relacionados com a forma utilizada para especi�car o va-lor ou endereço de um operando de uma instrução. Em geral, as arquiteturas não oferecemsó um modo de endereçamento, mas sim um conjunto de modos.

Analisemos agora cada alternativa a �m de obter a resposta.

(A) ERRADA

A pilha é um bloco reservado de posições de memória, algumas vezes referida como uma �laúltimo-a-chegar primeiro-a-sair, onde elementos podem ser colocados ou removidos. Associ-ado com a pilha está um apontador cujo valor é o endereço do topo da pilha (stack-pointer),o qual é mantido num registrador auxiliar (SP). Assim, as referências a posições da pilha namemória são na verdade endereços indiretos via registrador. Contudo, como o processadortem a �noção� de manipulação de dados em uma pilha, isto é, nenhum endereço precisa serfornecido na instrução, pois as operações sempre se referem ao topo da pilha, dizemos quese trata de um endereçamento implícito, o que invalida a alternativa.

(B) ERRADA

Nesta forma de endereçamento, o valor do campo operando indica o endereço do dadona memória principal. Exemplo:

MOV R1, 70H

Após a execução da instrução, o registrador R1 armazenará o valor existente no endereçode memória 70H. Requer, portanto, apenas um acesso à memória para determinar o valordo operando. Sua limitação é fornecer um espaço de endereçamento limitado (tamanho dooperando).

Este modo de endereçamento é mais rápido que o modo indireto e mais lento que o modoimediato.

Página 8 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

(C) ERRADA

Neste modo de endereçamento, o valor do operando é uma constante e faz parte do corpoda instrução. Exemplo:

MVI R1,4

Após a execução desta instrução, o registrador R1 armazenará o valor 4. Note que não sãonecessárias referências à memória para a busca do operando, pois o valor do operando estána própria instrução. A desvantagem é que o tamanho do dado �ca limitado ao número debits do operando (campo operando da instrução).

(D) ERRADA

Semelhante ao modo de endereçamento direto, no entanto se refere a um registrador e nãoa uma posição de memória, isto é, o operando aponta para um registrador, o qual contém odado. Exemplo:

MOV R1,R2

Após a execução desta instrução, o registrador R1 armazenará o conteúdo de R2. Suasvantagens são o pequeno tamanho do campo de endereço (economia de espaço de armaze-namento de instrução) e a não necessidade de se acessar a memória (o acesso ao registradoré muito mais rápido que o acesso à memória). A principal desvantagem reside no fato dehaver um pequeno número de registradores � se forem muitos os dados endereçados porregistrador, os registradores disponíveis podem não ser su�cientes

(E) CORRETA

No modo de endereçamento indireto, o campo operando contém um endereço de memóriacujo conteúdo é o endereço do dado a ser operado. Portanto, há um duplo endereçamento.O endereço intermediário é chamado ponteiro (pointer). Suponha que no endereço 30H (damemória principal) esteja armazenado o valor 15H, assim,

MOV R1,(30H)

carregará o conteúdo do endereço 15H no registrado R1. Isto permite implementar estrutu-ras de organização de dados mais complexas, mais so�sticadas, além de eliminar a limitaçãode células endereçáveis. No entanto, requer maior quantidade de acessos à memória principalpara completar o ciclo de execução da instrução, acarretando que o tempo requerido para aexecução da instrução é maior.

Já no modo de endereçamento indireto via registrador, o operando aponta para um re-gistrador, o qual contém um endereço de memória (ponteiro) para o dado. Suponhamos queR2 armazene o valor 45H que representa um endereço de memória, assim:

MOV R1,(R2)

carregará o valor armazenado na posição de memória 45H no registrador R1. Isto representaa economia de 1 (um) acesso à memória principal quando comparamos com o modo deendereçamento indireto (puro).

Página 9 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

4. Assuntos relacionados: Arquitetura de Computadores, Memória Principal,Banca: CesgranrioInstituição: PetrobrasCargo: Analista de Sistemas - Infraestrutura

Ano: 2008Questão: 47

Se um computador tem uma MP com disponibilidade de armazenar 216 bits e possui barrade dados com tamanho de 16 bits, qual o tamanho mínimo do REM e do RDM? (Considereque a barra de dado tem o tamanho de uma palavra)

(a). 8 e 12

(b). 8 e 16

(c). 12 e 8

(d). 12 e 12

(e). 12 e 16

Solução:

Memória é um termo genérico usado para designar as partes do computador ou dos dispo-sitivos periféricos onde os dados e programas são armazenados. A memória do computadorpode ser dividida em duas categorias:

• principal: de acesso mais rápido, mas de capacidade mais restrita. Armazena in-formações temporariamente durante um processamento realizado pela UCP (UnidadeCentral de Processamento);

• secundária: de acesso mais lento, mas de capacidade bem maior. Armazena grandeconjunto de dados que a memória principal não suporta.

A comunicação entre MP (Memória Principal) e UCP usa dois registradores da UCP cha-mados de REM (Registrador de Endereços de Memória) ou, em inglês, MAR (MemoryAddress Register), bem o como o RDM (Registrador de Dados da Memória) ou, em inglês,MBR (Memory Bu�er Register).

O REM armazena temporariamente o endereço de acesso a uma posição de memória aose iniciar a operação de leitura ou escrita. Em seguida, o endereço é encaminhado à áreade controle da MP para decodi�cação e localização da célula desejada. Possui a mesmaquantidade de bits do barramento de endereços e deve ser su�ciente para endereçar todaa memória principal. Já o RDM armazena temporariamente a informação que está sendotransferida da MP para a UCP (leitura) ou da UCP para MP (escrita). Possui a mesmaquantidade de bits do barramento de dados e deve ter espaço su�ciente para armazenar, nomínimo, uma palavra.

Já que o tamanho total da memória principal é de 216 bits e cada palavra possui 16 bits, poiso tamanho da palavra é o mesmo da barra de dado, haverá, no total, 216/16 = 212 palavraspara serem endereçadas pelo REM. Logo, basta que o REM tenha 12 bits para realizar asua tarefa de endereçamento. O RDM deve possuir 16 bits, pois, em geral, possui o mesmotamanho do barramento de dados. Portanto, a alternativa correta é a letra (E).

Página 10 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

5. Assuntos relacionados: Arquitetura de Computadores, Modelo de von Neumann, Modos

de Endereçamento de Memória, Aritmética Computacional,Banca: CespeInstituição: ANACCargo: Analista Administrativo - Tecnologia da Informação

Ano: 2009Questão: 31�35

O primeiro computador eletrônico e digital construído no mundo para emprego geral, de-nominado ENIAC (electronic numerical integrator and computer), foi projetado por JohnMauchly e John P. Eckert, de 1943 a 1946. Daí em diante, a arquitetura dos computadorestem mudado constantemente. Em relação aos componentes funcionais (hardware) de umcomputador, julgue os itens a seguir.

31 Se um computador é de 16 bits e outro é de 32 bits, signi�ca que esses computadoresadotam células de memória com tamanho de 16 e 32 bits, respectivamente.

32 Ao se projetar um computador sequencial, seguindo o modelo de von Neumann, é fun-damental adotar um processador no qual o tamanho em bits do contador de instruçãoseja igual ao tamanho do registrador de dados da memória.

33 Considerando que, em um computador, as instruções M e N possuam um código deoperação e um operando, que a instrução M acesse a memória principal no modoindireto e a instrução N acesse a memória principal no modo base mais deslocamento,é correto a�rmar que a instrução N fará menos ciclo de memória que a instrução Mpara completar o seu ciclo de instrução.

34 Para se representar o número decimal 524.288 em binário, são necessários 19 bits.

35 Na área de arquitetura de computadores, o espaço de endereçamento determina a ca-pacidade de um processador acessar um número máximo de células da memória, entãoum processador que manipula endereços de E bits é capaz de acessar, no máximo, E2

células de memória.

Solução:

31 ERRADO

Há várias formas de se medir a capacidade computacional de um computador. Épossível medir sua taxa de processamento em micro-instruções; quantidade de micro-instruções processadas em paralelo � pipeline; quantidade de memória passível de ende-reçamento; entre tantas outras. O comércio adotou a quantidade de bits da palavra doprocessador como uma das medidas padrão, de forma a aumentar as vendas baseando-seem números maiores. Assim, quando nos referenciamos a um computador pela quan-tidade de bits � seja ela 16, 32 ou 64 � estamos tratando do tamanho de sua palavra,ou seja, a quantidade de bits que seus registradores de dados armazenam.

A palavra é a unidade de dado que o processador trabalha por padrão. Todas astarefas executadas por um programa em alto-nível são traduzidas para instruções denível de máquina. Estas instruções, bem como os dados com que elas trabalham, sãoconvertidas para expressões numéricas de forma que o processador possa reconhecê-lase executá-las e armazenadas na memória quando o programa é carregado.

Página 11 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Processadores de 16 bits buscam, a cada nova instrução, no mínimo1 16 bits na memó-ria principal para trazerem para seus registradores e executá-la. Os registradores dessetipo de processador armazenam no máximo 16 bits. Entretanto, o projeto de arquite-tura de um processador especí�co pode permitir que os registradores sejam acessadosem partes.

Por exemplo, os processadores X86, da Intel, possuíam instruções que faziam refe-rência aos registradores de dados inteiros e outras que trabalhavam apenas com a partealta ou baixa dos mesmos registradores:

MOV @10, AX: mover o conteúdo da posição de memória @10 para oregistrador AX;

MOV @11, AL: mover o conteúdo da posição de memória @11 para o re-gistrador AL, que é a parte baixa do registrador AX.

Repare que estas instruções prevêem quantidades de bits a serem buscadas na me-mória diferentes. A primeira faz com que o processador busque, por exemplo, 16 bitsda memória. Essa busca não tem referência direta com o projeto de memória nem debarramento! Se o processador estiver trabalhando com barramento de 8 bits (e tiversuporte para isso, claro) ele mesmo se encarregará de realizar duas buscas no barra-mento para conseguir realizar a instrução MOV @10, AX completamente, trazendo os16 bits necessários (8 no primeiro acesso ao barramento; outros 8 no segundo).

Diante disso, concluímos que a classi�cação de quantidade de bits em nada se rela-ciona com o projeto da memória e sim determina o tamanho dos registradores doprocessador que o computador utiliza.

32 ERRADO

Para introduzir os conceitos envolvidos nesta questão, vamos relembrar as premissasbásicas das máquinas baseadas no modelo de von Neumann:

� tanto os dados quanto as instruções são armazenados em uma memória que é únicae permita leitura e escrita;

� o conteúdo da memória (dado ou instrução) é sempre endereçado pela sua posiçãona memória;

� as instruções são executadas em sequência (exceto quando a sequencia é explicita-mente alterada entre uma instrução e a seguinte).

Os processadores modernos baseados nas máquinas de von Neumann funcionam sobum ciclo bem simples que se repete até a instrução de �m do programa (HALT). Vejaum exemplo na Figura 1.

Apesar do conceito básico da máquina de von Neumann prever uma memória única, osprocessadores utilizam registradores internos para carregar a instrução e os operandosenvolvidos antes de literalmente executar a instrução.

1No caso de instruções maiores que 16 bits, geralmente as que possuem muitos operandos, o processador asreconhece na primeira palavra e carrega o restante de seu código para outros registradores até que seja possívelexecutá-la.

Página 12 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Figura 1: funcionamento baseado em máquina de von Neumann.

Existem vários registradores envolvidos no controle de execução e na guarda temporáriados operandos. A questão atual trata de 2 deles:

� o contador de instrução � IC (em inglês program Counter � PC) armazena o en-dereço da próxima instrução a ser buscada na memória;

� o registrador de dados da memória, recebe os dados dos operandos que estão namemória para que a instrução seja executada.

Como podemos perceber, é importante que o IC tenha o mesmo número de bits que o es-paço de endereçamento deste processador. E mais: não há nenhum vínculo obrigatórioentre as quantidades de bits do espaço de endereçamento e da palavra do computador.Logo, o contador de instrução não precisa ter relação alguma com o(s) registrador(es)de dados.

Isto pode ser veri�cado até historicamente: bem no início da micro-informática, asmemórias principais eram muito caras, e por isso, escassas. Entretanto, a necessidadede cálculos mais precisos tornava obrigatório o aumento da palavra dos novos proces-sadores. Para viabilizar este incremento computacional sem aumentar muito os custosdos processadores, os fabricantes decidiram por alterar apenas o tamanho da palavra doprocessador e manter ou alterar de forma desproporcional o espaço de endereçamento.Este é o caso inclusive dos processadores atuais. Temos máquinas com palavras de 64bits que, no entanto, possuem espaço de endereçamento restrito a apenas 4 GB, o quese traduz num espaço de endereçamento de apenas 33 bits.

33 CERTO

Para entendermos essa questão devemos, inicialmente, rever as formas de endereça-mento de operandos pelas instruções dos processadores.

Na computação atual, os programas são desenvolvidos em linguagens de alto nível,ou seja, aquelas que são facilmente entendidas pelos humanos. Estas linguagens pos-suem estruturas de dados complexas e uma semântica poderosa, o que permite que umsimples comando gere o resultado esperado. Entretanto, os processadores são capazesde interpretar apenas comandos simples e com poucos operandos. Para que um pro-grama escrito em uma linguagem de alto nível seja executável por um processador depropósito geral é necessário que esta seja traduzida para uma sequência de operações(instruções) de processador. O mesmo ocorre com os dados, que são traduzidos deforma a serem manipulados por essas operações.

As operações que o processador dispõe, como já explicado, são bastante simples, con-sistindo em somas de 2 ou 3 operandos, troca de dados de uma posição de memóriapara outra ou para registradores etc. A forma como essas operações se referem a seusoperandos é conhecida como modo de endereçamento de operandos. Para entendermos

Página 13 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

as diferenças entre os modos de endereçamento, precisamos conhecer o formato dasinstruções.

Após a compilação do programa de auto nível, um código de máquina executável égerado. Esse código é uma sequência de instruções seguidas ou não de seus operan-dos. Ao ser carregado na memória, o programa é alocado em uma determinada regiãode forma contígua e sua primeira instrução é carregada no registrador de instrução �RI (em inglês, instruction register � IR). Toda instrução terá, no mínimo, o tamanhoda palavra do processador em questão. Isso não quer dizer que sempre todos os seusbits serão ativos, podendo haver operações que não utilizem todos os bits, assim comooutras que precisem de mais de uma palavra para fornecerem todas as informaçõesnecessárias para sua execução.

OpCode Operando / end. operando / lixo (trailing bits)

Tabela 2: ilustração de estrutura de uma operação.

Na Tabela 2, vemos a estrutura de uma operação. O retângulo completo representauma palavra. A parte de OpCode é formada por n bits (n depende da arquitetura doprocessador) é o identi�cador da operação que será executada. O restante dos bits dapalavra conterá, dependendo da operação que será executada, o operando em si, umendereço onde encontrá-lo � seja em outro endereço de memória ou outro registrador -ou simplesmente lixo que não será utilizado na execução.

Entendida essa estrutura, podemos estudar as formas de endereçamento em si:

� IMEDIATO: O valor a ser utilizado pela operação vem junto com a mesma. Osbits após o OpCode contém o valor do operando;

� DIRETO: Um endereço de memória onde o valor do operando está vem de�nidonos bits após o OpCode. Para executar a operação o processador precisa ir àmemória para buscar o valor contido na posição indicada nos trailing bits;

� INDIRETO: Os trailing bits indicam uma posição de memória. Nesta posiçãoestá guardada outra posição de memória que realmente contém o valor a ser uti-lizado na operação. A diferença entre este método e o direto é que o espaço deendereçamento deste é igual a 2n, onde n é o tamanho da palavra. Isso se deveao fato do endereço real do operando estar guardado na memória em uma posiçãointeira, sem descontar os bits do OpCode, como ocorre no modo direto. Nestemodo, o processador precisa ir 2 vezes à memória antes de executar a operação:na primeira, busca o endereço do operando; na segunda, o operando em si;

� REGISTRADOR: Neste modo de endereçamento os bits �nais da operação indi-cam um outro registrador (geralmente de uso geral) do processador onde o valor dooperando está armazenado. A operação é feita diretamente, sem acesso à memória,pois os dados já estão carregados nos registradores envolvidos;

� REGISTRADOR INDIRETO: os trailing bits indicam um registrador. Neste,há um endereço de memória principal onde está de fato o valor do operando. Comoo endereço está em um registrador, apenas um acesso é feito à memória para seobter o valor do operando e executar a instrução;

� DESLOCAMENTO (ou INDEXADO): os trailing bits trazem um desloca-mento em relação a um endereço pré-carregado em algum dos registradores doprocessador. Há instruções que utilizam mecanismos default de indexação, ondea base (registrador que contém o endereço de início do deslocamento) é sempre

Página 14 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

obtida do mesmo registrador, sendo implícita na operação e outras em que a baseé explicitamente informada. Assim, o endereço onde o valor do operando estáé calculado no próprio processador, e apenas um acesso é feito à memória, parabuscar o valor do operando;

� PILHA: os operandos são implicitamente pegos da região de pilha do programa.Cada operando necessitará de um acesso á memória para permitir a execução dainstrução.

Como foi sinalizado nos métodos acima, o método indireto necessita de 2 acessos à me-mória contra apenas 1 do indexado. Assim, chegamos à conclusão de que a a�rmativada questão é verdadeira.

34 ERRADO

Há duas formas de resolver esta questão. A primeira é fazer a aproximação peloslimites de representação a cada aumento de 1 dígito na base 2 até chegarmos a umnúmero maior do que o que queremos representar. Nesse ponto, teremos a quantidadenecessária de bits para representá-lo. A segunda é mais taxativa e baseia-se em realizara transformação da base 10 para a base 2 utilizando fatorações sucessivas do número everi�car quantos dígitos são necessários na base 2 para representá-lo.

A primeira abordagem é a mais indicada para empregarmos numa prova de concurso,onde o tempo é escasso. Ela funciona da seguinte maneira:

� pegamos a menor representação na base 2, ou seja, 1 bit, e veri�camos qual o maiornúmero que podemos escrever com ela. Enquanto esse número for menor ou igualdo que o que pretendemos escrever:

∗ aumentamos a representação em 1 bit.

O número obtido dos passos acima terá a quantidade de bits necessária para escrevermoso número em questão. Esse é o processo padrão. Entretanto, podemos pegar algunsatalhos para diminuir as contas que teremos que fazer. Por exemplo, sabemos que 210= 1024. Podemos iniciar nossos cálculos a partir daí, visto que esse número é menordo que o pesquisado, no caso, 524.288. Seguindo os cálculos:

� 211 = 2048

� 212 = 4096

� 213 = 8192

� 214 = 16384

� 215 = 32768

� 216 = 65536

� 217 = 131072

� 218 = 262144

� 219 = 524288

Pelas contas acima, vemos que são necessários 20 bits para escrevermos o número de-sejado. É importante entender que, apesar de 19 bits permitirem expressar 524288números diferentes, essa numeração inicia com o zero. Portanto, o maior número quepodemos escrever com 19 bits é (524288 � 1) e o menor, 0.

A segunda abordagem é mais demorada e, como envolve muitos cálculos, é mais pas-sível de erros. Não é recomendada para se fazer durante uma prova. Entretanto, para

Página 15 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

entendermos o raciocínio, a apresentaremos. Esse outro método também é conhecidocomo divisões sucessivas, e consiste em dividirmos o número original pela base de des-tino, no caso 2, sucessivamente, até obtermos um quociente menor do que a base. Esseúltimo resultado também será dividido uma última vez. Os restos das divisões, lidosda última divisão para a primeira, darão a representação do número na base de destino.

Vejamos no exemplo como isso é feito:

Figura 2: exemplo de divisões sucessivas.

Feita a leitura da forma correta, teremos que a representação de 524288 na base 2 é10000000000000000000. Este número possui 20 bits. Logo, a quantidade de bits neces-sária para escrevê-lo, obviamente, é 20.

35 ERRADO

O espaço de endereçamento, conforme o enunciado informa, é a quantidade de cé-lulas de memória que o processador é capaz de acessar. Esse limite é calculado baseadona quantidade de linhas de endereçamento disponíveis. Cada linha corresponde a 1 bitde endereçamento.

A base 2 é adotada nos computadores por serem equipamentos eletrônicos. Eles utili-zam a variação de voltagem para representar os números. Porém, para evitar problemascom o sinal recebido das fornecedoras de energia elétrica, foi escolhido utilizar apenasduas representações possíveis: componente carregado, quando sua voltagem é maiordo que zero � representado pelo bit com valor 1; componente descarregado, quandosua voltagem é nula � representado pelo bit com valor 0. Assim, a base que as CPUsutilizam é 2.

Quando o processador precisa acessar um determinado endereço de memória, ele �es-creve� nas linhas de endereçamento a posição que deseja acessar. Essa posição é nu-mérica, e é traduzida para a base 2. O número na base 2 é utilizado para carregar oudescarregar cada uma das linhas, indicando para a placa-mãe qual a célula que se deseja.

Pela natureza da base 2, sabemos que cada algarismo pode representar apenas 2 nú-meros: 0 ou 1. Além disso, é preciso lembrar como funciona a concatenação de valores

Página 16 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

da base 10 para entendermos o sistema de contagem na base 2 por analogia.

Na base 10, temos:

Ou seja, a cada posição para a esquerda que se ande, está se representado um múltiploda base elevado à potência relativa à posição ocupada pelo algarismo � 1.

Também conclui-se da observação da �gura acima que conseguimos representar 10Nnúmeros na base 10 quando N for o limite de algarismos disponíveis. Por exemplo, seutilizarmos 3 posições para representação, XXX, a maior quantidade de números quepodemos representar é 1000 ou 103, onde 3 é a quantidade de dígitos disponíveis pararepresentação e 10 é a base em que estamos trabalhando.

Utilizando os conceitos acima para resolver a questão, vemos que o processador mencio-nado possui E linhas de endereçamento. Isso quer dizer que este processador possui N =E bits (algarismos) disponíveis para �escrevermos� a posição da memória que queremosacessar. Logo, a quantidade máxima de posições que serão acessíveis é 2E .

Página 17 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

6. Assuntos relacionados: Arquitetura de Computadores,Banca: FCCInstituição: MPU

Cargo: Analista de Desenvolvimento de Sistemas

Ano: 2007Questão: 37

A família de instruções de desvio, JUMP ou BRANCH, no repertório de uma máquina,pertence à categoria de instruções

(a). condicionais.

(b). de aritmética/lógica.

(c). de transferência de dados.

(d). imperativas.

(e). de controle.

Solução:

O conjunto de instruções (instruction set) de um computador de�ne quais são as instruçõesque o processador é capaz de decodi�car e executar. Cada processador tem de�nido o seuconjunto de instruções.

As instruções utilizadas pela maioria das arquiteturas de computadores podem ser clas-si�cadas da seguinte maneira:

• Aritmético e Lógico: aritmética de inteiros e operações lógicas: ADD, SUB, AND,OR;

• Transferência de dados: transferência de dados entre memória e registradores: Load,Store;

• Controle: branchs, jumps, chamada e retorno de procedimento, traps;

• Sistema: chamadas do sistema operacional, instruções de gerenciamento da memóriavirtual;

• Ponto �utuante: operações de ponto �utuante: ADD, MULTIPLY;

• Decimal: soma e multiplicação decimal, conversão de decimais para caracteres;

• String: comparação, busca, cópias de strings;

• Grá�co: operações de pixel, de compressão e de descompressão.

Concluímos, então, que a alternativa a ser marcada é a letra (E).

Analisando esse conjunto de instruções mais a fundo, sabemos que as instruções de con-trole ou �uxo de controle podem se distinguir em quatro tipos diferentes:

• branch (condicional);

• jump (incondicional);

• chamada de procedimentos;

• retorno de procedimentos.

O endereço de destino de uma instrução de controle de �uxo sempre deve ser especi�cado. Namaioria dos casos, o destino é especi�cado explicitamente na instrução. A exceção principalé o retorno de um procedimento, pois o retorno não é conhecido em tempo de compilação.

Página 18 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

7. Assuntos relacionados: Arquitetura de Processadores, Arquitetura RISC, ArquiteturaCISC, Pipelining, Endereçamento de Memória,Banca: CesgranrioInstituição: IBGECargo: Analista de Sistemas - Suporte

Ano: 2010Questão: 56

Durante uma apresentação das arquiteturas RISC e CISC, um analista fez as a�rmativas aseguir.

I � O pipelining é uma técnica utilizada em arquiteturas RISC pela qual várias instruçõessão sobrepostas na execução, tirando proveito do paralelismo que existe entre as açõesnecessárias para executar uma instrução.

II � Em uma arquitetura RISC, todas as operações sobre dados se aplicam a dados emregistradores, sendo que as únicas operações que afetam a memória são as operaçõesde carga e armazenamento que movem dados da memória para um registrador ou deum registrador para a memória, respectivamente.

III � A arquitetura MIPS é uma arquitetura CISC que apresenta uma série de registradoresde uso geral, além de ser caracterizada por apresentar uma operação elementar por ciclode máquina.

Está(ão) correta(s) a(s) a�rmativa(s)

(a). I, apenas.

(b). II, apenas.

(c). III, apenas.

(d). I e II, apenas.

(e). I, II e III.

Solução:

Sobre o Item I

O pipelining é uma técnica em que o hardware processa mais de uma instrução de cadavez. Ele não espera o término de uma instrução para executar outra. Em uma máquinaCISC (Complex Instruction Set Computer - Computador com um Conjunto Complexo deInstruções) típica, temos, basicamente, quatro fases para a execução: busca, decodi�cação,execução e escrita. Em uma máquina RISC (Reduced Instruction Set Computer - Computa-dor com um Conjunto Reduzido de Instruções), temos as mesmas fases, só que executadasem paralelo, de maneira idêntica a uma linha de montagem industrial. Numa linha de mon-tagem, a produção é dividida em uma sequência de operações onde cada uma delas podeser executada simultaneamente por diferentes unidades de produção. Quando uma unidadede produção termina a sua tarefa, ela imediatamente envia o resultado do seu trabalho paraa próxima unidade na estrutura da linha de montagem e recebe o resultado da unidadeanterior para iniciar uma nova tarefa. Este processo torna possível iniciar a produção de umnovo produto antes do término da produção do produto atual. Isto é a essência do �pipeline�.

Suponha que a execução de uma instrução envolva 4 etapas:

1. busca da instrução (Fetch);

Página 19 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

2. decodi�cação da instrução (Decode);

3. execução da instrução (Execute);

4. escrita de operando (Writeback).

Cada uma dessas etapas é executada por circuitos próprios, numa espécie de linha de mon-tagem (pipelining). A Tabela 3 exempli�ca o funcionamento deste pipelining hipotético.

Estágio C1 C2 C3 C4 C5 C6Busca da instrução I1 I2 I3 I4 I5 I6Decodi�cação da instrução I1 I2 I3 I4 I5Execução da instrução I1 I2 I3 I4Escrita do operando I1 I2 I3

Tabela 3: pipelining.

No ciclo 1 (C1), a instrução 1 (I1) é buscada. No ciclo 2 (C2), a instrução 2 (I2) é buscadae I1 é decodi�cada. No ciclo 3 (C3), a instrução 3 (I3) é buscada, I2 é decodi�cada e I1 éexecutada. No ciclo 4 (C4), a instrução 4 (I4) é buscada, I3 é decodi�cada, e I2 é executadae I1 escreve os valores do operando no Banco de Registrador. Note que, a partir do ciclo 4,teremos um throughput igual a uma instrução por ciclo.

Portanto, o item I está correto.

Sobre o Item II

A maioria das instruções RISC envolve endereçamento por registrador, sem acesso à memó-ria. Portanto as instruções são executadas em um ciclo. Contudo, nos deparamos com aseguinte pergunta: como os valores são carregados nos registradores ou descarregados dosmesmos? A reposta é simples, há duas instruções que acessam a memória:

• Load: carrega o dado da memória para o registrador;

• Store: armazena o dado do registrador na memória.

Enquanto que nas arquiteturas RISC a regra é a alocação a registradores, as arquiteturasCISC, por disporem de um menor número de registradores, alocam variáveis escalares emposições de memória. Devido a isto, há uma grande riqueza na especi�cação de modos deendereçamento em processadores CISC:

• imediato;

• direto;

• indireto;

• registrador;

• indireto via registrador;

• deslocamento;

• pilha;

Portanto, este item também está correto.

Página 20 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Sobre o Item III

MIPS, acrônimo para Microprocessor without Interlocked Pipeline Stages (Microprocessadorsem estágios interligados de pipeline), é uma arquitetura de processadores RISC desenvol-vida pela MIPS Computer Systems em 1984. O conceito básico era aumentar o desempenhocom o uso profundo de pipelines (leia-se, maior número de estágios) para as instruções.

Quando o MIPS estava sendo desenvolvido, quatro regras foram de�nidas para guiar oprojeto. Elas são a �loso�a do MIPS:

• a simplicidade favorece a regularidade;

• o menor é (quase sempre) mais rápido;

• um bom projeto demanda compromissos;

• O caso comum deve ser mais rápido (regra baseada na �Lei de Amdahl�).

Pela sua elegância e simplicidade, processadores MIPS são bastante usados em cursos dearquiteturas de muitas universidades. Ele é considerado um processador bastante didático.

Portanto, o item está errado.

Concluímos, assim, que a alternativa D está correta.

Página 21 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

8. Assuntos relacionados: Arquitetura de Computadores, Tipos de Memória, Memória Vir-

tual,Banca: CesgranrioInstituição: IBGECargo: Analista de Sistemas - Suporte

Ano: 2010Questão: 57

Em arquiteturas RISC, a �gura acima é utilizada para representar um(a)

(a). ALU.

(b). Registrador.

(c). Memória.

(d). LRU.

(e). TLB.

Solução:

(A) CORRETA

A Figura em V acima é adotada em livros de Arquiteturas de Computador para repre-sentar a ULA (Unidade Lógica Aritmética) ou, em inglês, ALU (Aritmetc Logical Unit).Neste hardware são realizadas operação lógicas bit a bit (AND, OR, XOR, NOT), operaçõesde deslocamento de bit à esquerda (�) e à direita (�), comparações (<, >, =), além, é claro,de operações aritméticas com números inteiros (soma, subtração, multiplicação e divisão).

(B) ERRADA

Um processador contém frequentemente vários tipos de registradores, que podem ser classi-�cados de acordo com o conteúdo ou de acordo com as instruções que operam sobre eles:

• Registradores de dados: são usados para armazenar valores numéricos (inteiro ouponto �utuante);

• Registradores de endereços: armazenam endereços e são usados por instruções queacessam diretamente a memória;

• Registradores condicionais: armazenam valores que são utilizados para determinarse alguma instrução deve ou não ser executada;

• Registradores de uso geral: podem armazenar ambos dados e endereços;

• Registradores de ponto �utuante;

• Registradores de constante: armazenam valores que só podem serem lidos, como0, 1, PI;

• Registradores de vetor: armazena dados para processamento vetorial realizado porinstruções SIMD (Single Instruction, Multiple Data - Única Instrução, Múltiplos Da-dos);

Página 22 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

• Registradores de propósito: armazenam o estado do programa; incluindo o con-tador do programa (também chamado de ponteiro de instrução), ponteiro para pilhaentre outros.

A título de curiosidade, saiba que todo processador possui, pelo menos, um Banco de Re-gistrador (Register File) que contém um determinado número de registradores (depende daarquitetura) e é utilizado para armazenar valores que são pertinentes ao estado corrente deexecução do programa. Trata-se de uma memória muita rápida e cara, do tipo SRAM (StaticRandom Access Memory), que as instruções utilizam para ler e/ou escrever um determinadoconteúdo (são os registradores de dados mencionados acima).

A�nal, por que utilizar um Banco de Registrador? Bom, sabemos que uma propriedade co-mum dos programas é a localidade: os mesmos valores são repetidamente acessados; manterestes valores frequentemente utilizados em registradores melhora o desempenho de execuçãodo programa.

A Tabela 4 mostra o número de registradores de algumas arquiteturas:

Arquitetura Registrados Inteiros Registrados de Ponto FlutuanteX86 8 8x86-64 16 16Itanium4 128 128Power 32 32

Tabela 4: registradores em arquiteturas comerciais.

O tamanho do registrador depende da arquitetura (pode possuir, 16, 32 e até 64 bits) e érepresentado por um retângulo na literatura.

(C) ERRADA

Memória de acesso aleatório � RAM (do inglês Random Access Memory) é um tipo dememória que permite a leitura e a escrita, utilizada como memória primária em sistemaseletrônicos digitais. Recebe este nome por permitir que qualquer posição possa ser acessadaa qualquer momento (diferentemente do acesso sequencial presente em alguns dispositivosde armazenamento). Trata-se de uma memória volátil, isto é, todo o seu conteúdo é perdidoquando a alimentação da memória é desligada.

Na realidade, existem outras memórias de acesso aleatório nos computadores, inclusive nãovoláteis (memórias ROMs, por exemplo), portanto, é importante ter o conhecimento de queo nome RAM é apenas uma popularização do nome da memória principal dos computadores.

Dentro das memórias RAM existem dois subtipos de memória:

• DRAM (Dynamic RAM ou RAM Dinâmica): necessitam que os seus dados sejamfrequentemente recarregados (atualizados) por uma bateria, caso contrário, a célulasde memória �perdem� o estado;

• SRAM (Static RAM ou RAM Estática): aquelas que não necessitam de recargada.

A capacidade de uma memória é medida em Bytes, Kilobytes (1 KB = 1024 ou 210 Bytes),Megabytes (1 MB = 1024 KB ou 220 Bytes) ou Gigabytes (1 GB = 1024 MB ou 230 Bytes).

Página 23 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

A velocidade de funcionamento de uma memória é medida em Hz ou MHz. Este valor estárelacionado com a quantidade de blocos de dados que podem ser transferidos durante umsegundo. Existem, no entanto, algumas memórias RAM que podem efetuar duas trans-ferências de dados no mesmo ciclo de clock (as memórias DDRs têm esta característica),duplicando a taxa de transferência de informação para a mesma frequência de trabalho.Além disso, a colocação das memórias em paralelo (propriedade da arquitetura de certossistemas) permite multiplicar a velocidade aparente da memória.

(D) ERRADA

Na verdade, LRU (Least Recently Used � Menos Recentemente Utilizado) é um algoritmode substituição de blocos muito adotado pelos processadores do mercado. Com bem sabe-mos, todo processador possui uma hierarquia de memória, composta por memórias cachesde nível 1 (L1), nível 2 (L2) e, recentemente, nível 3 (L3). Por mais que a capacidade dearmazenamento de tais caches aumente ao longo dos anos, sempre existirá uma demandamuita maior por dados (programas maiores, jogos mais �pesados�, programas executandoconcorrentemente, isto é, disputando recursos). Em vista disso, a memória cache tem queescolher o bloco de dados que deverá permanecer na mesma.

Considere uma cache L1 que possua apenas uma linha (um set) e possua dois blocos porlinha (cache com associatividade igual a 2, ou 2-way), onde cada bloco possui um campoque armazena o instante (ciclo de clock) em que foi acessado (requisitado) pelo processador.

Suponha que estes dois blocos estejam �ocupados� com dados válidos e que um deles acaboude ser requisitado (leitura ou escrita) pelo processador e que o outro foi acessado há muitosciclos atrás. Num instante posterior, este mesmo processador passa a requerer uma dadoque não se encontra na cache (dizemos que ocorreu um miss), forçando-o a buscar o dadonos níveis mais baixos da hierarquia de memória. Quando o bloco que contém o dado deinteresse é recuperado, o mesmo deve ser inserido na cache L1, para tanto um dos dois blocosexistentes deverá ser expulso (evicted). É neste instante que o algoritmo LRU entra em ação.

O algoritmo LRU baseia-se no princípio da localidade temporal para escolher o bloco quedeve ser despeja da cache: uma dado que foi acessado recentemente tende a ser acessadonovamente num futuro próximo; e mantendo este dado na cache melhorará o desempenhodo programa. Resumindo, o algoritmo LRU despejará o bloco que foi menos recentementeutilizado (acessado).

(E) ERRADA

Como sabemos, a memória principal disponível em um computador é, em geral, bem menordo que o tamanho máximo de memória permitido pelo processador. Para contornar esta li-mitação, foi criado o sistema de memória virtual que permite a execução de programas cujasexigências quanto ao tamanho da memória sejam maiores do que a capacidade de memóriainstalada no sistema.

Em um sistema sem memória virtual, o endereço gerado pelo programa em execução éo próprio endereço usado para acessar a memória principal. O mesmo não acontece em umsistema com memória virtual. O endereço gerado pelo programa, ou endereço virtual, é dife-rente do endereço real (também chamado de endereço físico) usado para acessar a memóriaprincipal.

Página 24 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Sob o ponto de vista de um programa, a memória disponível é aquela representada peloespaço de endereçamento virtual. O espaço de endereçamento virtual visto e utilizado peloprograma pode ser bem maior do que o espaço de endereçamento real. Efetivamente re-tirando do programa as limitações impostas pela capacidade da memória física de fatoexistente no sistema. É importante perceber que o espaço de endereçamento virtual é umaabstração. Embora sob o ponto de vista do programa as instruções e dados estejam armaze-nados dentro do espaço de endereçamento virtual na realidade eles continuam armazenadosna memória principal, representada pelo espaço de endereçamento real.

Esta distinção entre endereços e espaços de endereçamento exige um mecanismo que faça acorrespondência entre o endereço virtual gerado pelo programa e o endereço real que é usadopara acessar a memória principal. Além disso, a técnica de memória virtual permite que asinstruções e os dados do programa que se encontram no espaço virtual, não estejam presentesna memória principal no momento em que são referenciados. Assim, além do mapeamentoanteriormente mencionado, é necessário um mecanismo para o carregamento automático namemória principal das instruções e dados que são referenciados pelo programa dentro da suamemória virtual e que não se encontram presentes na memória física.

Para realizar o mapeamento, utiliza-se uma tabela de mapeamento localizada na memó-ria principal. A tabela de mapeamento permanece na memória principal durante a execu-ção do programa. Ao receber um endereço virtual, a MMU (Memory Management Unit

� Unidade de Gerenciamento de Memória) usa este endereço para indexar a tabela de ma-peamento. A entrada indexada contém o endereço físico correspondente ao endereço virtual.

Na realidade, o mapeamento não é feito no nível de cada locação de memória, pois istoexigiria uma tabela de mapeamento com um número de entradas igual ao tamanho do es-paço de endereçamento virtual. Para manter um tamanho de tabela aceitável o mapeamentoé feito no nível de blocos (o espaço de endereçamento virtual é logicamente dividido em blo-cos ou páginas, que são mapeados para o espaço de endereçamento físico pela MMU).

Observe que neste mecanismo de mapeamento, para cada referência à memória realizadapelo programa é necessário um acesso adicional para consultar a tabela de mapeamento.Neste esquema o número de acessos à memória principal durante a execução de um pro-grama seria duplicado, comprometendo seriamente o desempenho. Para solucionar esteproblema, a MMU possui internamente uma pequena memória, denominada TLB (Trans-lation Lookaside Bu�er). A TLB age como uma memória cache (na verdade é mais rápidado que as caches convencionais), armazenando os pares (bits de mais alta ordem do ende-reço virtual, bits de mais alta ordem do endereço físico) que foram usados nos acessos maisrecentes. Note que os bits de mais baixa ordem (page o�set) são preservados.

Uma operação de mapeamento com a TLB ocorre, então, da seguinte forma. A MMU�procura� os bits de mais alta ordem do endereço virtual nas entradas da TLB. Caso acon-teça um TLB hit (acerto), a MMU obtém os bits de mais alta ordem do endereço físicocorrespondente a partir da TLB. Neste caso, o mapeamento não acrescenta nenhum retardosigni�cativo ao acesso. Caso aconteça um TLB miss (falta), a MMU consulta a tabela demapeamento na memória para realizar o mapeamento, armazenando, ao �nal, o par (bits demais alta ordem do endereço virtual, bits de mais alta ordem do endereço físico) na TLB. Naprática, a maioria dos mapeamentos é satisfeita pela TLB. Isto acontece devido ao princípioda localidade temporal e espacial, e cada mapeamento poderá ser completado rapidamente.

Página 25 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

9. Assuntos relacionados: Arquitetura de Computadores, Arquitetura RISC, ArquiteturaCISC, Pipelining,Banca: ESAFInstituição: Superintendência de Seguros Privados (SUSEP)

Cargo: Analista Técnico da SUSEP - Tecnologia da Informação

Ano: 2010Questão: 12

Em uma Arquitetura RISC

(a). há poucos registradores.

(b). há pouco uso da técnica pipelining.

(c). as instruções possuem diversos formatos.

(d). as instruções são realizadas por microcódigo.

(e). as instruções utilizam poucos ciclos de máquina.

Solução:

Arquiteturas de computadores de conjunto de instruções reduzidos (RISC) possuem as se-guintes características principais:

• todas as operações em dados são aplicadas a dados em registradores e, normalmente,mudam o estado de todo o registrador;

• as únicas instruções que alteram a memória são instruções de load e store, que mo-vem os dados da memória para um registrador e de um registrador para a memória,respectivamente;

• há poucos formatos de instruções e todas as instruções tipicamente possuem o mesmotamanho. O código que identi�ca as operações, opcode costuma possuir o mesmotamanho, o que simpli�ca a etapa de decodi�cação da instrução.

Uma consequência dessa característica é que a implementação de pipelining é simpli�cadadrasticamente, um dos motivos pelos quais essa arquitetura foi projetada dessa forma2.Além disso, por possuir uma lógica mais simples, menos transistores serão usados paraimplementá-la, permitindo, originalmente, que o número de registradores e o paralelismointerno dos processadores fosse aumentado. Outra característica das arquiteturas RISC éque, como suas instruções realizam pouco trabalho, as instruções costumam executar empoucos ciclos de máquina, normalmente em um ciclo de memória.

Arquiteturas CISC, predecessoras das arquiteturas RISC, possuem a �loso�a de que de-vem existir instruções poderosas e fáceis de usar, movidos pelo fato de que, no início daevolução da computação, os projetos de hardware eram mais maduros que os projetos decompiladores.

Conhecendo um pouco mais sobre as características da arquitetura RISC, podemos discutiras alternativas desta questão.

2Computer Architecture: A quantitative approach, 4th edition, John L. Hennessy & David A. Patterson.

Página 26 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

A) INCORRETA

Como vimos nas características básicas de arquiteturas RISC, é possível aumentar o nú-mero de registradores quando comparadas a arquiteturas CISC. Considere, por exemplo, asarquiteturas MIPS e do 80386: Enquanto o 80386, arquitetura CISC, possui apenas oito re-gistradores de propósito geral, o MIPS, arquitetura RISC, possui trinta e dois registradoresde propósito geral. Assim, essa alternativa é incorreta.

B) INCORRETA

Como discutido acima, a facilidade de uso de pipelines é uma característica das arquiteturasRISC. O pipelining é facilitado por que, como as instruções são simples e, normalmente,com funções ortogonais, há uma separação clara entre cada estágio das instruções, o quefacilita a criação de pipelines. Portanto, essa alternativa é incorreta.

C) INCORRETA

Conforme previamente discutido, o formato das instruções de uma arquitetura RISC cos-tuma ser regular. Considere, por exemplo, a arquitetura MIPS I. Nela, há três tipos deinstruções: R, I e J. Todas iniciam com um código de identi�cação da operação, opcode, de6 bits. Além do opcode, as instruções do tipo J especi�cam um endereço de 26 bits parasalto para outra posição de memória. As instruções do tipo I, usadas para representar ins-truções de transferência de dados, especi�cam dois registradores e um valor de endereço de16 bits. Esse endereço permite escolher qualquer palavra de memória dentro da faixa entreo endereço constante no registrador-base (campo rs da instrução de tipo I). Já as instruçõesde tipo R, onde R signi�ca que essas instruções operam sobre registradores, possuem cincocampos além do opcode:

• rs: o registrador contendo o primeiro operando;

• rt: o registrador contendo o segundo operando;

• rd: o registrador que armazena o resultado da operação;

• shamt: quantidade de bits que devem ser deslocados;

• funct: uma variação especí�ca da operação apontada no campo de opcode.

A Tabela 5 exibe um sumário das instruções do MIPS. O aspecto importante aqui é que nessaarquitetura todas as instruções possuem 32 bits. Quando contrastada com a arquitetura do80386, que possui instruções com tamanho variando de um a dezessete bytes, vemos que hádiferença de formatos entre arquiteturas RISC e CISC. No entanto, as arquiteturas RISCtendem a possuir menos formatos de instruções que arquiteturas CISC.

Tipo Formato (bits) do mais signi�cativo ao menos signi�cativoR opcode (6) rs (5) rt (5) rd (5) shamt (5) funct (6)I opcode (6) rs (5) rt (5) imediato (16)J opcode (6) endereço (26)

Tabela 5: sumário das instruções do MIPS.

Página 27 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

D) INCORRETA

Microcódigo é uma camada de instruções de hardware usadas na implementação de ins-truções de mais alto nível. As instruções de microcódigo são chamadas micro instruções. Omicrocódigo costuma residir em uma memória especializada de alto desempenho e, quandoinstruções complexas são enviadas ao processador, elas são divididas em micro instruçõesque as implementam. Com o uso de microcódigo, o desenvolvimento da lógica de controledo computador se torna mais simples, já que é possível desenvolver hardware especializadopara implementar as micro instruções e construir as instruções mais complexas em cimadessas.

O uso de microcódigo não é inerente ao desenvolvimento de processadores RISC (ou CISC).E, por isso, essa alternativa é incorreta. No entanto, todos os processadores, desde 1995,que implementam a IA-32 (x86) fazem uso dessa técnica em seus projetos.

E) CORRETA

Conforme apresentado na discussão sobre arquiteturas RISC, essa é, realmente, uma carac-terística dessas arquiteturas: com a redução da complexidade das instruções, elas executamem poucos ciclos de máquina. Sendo esta alternativa considerada correta.

Página 28 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

10. Assuntos relacionados: Sistemas de Enumeração,Banca: FCCInstituição: MPU

Cargo: Analista de Desenvolvimento de Sistemas

Ano: 2007Questão: 31

As representações de números inteiros, positivos e negativos na notação de complemento dedois, bem como os positivos e negativos na notação de excesso, têm os bits de sinal com osrespectivos valores:

(a). 0, 1, 0 e 1

(b). 1, 0, 0 e 1

(c). 0, 1, 1 e 0

(d). 1, 0, 1 e 0

(e). 0, 0, 1 e 1

Solução:

As notações de complemento de dois e de excesso são as mais conhecidas para a representa-ção de números inteiros. Entretanto, a notação de complemento de dois é mais largamenteutilizada na prática.

Na notação de complemento de dois, os valores positivos são formados partindo de umacadeia de 0s e então contando em binário até que o padrão seja formado por um 0 seguidode 1s, formando os números 0, 1, 2... nessa ordem. Já os números negativos, são formadospartindo de uma cadeia de 1s e contando em binário, em ordem decrescente, até que o pa-drão seja formado de um 1 seguido de 0s, formando os números -1, -2, -3... nessa ordem.Nesta notação, o bit mais à esquerda do padrão indica o sinal do valor representado. Essebit é mais conhecido como bit de sinal. Ou seja, na notação de complemento de dois, obit de sinal dos números positivos é 0 e dos números negativos é 1.

Na notação de excesso, o valor zero é representado por um 1 seguido de 0s. Os padrõesque seguem são representados para representar os números positivos 1, 2, 3...; os que prece-dem são utilizados para representar os números negativos -1, -2, -3... Note que os númerospositivos são representados começando com 1 e os números negativos são representados co-meçando com 0.

Na Tabela 6, um quadro comparativo das notações de complemento de dois e de excessopara melhor entendimento de como são representados os números inteiros. Note que a únicadiferença é o bit de sinal.

Já podemos concluir com o que foi apresentado e de acordo com a Tabela 6 que a respostaa ser marcada é a letra C.

Página 29 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Valor Complemento de dois Excesso7 0111 11116 0110 11105 0101 11014 0100 11003 0011 10112 0010 10101 0001 10010 0000 1000-1 1111 0111-2 1110 0110-3 1101 0101-4 1100 0100-5 1011 0011-6 1010 0010-7 1001 0001-8 1000 0000

Tabela 6: notações dos números inteiros.

Página 30 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

11. Assuntos relacionados: Sistemas de Enumeração,Banca: FCCInstituição: MPU

Cargo: Analista de Desenvolvimento de Sistemas

Ano: 2007Questão: 32

O resultado da operação lógica �10101011 XOR 11101100� será:

(a). 10111000

(b). 01000111

(c). 10010111

(d). 11101111

(e). 10101000

Solução:

A operação XOR é também conhecida como ou-exclusivo ou disjunção-exclusiva. A disjun-ção exclusiva de um par de proposições p e q, deve signi�car que p é verdadeiro ou que q éverdadeiro, mas não ambos. A Tabela 7 é a tabela verdade para a operação XOR.

P Q P XOR QV V FV F VF V VF F F

Tabela 7: tabela verdade da operação XOR.

O resultado da operação é feito bit a bit, onde 1 indica verdadeiro é 0 indica falso. Porexemplo, o primeiro bit do primeiro operando (10101011) é 1 e o primeiro bit do segundooperando (11101100) também é 1, logo, pela tabela verdade, concluímos que o primeiro bitdo resultado deve ser 0(falso). A operação é feita entre os segundos bits de cada operandoe assim por diante. O resultado �nal será 01000111, tornando a letra B, a alternativa a sermarcada.

Página 31 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

12. Assuntos relacionados: Assuntos relacionados: Sistemas de Enumeração,Banca: FCCInstituição: MPU

Cargo: Analista de Desenvolvimento de Sistemas

Ano: 2007Questão: 33

O tipo de dados �oat refere-se também aos dados do tipo

(a). caractere.

(b). inteiro.

(c). booleano.

(d). real.

(e). local.

Solução:

A forma de representação de números reais mais utilizada no computador é conhecida comoponto �utuante (�oating point). Não existe sistema de numeração que seja capaz de for-necer uma representação única para cada número real existente. Logo, uma abordagemconsiste em aproximar o número real por um valor x com um erro de no máximo ε. Arepresentação de um número real através de um número com quantidade �xa de casas deci-mais é conhecida como representação de ponto �xo. Entretanto, a representação por ponto�utuante atingiu um sucesso muito maior, pois, por separar a mantissa do expoente (exem-plo: 0.00001 = 0.1×10−5) é capaz de representar números bem pequenos e bastante grandes.

Os tipos de variáveis mais utilizados para representar números reais nas linguagens de pro-gramação são �oat e double, sendo que double possui uma precisão maior. Ambos tiposde variáveis são do tipo ponto �utuante. Em geral, o hardware possui partes especializadaspara representação e cálculos envolvendo essas variáveis.

Até cerca de 1980, cada fabricante de computadores tinha seu próprio formato de ponto �u-tuante, e todos diferentes. Para evitar problemas de interoperabilidade, foi criado um padrãoconhecido como IEEE 754 que normatiza aspectos referentes à representação, às operaçõesnuméricas e aos algoritmos de arredondamento que envolvem os números de ponto �utuante.

Como exposto acima, a alternativa correta é a letra D, pois foi mostrado que o tipo dedados �oat é utilizado para representar números reais.

Página 32 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

13. Assuntos relacionados: Aritmética Computacional, Conversão Numérica,Banca: CesgranrioInstituição: BR Distribuidora

Cargo: Analista de Sistemas - Desenvolvimento

Ano: 2008Questão: 26

Sejam X o número binário 1010010, Y o número octal 121 e Z o número hexadecimal 53.Colocando-os em ordem crescente, tem-se

(a). X, Y, Z

(b). X, Z, Y

(c). Y, X, Z

(d). Y, Z, X

(e). Z, Y, X

Solução:

Para facilitar a resolução da questão podemos passar as representações de binário e octalpara hexadecimal, pois conseguiremos visualizar com mais clareza qual número é maior queo outro.

Para passar da representação binária para hexadecimal, temos que 4 bits representam umnúmero hexadecimal sendo que o conjunto 0000 em binário representa 0 em hexadecimal e1111 representa F. O número X em binário 1010010 tem sua representação em hexa 52.

Para passar o número octal para hexadecimal primeiramente passamos para binário e depoispara hexadecimal. Cada número em octal é representado por 3 bits. A representação donúmero Y em binário é 001010001. Passando o Y em binário para hexadecimal temos queY é 51.

Após as conversões, temos que as representações em hexadecimal são: X = 52, Y = 51e Z = 53. Colocando-os em ordem crescente temos que Y < X < Z. Então, a alternativacorreta é a letra C.

Página 33 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

14. Assuntos relacionados: Lógica,Banca: ESAFInstituição: Receita Federal (RF)

Cargo: Técnico da Receita Federal - Tecnologia da Informação

Ano: 2006Questão: 3

O número inteiro positivo 5487, no sistema decimal, será representado no sistema hexadeci-mal por

(a). CB78

(b). DC89

(c). 156F

(d). F651

(e). 1157

Solução:

O sistema hexadecimal representa os números na base 16, isto é, com o sistema hexadecimalé possível representar 16 símbolos, os quais são: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F.

A Tabela 8 mostra a conversão do entre o sistema decimal e os sistemas binários e he-xadecimal.

Decimal Binário Hexadecimal0 0000 01 0001 12 0010 23 0011 34 0100 45 0101 56 0110 67 0111 78 1000 89 1001 910 1010 A11 1011 B12 1100 C13 1101 D14 1110 E15 1111 F

Tabela 8: conversão do sistema decimal para binário e hexadecimal.

Podemos realizar a conversão do sistema decimal para o sistema hexadecimal pelo métododa divisão repetitiva, ou seja, dividimos o número na representação decimal por 16. Porém,para facilitar as nossas contas, podemos primeiramente representar o número decimal embinário, e posteriormente, com base na Tabela 9, convertemos o número em binário para arepresentação hexadecimal. A Tabela 9 mostra passo o método da divisão repetitiva para aconversão do decimal para binário.

Página 34 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Passo Operação Quociente Resto1 5487 / 2 2743 12 2743 / 2 1371 13 1371 / 2 685 14 685 / 2 342 15 342 / 2 171 06 171 / 2 85 17 85 / 2 42 18 42 / 2 21 09 21 / 2 10 110 10 / 2 5 011 5 / 2 2 112 2 / 2 1 013 1 / 2 0 1

Tabela 9: conversão do decimal 5487 para o sistema binário.

Na Tabela 9, a coluna Passo foi colocada apenas para mostrar os passos realizados na con-versão do sistema decimal para binário. A coluna Operação representa a operação de divisãode um número por 2 (dois), por exemplo, no passo 1 dividimos o número 5487 por 2. Acoluna Quociente representa o quociente da operação de divisão, por exemplo, no passo 1 oquociente da divisão de 5487 por 2 é 2743 e o resto (coluna Resto) é 1. No passo 2, dividimoso quociente do passo 1 por 2 novamente, e temos como resultado dessa divisão quocienteigual 1371 e resto 1. Assim prossegue a conversão até encontrarmos quociente igual a zero.A representação em binário é obtida a partir da coluna Resto do passo 13 ao passo 1, ouseja, o resto do passo 13 representa o bit de mais alta ordem e resto do passo 1 representa obit mais baixa ordem na representação em binário. Então, a representação do número 5487em binário é 1010101101111.

Para realizar a conversão de binário em hexadecimal, agrupamos os bits em grupo de 4da direita para esquerda: 1| 0101| 0110 | 1111. De acordo com a Tabela 8, temos a seguinterepresentação em hexadecimal: 1 | 5 | 6 | F. Portanto, a conversão do número 5487 nosistema decimal para o sistema hexadecimal é 156F. Logo, a alternativa correta é (C).

Página 35 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

15. Assuntos relacionados: Arquitetura de Computadores, Memória Principal, Memória Ca-

che, Aritmética Computacional, Basic Input Output System (BIOS), Barramento AGP,Banca: CespeInstituição: ANACCargo: Analista Administrativo - Tecnologia da Informação

Ano: 2009Questão: 36�39

Quanto aos conceitos de hardware e software, julgue os itens de 36 a 40.

36 A memória principal funciona como memória intermediária para a memória cache sem-pre que se �zer necessário implementar cache em dois níveis.

37 Considere que os números, em decimal, A = -345 e B = +239 sejam convertidos para arepresentação em complemento a 2, usando-se registradores de 16 bits. Nessa situação,após a conversão, caso seja realizada a operação A � B, esta proverá como resultado,também em complemento a 2 e 16 bits, o valor binário 1111110110111000.

38 Um microcomputador contém um conjunto de circuitos integrados, que são gerenciadospara realizar processamento e armazenamento. O BIOS (basic input output system)é o circuito que gerencia praticamente todo o funcionamento da placa-mãe. Ele tema responsabilidade de manter todas as informações necessárias ao reconhecimento dehardware.

39 O barramento AGP foi desenvolvido com o propósito de acelerar as transferênciasde dados do vídeo para a memória. Trata-se, pois, de uma interface que permite acomunicação direta do adaptador de vídeo com a memória RAM.

Solução:

36 ERRADO

Pela origem do nome, memórias cache são memórias escondidas, ou seja, o proces-sador nem o programador conhecem sua existência em suas operações. As memóriascache foram introduzidas nos processadores modernos com o intuito de guardarem oconteúdo da memória principal mais acessado, aproveitando ao máximo os benefíciosdas localidades de espaço e de tempo que geralmente estão presentes nos programas deuso cotidiano.

O conceito de localidade temporal diz que um programa tende a acessar repetidamenteposições de memória com mais frequência do que outras, conforme é utilizado. Já oconceito de localidade espacial prega que programas bem comportados (bem escritos)acessam posições de memória, de modo geral, adjacentes.

O que realmente distancia a memória principal da memória cache é a diferença develocidade entre as 2. A memória cache, por trabalhar acoplada ao processador, conse-gue ter rendimento bastante próximo ao clock do mesmo. Entretanto, para conseguirisso, ela é bastante cara.

Ora, se a idéia básica da memória cache é tornar o processamento mais rápido, não fazsentido um projeto de arquitetura que considere como opção de memória cache de 2o ní-vel a própria memória principal! Esta abordagem, ao invés de acelerar o processamento

Página 36 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

o tornaria mais lento, pois cada dado a ser lido ou gravado na memória, independente-mente da política de acesso ao cache, deveria passar novamente pela mesma memóriaprincipal, porém em outra região! Portanto, a questão está errada.

37 CERTO

Antes de falarmos sobre como é feita representação em complemento de 2, é precisodeixar claro que essa forma de representar os números já inclui em si, no bit mais signi-�cativo, o indicador de sinal. Logo, qualquer operação em complemento a 2 é traduzidaem uma soma dos números representados em complemento de 2 com o respectivo sinal.

A forma mais simples de se representar um número negativo em complemento a 2é escrevê-lo normalmente em binário. Depois, geramos sua representação em comple-mento de 1, que é obtida invertendo-se todos os bits. Ao resultado do complemento de1, somamos 1. Este resultado será a representação do número negativo em complementode 2. O bit mais signi�cativo dos números negativos representados em complementode 2 deve ter valor 1. Caso isso não ocorra após o processo, veri�que se tudo foi feitocorretamente. Se a�rmativo, então o número não é representável nesta quantidade debits, ocorrendo over�ow.

Números positivos são mais facilmente representados. Devemos apenas escrevê-los emsua forma binária, garantindo que o bit mais signi�cativo (MSB � Most Signi�cant Bit)seja 0. Se o limite da palavra (quantidade de bits) não permitir que o MSB seja zero,então há over�ow e o número não pode ser representado naquela palavra.

Outro dado importante é que, para N bits da palavra, conseguimos representar nú-meros inteiros que variam de −2N−1 a 2N−1 − 1. Isso quer dizer que, se tivermos umapalavra de 3 bits, poderemos representar, em complemento de 2, os números inteirosde −4(−2(3−1)) a 3(2(3−1) − 1).

Com essas informações, podemos iniciar a resolução da questão convertendo os nú-meros para suas representações em complemento de 2.

A = -345

345 → 0000000101011001Comp.1 → 1111111010100110Soma 1 → 1111111010100111

B = 239 (calcularemos �B, já que a conta utilizará o valor negativo)

239 → 0000000011101111Comp.1 → 1111111100010000Soma 1 → 1111111100010001

Agora, basta somarmos os valores diretamente, sem realizar qualquer conta a mais:

Página 37 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

A + (-B)

A → 1111111010100111-B → 1111111100010001

A + (-B) → 1111110110111000

Pelo resultado acima, vemos que a questão está correta. Uma dica importante paraesse tipo de questão é olhar, de cara, para o resultado em decimal e ver se o resul-tado sugerido pela questão está com o bit de sinal correto. Além disso, veri�car seos operandos e o resultado são representáveis na palavra indicada (ou seja, não ocorreover�ow).

38 ERRADO

Este tipo de questão não requer raciocínio, apenas um conhecimento super�cial so-bre a arquitetura básica dos computadores modernos. Pela própria de�nição do termo,podemos perceber que a concepção inicial do BIOS era controlar as entradas e saídasbásicas do computador. Entretanto, a despeito do nome, essa não é a principal ativi-dade executada pelo BIOS.

O BIOS é um trecho de código responsável pela inicialização do computador. Comosabemos, os computadores executam instruções que são carregadas em seus registrado-res, normalmente lidas da memória. Porém, é fácil perceber que assim que é ligado, nãohá nenhuma informação inteligível na memória principal. Para resolver esse problema,os arquitetos de placas-mãe desenvolveram o conceito do BIOS.

Assim que a chave de ligar e acionada, a placa-mãe copia o código da BIOS, quegeralmente é armazenado compactado em uma memória �ash3, para a memória princi-pal na posição 0. Em seguida, o descompacta, e instrui o processador a ler a primeirainstrução da posição 0 da memória. A partir daí, o processador já está executandocódigo, nesse caso, o BIOS.

Como o BIOS é fabricado por empresas, geralmente terceirizadas pelos fabricantesde placas-mãe, os passos de execução não seguem rigorosamente alguma ordem, mas,em linhas gerais, podemos dizer que a execução envolve:

1. veri�car a con�guração (setup) da CMOS para os ajustes personalizados;

2. carregar os manipuladores de interrupção;

3. inicializar registradores e gerenciamento de energia;

4. efetuar o auto-teste durante a energização (POST);

5. exibir as con�gurações do sistema;

6. determinar quais dispositivos são inicializáveis e inicializá-los;

7. começar a sequência de inicialização (conhecida como bootstrap ou, de formamais reduzida, como boot), passando o controle ao sistema operacional.

3Como dado histórico, é interessante saber que a adoção de memória �ash para armazenar o BIOS é, de certaforma, recente. Nos primórdios, o BIOS era gravado em memórias do tipo ROM e não permitia atualizaçãoqualquer sem que fosse necessária a troca da pastilha. Com o avanço da tecnologia das memórias ROM (PROM,EPROM e EEPROM) e com o aumento da necessidade de atualização do BIOS � seja por causa de bugs de seucódigo ou simplesmente melhorias de desempenho � os BIOs também evoluíram.

Página 38 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

A CMOS é uma outra memória utilizada pelo BIOS onde �cam armazenadas infor-mações sobre as con�gurações dos dispositivos conectados à placa-mãe, entre outras,como data e hora corrente etc.

Vistos os aspectos acima, concluímos que a função principal do BIOS é preparar todo oambiente para en�m carregar o sistema operacional. Claro que o nome BIOS em si nãofoi escolhido completamente ao acaso. Como vemos, antes de carregar o sistema opera-cional, o processador é totalmente regido pelo BIOS. Portanto, nesse momento, quemcuida da interface entre os periféricos e o processador é o BIOS. Ele faz isso através docódigo que carrega para os manipuladores de interrupção. Além disso, o código do BIOSé capaz de trazer o trecho inicial do sistema operacional (ou do gerenciador de boot)do disco rígido para a memória. Este trecho �ca armazenado nos primeiros bytes dodispositivo de armazenamento de massa e é conhecido por MBR (Master Boot Record).

Além disso, nos SOs mais antigos, as I/Os eram literalmente controladas pelo BIOS,que as repassava, após tratá-las, para o SO.

39 CERTO

O padrão de conexão AGP foi lançado por volta de julho de 1996 pela Intel pararesolver um problema que estava impedindo a ampliação do poder das placas de vídeoda época: o barramento onde estas eram conectadas, o PCI � Peripheral ComponentInterconnect, ou, mais corretamente, PCI Local Bus4 � , era compartilhado por todosos dispositivos. Sua largura era de 32 bits a um clock de 33 Mhz, o que, potencialmente,fornecia aos elementos interconectados uma taxa de 133Mb/s. Porém, exatamente pelofato de ser compartilhado, o PCI di�cilmente oferecia a taxa máxima para um compo-nente especí�co.

Como é de conhecimento geral, a manipulação de grá�cos e imagens é consumidoravoraz de processamento e memória. Assim, para que as placas grá�cas pudessem al-cançar patamares maiores, era necessário que sua comunicação com a memória fossemais rápida. Assim, o padrão AGP propunha uma conexão direta exclusiva entreo dispositivo conectado ao slot AGP e a memória. Basicamente, estamos falando deum canal direto entre esses dois elementos, e não mais de um barramento, visto quea idéia deste último é a conexão de vários elementos e a possibilidade de expansão daquantidade destes.

É importante ver que a comunicação direta entre memória e dispositivo já era umconceito aplicado mesmo no padrão PCI. Essa possibilidade dos dispositivos se comu-nicarem diretamente com a memória é conhecida como DMA � Direct Memory Access �uma forma de otimizar o tempo de processador dos programas que fazem interface comperiféricos, visto que o processador �ca desocupado da tarefa de transferir os dados dodispositivo para a memória. Este método mudou radicalmente a forma de processar,passando do paradoxo do pooling de periféricos para o conceito de interrupção.

Com os conceitos acima, vemos que a redação da questão não está o mais clara pos-sível, pois, se a intenção era tratar da peculiaridade do padrão AGP, o ponto maisimportante seria o acesso exclusivo do adaptador de vídeo com a memória. Da forma

4Como o padrão especí�ca um barramento, o nome completo é PCI Local Bus, por se tratar de um barramentolocal. Historicamente, o nome foi abreviado para PCI apenas por ser de memorização mais fácil.

Página 39 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

como está escrita, a questão nos leva a remeter a idéia de DMA. Apesar disso, aindaassim, a a�rmativa estaria correta.

Página 40 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

16. Assuntos relacionados: Pool de Impressão, Porta Serial, Device Driver, Interface SCSI,Banca: ESAFInstituição: Receita Federal (RF)

Cargo: Técnico da Receita Federal - Tecnologia da Informação

Ano: 2006Questão: 2

Analise as seguintes a�rmações relacionadas a componentes funcionais de computadores:

I. Um pool de impressão é formado quando duas ou mais impressoras diferentes conecta-das a um servidor de impressão agem como uma única impressora. Nesse caso, quandose deseja imprimir um documento, o trabalho de impressão será enviado para o servidorque irá procurar pela primeira impressora disponível no pool.

II. Porta serial é uma porta de computador que permite a transmissão assíncrona decaracteres de dados, um bit de cada vez. Também é chamada de porta de comunicaçõesou porta COM.

III. Um driver é um equipamento periférico utilizado em computadores com a �nalidadede ler e gravar dados em discos �exíveis ou discos rígidos.

IV. Uma interface SCSI (Small Computer System Interface) é utilizada para conectar mi-crocomputadores a dispositivos periféricos, como discos rígidos e impressoras, a outroscomputadores.

Indique a opção que contenha todas as a�rmações verdadeiras.

(a). II e IV

(b). II e III

(c). III e IV

(d). I e III

(e). I e II

Solução:

I. FALSO: um pool de impressão é formado por duas ou mais impressoras idênticasassociadas com uma �la de impressão compartilhada (em um servidor de impressão).A impressora que estiver disponível recebe o próximo documento;

II. VERDADEIRO: em computação, a porta serial é uma interface de comunicaçãona qual dados são enviados ou recebidos um bit por vez. O padrão dessa interfaceé o RS-232 e é utilizado comumente para comunicação de modens, mouses, algumasimpressoras e outros dispositivos de hardware;

III. FALSO: um driver ou device driver é uma parte do sistema operacional (SO) que tema função de se comunicar diretamente com o hardware. Com o driver, o SO conseguepermitir que aplicações de alto-nível interajam com o dispositivo necessário abstraindoa complexidade e protegendo o hardware. Normalmente, cada driver está relacionadocom um dispositivo especí�co ou, no máximo, uma classe de dispositivos similares. Ade�nição dada, foi de um DRIVE (sem o R), comumente usada em computação parase referir a um dispositivo periférico acoplado ao computador;

IV. VERDADEIRO: Small Computer System Interface ou SCSI é um conjunto de pa-drões para conectar �sicamente e transferir dados entre computadores, e dispositivosperiféricos. Esses padrões de�nem comandos, protocolos e interfaces elétricas e óticas.

Página 41 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Sendo assim, como resolução da questão anterior, temos:

a) CORRETO: a�rma que a II e IV estão corretas;

b) ERRADO: diz que a III está correta, o que é falso, e não menciona a IV, que éverdadeira;

c) ERRADO: diz que a III está correta, o que é falso, e não menciona a II, que éverdadeira;

d) ERRADO: diz que I e III são verdadeiras, o que é falso, e não menciona a II e IV,que são verdadeiras;

e) ERRADO: diz que a I é verdadeira, o que é falso, e não menciona a IV.

Página 42 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

17. Assuntos relacionados: ASCII, Barramento de Comunicação, Dynamic Link Libraries

(DLL), Porta de Comunicação,Banca: ESAFInstituição: Receita Federal (RF)

Cargo: Técnico da Receita Federal - Tecnologia da Informação

Ano: 2006Questão: 4

Analise as seguintes a�rmações relacionadas a Fundamentos da Computação:

I. O ASCII é um sistema de codi�cação de caracteres de byte simples usado para dadoscom base em texto. Esse sistema de codi�cação usa combinações numéricas designadasde 7 ou 8 bits para permitir que até 128 ou 256 caracteres sejam representados. OASCII padrão usa 7 bits para representar todas as letras maiúsculas ou minúsculas,os números 0 a 9, caracteres de pontuação e de controle especial usados no inglêsamericano. A maior parte dos sistemas com base em Intel possibilita o uso de ASCIIestendido (ou �alto�). O ASCII estendido permite que o oitavo bit de cada caractereseja usado para identi�car outros 128 caracteres de símbolos especiais, letras de línguasestrangeiras e símbolos grá�cos.

II. Barramentos são as linhas de comunicação usadas para transferência de dados entreos componentes do sistema do computador. Essencialmente, os barramentos permitemque diferentes partes do sistema compartilhem dados. Por exemplo, um barramentoconecta o controlador da unidade de disco, a memória e as portas de entrada/saída aomicroprocessador.

III. Uma DLL é um recurso do sistema operacional que permite que rotinas executáveis(geralmente servindo uma função especí�ca ou conjunto de funções) sejam armazenadasseparadamente como arquivos com extensões .dll. Todas estas rotinas são carregadaspelo Sistema Operacional no momento de sua inicialização, estando sempre disponíveisem memória RAM para qualquer programa que delas necessitar.

IV. Uma porta de comunicação ou de conexão é uma forma de transferir e compartilharinformações entre aplicativos, como um processador de textos e uma planilha eletrônica,usando os recursos copiar/colar.

Indique a opção que contenha todas as a�rmações verdadeiras.

(a). II e III

(b). I e II

(c). III e IV

(d). I e III

(e). II e IV

Solução:

ASCII

O mapeamento de caracteres para números inteiros é denominado código de caracteres.Para que os computadores possam se comunicar a contento, é necessário que utilizem omesmo código de caracteres. Um dos padrões utilizados ainda hoje é o ASCII (AmericanStandard Code for Information Interchabe), o código padrão americano para troca de in-formações. Como o nome sugere, ele é bastante adequado à língua inglesa, porém não o é

Página 43 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

para outros tantos idiomas (como o português, que necessita de símbolos designados pararepresentar �ç� e �á�, por exemplo).

No ASCII, cada caractere tem 7 bits, possibilitando um total de 128 caracteres distintos.Diversos desses caracteres são destinados à comunicação entre máquinas. Outros, designamcaracteres de impressão. Todos os caracteres minúsculos e maiúsculos do idioma americanosão cobertos, além dos algarismos de 0 a 9 e outros caracteres que auxiliam a produçãotextual, como �espaço� e �exclamação�.

Numa tentativa de possibilitar o uso de caracteres pertencentes a outros idiomas, foi de-�nido o ASCII Estendido, um código de 8 bits (1 byte) capaz de representar 256 caracteres.Assim, passou a ser possível representar, dentre outros, os caracteres acentuados. Obvia-mente, o ASCII Estendido é compatível com o ASCII original. Contudo, este incremento nocódigo não consegue atender a demanda dos diversos idiomas existentes, sendo satisfatóriopraticamente apenas para idiomas cujo alfabeto seja de origem latina e/ou grega. A soluçãoproposta, e gradualmente em implantação, é o sistema de codi�cação Unicode, que utiliza16 bits para realizar a tarefa de representar caracteres dos mais variados alfabetos (árabe,cirílico, hebreu, latino, grego, etc).

O item I apresenta informações corretas sobre o ASCII (Estendido).

Barramentos

Os componentes básicos de um computador são a CPU (processador), a memória princi-pal (RAM) e os dispositivos de entrada/saída (E/S), como disco, impressora e teclado. Oscontroladores de tais componentes são interligados por barramentos de comunicação, quenada mais são do que �os paralelos na placa-mãe que transmitem endereços, dados e sinaisde controle.

Existem diversos tipos de barramentos para atender às mais variadas necessidades. Al-guns exemplos são os barramentos AGP, PCI e PCI Express. Além dos barramentos ditos�externos�, deve-se ter em conta que há barramentos �internos� à CPU, proporcionando acomunicação entre seus diversos componentes.

O item II está correto ao apresentar as informações sobre barramentos de computador.

DLL

Nas diversas versões do sistema operacional Windows, as aplicações que efetuam chama-das às rotinas do sistema utilizam a Win32 Application Program Interface, ou simplesmenteAPI do Windows. Esse conjunto de bibliotecas é implementado por meio de DLLs (DynamicLink Libraries), que nada mais são do que procedimentos que são ligados a aplicações emtempo de execução.

A grande vantagem no uso de DLLs é evitar que cada aplicação implemente (e carreguepara a memória principal) seus próprios procedimentos relacionados às chamadas ao sis-tema operacional. Desta forma, uma única cópia fornecida pelo sistema está disponívelsimultaneamente para todos os programas que dela precisarem.

Diferentemente do que a�rma o item III, as DLLs não são carregadas todas em memória no

Página 44 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

momento de inicialização do sistema operacional. À medida que as aplicações necessitam deutilizar funcionalidades oferecidas por determinada DLL, seu respectivo trecho de código écarregado para a memória principal.

Porta de Comunicação

Portas de comunicação são interfaces físicas disponibilizadas na parte externa dos gabinetesde computadores, cujo objetivo é permitir a conexão, ao sistema, de periféricos diversos,como modens, impressoras, teclados e monitores. Podem ser do tipo hot swap (ou hotswapping), isto é, podem permitir a conexão e desconexão de periféricos sem necessidadede desligamento do sistema. Alguns exemplos desta classe são as portas USB, Firewire eas interfaces SCSI. Já as famosas portas serial e paralela não possuem tal característica,geralmente necessitando do reboot (reinicialização) do sistema para propiciarem a corretaidenti�cação dos periféricos conectados.

Observa-se com facilidade que o item IV apresenta um conceito equivocado e totalmentediverso da teoria exposta, estando incorreto, portanto.

Desta forma, a letra b) é a resposta para a questão.

Página 45 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

18. Assuntos relacionados: Arquitetura de Computadores, Avaliação de Desempenho Com-

putacional, Throughput de Processamento,Banca: CesgranrioInstituição: BNDESCargo: Analista de Sistemas - Suporte

Ano: 2008Questão: 41

Seja A uma máquina hipotética com tempo de ciclo de 5 ns e sem paralelismo no nível deinstrução. Assumindo-se que cada estágio demora um ciclo de relógio, qual opção indicauma latência e um número de estágios no pipeline de uma máquina hipotética B su�cientespara que B tenha uma largura de banda de processador superior ao da máquina A?

(a). 12 ns de latência e 2 estágios.

(b). 14 ns de latência e 2 estágios.

(c). 20 ns de latência e 5 estágios.

(d). 24 ns de latência e 3 estágios.

(e). 28 ns de latência e 4 estágios.

Solução:

Esta é uma questão em que o candidato precisa mais de habilidades matemáticas do queconhecimentos profundos em informática, neste caso na área de arquiteturas de computado-res. Para que não se tenha dúvidas, vamos explicitar rapidamente cada conceito relevanteque aparece no enunciado.

• tempo de ciclo: equivale a um ciclo de relógio, que é o inverso da frequência detrabalho do processador. No caso da máquina hipotética A, como o tempo de ciclo éde 5ns, conclui-se que o seu processador trabalho na frequência de 200 MHz (inversode 5ns);

• estágio: uma subdivisão de instrução de baixo nível (adição, subtração, shift, etc.);

• número de estágios no pipeline: número necessário de estágios para execução deuma instrução de baixo nível. Em algumas arquiteturas reais de mercado, o númeronecessário de estágios para execução de uma instrução de baixo nível é dependente dainstrução. Contudo, no caso hipotético desta questão, esse detalhe não é considerado;

• latência: tempo em que um estágio é executado;

• largura de banda de processador: quantidade de instruções executadas em umintervalo de tempo. Este conceito também é chamado de throughput (vazão) de pro-cessamento.

Como o enunciado especi�ca que não há paralelismo no nível de instrução, ou seja, somenteuma instrução é executada por vez, o throughput de um processador pode ser calculado coma seguinte equação:

throughput = (número de estágios no pipeline)/latência

No caso da máquina A, temos que o throughput é 200 milhões de instruções por segundo(1/5ns). Ao calcularmos o throughput de cada alternativas, temos:

a) 2/12ns = 166,67 milhões de instruções por segundo

b) 2/14ns = 142,86 milhões de instruções por segundo

Página 46 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

c) 5/20ns = 250,00 milhões de instruções por segundo

d) 3/24ns = 125,00 milhões de instruções por segundo

e) 4/28ns = 142,86 milhões de instruções por segundo

Perceba, portanto, que a única alternativa que traz um throughput maior que o throughputda máquina A é a letra c.

Página 47 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

19. Assuntos relacionados: Arquitetura de Computadores, Aritmética Computacional,Banca: ESAFInstituição: Receita Federal (RF)

Cargo: Técnico da Receita Federal - Tecnologia da Informação

Ano: 2006Questão: 5

Analise as seguintes operações relacionadas à Aritmética Computacional, considerando queos valores utilizados estão na representação hexadecimal.

I. ((2222 AND AAAA) XOR FFFF) = DDDD.

II. ((2222 OR BBBB) XOR FFFF) = DDDD.

III. ((2222 NOT CCCC) XOR FFFF) = 3333.

IV. ((2222 XOR DDDD) XOR FFFF) = 3333.

Indique a opção que contenha todas as a�rmações verdadeiras.

(a). I e II

(b). II e III

(c). III e IV

(d). I e IV

(e). I e III

Solução:

A função AND produz o produto lógico de duas variáveis lógicas. Isto é, o produto lógicode um par de variáveis P e Q é 1 se ambas as variáveis forem 1. A Tabela 10 é a tabelaverdade para a operação AND.

P Q P AND Q1 1 11 0 00 1 00 0 0

Tabela 10: tabela verdade da operação AND.

OR:

A função OR, também conhecida como OU INCLUSIVO, produz a soma lógica de duasvariáveis. Ou seja, a soma lógica de um par de variáveis P e Q é 1 se qualquer uma davariáveis for 1. A Tabela 11 é a tabela verdade para a operação OR.

Página 48 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

P Q P OR Q1 1 11 0 10 1 10 0 0

Tabela 11: tabela verdade da operação OR.

XOR:

A operação XOR, também conhecida como OU EXCLUSIVO, realiza um teste para igual-dade entre duas variáveis lógicas. Ou seja, se duas variáveis de entrada P e Q são iguais,a saída ou resultado da operação XOR é 0. Se as entradas não são iguais, a saída é 1. ATabela 12 é a tabela verdade para a operação XOR.

P Q P XOR Q1 1 01 0 10 1 10 0 0

Tabela 12: tabela verdade da operação XOR.

NOT:

A operação NOT, também conhecida como operação inversora, realizada uma complemen-tação direta de uma entrada simples. Ou seja, uma entrada 1 produzirá uma saída 0. ATabela 13 é a tabela verdade para a operação NOT.

P NOT P1 00 1

Tabela 13: tabela verdade da operação NOT.

Agora precisamos saber como passar da representação hexadecimal para a representaçãobinária.

Saiba que um número hexadecimal é representado por 4 bits, sendo que 0 é representadopelo conjunto 0000 e F é representado por 1111. A Tabela 14 apresenta a correspondênciaentre um número hexadecimal e sua respectiva representação binária.

Página 49 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Hexadecimal Binária0 00001 00012 00103 00114 01005 01016 01107 01118 10009 1001A 1010B 1011C 1100D 1101E 1110F 1111

Tabela 14: correspondência entra a representação hexadecimal e binária.

Bom, agora já estamos aptos a abordar as 4 a�rmativas.

Para facilitar a resolução de cada operação lógica, nós faremos uso de uma tabela cons-tituída de duas colunas: a primeira é a representação hexadecimal dos operandos e dasoperações; e a segunda é representação binária dos operandos ou do resultado da operaçãológica.

Só para reforçar: o resultado da operação é feito bit a bit!

I. ((2222 AND AAAA) XOR FFFF) = DDDD.

2222 0010001000100010AAAA 10101010101010102222 AND AAAA 0010001000100010FFFF 1111111111111111((2222 AND AAAA) XOR FFFF) 1101110111011101DDDD 1101110111011101

Tabela 15: resultado da veri�cação ((2222 AND AAAA) XOR FFFF) = DDDD.

Nota-se que a a�rmativa é verdadeira.

Página 50 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

II. ((2222 OR BBBB) XOR FFFF) = DDDD.

2222 0010001000100010BBBB 10111011101110112222 OR BBBB 1011101110111011FFFF 1111111111111111((2222 OR BBBB) XOR FFFF) 0100010001000100DDDD 1101110111011101

Tabela 16: resultado da veri�cação ((2222 OR BBBB) XOR FFFF) = DDDD.

Como podemos ver, a a�rmativa é falsa.

III. ((2222 NOT CCCC) XOR FFFF) = 3333.

Atenção: o operador NOT é unário, e não binário como está nesta a�rmativa!

Muito provavelmente ocorreu um erro de gra�a, o que nos fornece recurso para invalidartoda a questão.

IV. ((2222 XOR DDDD) XOR FFFF) = 3333.

2222 0010001000100010DDDD 11011101110111012222 XOR DDDD 1111111111111111FFFF 1111111111111111((2222 XOR DDDD) XOR FFFF) 00000000000000003333 0011001100110011

Tabela 17: resultado da veri�cação ((2222 XOR DDDD) XOR FFFF) = 3333.

Novamente, a�rmativa falsa.

Finalizando....

Como já podemos imaginar, esta questão gerou muita discussão. Mesmo após todos osrecursos impetrados, a ESAF se permaneceu irredutível, mantendo a questão como válida eindicando a alternativa E como resposta.

Candidato, caso você se depare com uma situação semelhante a esta, elabore o seu re-curso cuidadosamente, sempre indicando referências bibliográ�cas. Agora, se mesmo assimnão aceitarem o seu recurso, entre com um mandado de segurança, a�nal, uma questão podemudar o futuro de muita gente!

Página 51 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

20. Assuntos relacionados: Sistemas Operacionais, Operações de Entrada e Saída, DMA,Banca: CesgranrioInstituição: BR Distribuidora

Cargo: Analista de Sistemas - Desenvolvimento

Ano: 2008Questão: 30

Que tecnologia tem por objetivo liberar a CPU em operações de entrada/saída?

(a). Acesso direto à memória (DMA)

(b). Cache

(c). Paginação

(d). Pipeline

(e). Spool

Solução:

Antes desta tecnologia, a transferência de dados, além de envolver o processador, envolviadois movimentos: um da interface (controlador) para o processador, e outro do processadorpara a memória. A técnica que libera o CPU de operações de entrada e saída, ou seja, per-mite que os dados sejam transferidos diretamente do controlador para a memória é chamadade Direct Memory Acces (DMA � Acesso Direto à Memória). Logo, a alternativa correta éa letra A.

A técnica de DMA baseia-se na utilização de um hardware especial, chamado de contro-lador de DMA, para transferir os dados entre um dispositivo de entrada/saída e memória.O controlador de DMA é conectado �sicamente ao barramento de dados e de endereços paraacessar diretamente a memória.

Para que ocorra uma transferência de dados, o processador precisa inicializar o controladorde DMA fornecendo informações como quantidade de dados a transferir, origem e destinodos dados e qual sentido de transferência, memória para dispositivo ou vice-versa. Apósessa inicialização, o controlador realiza a transferência e libera o processador para executaroutras tarefas. Após �nalizar a transferência, o controlador de DMA avisa o processadorpor meio de uma interrupção.

É importante observar que existe uma disputa pelo barramento de dados e endereço pelocontrolador de DMA e o processador. Essa disputa é coordenada pelo arbitramento do bar-ramento.

Cache é uma memória rápida que contém dados e/ou instruções recentemente referenci-adas pelo processador. A técnica de paginação permite que um programa ocupe áreas nãocontíguas na memória. A técnica de Pipeline trabalha as diversas etapas do ciclo de instru-ção (busca, indireto, execução e interrupção) de forma paralela, e não serial, aumentando odesempenho da CPU. E Spool é um recurso compartilhado no disco para aceitar operaçõesde saída para melhorar o desempenho de impressão.

Página 52 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

21. Assuntos relacionados: Arquitetura de Computadores, Modelo de von Neumann, Arqui-tetura de Harvard,Banca: ESAFInstituição: Superintendência de Seguros Privados (SUSEP)

Cargo: Analista Técnico da SUSEP - Tecnologia da Informação

Ano: 2010Questão: 11

Segundo o conceito da Máquina de Von Neumann

(a). apenas instruções �cam armazenadas.

(b). instruções e dados são armazenados na mesma memória.

(c). instruções e dados são armazenados em memórias distintas.

(d). instruções e dados não são armazenados, com vistas à otimização do uso da me-mória.

(e). os dados �cam armazenados na memória, não havendo armazenamento de instru-ções.

Solução:

O conceito máquina de Von Neumann, ou �arquitetura de Von Neumann� é um conceito queapresenta um modelo de projeto para computadores digitais com programa armazenado. Ascaracterísticas encontradas nessa arquitetura podem ser encontradas em diversas arquitetu-ras de computadores atuais.

A arquitetura de Von Neumann consiste de três subsistemas: processamento de instruções,unidade aritmética e memória, como exibido na Figura 3. Uma característica importantedessa arquitetura é que instruções e dados compartilham o mesmo espaço de endereçamentoe, portanto, há apenas uma fonte de endereços para a memória: a unidade de processa-mento. A saída da memória é levada ou para a unidade de controle ou para a unidadearitmética, dependendo se uma instrução ou um dado está sendo trazido da memória. Umaconsequência dessa decisão de projeto é que instruções também podem ser tratadas comodados. Fonte: Computer architecture and implementation, Harvey G. Cragon.

Figura 3: arquitetura de Von Neumann.

Página 53 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Com essas informações, podemos responder à questão com certeza de que a alternativa b éa correta. Pelo relacionamento mutuamente exclusivo com as outras alternativas e da des-crição acima, é possível compreender que o fato de instruções e dados serem armazenadosna mesma memória as torna incorretas.

Uma arquitetura que contrasta com a de Von Neumann, e que poderia corresponder àalternativa c é a arquitetura de Harvard, exempli�cada na Figura 4. Nela, o processador éconectado a dois bancos de memória independentes por dois buses diferentes. Na arquiteturaoriginal, um dos bancos de memória armazena dados enquanto o outro armazena instruções.�Sua maior vantagem é que dois acessos à memória podem ser feitos durante um único ciclode instrução.� Fonte: Electronic Circuit Design: From Concept to Implementation, NihalKularatna.

Figura 4: arquitetura de Harvard.

Página 54 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

22. Assuntos relacionados: Arquitetura de Computadores, Memória Cache, Memória Bu�er,Sistemas de Enumeração,Banca: CespeInstituição: PetrobrasCargo: Analista de Sistemas Júnior - Infraestrutura

Ano: 2007Questão: 56 e 64

Acerca de arquitetura de computadores e sistemas de numeração, julgue os seguintes itens.

56 O número hexadecimal C9 corresponde ao decimal 201. O número decimal 34 corres-ponde ao octal 42. O número binário 100101 corresponde ao decimal 53. A soma dooctal 72 ao octal 23 resulta no octal 105.

64 Uma das diferenças entre uma memória bu�er e uma cache é que uma memória cachearmazena sempre a única cópia existente de um item de dado, enquanto uma memóriabu�er armazena, tipicamente em uma memória de alta velocidade, uma cópia de umitem de dado que se encontra também armazenado em outra área de memória.

Solução:

56 ERRADO

Uma ótima referência para os assuntos �conversão de bases� e �aritmética computa-cional� é o livro Introdução à Organização de Computadores do Mário A. Monteiro.

Convertendo C9 (base 16) em decimal: 9*160 + C*161 = 9*1 + 12*16 = 201 (oshexadecimais A, B, C, D, E e F correspondem, respectivamente, aos decimais 10, 11,12, 13, 14 e 15).

Convertendo 42 (base 8) em decimal: 2*80 + 4*81 = 2*1 + 4*8 = 34.

Convertendo 100101 (base 2) em decimal: 1*20 + 0*21 + 1*22 + 0*23 + 0*24 +1*25 = 1*1 + 1*4 + 1*32 = 37.

Somando 72 (base 8) e 23 (base 8):

1 <<-- vai um

72

+23

---

115

En�m, as a�rmações 1 e 2 são corretas, contudo as a�rmações 3 e 4 são ERRADAs.Portanto, a questão como um todo é ERRADA.

64 ERRADO

Memória cache é um tipo de memória utilizada para interligar logicamente registrado-res de um processador à memória principal do sistema. Suas principais característicassão intermediárias entre os registradores e a memória principal, tais como: seu tempode acesso é maior que o dos registradores, porém menor que o da memória principal;

Página 55 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

seu custo por byte é menor que o dos registradores, contudo maior que o da memóriaprincipal; e a sua capacidade de armazenamento é maior que o dos registradores, masmenor que o da memória principal.

Arquitetos de computadores utilizam várias técnicas para combinarem esses três ti-pos de memória (registradores, cache e principal) de forma a otimizar o desempenhodo sistema como um todo. Dependendo da arquitetura, pode-se encontrar 1, 2 ou até3 níveis de cache, as famosas cache L1, L2 e L3 (L vem de level). Dependendo da ar-quitetura, alguns níveis se encontram dentro do chip do processador e outros em chipspróprios, porém bem próximos �sicamente ao processador. Por se tratar de uma me-mória de interligação lógica entre os registradores e a memória principal, é frequentese encontrar dados na cache que são cópias �éis de dados da memória principal. Autilização da memória cache depende principalmente dos seguintes aspectos:

� função de mapeamento de dados entre a memória principal e a cache:mapeamento direto, associativo ou associativo por conjunto;

� algoritmo de substituição de dados na cache: alguns exemplos são LRU(Least Recently Used - o que não é usado há mais tempo), FIFO (First In, FirstOut - primeiro a chegar é o primeiro a ser atendido), LFU (Least Frequently Used- o que tem menos referência) e Escolha Aleatória;

� política de escrita pela cache: alguns exemplos são Escrita em Ambas (WriteThrough), Escrita somente no retorno (Write Back) e Escrita uma Vez (WriteOnce).

Bu�er é um outro tipo de memória muito utilizada para interligar logicamente, possibi-litando troca de dados, dispositivos que geralmente trabalham em velocidades diferen-tes. Casos típicos são entre impressora/computador e teclado/computador. Perceba,portanto, que essa memória é utilizada temporariamente, onde um dispositivo escreveem uma determinada taxa e o outro dispositivo lê o dado possivelmente em outra taxa.Dessa forma, tipicamente os dados que estão em bu�er não são copiados em outrasmemórias.

Tendo em vista o exposto, não é difícil concluir que a a�rmativa feita por esta questãoé ERRADA.

Página 56 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

23. Assuntos relacionados: Sistemas Distribuídos, Independência de Localização, Indepen-dência de Fragmentação, Independência do Sistema Operacional,Banca: CesgranrioInstituição: PetrobrasCargo: Analista de Sistemas - Processos de Negócio

Ano: 2008Questão: 64

Sistemas de informações distribuídos são aqueles em que dados são armazenados e proces-sados em diferentes localizações. Um banco de dados distribuído é um exemplo deste tipode sistema. Para o usuário, um sistema de banco de dados distribuído deve parecer exata-mente como um sistema não distribuído. Para que tal meta seja alcançada, alguns objetivossecundários são normalmente estabelecidos, entre os quais NÃO se inclui a

(a). independência de localização.

(b). independência de fragmentação.

(c). independência do sistema operacional.

(d). operação contínua.

(e). coordenação em um nó central.

Solução:

Operação contínua

Uma vantagem dos sistemas distribuídos (SD) é que eles devem fornecer maior con�abi-lidade e maior disponibilidade. A con�abilidade em SD implica no funcionamento semqueda em qualquer momento, isto acontece, porque sistemas distribuídos podem continuara funcionar mesmo diante da falha de algum componente individual, como um servidor iso-lado. A disponibilidade refere se ao funcionamento continuamente sem queda do sistemadurante um período, isso porque existe a possibilidade de replicação dos dados.

Não será preciso desligar o sistema para a execução de alguma tarefa, como adicionar um ser-vidor ou atualizar o sistema de banco de dados. Esta característica é fundamental, uma vezque os sistemas garantem o funcionamento/acesso dos dados/metadados, independente dotempo necessário para manipulá-los. Como os metadados estarão distribuídos (replicados)em todos os servidores, mesmo na presença de uma falha, algum servidor disponibilizará osmetadados para serem manipulados.

Independência de localização

Também conhecida por transparência de localização, é quando os usuários não precisamsaber onde estão �sicamente armazenados os dados. É uma característica desejável, poissimpli�ca programas e atividades em aplicações e permite que dados migrem de um servi-dor para outro, sem invalidar qualquer desses programas e atividades. Essa capacidade demigração é desejável porque permite que dados sejam deslocados pela rede em resposta aalterações de exigências de desempenho. Utilizando-se de metadados, a transparência dearmazenamento faz com que os usuários das aplicações desconheçam a forma (em que local)como os metadados são mantidos, simpli�cando a adição de novos servidores no sistemadistribuído.

Página 57 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Independência de fragmentação

Um sistema admite fragmentação de dados se uma dada variável de relação armazenadapode ser dividida em pedaços (fragmentos) para �ns de armazenamento físico. A fragmen-tação é desejável por razões de desempenho: os dados podem ser armazenados no localem que são mais freqüentemente utilizados, de modo que a maior parte das operações sejaapenas local e o tráfego na rede seja reduzido.

Independência de sistema Operacional

O suporte a um sistema de banco de dados distribuídos implica que uma única aplica-ção seja capaz de operar de modo transparente sobre dados dispersos em uma variedadede banco de dados diferentes, gerenciados por vários SGBDs diferentes, em execução emuma variedade de máquinas diferentes que podem estar rodando em diversas plataformasdiferentes e uma variedade de sistemas operacionais. Onde o modo transparente diz respeitoà aplicação operar sob um ponto de vista lógico como se os dados fossem gerenciados porum único SGBD, funcionando em uma única máquina com apenas um sistema operacional.

Assim, um sistema distribuído consiste em adicionar o poder computacional de diversoscomputadores interligados por uma rede de computadores ou mais de um processador traba-lhando em conjunto no mesmo computador, para processar colaborativamente determinadatarefa de forma coerente e transparente, ou seja, como se apenas um único e centralizadocomputador estivesse executando a tarefa, portanto a alternativa E está incorreta.

Página 58 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

24. Assuntos relacionados: Sistemas Operacionais, Sistemas Distribuídos, Cycle-scavenging,Cycle-stealing,Banca: CesgranrioInstituição: IBGECargo: Analista de Sistemas - Suporte

Ano: 2010Questão: 64

Cycle-scavenging e cycle stealing são exemplos de

(a). algoritmos de criptogra�a implementados em hardware por Mainframes.

(b). estratégias de balanceamento de carga utilizadas em switches.

(c). estratégias de virtualização de servidores do z/VM.

(d). técnicas de armazenamento de dados utilizadas em redes SANs.

(e). técnicas de varrimento de CPU utilizadas em computação em GRID.

Solução:

Uma Grade Computacional, ou GRID, é um serviço para o compartilhamento de poder deprocessamento e capacidade de armazenamento pela Internet, tendo o objetivo de otimizaras tarefas realizadas. Sua ideia é transformar a rede global de computadores em um únicoe vasto recurso computacional. Assim, as Grades Computacionais são uma particularidadeda Computação Distribuída.

Um dos conceitos envolvidos nessa abordagem é a �Computação Oportunística�, cuja ideiaé fazer uso da capacidade de processamento não utilizada pelos computadores integrantesda grade e executar processos de baixas prioridades, sem interferir nas demais execuções docomputador do usuário.

Técnicas de varrimento de CPU (CPU-scavenging, cycle-scavenging, cycle-stealing ou sha-red computing) são aplicadas de modo a tornar possível a utilização do tempo ocioso de umsistema.

Face ao exposto, a alternativa (E) é a única dentre as apresentadas que explica de formacorreta os termos Cycle-scavenging e cycle stealing apresentadas na questão.

Página 59 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

25. Assuntos relacionados: Organização de Computadores, Arquitetura de Computadores,Memória Virtual,Banca: CESGRANRIOInstituição: BNDESCargo: Analista de Suporte

Ano: 2008Questão: 52

O uso de memória secundária (de menor velocidade, comparada com a memória principal)como memória virtual acaba ocasionando perda de desempenho. Neste contexto, supondoque um computador da linha PC, monoprocessado, admita expansibilidade de seus com-ponentes, a solução que atualmente oferece melhor relação custo-benefício para atenuar oproblema é:

(a). adicionar um disco rígido de maior capacidade.

(b). adicionar memória RAM.

(c). aumentar o tamanho do arquivo de troca (swap) do sistema operacional.

(d). substituir o processador por um mais veloz.

(e). trocar o computador todo por um mais moderno, pois não há solução para oproblema.

Solução:

Assim como as memórias caches permitem acesso rápido a instruções e dados na memória,a técnica de memória virtual permite acesso rápido a dados e programas localizados emunidades de armazenamento secundário (disco rígido).

Imagine uma coleção de programas sendo executandos ao mesmo tempo em um compu-tador. A memória total necessária para a execução desses programas pode ser maior doque a memória física do computador. Entretanto, pode acontecer que apenas uma fraçãoda memória total necessária seja usada em qualquer ponto de execução dos programas. Amemória principal precisa conter apenas a parte �ativa� dos programas, em execução.

A técnica de memória virtual permite compartilhar de forma e�ciente o uso da memóriaprincipal entre vários programas, realizando a gerência automática entre os dois níveis dehierarquia de memória (memória principal e secundária). Essa gerência é feita por transfe-rência de dados e instruções de partes do programas entre a memória principal e a secundária,e vice-versa.

De acordo com o exposto, analisaremos cada alternativa:

(A) ERRADA

Um disco com maior capacidade não resolveria o nosso problema, pois partes dos dadose instruções dos programas precisariam, ainda, ser transferidas da memória secundária paraa principal. Essa transferência é lenta, pois demanda acesso à memória secundária.

(B) CORRETA

Adicionar memória RAM, memória principal, ao computador seria uma solução de me-lhor custo-benefício, pois a memória RAM é barata e permitiria que mais programas fossem

Página 60 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

alocados na memória principal, reduzindo acessos à memória secundária, que é lenta. Por-tanto, esta é a alternativa correta.

(C) ERRADA

Essa solução apresenta um custo-benefício alto, pois para aumentarmos o tamanho do ar-quivo de troca teríamos que alterar o kernel do sistema operacional. Isso não é nada fácil enão traria benefícios consideráveis.

(D) ERRADA

A troca de um processador não atenuaria o problema. Como explicado acima, a memó-ria virtual é dependente da memória principal, indiferentemente do processador utilizado.

(E) ERRADA

A troca do computador por um mais moderno poderia atenuar o problema, mas seria umasolução mais cara que a apresentada na alternativa B.

Página 61 de 62www.handbookdeti.com.br

Handbook de Questões de TI Comentadas para Concursos Volume questões de TI

Questão Resposta

1 A

2 E

3 E

4 E

5 31 ERRADO 32 ERRADO 33 CERTO 34 ERRADO 35 ERRADO

6 E

7 D

8 A

9 E

10 C

11 B

12 D

13 C

14 C

15 36 ERRADO 37 CERTO 38 ERRADO 39 CERTO

16 A

17 B

18 C

19 E

20 A

21 B

22 56 ERRADO 64 ERRADO

23 E

24 E

25 B

Página 62 de 62 Handbook de TI Além do Gabarito

Índice Remissivo

Aritmética Computacional, 11, 33, 36, 48Arquitetura CISC, 19, 26Arquitetura de Computadores, 5, 8, 10, 11, 18,

22, 26, 36, 46, 48, 53, 55, 60Arquitetura de Harvard, 53Arquitetura de Processadores, 19Arquitetura RISC, 19, 26ASCII, 43Avaliação de Desempenho Computacional, 46

Barramento AGP, 36Barramento de Comunicação, 43Basic Input Output System (BIOS), 36

Conversão Numérica, 33Cycle-scavenging, 59Cycle-stealing, 59

Device Driver, 41DMA, 52Dynamic Link Libraries (DLL), 43

Endereçamento de Memória, 4, 19

Independência de Fragmentação, 57Independência de Localização, 57Independência do Sistema Operacional, 57Interface SCSI, 41

Lógica, 34

Memória Bu�er, 55Memória Cache, 36, 55Memória Principal, 10, 36Memória Virtual, 22, 60Modelo de von Neumann, 11, 53Modos de Endereçamento de Memória, 5, 8, 11

Operações de Entrada e Saída, 52Organização de Computadores, 4, 60

Pipelining, 19, 26Pool de Impressão, 41Porta de Comunicação, 43Porta Serial, 41

Sistemas de Enumeração, 29, 31, 32, 55Sistemas Distribuídos, 57, 59Sistemas Operacionais, 52, 59

Throughput de Processamento, 46Tipos de Memória, 22 63