Arquitetura de Computadores. para concursos. Questões comentadas

Tamanho: px
Começar a partir da página:

Download "Arquitetura de Computadores. para concursos. Questões comentadas"

Transcrição

1 Arquitetura de Computadores para concursos Questões comentadas

2 Prefácio O estudo de requisitos necessários para que um computador funcione e da maneira de organizar seus componentes com o objetivo de conseguir melhores desempenhos dá origem a um projeto conceitual de extrema importância na área de computação: a Arquitetura de Computadores. Ela determina aspectos relacionados à qualidade, ao desempenho e à aplicação para a qual determinado computador vai ser orientado. Dado que o conhecimento em Arquitetura de Computadores é fundamental para o entendimento do funcionamento do computador e de suas potencialidades, tornando-se um alvo fácil em questões de concursos, o Grupo Handbook de TI preparou este volume, que traz uma série de questões comentadas sobre os Arquitetura de Computadores para você se preparar adequadamente para essa área. Bons estudos, Grupo Handbook de TI Página 1 de 62

3 Direitos Autorais Este material é registrado no Escritório de Direitos Autorais (EDA) da Fundação Biblioteca Nacional. Todos os direitos autorais referentes a esta obra são reservados exclusivamente aos seus autores. Os autores deste material não proíbem seu compartilhamento entre amigos e colegas próximos de estudo. Contudo, a reprodução, parcial ou integral, e a disseminação deste material de forma indiscriminada através de qualquer meio, inclusive na Internet, extrapolam os limites da colaboração. Essa prática desincentiva o lançamento de novos produtos e enfraquece a comunidade concurseira Handbook de TI. A série Handbook de Questões de TI Comentadas para Concursos Além do Gabarito é uma produção independente e contamos com você para mantê-la sempre viva. Grupo Handbook de TI Página 2 de 62

4 Canais de Comunicação O Grupo Handbook de TI disponibiliza diversos canais de comunicação para os concurseiros de TI. Loja Handbook de TI Acesse a nossa loja virtual em Serviço de Atendimento Comunique-se diretamente conosco através do faleconosco@handbookdeti.com.br Twitter do Handbook de TI Acompanhe de perto promoções e lançamentos de produtos pelo nosso Twitter com/handbookdeti Página 3 de 62

5 1. Assuntos relacionados: Organização de Computadores, Endereçamento de Memória, Banca: CESGRANRIO Instituição: BNDES Cargo: Analista de Suporte Ano: 2008 Questão: 51 O hardware de um sistema microprocessado foi projetado para funcionar com uma memória de 20 bits de endereçamento e palavra de 16 bits. Se neste sistema já estão instalados KB de memória, qual a quantidade máxima de memória possível para expansão, em KB? (a) (b). 924 (c). 768 (d). 512 (e). 256 Solução: As memórias são constituídas de células que são identicadas por números, denominados endereços, pelo qual programas podem referenciá-las. Todas as células contêm o mesmo nú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. bits, o número máximo de células endereçáveis é 2 n. Se um endereço tiver n 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 suporta. A informação de que 20 bits são necessários para endereçar uma memória nos diz que o hardware possui 2 20 células. Uma palavra de 16 bits informa que cada célula de memória armazena até 2 bytes de informação. A capacidade total de memória suportada é obtida pela multiplicação entre a capacidade de cada célula e o número de células, ou seja, 2*2 20 = 2 MB = 2048 KB. Como no sistema já estão instalados 1024 KB, a quantidade máxima de memória possível para expansão é de 1024 KB. Página 4 de 62

6 2. Assuntos relacionados: Arquitetura de Computadores, Modos de Endereçamento de Memória, Banca: CESGRANRIO Instituição: Petrobras Cargo: Analista de Sistemas - Eng. de Software Ano: 2008 Questão: 21 Um computador tem um registrador R e um conjunto de instruções de um operando, todas com modo de endereçamento indireto. Três destas instruções são especicadas 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 de memória principal, cuja situação inicial é mostrada a seguir. Endereço 00H 01H 02H 03H 04H Valor Armazenado 01H 02H 03H 04H 05H LD AC ST AC ST LD ST 01H 02H 03H 00H 01H 03H 00H Considere que tanto o endereçamento quanto os valores envolvidos nas operações utilizam apenas um byte de memória cada. Após a execução do programa, qual será, em hexadecimais, 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 uma instrução de programa, há várias maneiras de referenciar um valor, as mais conhecidas são: Imediato: o valor do operando é especicado diretamente na instrução. Sua principal vantagem é não requerer acesso à memória para obter o operando. A desvantagem é que esse modo impõe uma limitação no tamanho do operando. Suponha que o computador Página 5 de 62

7 descrito suporte acesso imediato. A instrução LD 30H faria com que o valor 30H fosse copiado para o registrador R. Entretanto, há ocasiões em que não somente um byte deve ser copiado, por exemplo LD H. Nesse caso, como o valor é armazenado diretamente 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. Requer, 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 descrito suporte endereçamento direto. A instrução LD 01H, faria com que o valor armazenado na posição de memória 01H, ou seja, 02H fosse copiado. Entretanto, se a instrução possuir somente um byte para o endereçamento direto, por exemplo, a quantidade de posições de memória estará limitada em 256 (2 8 ); Indireto: o campo de endereço aponta para uma posição de memória que contém o endereço de memória do operando. Sua principal desvantagem é a necessidade de dois acessos à memória. A vantagem em relação ao modo de endereçamento direto é o aumento do espaço de endereçamento, que passa a ser igual 2 n, onde n é o tamanho da palavra 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 palavra com tamanho de 2 bytes. Um endereçamento na forma indireta, possibilitará o endereçamento de posições de memória (2 16 ) e não mais 256 como no endereçamento direto. Não é o caso da questão, onde tanto o tamanho permitido para endereçamento na 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 a um registrador e não a uma posição de memória. Geralmente, esse campo é composto por 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 necessidade de se acessar à memória. Sua desvantagem é o espaço de endereçamento limitado pelo número de registradores. Por exemplo, poderíamos supor que o computador da questã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çado como 05H. Uma instrução da maneira LD 05H copiaria o valor do registrador S para o registrador R; Indireto via Registrador: semelhante ao modo de endereçamento indireto. O campo de 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 modo indireto; Deslocamento: requer que uma instrução tenha dois campos de endereço, com pelo menos um explícito. O valor de um dos campos é usado diretamente (valor = A). O outro campo é baseado no código da operação, e especica um registrador cujo conteúdo é adicionado à A, para produzir o endereço efetivo. Os três modos de endereçamento por deslocamento são: relativo, via registrador-base e indexado; Pilha: a pilha é um bloco reservado de posições de memória. Elementos podem ser colocados 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 por endereçamento indireto via registrador. Já que a questão trata de endereçamento indireto, o valor armazenado no local especicado pelo 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 62

8 armazenado o endereço 02H, que por sua vez, contém o valor desejado, 03H. Seguindo os passos 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 no endereç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 a Tabela 1. Tabela 1: situação nal do bloco de memória. Endereço Valor Armazenado 00H 01H 01H 07H 02H 09H 03H 04H 04H 07H A soma é 01H +07H +09H +04H +07H = 1CH, que, em decimal, é 28. Logo, a alternativa correta é a letra (e). Página 7 de 62

9 3. Assuntos relacionados: Arquitetura de Computadores, Modos de Endereçamento de Memória, Banca: Cesgranrio Instituição: BR Distribuidora Cargo: Analista de Sistemas - Desenvolvimento Ano: 2008 Questão: 25 Qual o modo de endereçamento que utiliza ponteiro(s) para especicar 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 especicar o valor ou endereço de um operando de uma instrução. Em geral, as arquiteturas não oferecem só 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. Associado 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 na memória são na verdade endereços indiretos via registrador. Contudo, como o processador tem a noção de manipulação de dados em uma pilha, isto é, nenhum endereço precisa ser fornecido na instrução, pois as operações sempre se referem ao topo da pilha, dizemos que se 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 dado na memória principal. Exemplo: MOV R1, 70H Após a execução da instrução, o registrador R1 armazenará o valor existente no endereço de memória 70H. Requer, portanto, apenas um acesso à memória para determinar o valor do operando. Sua limitação é fornecer um espaço de endereçamento limitado (tamanho do operando). Este modo de endereçamento é mais rápido que o modo indireto e mais lento que o modo imediato. Página 8 de 62

10 (C) ERRADA Neste modo de endereçamento, o valor do operando é uma constante e faz parte do corpo da 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ão necessá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 de bits 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ão a uma posição de memória, isto é, o operando aponta para um registrador, o qual contém o dado. Exemplo: MOV R1,R2 Após a execução desta instrução, o registrador R1 armazenará o conteúdo de R2. Suas vantagens são o pequeno tamanho do campo de endereço (economia de espaço de armazenamento 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 de haver um pequeno número de registradores se forem muitos os dados endereçados por registrador, os registradores disponíveis podem não ser sucientes (E) CORRETA No modo de endereçamento indireto, o campo operando contém um endereço de memória cujo 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 (da memó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 estruturas de organização de dados mais complexas, mais sosticadas, além de eliminar a limitação de células endereçáveis. No entanto, requer maior quantidade de acessos à memória principal para completar o ciclo de execução da instrução, acarretando que o tempo requerido para a execução da instrução é maior. Já no modo de endereçamento indireto via registrador, o operando aponta para um registrador, o qual contém um endereço de memória (ponteiro) para o dado. Suponhamos que R2 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 representa a economia de 1 (um) acesso à memória principal quando comparamos com o modo de endereçamento indireto (puro). Página 9 de 62

11 4. Assuntos relacionados: Arquitetura de Computadores, Memória Principal, Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas - Infraestrutura Ano: 2008 Questão: 47 Se um computador tem uma MP com disponibilidade de armazenar 2 16 bits e possui barra de dados com tamanho de 16 bits, qual o tamanho mínimo do REM e do RDM? (Considere que 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 dispositivos periféricos onde os dados e programas são armazenados. A memória do computador pode ser dividida em duas categorias: principal: de acesso mais rápido, mas de capacidade mais restrita. Armazena informações temporariamente durante um processamento realizado pela UCP (Unidade Central de Processamento); secundária: de acesso mais lento, mas de capacidade bem maior. Armazena grande conjunto 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 chamados de REM (Registrador de Endereços de Memória) ou, em inglês, MAR (Memory Address Register), bem o como o RDM (Registrador de Dados da Memória) ou, em inglês, MBR (Memory Buer Register). O REM armazena temporariamente o endereço de acesso a uma posição de memória ao se iniciar a operação de leitura ou escrita. Em seguida, o endereço é encaminhado à área de controle da MP para decodicação e localização da célula desejada. Possui a mesma quantidade de bits do barramento de endereços e deve ser suciente para endereçar toda a memória principal. Já o RDM armazena temporariamente a informação que está sendo transferida da MP para a UCP (leitura) ou da UCP para MP (escrita). Possui a mesma quantidade de bits do barramento de dados e deve ter espaço suciente para armazenar, no mínimo, uma palavra. Já que o tamanho total da memória principal é de 2 16 bits e cada palavra possui 16 bits, pois o tamanho da palavra é o mesmo da barra de dado, haverá, no total, 2 16 /16 = 2 12 palavras para serem endereçadas pelo REM. Logo, basta que o REM tenha 12 bits para realizar a sua tarefa de endereçamento. O RDM deve possuir 16 bits, pois, em geral, possui o mesmo tamanho do barramento de dados. Portanto, a alternativa correta é a letra (E). Página 10 de 62

12 5. Assuntos relacionados: Arquitetura de Computadores, Modelo de von Neumann, Modos de Endereçamento de Memória, Aritmética Computacional, Banca: Cespe Instituição: ANAC Cargo: Analista Administrativo - Tecnologia da Informação Ano: 2009 Questão: 3135 O primeiro computador eletrônico e digital construído no mundo para emprego geral, denominado ENIAC (electronic numerical integrator and computer), foi projetado por John Mauchly e John P. Eckert, de 1943 a Daí em diante, a arquitetura dos computadores tem mudado constantemente. Em relação aos componentes funcionais (hardware) de um computador, julgue os itens a seguir. 31 Se um computador é de 16 bits e outro é de 32 bits, signica que esses computadores adotam 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, é fundamental adotar um processador no qual o tamanho em bits do contador de instrução seja 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 de operação e um operando, que a instrução M acesse a memória principal no modo indireto e a instrução N acesse a memória principal no modo base mais deslocamento, é correto armar que a instrução N fará menos ciclo de memória que a instrução M para completar o seu ciclo de instrução. 34 Para se representar o número decimal em binário, são necessários 19 bits. 35 Na área de arquitetura de computadores, o espaço de endereçamento determina a capacidade de um processador acessar um número máximo de células da memória, então um processador que manipula endereços de E bits é capaz de acessar, no máximo, E 2 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 microinstruções processadas em paralelo pipeline; quantidade de memória passível de endereçamento; entre tantas outras. O comércio adotou a quantidade de bits da palavra do processador como uma das medidas padrão, de forma a aumentar as vendas baseando-se em números maiores. Assim, quando nos referenciamos a um computador pela quantidade 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 as tarefas executadas por um programa em alto-nível são traduzidas para instruções de nível de máquina. Estas instruções, bem como os dados com que elas trabalham, são convertidas para expressões numéricas de forma que o processador possa reconhecê-las e executá-las e armazenadas na memória quando o programa é carregado. Página 11 de 62

13 Processadores de 16 bits buscam, a cada nova instrução, no mínimo 1 16 bits na memória principal para trazerem para seus registradores e executá-la. Os registradores desse tipo de processador armazenam no máximo 16 bits. Entretanto, o projeto de arquitetura de um processador especíco pode permitir que os registradores sejam acessados em partes. Por exemplo, os processadores X86, da Intel, possuíam instruções que faziam referência aos registradores de dados inteiros e outras que trabalhavam apenas com a parte alta ou baixa dos mesmos registradores: AX: mover o conteúdo da posição de para o registrador AX; AL: mover o conteúdo da posição de para o registrador AL, que é a parte baixa do registrador AX. Repare que estas instruções prevêem quantidades de bits a serem buscadas na memória diferentes. A primeira faz com que o processador busque, por exemplo, 16 bits da memória. Essa busca não tem referência direta com o projeto de memória nem de barramento! Se o processador estiver trabalhando com barramento de 8 bits (e tiver suporte para isso, claro) ele mesmo se encarregará de realizar duas buscas no barramento para conseguir realizar a instrução AX completamente, trazendo os 16 bits necessários (8 no primeiro acesso ao barramento; outros 8 no segundo). Diante disso, concluímos que a classicação de quantidade de bits em nada se relaciona com o projeto da memória e sim determina o tamanho dos registradores do processador que o computador utiliza. 32 ERRADO Para introduzir os conceitos envolvidos nesta questão, vamos relembrar as premissas bá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 é única e permita leitura e escrita; o conteúdo da memória (dado ou instrução) é sempre endereçado pela sua posição na memória; as instruções são executadas em sequência (exceto quando a sequencia é explicitamente alterada entre uma instrução e a seguinte). Os processadores modernos baseados nas máquinas de von Neumann funcionam sob um ciclo bem simples que se repete até a instrução de m do programa (HALT). Veja um exemplo na Figura 1. Apesar do conceito básico da máquina de von Neumann prever uma memória única, os processadores utilizam registradores internos para carregar a instrução e os operandos envolvidos antes de literalmente executar a instrução. 1 No caso de instruções maiores que 16 bits, geralmente as que possuem muitos operandos, o processador as reconhece na primeira palavra e carrega o restante de seu código para outros registradores até que seja possível executá-la. Página 12 de 62

14 Figura 1: funcionamento baseado em máquina de von Neumann. Existem vários registradores envolvidos no controle de execução e na guarda temporária dos operandos. A questão atual trata de 2 deles: o contador de instrução IC (em inglês program Counter PC) armazena o endereç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 na memória para que a instrução seja executada. Como podemos perceber, é importante que o IC tenha o mesmo número de bits que o espaço de endereçamento deste processador. E mais: não há nenhum vínculo obrigatório entre 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 vericado até historicamente: bem no início da micro-informática, as memórias principais eram muito caras, e por isso, escassas. Entretanto, a necessidade de cálculos mais precisos tornava obrigatório o aumento da palavra dos novos processadores. Para viabilizar este incremento computacional sem aumentar muito os custos dos processadores, os fabricantes decidiram por alterar apenas o tamanho da palavra do processador 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 64 bits que, no entanto, possuem espaço de endereçamento restrito a apenas 4 GB, o que se 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çamento 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 possuem estruturas de dados complexas e uma semântica poderosa, o que permite que um simples comando gere o resultado esperado. Entretanto, os processadores são capazes de interpretar apenas comandos simples e com poucos operandos. Para que um programa escrito em uma linguagem de alto nível seja executável por um processador de propó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 de forma a serem manipulados por essas operações. As operações que o processador dispõe, como já explicado, são bastante simples, consistindo em somas de 2 ou 3 operandos, troca de dados de uma posição de memória para outra ou para registradores etc. A forma como essas operações se referem a seus operandos é conhecida como modo de endereçamento de operandos. Para entendermos Página 13 de 62

15 as diferenças entre os modos de endereçamento, precisamos conhecer o formato das instruçõ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 operandos. Ao ser carregado na memória, o programa é alocado em uma determinada região de 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 tamanho da palavra do processador em questão. Isso não quer dizer que sempre todos os seus bits serão ativos, podendo haver operações que não utilizem todos os bits, assim como outras que precisem de mais de uma palavra para fornecerem todas as informações necessá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 representa uma palavra. A parte de OpCode é formada por n bits (n depende da arquitetura do processador) é o identicador da operação que será executada. O restante dos bits da palavra conterá, dependendo da operação que será executada, o operando em si, um endereç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. Os bits após o OpCode contém o valor do operando; DIRETO: Um endereço de memória onde o valor do operando está vem denido nos 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ção está guardada outra posição de memória que realmente contém o valor a ser utilizado na operação. A diferença entre este método e o direto é que o espaço de endereçamento deste é igual a 2n, onde n é o tamanho da palavra. Isso se deve ao fato do endereço real do operando estar guardado na memória em uma posição inteira, sem descontar os bits do OpCode, como ocorre no modo direto. Neste modo, 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 indicam um outro registrador (geralmente de uso geral) do processador onde o valor do operando 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. Como o endereço está em um registrador, apenas um acesso é feito à memória para se obter o valor do operando e executar a instrução; DESLOCAMENTO (ou INDEXADO): os trailing bits trazem um deslocamento em relação a um endereço pré-carregado em algum dos registradores do processador. Há instruções que utilizam mecanismos default de indexação, onde a base (registrador que contém o endereço de início do deslocamento) é sempre Página 14 de 62

16 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, para buscar 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 da instrução. Como foi sinalizado nos métodos acima, o método indireto necessita de 2 acessos à memória contra apenas 1 do indexado. Assim, chegamos à conclusão de que a armativa da questão é verdadeira. 34 ERRADO Há duas formas de resolver esta questão. A primeira é fazer a aproximação pelos limites de representação a cada aumento de 1 dígito na base 2 até chegarmos a um número maior do que o que queremos representar. Nesse ponto, teremos a quantidade necessária de bits para representá-lo. A segunda é mais taxativa e baseia-se em realizar a transformação da base 10 para a base 2 utilizando fatorações sucessivas do número e vericar 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 vericamos qual o maior número que podemos escrever com ela. Enquanto esse número for menor ou igual do 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 escrevermos o número em questão. Esse é o processo padrão. Entretanto, podemos pegar alguns atalhos para diminuir as contas que teremos que fazer. Por exemplo, sabemos que 210 = Podemos iniciar nossos cálculos a partir daí, visto que esse número é menor do que o pesquisado, no caso, Seguindo os cálculos: 2 11 = = = = = = = = = Pelas contas acima, vemos que são necessários 20 bits para escrevermos o número desejado. É importante entender que, apesar de 19 bits permitirem expressar números diferentes, essa numeração inicia com o zero. Portanto, o maior número que podemos escrever com 19 bits é ( ) e o menor, 0. A segunda abordagem é mais demorada e, como envolve muitos cálculos, é mais passível de erros. Não é recomendada para se fazer durante uma prova. Entretanto, para Página 15 de 62

17 entendermos o raciocínio, a apresentaremos. Esse outro método também é conhecido como divisões sucessivas, e consiste em dividirmos o número original pela base de destino, 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, lidos da ú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 na base 2 é Este número possui 20 bits. Logo, a quantidade de bits necessária para escrevê-lo, obviamente, é 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 baseado na quantidade de linhas de endereçamento disponíveis. Cada linha corresponde a 1 bit de endereçamento. A base 2 é adotada nos computadores por serem equipamentos eletrônicos. Eles utilizam a variação de voltagem para representar os números. Porém, para evitar problemas com o sinal recebido das fornecedoras de energia elétrica, foi escolhido utilizar apenas duas representações possíveis: componente carregado, quando sua voltagem é maior do que zero representado pelo bit com valor 1; componente descarregado, quando sua voltagem é nula representado pelo bit com valor 0. Assim, a base que as CPUs utilizam é 2. Quando o processador precisa acessar um determinado endereço de memória, ele escreve nas linhas de endereçamento a posição que deseja acessar. Essa posição é numérica, e é traduzida para a base 2. O número na base 2 é utilizado para carregar ou descarregar 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 62

18 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últiplo da base elevado à potência relativa à posição ocupada pelo algarismo 1. Também conclui-se da observação da gura acima que conseguimos representar 10N números na base 10 quando N for o limite de algarismos disponíveis. Por exemplo, se utilizarmos 3 posições para representação, XXX, a maior quantidade de números que podemos representar é 1000 ou 10 3, onde 3 é a quantidade de dígitos disponíveis para representação e 10 é a base em que estamos trabalhando. Utilizando os conceitos acima para resolver a questão, vemos que o processador mencionado 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 queremos acessar. Logo, a quantidade máxima de posições que serão acessíveis é 2 E. Página 17 de 62

19 6. Assuntos relacionados: Arquitetura de Computadores, Banca: FCC Instituição: MPU Cargo: Analista de Desenvolvimento de Sistemas Ano: 2007 Questã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 dene quais são as instruções que o processador é capaz de decodicar e executar. Cada processador tem denido o seu conjunto de instruções. As instruções utilizadas pela maioria das arquiteturas de computadores podem ser classicadas 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ória virtual; 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 controle 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 especicado. Na maioria dos casos, o destino é especicado 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 62

20 7. Assuntos relacionados: Arquitetura de Processadores, Arquitetura RISC, Arquitetura CISC, Pipelining, Endereçamento de Memória, Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Sistemas - Suporte Ano: 2010 Questão: 56 Durante uma apresentação das arquiteturas RISC e CISC, um analista fez as armativas a seguir. I O pipelining é uma técnica utilizada em arquiteturas RISC pela qual várias instruções são sobrepostas na execução, tirando proveito do paralelismo que existe entre as ações necessárias para executar uma instrução. II Em uma arquitetura RISC, todas as operações sobre dados se aplicam a dados em registradores, sendo que as únicas operações que afetam a memória são as operações de carga e armazenamento que movem dados da memória para um registrador ou de um registrador para a memória, respectivamente. III A arquitetura MIPS é uma arquitetura CISC que apresenta uma série de registradores de uso geral, além de ser caracterizada por apresentar uma operação elementar por ciclo de máquina. Está(ão) correta(s) a(s) armativa(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 cada vez. Ele não espera o término de uma instrução para executar outra. Em uma máquina CISC (Complex Instruction Set Computer - Computador com um Conjunto Complexo de Instruções) típica, temos, basicamente, quatro fases para a execução: busca, decodicação, execução e escrita. Em uma máquina RISC (Reduced Instruction Set Computer - Computador com um Conjunto Reduzido de Instruções), temos as mesmas fases, só que executadas em paralelo, de maneira idêntica a uma linha de montagem industrial. Numa linha de montagem, a produção é dividida em uma sequência de operações onde cada uma delas pode ser executada simultaneamente por diferentes unidades de produção. Quando uma unidade de produção termina a sua tarefa, ela imediatamente envia o resultado do seu trabalho para a próxima unidade na estrutura da linha de montagem e recebe o resultado da unidade anterior para iniciar uma nova tarefa. Este processo torna possível iniciar a produção de um novo 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 62

21 2. decodicaçã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 montagem (pipelining). A Tabela 3 exemplica o funcionamento deste pipelining hipotético. Estágio C1 C2 C3 C4 C5 C6 Busca da instrução I1 I2 I3 I4 I5 I6 Decodicação da instrução I1 I2 I3 I4 I5 Execução da instrução I1 I2 I3 I4 Escrita 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) é buscada e I1 é decodicada. No ciclo 3 (C3), a instrução 3 (I3) é buscada, I2 é decodicada e I1 é executada. No ciclo 4 (C4), a instrução 4 (I4) é buscada, I3 é decodicada, e I2 é executada e 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 a seguinte pergunta: como os valores são carregados nos registradores ou descarregados dos mesmos? 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 arquiteturas CISC, por disporem de um menor número de registradores, alocam variáveis escalares em posições de memória. Devido a isto, há uma grande riqueza na especicação de modos de endereçamento em processadores CISC: imediato; direto; indireto; registrador; indireto via registrador; deslocamento; pilha; Portanto, este item também está correto. Página 20 de 62

22 Sobre o Item III MIPS, acrônimo para Microprocessor without Interlocked Pipeline Stages (Microprocessador sem estágios interligados de pipeline), é uma arquitetura de processadores RISC desenvolvida pela MIPS Computer Systems em O conceito básico era aumentar o desempenho com 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 denidas para guiar o projeto. Elas são a losoa 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 de arquiteturas 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 62

23 8. Assuntos relacionados: Arquitetura de Computadores, Tipos de Memória, Memória Virtual, Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Sistemas - Suporte Ano: 2010 Questã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 representar 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ções de 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 ou ponto utuante); Registradores de endereços: armazenam endereços e são usados por instruções que acessam diretamente a memória; Registradores condicionais: armazenam valores que são utilizados para determinar se 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, como 0, 1, PI; Registradores de vetor: armazena dados para processamento vetorial realizado por instruções SIMD (Single Instruction, Multiple Data - Única Instrução, Múltiplos Dados); Página 22 de 62

24 Registradores de propósito: armazenam o estado do programa; incluindo o contador do programa (também chamado de ponteiro de instrução), ponteiro para pilha entre outros. A título de curiosidade, saiba que todo processador possui, pelo menos, um Banco de Registrador (Register File) que contém um determinado número de registradores (depende da arquitetura) e é utilizado para armazenar valores que são pertinentes ao estado corrente de execução do programa. Trata-se de uma memória muita rápida e cara, do tipo SRAM (Static Random Access Memory), que as instruções utilizam para ler e/ou escrever um determinado conteúdo (são os registradores de dados mencionados acima). Anal, por que utilizar um Banco de Registrador? Bom, sabemos que uma propriedade comum dos programas é a localidade: os mesmos valores são repetidamente acessados; manter estes valores frequentemente utilizados em registradores melhora o desempenho de execução do programa. A Tabela 4 mostra o número de registradores de algumas arquiteturas: Arquitetura Registrados Inteiros Registrados de Ponto Flutuante X x Itanium Power 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 de memória que permite a leitura e a escrita, utilizada como memória primária em sistemas eletrônicos digitais. Recebe este nome por permitir que qualquer posição possa ser acessada a qualquer momento (diferentemente do acesso sequencial presente em alguns dispositivos de armazenamento). Trata-se de uma memória volátil, isto é, todo o seu conteúdo é perdido quando a alimentação da memória é desligada. Na realidade, existem outras memórias de acesso aleatório nos computadores, inclusive não voláteis (memórias ROMs, por exemplo), portanto, é importante ter o conhecimento de que o 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 sejam frequentemente recarregados (atualizados) por uma bateria, caso contrário, a células de 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 2 10 Bytes), Megabytes (1 MB = 1024 KB ou 2 20 Bytes) ou Gigabytes (1 GB = 1024 MB ou 2 30 Bytes). Página 23 de 62

25 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 um segundo. Existem, no entanto, algumas memórias RAM que podem efetuar duas transferê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 certos sistemas) permite multiplicar a velocidade aparente da memória. (D) ERRADA Na verdade, LRU (Least Recently Used Menos Recentemente Utilizado) é um algoritmo de substituição de blocos muito adotado pelos processadores do mercado. Com bem sabemos, todo processador possui uma hierarquia de memória, composta por memórias caches de nível 1 (L1), nível 2 (L2) e, recentemente, nível 3 (L3). Por mais que a capacidade de armazenamento de tais caches aumente ao longo dos anos, sempre existirá uma demanda muita maior por dados (programas maiores, jogos mais pesados, programas executando concorrentemente, isto é, disputando recursos). Em vista disso, a memória cache tem que escolher o bloco de dados que deverá permanecer na mesma. Considere uma cache L1 que possua apenas uma linha (um set) e possua dois blocos por linha (cache com associatividade igual a 2, ou 2-way), onde cada bloco possui um campo que 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 acabou de ser requisitado (leitura ou escrita) pelo processador e que o outro foi acessado há muitos ciclos atrás. Num instante posterior, este mesmo processador passa a requerer uma dado que não se encontra na cache (dizemos que ocorreu um miss), forçando-o a buscar o dado nos níveis mais baixos da hierarquia de memória. Quando o bloco que contém o dado de interesse é recuperado, o mesmo deve ser inserido na cache L1, para tanto um dos dois blocos existentes 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 que deve ser despeja da cache: uma dado que foi acessado recentemente tende a ser acessado novamente num futuro próximo; e mantendo este dado na cache melhorará o desempenho do programa. Resumindo, o algoritmo LRU despejará o bloco que foi menos recentemente utilizado (acessado). (E) ERRADA Como sabemos, a memória principal disponível em um computador é, em geral, bem menor do que o tamanho máximo de memória permitido pelo processador. Para contornar esta limitação, foi criado o sistema de memória virtual que permite a execução de programas cujas exigências quanto ao tamanho da memória sejam maiores do que a capacidade de memória instalada 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 um sistema com memória virtual. O endereço gerado pelo programa, ou endereço virtual, é diferente do endereço real (também chamado de endereço físico) usado para acessar a memória principal. Página 24 de 62

26 Sob o ponto de vista de um programa, a memória disponível é aquela representada pelo espaço de endereçamento virtual. O espaço de endereçamento virtual visto e utilizado pelo programa pode ser bem maior do que o espaço de endereçamento real. Efetivamente retirando do programa as limitações impostas pela capacidade da memória física de fato existente no sistema. É importante perceber que o espaço de endereçamento virtual é uma abstração. Embora sob o ponto de vista do programa as instruções e dados estejam armazenados dentro do espaço de endereçamento virtual na realidade eles continuam armazenados na 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 a correspondência entre o endereço virtual gerado pelo programa e o endereço real que é usado para acessar a memória principal. Além disso, a técnica de memória virtual permite que as instruções e os dados do programa que se encontram no espaço virtual, não estejam presentes na memória principal no momento em que são referenciados. Assim, além do mapeamento anteriormente mencionado, é necessário um mecanismo para o carregamento automático na memória principal das instruções e dados que são referenciados pelo programa dentro da sua memó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 mapeamento. 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 isto exigiria uma tabela de mapeamento com um número de entradas igual ao tamanho do espaç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 blocos 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 realizada pelo 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 programa seria duplicado, comprometendo seriamente o desempenho. Para solucionar este problema, a MMU possui internamente uma pequena memória, denominada TLB (Translation Lookaside Buer). A TLB age como uma memória cache (na verdade é mais rápida do que as caches convencionais), armazenando os pares (bits de mais alta ordem do endereço virtual, bits de mais alta ordem do endereço físico) que foram usados nos acessos mais recentes. Note que os bits de mais baixa ordem (page oset) 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 aconteça um TLB hit (acerto), a MMU obtém os bits de mais alta ordem do endereço físico correspondente a partir da TLB. Neste caso, o mapeamento não acrescenta nenhum retardo signicativo ao acesso. Caso aconteça um TLB miss (falta), a MMU consulta a tabela de mapeamento na memória para realizar o mapeamento, armazenando, ao nal, o par (bits de mais alta ordem do endereço virtual, bits de mais alta ordem do endereço físico) na TLB. Na prática, a maioria dos mapeamentos é satisfeita pela TLB. Isto acontece devido ao princípio da localidade temporal e espacial, e cada mapeamento poderá ser completado rapidamente. Página 25 de 62

27 9. Assuntos relacionados: Arquitetura de Computadores, Arquitetura RISC, Arquitetura CISC, Pipelining, Banca: ESAF Instituição: Superintendência de Seguros Privados (SUSEP) Cargo: Analista Técnico da SUSEP - Tecnologia da Informação Ano: 2010 Questã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 seguintes 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 movem 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 mesmo tamanho. O código que identica as operações, opcode costuma possuir o mesmo tamanho, o que simplica a etapa de decodicação da instrução. Uma consequência dessa característica é que a implementação de pipelining é simplicada drasticamente, um dos motivos pelos quais essa arquitetura foi projetada dessa forma 2. Além disso, por possuir uma lógica mais simples, menos transistores serão usados para implementá-la, permitindo, originalmente, que o número de registradores e o paralelismo interno dos processadores fosse aumentado. Outra característica das arquiteturas RISC é que, como suas instruções realizam pouco trabalho, as instruções costumam executar em poucos ciclos de máquina, normalmente em um ciclo de memória. Arquiteturas CISC, predecessoras das arquiteturas RISC, possuem a losoa de que devem existir instruções poderosas e fáceis de usar, movidos pelo fato de que, no início da evolução da computação, os projetos de hardware eram mais maduros que os projetos de compiladores. Conhecendo um pouco mais sobre as características da arquitetura RISC, podemos discutir as alternativas desta questão. 2 Computer Architecture: A quantitative approach, 4th edition, John L. Hennessy & David A. Patterson. Página 26 de 62

28 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, as arquiteturas MIPS e do 80386: Enquanto o 80386, arquitetura CISC, possui apenas oito registradores de propósito geral, o MIPS, arquitetura RISC, possui trinta e dois registradores de propósito geral. Assim, essa alternativa é incorreta. B) INCORRETA Como discutido acima, a facilidade de uso de pipelines é uma característica das arquiteturas RISC. 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 que facilita a criação de pipelines. Portanto, essa alternativa é incorreta. C) INCORRETA Conforme previamente discutido, o formato das instruções de uma arquitetura RISC costuma ser regular. Considere, por exemplo, a arquitetura MIPS I. Nela, há três tipos de instruções: R, I e J. Todas iniciam com um código de identicação da operação, opcode, de 6 bits. Além do opcode, as instruções do tipo J especicam um endereço de 26 bits para salto para outra posição de memória. As instruções do tipo I, usadas para representar instruções de transferência de dados, especicam dois registradores e um valor de endereço de 16 bits. Esse endereço permite escolher qualquer palavra de memória dentro da faixa entre o endereço constante no registrador-base (campo rs da instrução de tipo I). Já as instruções de tipo R, onde R signica que essas instruções operam sobre registradores, possuem cinco campos 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 nessa arquitetura todas as instruções possuem 32 bits. Quando contrastada com a arquitetura do 80386, 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 RISC tendem a possuir menos formatos de instruções que arquiteturas CISC. Tipo Formato (bits) do mais signicativo ao menos signicativo R 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 62

29 D) INCORRETA Microcódigo é uma camada de instruções de hardware usadas na implementação de instruções de mais alto nível. As instruções de microcódigo são chamadas micro instruções. O microcódigo costuma residir em uma memória especializada de alto desempenho e, quando instruções complexas são enviadas ao processador, elas são divididas em micro instruções que as implementam. Com o uso de microcódigo, o desenvolvimento da lógica de controle do computador se torna mais simples, já que é possível desenvolver hardware especializado para implementar as micro instruções e construir as instruções mais complexas em cima dessas. 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 característica dessas arquiteturas: com a redução da complexidade das instruções, elas executam em poucos ciclos de máquina. Sendo esta alternativa considerada correta. Página 28 de 62

30 10. Assuntos relacionados: Sistemas de Enumeração, Banca: FCC Instituição: MPU Cargo: Analista de Desenvolvimento de Sistemas Ano: 2007 Questão: 31 As representações de números inteiros, positivos e negativos na notação de complemento de dois, bem como os positivos e negativos na notação de excesso, têm os bits de sinal com os respectivos 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 largamente utilizada na prática. Na notação de complemento de dois, os valores positivos são formados partindo de uma cadeia de 0s e então contando em binário até que o padrão seja formado por um 0 seguido de 1s, formando os números 0, 1, 2... nessa ordem. Já os números negativos, são formados partindo de uma cadeia de 1s e contando em binário, em ordem decrescente, até que o padrão seja formado de um 1 seguido de 0s, formando os números -1, -2, nessa ordem. Nesta notação, o bit mais à esquerda do padrão indica o sinal do valor representado. Esse bit é mais conhecido como bit de sinal. Ou seja, na notação de complemento de dois, o bit 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ões que seguem são representados para representar os números positivos 1, 2, 3...; os que precedem são utilizados para representar os números negativos -1, -2, Note que os números positivos são representados começando com 1 e os números negativos são representados começando com 0. Na Tabela 6, um quadro comparativo das notações de complemento de dois e de excesso para melhor entendimento de como são representados os números inteiros. Note que a única diferença é o bit de sinal. Já podemos concluir com o que foi apresentado e de acordo com a Tabela 6 que a resposta a ser marcada é a letra C. Página 29 de 62

31 Valor Complemento de dois Excesso Tabela 6: notações dos números inteiros. Página 30 de 62

32 11. Assuntos relacionados: Sistemas de Enumeração, Banca: FCC Instituição: MPU Cargo: Analista de Desenvolvimento de Sistemas Ano: 2007 Questão: 32 O resultado da operação lógica XOR será: (a) (b) (c) (d) (e) 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 signicar 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 Q V V F V F V F V V F 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. Por exemplo, o primeiro bit do primeiro operando ( ) é 1 e o primeiro bit do segundo operando ( ) também é 1, logo, pela tabela verdade, concluímos que o primeiro bit do resultado deve ser 0(falso). A operação é feita entre os segundos bits de cada operando e assim por diante. O resultado nal será , tornando a letra B, a alternativa a ser marcada. Página 31 de 62

33 12. Assuntos relacionados: Assuntos relacionados: Sistemas de Enumeração, Banca: FCC Instituição: MPU Cargo: Analista de Desenvolvimento de Sistemas Ano: 2007 Questã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 como ponto utuante (oating point). Não existe sistema de numeração que seja capaz de fornecer uma representação única para cada número real existente. Logo, uma abordagem consiste em aproximar o número real por um valor x com um erro de no máximo ɛ. A representação de um número real através de um número com quantidade xa de casas decimais é 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 (exemplo: = ) é 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 programação são oat e double, sendo que double possui uma precisão maior. Ambos tipos de variáveis são do tipo ponto utuante. Em geral, o hardware possui partes especializadas para representação e cálculos envolvendo essas variáveis. Até cerca de 1980, cada fabricante de computadores tinha seu próprio formato de ponto utuante, e todos diferentes. Para evitar problemas de interoperabilidade, foi criado um padrão conhecido como IEEE 754 que normatiza aspectos referentes à representação, às operações numé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 de dados oat é utilizado para representar números reais. Página 32 de 62

34 13. Assuntos relacionados: Aritmética Computacional, Conversão Numérica, Banca: Cesgranrio Instituição: BR Distribuidora Cargo: Analista de Sistemas - Desenvolvimento Ano: 2008 Questão: 26 Sejam X o número binário , 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 octal para hexadecimal, pois conseguiremos visualizar com mais clareza qual número é maior que o outro. Para passar da representação binária para hexadecimal, temos que 4 bits representam um número hexadecimal sendo que o conjunto 0000 em binário representa 0 em hexadecimal e 1111 representa F. O número X em binário tem sua representação em hexa 52. Para passar o número octal para hexadecimal primeiramente passamos para binário e depois para hexadecimal. Cada número em octal é representado por 3 bits. A representação do número Y em binário é Passando o Y em binário para hexadecimal temos que Y é 51. Após as conversões, temos que as representações em hexadecimal são: X = 52, Y = 51 e Z = 53. Colocando-os em ordem crescente temos que Y < X < Z. Então, a alternativa correta é a letra C. Página 33 de 62

35 14. Assuntos relacionados: Lógica, Banca: ESAF Instituição: Receita Federal (RF) Cargo: Técnico da Receita Federal - Tecnologia da Informação Ano: 2006 Questão: 3 O número inteiro positivo 5487, no sistema decimal, será representado no sistema hexadecimal por (a). CB78 (b). DC89 (c). 156F (d). F651 (e) 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 hexadecimal. Decimal Binário Hexadecimal A B C D E 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étodo da 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 em binário, e posteriormente, com base na Tabela 9, convertemos o número em binário para a representação hexadecimal. A Tabela 9 mostra passo o método da divisão repetitiva para a conversão do decimal para binário. Página 34 de 62

36 Passo Operação Quociente Resto / / / / / / / / / / / / / 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 conversão do sistema decimal para binário. A coluna Operação representa a operação de divisão de um número por 2 (dois), por exemplo, no passo 1 dividimos o número 5487 por 2. A coluna Quociente representa o quociente da operação de divisão, por exemplo, no passo 1 o quociente da divisão de 5487 por 2 é 2743 e o resto (coluna Resto) é 1. No passo 2, dividimos o quociente do passo 1 por 2 novamente, e temos como resultado dessa divisão quociente igual 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, ou seja, o resto do passo 13 representa o bit de mais alta ordem e resto do passo 1 representa o bit mais baixa ordem na representação em binário. Então, a representação do número 5487 em binário é Para realizar a conversão de binário em hexadecimal, agrupamos os bits em grupo de 4 da direita para esquerda: De acordo com a Tabela 8, temos a seguinte representação em hexadecimal: F. Portanto, a conversão do número 5487 no sistema decimal para o sistema hexadecimal é 156F. Logo, a alternativa correta é (C). Página 35 de 62

37 15. Assuntos relacionados: Arquitetura de Computadores, Memória Principal, Memória Cache, Aritmética Computacional, Basic Input Output System (BIOS), Barramento AGP, Banca: Cespe Instituição: ANAC Cargo: Analista Administrativo - Tecnologia da Informação Ano: 2009 Questão: 3639 Quanto aos conceitos de hardware e software, julgue os itens de 36 a A memória principal funciona como memória intermediária para a memória cache sempre 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 a representaçã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 Um microcomputador contém um conjunto de circuitos integrados, que são gerenciados para realizar processamento e armazenamento. O BIOS (basic input output system) é o circuito que gerencia praticamente todo o funcionamento da placa-mãe. Ele tem a responsabilidade de manter todas as informações necessárias ao reconhecimento de hardware. 39 O barramento AGP foi desenvolvido com o propósito de acelerar as transferências de dados do vídeo para a memória. Trata-se, pois, de uma interface que permite a comunicaçã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 processador nem o programador conhecem sua existência em suas operações. As memórias cache foram introduzidas nos processadores modernos com o intuito de guardarem o conteúdo da memória principal mais acessado, aproveitando ao máximo os benefícios das localidades de espaço e de tempo que geralmente estão presentes nos programas de uso cotidiano. O conceito de localidade temporal diz que um programa tende a acessar repetidamente posições de memória com mais frequência do que outras, conforme é utilizado. Já o conceito 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 de velocidade entre as 2. A memória cache, por trabalhar acoplada ao processador, consegue ter rendimento bastante próximo ao clock do mesmo. Entretanto, para conseguir isso, ela é bastante cara. Ora, se a idéia básica da memória cache é tornar o processamento mais rápido, não faz sentido um projeto de arquitetura que considere como opção de memória cache de 2 o nível a própria memória principal! Esta abordagem, ao invés de acelerar o processamento Página 36 de 62

38 o tornaria mais lento, pois cada dado a ser lido ou gravado na memória, independentemente da política de acesso ao cache, deveria passar novamente pela mesma memória principal, 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, é preciso deixar 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 é traduzida em 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 complemento de 1, que é obtida invertendo-se todos os bits. Ao resultado do complemento de 1, somamos 1. Este resultado será a representação do número negativo em complemento de 2. O bit mais signicativo dos números negativos representados em complemento de 2 deve ter valor 1. Caso isso não ocorra após o processo, verique se tudo foi feito corretamente. Se armativo, então o número não é representável nesta quantidade de bits, ocorrendo overow. Números positivos são mais facilmente representados. Devemos apenas escrevê-los em sua forma binária, garantindo que o bit mais signicativo (MSB Most Signicant Bit) seja 0. Se o limite da palavra (quantidade de bits) não permitir que o MSB seja zero, então há overow 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 2 N 1 a 2 N 1 1. Isso quer dizer que, se tivermos uma palavra de 3 bits, poderemos representar, em complemento de 2, os números inteiros de 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 = Comp Soma B = 239 (calcularemos B, já que a conta utilizará o valor negativo) Comp Soma Agora, basta somarmos os valores diretamente, sem realizar qualquer conta a mais: Página 37 de 62

39 A + (-B) A B A + (-B) Pelo resultado acima, vemos que a questão está correta. Uma dica importante para esse tipo de questão é olhar, de cara, para o resultado em decimal e ver se o resultado sugerido pela questão está com o bit de sinal correto. Além disso, vericar se os operandos e o resultado são representáveis na palavra indicada (ou seja, não ocorre overow). 38 ERRADO Este tipo de questão não requer raciocínio, apenas um conhecimento supercial sobre a arquitetura básica dos computadores modernos. Pela própria denição do termo, podemos perceber que a concepção inicial do BIOS era controlar as entradas e saídas básicas do computador. Entretanto, a despeito do nome, essa não é a principal atividade executada pelo BIOS. O BIOS é um trecho de código responsável pela inicialização do computador. Como sabemos, os computadores executam instruções que são carregadas em seus registradores, normalmente lidas da memória. Porém, é fácil perceber que assim que é ligado, não há 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, que geralmente é armazenado compactado em uma memória ash 3, para a memória principal na posição 0. Em seguida, o descompacta, e instrui o processador a ler a primeira instrução da posição 0 da memória. A partir daí, o processador já está executando código, nesse caso, o BIOS. Como o BIOS é fabricado por empresas, geralmente terceirizadas pelos fabricantes de 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. vericar a conguraçã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 conguraçõ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 forma mais reduzida, como boot), passando o controle ao sistema operacional. 3 Como dado histórico, é interessante saber que a adoção de memória ash para armazenar o BIOS é, de certa forma, recente. Nos primórdios, o BIOS era gravado em memórias do tipo ROM e não permitia atualização qualquer 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 seu código ou simplesmente melhorias de desempenho os BIOs também evoluíram. Página 38 de 62

40 A CMOS é uma outra memória utilizada pelo BIOS onde cam armazenadas informações sobre as conguraçõ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 o ambiente para enm carregar o sistema operacional. Claro que o nome BIOS em si não foi escolhido completamente ao acaso. Como vemos, antes de carregar o sistema operacional, o processador é totalmente regido pelo BIOS. Portanto, nesse momento, quem cuida da interface entre os periféricos e o processador é o BIOS. Ele faz isso através do có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 do dispositivo 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 para resolver um problema que estava impedindo a ampliação do poder das placas de vídeo da época: o barramento onde estas eram conectadas, o PCI Peripheral Component Interconnect, ou, mais corretamente, PCI Local Bus 4, era compartilhado por todos os 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 pelo fato de ser compartilhado, o PCI dicilmente oferecia a taxa máxima para um componente especíco. Como é de conhecimento geral, a manipulação de grácos e imagens é consumidora voraz de processamento e memória. Assim, para que as placas grácas pudessem alcançar patamares maiores, era necessário que sua comunicação com a memória fosse mais rápida. Assim, o padrão AGP propunha uma conexão direta exclusiva entre o dispositivo conectado ao slot AGP e a memória. Basicamente, estamos falando de um canal direto entre esses dois elementos, e não mais de um barramento, visto que a idéia deste último é a conexão de vários elementos e a possibilidade de expansão da quantidade destes. É importante ver que a comunicação direta entre memória e dispositivo já era um conceito aplicado mesmo no padrão PCI. Essa possibilidade dos dispositivos se comunicarem diretamente com a memória é conhecida como DMA Direct Memory Access uma forma de otimizar o tempo de processador dos programas que fazem interface com periféricos, visto que o processador ca desocupado da tarefa de transferir os dados do dispositivo 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 possível, pois, se a intenção era tratar da peculiaridade do padrão AGP, o ponto mais importante seria o acesso exclusivo do adaptador de vídeo com a memória. Da forma 4 Como o padrão especíca um barramento, o nome completo é PCI Local Bus, por se tratar de um barramento local. Historicamente, o nome foi abreviado para PCI apenas por ser de memorização mais fácil. Página 39 de 62

41 como está escrita, a questão nos leva a remeter a idéia de DMA. Apesar disso, ainda assim, a armativa estaria correta. Página 40 de 62

42 16. Assuntos relacionados: Pool de Impressão, Porta Serial, Device Driver, Interface SCSI, Banca: ESAF Instituição: Receita Federal (RF) Cargo: Técnico da Receita Federal - Tecnologia da Informação Ano: 2006 Questão: 2 Analise as seguintes armações relacionadas a componentes funcionais de computadores: I. Um pool de impressão é formado quando duas ou mais impressoras diferentes conectadas a um servidor de impressão agem como uma única impressora. Nesse caso, quando se deseja imprimir um documento, o trabalho de impressão será enviado para o servidor que irá procurar pela primeira impressora disponível no pool. II. Porta serial é uma porta de computador que permite a transmissão assíncrona de caracteres de dados, um bit de cada vez. Também é chamada de porta de comunicações ou porta COM. III. Um driver é um equipamento periférico utilizado em computadores com a nalidade de ler e gravar dados em discos exíveis ou discos rígidos. IV. Uma interface SCSI (Small Computer System Interface) é utilizada para conectar microcomputadores a dispositivos periféricos, como discos rígidos e impressoras, a outros computadores. Indique a opção que contenha todas as armaçõ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ênticas associadas 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ção na 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, algumas impressoras e outros dispositivos de hardware; III. FALSO: um driver ou device driver é uma parte do sistema operacional (SO) que tem a função de se comunicar diretamente com o hardware. Com o driver, o SO consegue permitir que aplicações de alto-nível interajam com o dispositivo necessário abstraindo a complexidade e protegendo o hardware. Normalmente, cada driver está relacionado com um dispositivo especíco ou, no máximo, uma classe de dispositivos similares. A denição dada, foi de um DRIVE (sem o R), comumente usada em computação para se referir a um dispositivo periférico acoplado ao computador; IV. VERDADEIRO: Small Computer System Interface ou SCSI é um conjunto de padrões para conectar sicamente e transferir dados entre computadores, e dispositivos periféricos. Esses padrões denem comandos, protocolos e interfaces elétricas e óticas. Página 41 de 62

43 Sendo assim, como resolução da questão anterior, temos: a) CORRETO: arma 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 62

44 17. Assuntos relacionados: ASCII, Barramento de Comunicação, Dynamic Link Libraries (DLL), Porta de Comunicação, Banca: ESAF Instituição: Receita Federal (RF) Cargo: Técnico da Receita Federal - Tecnologia da Informação Ano: 2006 Questão: 4 Analise as seguintes armações relacionadas a Fundamentos da Computação: I. O ASCII é um sistema de codicação de caracteres de byte simples usado para dados com base em texto. Esse sistema de codicação usa combinações numéricas designadas de 7 ou 8 bits para permitir que até 128 ou 256 caracteres sejam representados. O ASCII 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ês americano. A maior parte dos sistemas com base em Intel possibilita o uso de ASCII estendido (ou alto). O ASCII estendido permite que o oitavo bit de cada caractere seja usado para identicar outros 128 caracteres de símbolos especiais, letras de línguas estrangeiras e símbolos grácos. II. Barramentos são as linhas de comunicação usadas para transferência de dados entre os componentes do sistema do computador. Essencialmente, os barramentos permitem que diferentes partes do sistema compartilhem dados. Por exemplo, um barramento conecta o controlador da unidade de disco, a memória e as portas de entrada/saída ao microprocessador. 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 armazenadas separadamente como arquivos com extensões.dll. Todas estas rotinas são carregadas pelo Sistema Operacional no momento de sua inicialização, estando sempre disponíveis em memória RAM para qualquer programa que delas necessitar. IV. Uma porta de comunicação ou de conexão é uma forma de transferir e compartilhar informaçõ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 armaçõ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 o mesmo código de caracteres. Um dos padrões utilizados ainda hoje é o ASCII (American Standard Code for Information Interchabe), o código padrão americano para troca de informações. Como o nome sugere, ele é bastante adequado à língua inglesa, porém não o é Página 43 de 62

45 para outros tantos idiomas (como o português, que necessita de símbolos designados para representar ç 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, designam caracteres de impressão. Todos os caracteres minúsculos e maiúsculos do idioma americano são cobertos, além dos algarismos de 0 a 9 e outros caracteres que auxiliam a produção textual, 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. Obviamente, o ASCII Estendido é compatível com o ASCII original. Contudo, este incremento no código não consegue atender a demanda dos diversos idiomas existentes, sendo satisfatório praticamente apenas para idiomas cujo alfabeto seja de origem latina e/ou grega. A solução proposta, e gradualmente em implantação, é o sistema de codicação Unicode, que utiliza 16 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 principal (RAM) e os dispositivos de entrada/saída (E/S), como disco, impressora e teclado. Os controladores de tais componentes são interligados por barramentos de comunicação, que nada mais são do que os paralelos na placa-mãe que transmitem endereços, dados e sinais de controle. Existem diversos tipos de barramentos para atender às mais variadas necessidades. Alguns 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 a comunicaçã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 chamadas às rotinas do sistema utilizam a Win32 Application Program Interface, ou simplesmente API do Windows. Esse conjunto de bibliotecas é implementado por meio de DLLs (Dynamic Link Libraries), que nada mais são do que procedimentos que são ligados a aplicações em tempo de execução. A grande vantagem no uso de DLLs é evitar que cada aplicação implemente (e carregue para a memória principal) seus próprios procedimentos relacionados às chamadas ao sistema operacional. Desta forma, uma única cópia fornecida pelo sistema está disponível simultaneamente para todos os programas que dela precisarem. Diferentemente do que arma o item III, as DLLs não são carregadas todas em memória no Página 44 de 62

46 momento de inicialização do sistema operacional. À medida que as aplicações necessitam de utilizar 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 gabinetes de 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 hot swapping), isto é, podem permitir a conexão e desconexão de periféricos sem necessidade de desligamento do sistema. Alguns exemplos desta classe são as portas USB, Firewire e as 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 correta identicação dos periféricos conectados. Observa-se com facilidade que o item IV apresenta um conceito equivocado e totalmente diverso da teoria exposta, estando incorreto, portanto. Desta forma, a letra b) é a resposta para a questão. Página 45 de 62

47 18. Assuntos relacionados: Arquitetura de Computadores, Avaliação de Desempenho Computacional, Throughput de Processamento, Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas - Suporte Ano: 2008 Questão: 41 Seja A uma máquina hipotética com tempo de ciclo de 5 ns e sem paralelismo no nível de instrução. Assumindo-se que cada estágio demora um ciclo de relógio, qual opção indica uma latência e um número de estágios no pipeline de uma máquina hipotética B sucientes para 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 que conhecimentos profundos em informática, neste caso na área de arquiteturas de computadores. Para que não se tenha dúvidas, vamos explicitar rapidamente cada conceito relevante que aparece no enunciado. tempo de ciclo: equivale a um ciclo de relógio, que é o inverso da frequência de trabalho 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 (inverso de 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 de uma instrução de baixo nível. Em algumas arquiteturas reais de mercado, o número necessário de estágios para execução de uma instrução de baixo nível é dependente da instruçã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 um intervalo de tempo. Este conceito também é chamado de throughput (vazão) de processamento. Como o enunciado especica que não há paralelismo no nível de instrução, ou seja, somente uma instrução é executada por vez, o throughput de um processador pode ser calculado com a 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 62

48 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 throughput da máquina A é a letra c. Página 47 de 62

49 19. Assuntos relacionados: Arquitetura de Computadores, Aritmética Computacional, Banca: ESAF Instituição: Receita Federal (RF) Cargo: Técnico da Receita Federal - Tecnologia da Informação Ano: 2006 Questão: 5 Analise as seguintes operações relacionadas à Aritmética Computacional, considerando que os 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) = IV. ((2222 XOR DDDD) XOR FFFF) = Indique a opção que contenha todas as armaçõ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ógico de um par de variáveis P e Q é 1 se ambas as variáveis forem 1. A Tabela 10 é a tabela verdade para a operação AND. P Q P AND Q OR: Tabela 10: tabela verdade da operação AND. A função OR, também conhecida como OU INCLUSIVO, produz a soma lógica de duas variáveis. Ou seja, a soma lógica de um par de variáveis P e Q é 1 se qualquer uma da variáveis for 1. A Tabela 11 é a tabela verdade para a operação OR. Página 48 de 62

50 P Q P OR Q Tabela 11: tabela verdade da operação OR. XOR: A operação XOR, também conhecida como OU EXCLUSIVO, realiza um teste para igualdade 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. A Tabela 12 é a tabela verdade para a operação XOR. NOT: P Q P XOR Q Tabela 12: tabela verdade da operação XOR. A operação NOT, também conhecida como operação inversora, realizada uma complementação direta de uma entrada simples. Ou seja, uma entrada 1 produzirá uma saída 0. A Tabela 13 é a tabela verdade para a operação NOT. P NOT P Tabela 13: tabela verdade da operação NOT. Agora precisamos saber como passar da representação hexadecimal para a representação binária. Saiba que um número hexadecimal é representado por 4 bits, sendo que 0 é representado pelo conjunto 0000 e F é representado por A Tabela 14 apresenta a correspondência entre um número hexadecimal e sua respectiva representação binária. Página 49 de 62

51 Hexadecimal Binária A 1010 B 1011 C 1100 D 1101 E 1110 F 1111 Tabela 14: correspondência entra a representação hexadecimal e binária. Bom, agora já estamos aptos a abordar as 4 armativas. Para facilitar a resolução de cada operação lógica, nós faremos uso de uma tabela constituída de duas colunas: a primeira é a representação hexadecimal dos operandos e das operações; e a segunda é representação binária dos operandos ou do resultado da operação lógica. Só para reforçar: o resultado da operação é feito bit a bit! I. ((2222 AND AAAA) XOR FFFF) = DDDD AAAA AND AAAA FFFF ((2222 AND AAAA) XOR FFFF) DDDD Tabela 15: resultado da vericação ((2222 AND AAAA) XOR FFFF) = DDDD. Nota-se que a armativa é verdadeira. Página 50 de 62

52 II. ((2222 OR BBBB) XOR FFFF) = DDDD BBBB OR BBBB FFFF ((2222 OR BBBB) XOR FFFF) DDDD Tabela 16: resultado da vericação ((2222 OR BBBB) XOR FFFF) = DDDD. Como podemos ver, a armativa é falsa. III. ((2222 NOT CCCC) XOR FFFF) = Atenção: o operador NOT é unário, e não binário como está nesta armativa! Muito provavelmente ocorreu um erro de graa, o que nos fornece recurso para invalidar toda a questão. IV. ((2222 XOR DDDD) XOR FFFF) = DDDD XOR DDDD FFFF ((2222 XOR DDDD) XOR FFFF) Tabela 17: resultado da vericação ((2222 XOR DDDD) XOR FFFF) = Novamente, armativa falsa. Finalizando... Como já podemos imaginar, esta questão gerou muita discussão. Mesmo após todos os recursos impetrados, a ESAF se permaneceu irredutível, mantendo a questão como válida e indicando a alternativa E como resposta. Candidato, caso você se depare com uma situação semelhante a esta, elabore o seu recurso cuidadosamente, sempre indicando referências bibliográcas. Agora, se mesmo assim não aceitarem o seu recurso, entre com um mandado de segurança, anal, uma questão pode mudar o futuro de muita gente! Página 51 de 62

53 20. Assuntos relacionados: Sistemas Operacionais, Operações de Entrada e Saída, DMA, Banca: Cesgranrio Instituição: BR Distribuidora Cargo: Analista de Sistemas - Desenvolvimento Ano: 2008 Questã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, envolvia dois movimentos: um da interface (controlador) para o processador, e outro do processador para a memória. A técnica que libera o CPU de operações de entrada e saída, ou seja, permite que os dados sejam transferidos diretamente do controlador para a memória é chamada de 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 controlador 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 para acessar diretamente a memória. Para que ocorra uma transferência de dados, o processador precisa inicializar o controlador de DMA fornecendo informações como quantidade de dados a transferir, origem e destino dos dados e qual sentido de transferência, memória para dispositivo ou vice-versa. Após essa inicialização, o controlador realiza a transferência e libera o processador para executar outras tarefas. Após nalizar a transferência, o controlador de DMA avisa o processador por meio de uma interrupção. É importante observar que existe uma disputa pelo barramento de dados e endereço pelo controlador de DMA e o processador. Essa disputa é coordenada pelo arbitramento do barramento. Cache é uma memória rápida que contém dados e/ou instruções recentemente referenciadas pelo processador. A técnica de paginação permite que um programa ocupe áreas não contí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 o desempenho da CPU. E Spool é um recurso compartilhado no disco para aceitar operações de saída para melhorar o desempenho de impressão. Página 52 de 62

54 21. Assuntos relacionados: Arquitetura de Computadores, Modelo de von Neumann, Arquitetura de Harvard, Banca: ESAF Instituição: Superintendência de Seguros Privados (SUSEP) Cargo: Analista Técnico da SUSEP - Tecnologia da Informação Ano: 2010 Questã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 memó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 que apresenta um modelo de projeto para computadores digitais com programa armazenado. As características encontradas nessa arquitetura podem ser encontradas em diversas arquiteturas 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 importante dessa arquitetura é que instruções e dados compartilham o mesmo espaço de endereçamento e, portanto, há apenas uma fonte de endereços para a memória: a unidade de processamento. A saída da memória é levada ou para a unidade de controle ou para a unidade aritmética, dependendo se uma instrução ou um dado está sendo trazido da memória. Uma consequência dessa decisão de projeto é que instruções também podem ser tratadas como dados. Fonte: Computer architecture and implementation, Harvey G. Cragon. Figura 3: arquitetura de Von Neumann. Página 53 de 62

55 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 descrição acima, é possível compreender que o fato de instruções e dados serem armazenados na 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, exemplicada na Figura 4. Nela, o processador é conectado a dois bancos de memória independentes por dois buses diferentes. Na arquitetura original, 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 ciclo de instrução. Fonte: Electronic Circuit Design: From Concept to Implementation, Nihal Kularatna. Figura 4: arquitetura de Harvard. Página 54 de 62

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um

Leia mais

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características:

Leia mais

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 1 ARQUITETURA DE COMPUTADORES U C P Prof. Leandro Coelho Plano de Aula 2 Aula Passada Definição Evolução dos Computadores Histórico Modelo de Von-Neumann Básico CPU Mémoria E/S Barramentos Plano de Aula

Leia mais

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. Unidade aritmética e lógica - Executa operações aritméticas (cálculos);

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

ULA Sinais de Controle enviados pela UC

ULA Sinais de Controle enviados pela UC Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento

Leia mais

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador

Leia mais

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01 Unidade Central de Processamento (CPU) Processador Renan Manola Introdução ao Computador 2010/01 Componentes de um Computador (1) Computador Eletrônico Digital É um sistema composto por: Memória Principal

Leia mais

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Revisão dos conceitos básicos O processador é o componente vital do sistema de

Leia mais

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar Arquitetura de Computadores RISC x CISC Gustavo Pinto Vilar PPF / DPF Papiloscopista Policial Federal Pós-Graduado em Docência do Ensino Superior UFRJ Graduado em Ciência da Computação e Processamento

Leia mais

Informática I. Aula 5. http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1

Informática I. Aula 5. http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1 Informática I Aula 5 http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

for Information Interchange.

for Information Interchange. 6 Memória: 6.1 Representação de Memória: Toda a informação com a qual um sistema computacional trabalha está, em algum nível, armazenada em um sistema de memória, guardando os dados em caráter temporário

Leia mais

Memórias Prof. Galvez Gonçalves

Memórias Prof. Galvez Gonçalves Arquitetura e Organização de Computadores 1 s Prof. Galvez Gonçalves Objetivo: Compreender os tipos de memória e como elas são acionadas nos sistemas computacionais modernos. INTRODUÇÃO Nas aulas anteriores

Leia mais

Componentes do Computador e. aula 3. Profa. Débora Matos

Componentes do Computador e. aula 3. Profa. Débora Matos Componentes do Computador e modelo de Von Neumann aula 3 Profa. Débora Matos O que difere nos componentes que constituem um computador? Princípios básicos Cada computador tem um conjunto de operações e

Leia mais

Memória Cache. Prof. Leonardo Barreto Campos 1

Memória Cache. Prof. Leonardo Barreto Campos 1 Memória Cache Prof. Leonardo Barreto Campos 1 Sumário Introdução; Projeto de Memórias Cache; Tamanho; Função de Mapeamento; Política de Escrita; Tamanho da Linha; Número de Memórias Cache; Bibliografia.

Leia mais

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann Universidade Federal de Santa Maria NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann O modelo (ou arquitetura) de von

Leia mais

Memória cache. Prof. Francisco Adelton

Memória cache. Prof. Francisco Adelton Memória cache Prof. Francisco Adelton Memória Cache Seu uso visa obter uma velocidade de acesso à memória próxima da velocidade das memórias mais rápidas e, ao mesmo tempo, disponibilizar no sistema uma

Leia mais

Sistemas Computacionais II Professor Frederico Sauer

Sistemas Computacionais II Professor Frederico Sauer Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não

Leia mais

Aula 26: Arquiteturas RISC vs. CISC

Aula 26: Arquiteturas RISC vs. CISC Aula 26: Arquiteturas RISC vs CISC Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Arquiteturas RISC vs CISC FAC 1 / 33 Revisão Diego Passos

Leia mais

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1 Introdução à Organização e Arquitetura de Computadores Prof. Leonardo Barreto Campos 1 Sumário Introdução; Evolução dos Computadores; Considerações da Arquitetura de von Neumann; Execução de uma instrução

Leia mais

AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD.

AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD. AULA4: PROCESSADORES 1. OBJETIVO Figura 1 Processadores Intel e AMD. Conhecer as funcionalidades dos processadores nos computadores trabalhando suas principais características e aplicações. 2. INTRODUÇÃO

Leia mais

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: ICO Aula N : 09 Tema: Unidade Central de

Leia mais

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas

Leia mais

Edeyson Andrade Gomes

Edeyson Andrade Gomes Sistemas Operacionais Conceitos de Arquitetura Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Máquinas de Níveis Revisão de Conceitos de Arquitetura 2 Máquina de Níveis Máquina de níveis Computador

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Pipeline Slide 1 Pipeline Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Organização e Arquitetura de Computadores I Caminho de Dados

Leia mais

AULA 1. Informática Básica. Gustavo Leitão. gustavo.leitao@ifrn.edu.br. Disciplina: Professor: Email:

AULA 1. Informática Básica. Gustavo Leitão. gustavo.leitao@ifrn.edu.br. Disciplina: Professor: Email: AULA 1 Disciplina: Informática Básica Professor: Gustavo Leitão Email: gustavo.leitao@ifrn.edu.br Estudo de caso Empresa do ramo de seguros Presidência RH Financeiro Vendas e Marketing TI CRM Riscos Introdução

Leia mais

Aula 14: Instruções e Seus Tipos

Aula 14: Instruções e Seus Tipos Aula 14: Instruções e Seus Tipos Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Instruções e Seus Tipos FAC 1 / 35 Conceitos Básicos Diego Passos

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 2.1 CONCEITO DE BIT O computador só pode identificar a informação através de sua elementar e restrita capacidade de distinguir entre dois estados: 0

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP.

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP. A ARQUITETURA DE UM COMPUTADOR A arquitetura básica de um computador moderno segue ainda de forma geral os conceitos estabelecidos pelo Professor da Universidade de Princeton, John Von Neumann (1903-1957),

Leia mais

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

28/9/2010. Paralelismo no nível de instruções Processadores superescalares Arquitetura de Computadores Paralelismo no nível de instruções Processadores superescalares Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Processadores superescalares A partir dos resultados

Leia mais

Organização de Computadores Hardware

Organização de Computadores Hardware Organização de Computadores Hardware Professor Marcus Vinícius Midena Ramos Colegiado de Engenharia de Computação (74)3614.1936 marcus.ramos@univasf.edu.br www.univasf.edu.br/~marcus.ramos Computador Ferramenta

Leia mais

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy) Capítulo 4 João Lourenço Joao.Lourenco@di.fct.unl.pt Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa 2007-2008 MARIE (Machine Architecture Really Intuitive and Easy) Adaptado dos transparentes

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização Básica B de (Parte V, Complementar)

Leia mais

Arquitetura de Computadores. Sistemas Operacionais IV

Arquitetura de Computadores. Sistemas Operacionais IV Arquitetura de Computadores Sistemas Operacionais IV Introdução Multiprogramação implica em manter-se vários processos na memória. Memória necessita ser alocada de forma eficiente para permitir o máximo

Leia mais

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8 ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8 Índice 1. A Organização do Computador - Continuação...3 1.1. Processadores - II... 3 1.1.1. Princípios de projeto para computadores modernos... 3 1.1.2. Paralelismo...

Leia mais

Sistema de Computação

Sistema de Computação Sistema de Computação Máquinas multinível Nível 0 verdadeiro hardware da máquina, executando os programas em linguagem de máquina de nível 1 (portas lógicas); Nível 1 Composto por registrados e pela ALU

Leia mais

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá. INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores 1 Introdução à Arquitetura de Computadores Hardware e software Organização de um computador: Processador: registradores, ALU, unidade de controle Memórias Dispositivos de E/S Barramentos Linguagens de

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 3.1 EXECUÇÃO DAS INSTRUÇÕES A UCP tem duas seções: Unidade de Controle Unidade Lógica e Aritmética Um programa se caracteriza por: uma série de instruções

Leia mais

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Organização de um Computador Típico Memória: Armazena dados e programas. Processador (CPU - Central Processing

Leia mais

Computadores XXI: Busca e execução Final

Computadores XXI: Busca e execução Final Computadores XXI: Busca e execução Final A6 Texto 6 http://www.bpiropo.com.br/fpc20060123.htm Sítio Fórum PCs /Colunas Coluna: B. Piropo Publicada em 23/01/2006 Autor: B.Piropo Na coluna anterior, < http://www.forumpcs.com.br/viewtopic.php?t=146019

Leia mais

Sistema de Memórias de Computadores

Sistema de Memórias de Computadores Sistema de Memórias de Computadores Uma memória é um dispositivo que permite um computador armazenar dados temporariamente ou permanentemente. Sabemos que todos os computadores possuem memória. Mas quando

Leia mais

3. O NIVEL DA LINGUAGEM DE MONTAGEM

3. O NIVEL DA LINGUAGEM DE MONTAGEM 3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também

Leia mais

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

Leia mais

Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal. Memória principal

Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal. Memória principal Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal Organização Operações de leitura e escrita Capacidade http://www.ic.uff.br/~debora/fac! 1 2 Componente de um sistema

Leia mais

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas RISC. (Reduced Instructions Set Computers) Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina

Leia mais

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

Leia mais

Infraestrutura de Hardware. Memória Virtual

Infraestrutura de Hardware. Memória Virtual Infraestrutura de Hardware Memória Virtual Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e executado pelo HW? Qual é a interface

Leia mais

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2) Arquitectura de um computador Caracterizada por: Conjunto de instruções do processador (ISA Estrutura interna do processador (que registadores existem, etc Modelo de memória (dimensão endereçável, alcance

Leia mais

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária 1- Apresentação Binária Os computadores funcionam e armazenam dados mediante a utilização de chaves eletrônicas que são LIGADAS ou DESLIGADAS. Os computadores só entendem e utilizam dados existentes neste

Leia mais

CISC RISC Introdução A CISC (em inglês: Complex Instruction Set Computing, Computador com um Conjunto Complexo de Instruções), usada em processadores Intel e AMD; suporta mais instruções no entanto, com

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal

Leia mais

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64 Arquitecturas Alternativas Pipelining Super-escalar VLIW IA-64 Pipeline de execução A execução de uma instrução passa por várias fases: Vimos o ciclo: fetch, decode, execute fetch decode execute instrução

Leia mais

Sistemas Operacionais. Revisando alguns Conceitos de Hardware

Sistemas Operacionais. Revisando alguns Conceitos de Hardware Sistemas Operacionais Revisando alguns Conceitos de Hardware Sumário Hardware Processador Memória principal Cache Memória secundária Dispositivos de E/S e barramento Pipelining Arquiteturas RISC e CISC

Leia mais

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada

Leia mais

Estrutura de um Computador

Estrutura de um Computador SEL-0415 Introdução à Organização de Computadores Estrutura de um Computador Aula 7 Prof. Dr. Marcelo Andrade da Costa Vieira MODELO DE VON NEUMANN PRINCÍPIOS A arquitetura de um computador consiste de

Leia mais

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Sumário Unidade Lógica Aritmetrica Registradores Unidade Lógica Operações da ULA Unidade de Ponto Flutuante Representação

Leia mais

Introdução aos Computadores

Introdução aos Computadores Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas

Leia mais

2. A influência do tamanho da palavra

2. A influência do tamanho da palavra 1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante a execução de

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES ARQUITETURA DE COMPUTADORES Aula 08: UCP Características dos elementos internos da UCP: registradores, unidade de controle, decodificador de instruções, relógio do sistema. Funções do processador: controle

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES ARQUITETURA DE COMPUTADORES Aula 02: Conceitos Básicos Conceitos Básicos Conceitos fundamentais: dado, informação e processamento de dados Conceitos de algoritmo, algoritmo ótimo, hardware. Software e

Leia mais

Microprocessadores. Prof. Leonardo Barreto Campos 1

Microprocessadores. Prof. Leonardo Barreto Campos 1 Microprocessadores Prof. Leonardo Barreto Campos 1 Sumário Introdução; Arquitetura de Microprocessadores; Unidade de Controle UC; Unidade Lógica Aritméticas ULA; Arquitetura de von Neumann; Execução de

Leia mais

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software ANHANGUERA EDUCACIONAL Capítulo 2 Conceitos de Hardware e Software Hardware Um sistema computacional é um conjunto de de circuitos eletronicos. Unidade funcionais: processador, memória principal, dispositivo

Leia mais

Arquitetura de Computadores - Arquitetura RISC. por Helcio Wagner da Silva

Arquitetura de Computadores - Arquitetura RISC. por Helcio Wagner da Silva Arquitetura de Computadores - Arquitetura RISC por Helcio Wagner da Silva Introdução RISC = Reduced Instruction Set Computer Elementos básicos: Grande número de registradores de propósito geral ou uso

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 3 Software Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Barramento Sistemas Operacionais Interliga os dispositivos de E/S (I/O), memória principal

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 5 CONJUNTO DE INSTRUÇÕES Prof. Luiz Gustavo A. Martins Introdução O que é um conjunto de instruções? Coleção completa das instruções que a CPU é capaz de executar (entende).

Leia mais

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias Visão Geral da Arquitetura de Computadores Prof. Elthon Scariel Dias O que é Arquitetura de Computadores? Há várias definições para o termo arquitetura de computadores : É a estrutura e comportamento de

Leia mais

Visão geral do sistema de armazenamento e hierarquia de memória

Visão geral do sistema de armazenamento e hierarquia de memória Visão geral do sistema de armazenamento e hierarquia de memória Conhecer os dispositivos de armazenamento por meio do conceito e dos tipos de memórias utilizadas no computador. Subsistemas de memória Memória

Leia mais

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir. O throughput de um pipeline é determinado pela freqüência com que uma instrução sai do pipeline Todos os estágios devem estar prontos ao mesmo tempo para prosseguir O tempo requerido para mover uma instrução

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 13 Gerência de Memória Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Sumário

Leia mais

1.1. Organização de um Sistema Computacional

1.1. Organização de um Sistema Computacional 1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 6.7 Operações com as Memórias: Já sabemos, conforme anteriormente citado, que é possível realizar duas operações em uma memória: Escrita (write) armazenar informações na memória; Leitura (read) recuperar

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal

Leia mais

LÓGICA DE PROGRAMAÇÃO

LÓGICA DE PROGRAMAÇÃO Todos direitos reservados. Proibida a reprodução, mesmo parcial, por qualquer processo mecânico, eletrônico, reprográfico, etc., sem a autorização, por escrito, do(s) autor(es) e da editora. LÓGICA DE

Leia mais

Organização Básica do Computador

Organização Básica do Computador Organização Básica do Computador Modelo de Von Neumann MEMÓRIA ENTRADA ARITMÉTICA LÓGICA SAÍDA CONTROLE Modelo de Von Neumann Introduziu o conceito do computador controlado por programa armazenado. Todo

Leia mais

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Organização e Arquitetura de Computadores

Organização e Arquitetura de Computadores Organização e Arquitetura de Computadores MemóriaVirtual Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Gerência de memória convencional Divide um programa em unidades menores Partes

Leia mais

Arquitetura de Computadores. Arquitetura de Computadores 1

Arquitetura de Computadores. Arquitetura de Computadores 1 Computadores Computadores 1 Introdução Componentes: Processador; UC; Registradores; ALU s, FPU s, etc. Memória (Sistema de armazenamento de informações; Dispositivo de entrada e saída. Computadores 2 Introdução

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

Sistemas Numéricos bit / Byte BIT BYTE. Prof. Celso Candido ADS / REDES / ENGENHARIA

Sistemas Numéricos bit / Byte BIT BYTE. Prof. Celso Candido ADS / REDES / ENGENHARIA BIT BYTE 1 BIT / BYTE Toda informação introduzida em um computador precisa ser entendida pela máquina para que possa ser corretamente interpretada e processada. O computador armazena e movimenta as informações

Leia mais

2 Formalidades referentes ao trabalho

2 Formalidades referentes ao trabalho Bacharelado em Ciência da Computação DINF / UFPR Projetos Digitais e Microprocessadores 1 o Semestre de 2006 MICO-v12.r0 07/03/2006 Profs. Luis Allan Künzle e Armando Luiz Nicolini Delgado Atenção: Este

Leia mais

O modelo do computador

O modelo do computador O modelo do computador Objetivos: Mostrar como é o funcionamento dos computadores modernos Mostrar as limitações a que estamos sujeitos quando programamos Histórico Os primeiros computadores são da década

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos

1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos 1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos Já estudamos anteriormente que os processadores funcionam (ou melhor, o seu hardware funciona) através de ordens simples e básicas,

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100

Leia mais

Gerência de Memória. Paginação

Gerência de Memória. Paginação Gerência de Memória Paginação Endereçamento Virtual (1) O programa usa endereços virtuais É necessário HW para traduzir cada endereço virtual em endereço físico MMU: Memory Management Unit Normalmente

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento 1 Processadores Computador Processador ( CPU ) Memória E/S Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento 2 Pastilha 3 Processadores (CPU,, Microcontroladores)

Leia mais

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é

Leia mais

Diminui o gargalo existente entre processador e memória principal; 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP;

Diminui o gargalo existente entre processador e memória principal; 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP; Diminui o gargalo existente entre processador e memória principal; Diferença de velocidade 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP; Tecnologia semelhante à da CPU e,

Leia mais

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS Ciência da Computação Sistemas de Numeração e Conversões Prof. Sergio Ribeiro Material adaptado das aulas do Prof. José Maria da UFPI Conteúdo Conversões de binário para decimal. Conversões de decimal

Leia mais