Baixe o app para aproveitar ainda mais
Prévia do material em texto
0 Arquitetura e Organização de Computadores 1 Autor(a): Alexandre Bozolan dos Santos Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Curso Superior de Tecnologia em Gestão da Tecnologia da Informação Coordenador: Emerson dos Santos Paduan São Paulo - 2015 2 Sumário Ciclo e classificação de instruções 3 Introdução 3 Ciclo de instruções 4 Ciclo de instruções com interrupções 5 Classificação das instruções de máquina 6 Representação das instruções 7 BIBLIOGRAFIA BÁSICA 11 BIBLIOGRAFIA COMPLEMENTAR 11 3 Ciclo e classificação de instruções Introdução O conteúdo apresentado nesta unidade tem como objetivo principal apontar os conceitos que serão abordados, direcionando-o na consulta do material completo a ser estudado, por meio de acessos à Biblioteca Virtual disponível na página da Universidade Anhembi Morumbi. Você deverá estudar cada tópico abordado conforme indicações destacadas nos links descritos aqui. Siga os passos abaixo para acessar a Biblioteca da Universidade: Entre na página da Biblioteca da Universidade. Clique no ícone da Biblioteca Virtual 3.0, conforme figura 1. Faça o login, se necessário. Figura 1 – Página da Biblioteca da Universidade. 4 Ciclo de instruções Em geral, o processamento das instruções consiste em duas etapas: primeiro, o processador busca instruções na memória, uma de cada vez; depois, execu- ta-as (Stallings, 2010). O processo de execução consiste em repetir o processo de busca e execução da instrução. Além disso, a execução da instrução pode envolver diversas operações e também ser totalmente dependente da nature- za da instrução, seja ela uma soma, uma subtração, uma divisão, uma multipli- cação, etc. Assim, o processo exigido para realizar uma única instrução é cha- mado de ciclo de instrução. A figura 2 mostra um diagrama simples em que as duas etapas do ciclo de instrução estão ocorrendo. Figura 2 – Ciclo básico de instrução (Stallings, 2003). Como pode ser observado na figura 2, após o início da rotina, o sistema busca a próxima instrução a ser executada. Depois que ela é lida e decodificada, o próximo passo é executá-la. Se mais instruções forem necessárias para reali- zar uma tarefa mais complexa, o sistema volta ao estado de busca de novas instruções. Se não houver mais instruções, o sistema finaliza a rotina. As duas etapas principais do ciclo de instrução acima são denominadas, respectiva- mente, ciclo de busca e ciclo de execução. Para mais detalhes, acesse o link a seguir e faça a leitura cuidadosa do tópico indicado. Bibliografia a ser acessada http://anhembi.bv3.digitalpages.com.br/users/publications/978 8576055648/pages/57 (Capítulo 3: Tópico 3.2 do livro Arquitetura e organização de compu- tadores, de Stallings) 5 Ciclo de instruções com interrupções Embora o estudo de interrupções seja um tanto abstrato para o nosso enten- dimento, essa função é tão importante que está presente em praticamente todos os computadores. Entre outras tarefas, as interrupções oferecem um mecanismo por meio do qual outros módulos de entrada/saída ou memória podem interromper o processamento normal do computador (Stallings, 2010). Acesse o link a seguir e faça a leitura do tópico sugerido. Diferentemente da figura 2, podemos observar na figura 3 que, para acomo- dar as interrupções durante o ciclo básico de instruções, um ciclo de interrup- ção é adicionado, fazendo com que haja um retorno periódico do ciclo de bus- ca toda vez que ocorre uma nova interrupção. Figura 3 – Ciclo de instruções com interrupções (Stallings, 2010). Esquematicamente, as interrupções ocorrem quando o programa usuário realiza uma série de chamadas, denominadas WRITE, intercaladas com o pro- cessamento. Durante o processo podem ocorrer sequências de instruções (1), (2), (3) que não envolvem chamadas de E/S, conforme a figura 4, as quais acon- tecem em três seções: Bibliografia a ser acessada http://anhembi.bv3.digitalpages.com.br/users/publications/ 9788576055648/pages/59 (Capítulo 3: Tópico 3.2 do livro Arquitetura e organização de compu- tadores, de Stallings) 6 Figura 4 – Exemplos de três fluxos do programa sem interrupção (a) e com interrupções (b) e (c) (Stallings, 2010). Para compreender melhor o processo de chamada de uma sub-rotina com ou sem interrupção, acesse o link indicado a seguir e faça a leitura do tópico su- gerido. Classificação das instruções de máquina Quando estamos tratando da funcionalidade interna dos computadores, po- demos classificar como um dos elementos essenciais de uma instrução o có- digo de operação (opcode), que especifica a operação a ser realizada durante o Bibliografia a ser acessada http://anhembi.bv3.digitalpages.com.br/users/publications/9788 576055648/pages/61 (Capítulo 3: Tópico 3.2 do livro Arquitetura e organização de compu- tadores, de Stallings) 7 ciclo de instruções (Stallings, 2010). Mais precisamente, os opcodes especificam operações em uma das seguintes categorias gerais: Operações aritméticas e lógicas. Movimentação de dados entre dois registradores, entre registrador e memória ou dois locais na memória. Operações de E/S e controle. Para melhor entender a complexidade das instruções de máquina, vamos inicialmente acessar o link a seguir e compreender os elementos que constitu- em uma instrução de máquina. Representação das instruções Dentro do computador, cada instrução é representada por uma sequência de bits. A instrução é dividida em campos, correspondentes aos elementos cons- tituintes dela. É formada pelo código da operação e por um ou mais endere- ços. Durante a execução, uma instrução é lida para o registrador de instrução (IR) no processador. O processador precisa ser capaz de extrair os dados dos diversos campos da instrução para realizar a operação exigida. Um exemplo simples do formato de instruções de 16 bits pode ser visualizado na figura 5. Bibliografia a ser acessada http://anhembi.bv3.digitalpages.com.br/users/publications/ 9788576055648/pages/59 (Capítulo 3: Tópico 3.2 do livro Arquitetura e organização de compu- tadores, de Stallings) 8 Figura 5 – Formatos de instruções simples de 16 bits (Null, 2010). Para o programador iniciante ou o usuário de computador, é muito difícil tra- balhar com representações binárias das instruções de máquina. Assim, tor- nou-se uma prática comum usar alguma representação simbólica das instru- ções de máquina para programá-la com um pouco mais de facilidade. Para isso, foram desenvolvidos os opcodes, também conhecidos como mnemônicos, para representar as operações em linguagem de baixo nível, ou seja, uma lin- guagem de programação que mais se aproxima do nível lógico dos 0’s e 1’s. Para um aprofundamento nessa teoria, acesse o link a seguir e faça a leitura detalhada do tópico indicado. Praticamente todas as operações aritméticas e lógicas são ou unárias (um operando de origem) ou binárias (dois operandos de origem). Assim, precisarí- amos de, no máximo, dois endereços para referenciar operandos de origem. O resultado de uma operação precisa ser armazenado, sugerindo um terceiro endereço, que define um operando de destino (Stallings, 2010). Essa linha de raciocínio sugere que uma instrução poderia conter quatro refe- rências de endereço: dois operandos de origem, um operando de destino e o endereço da próxima instrução. Na maioria das arquiteturas,quase todas as instruções possuem um, dois ou três endereços de operando, sendo implícito Bibliografia a ser acessada http://anhembi.bv3.digitalpages.com.br/users/publications/9788576055 648/pages/289 (Capítulo 10: Tópico 10.1 do livro Arquitetura e organização de com- putadores, de Stallings) 9 o endereço da próxima instrução, ou seja, é obtido pelo contador de progra- ma – PC (program counter). Vamos agora entender quais são os tipos possíveis de operando. Acesse o link a seguir e faça a leitura do tópico recomendado. A seguir, é possível verificar uma comparação entre instruções típicas de um, dois e três endereços (ou registradores) que poderiam ser utilizados para cal- cular uma função matemática. Figura 6 – Exemplos da execução de uma função matemática em linguagem de máquina (Assembly): (a) utilizando três endereços, (b) utilizando dois ende- reços e (c) utilizando um endereço e a memória (Stallings, 2010). Representação das instruções Bibliografia a ser acessada http://anhembi.bv3.digitalpages.com.br/users/publications/9 788576055648/pages/293 (Capítulo 10: Tópico 10.2 do livro Arquitetura e organização de computadores, de Stallings) 10 Para finalizar esta unidade, vamos abordar os modos de endereçamento de um computador. Para realizar o endereçamento de um grande intervalo de posições da memória principal, uma grande variedade de técnicas de endere- çamento foi desenvolvida. Todas elas envolvem o cálculo de algum endereço com o número de referência de memória em que a instrução está alocada. Acesse o link a seguir e faça a leitura do tópico indicado. Bibliografia a ser acessada http://anhembi.bv3.digitalpages.com.br/users/publications/9788576055648/ pages/329 (Capítulo 11: Tópico 11.1 do livro Arquitetura e organização de computa- dores, de Stallings) 11 BIBLIOGRAFIA BÁSICA MONTEIRO, M. Introdução à organização de computadores. 5. ed. Rio de Janei- ro: Livros Técnicos e Científicos – LTC, 2007. STALLINGS, W. Arquitetura e organização de computadores. 8. ed. São Paulo: Prentice-Hall, 2010. WEBER, R. F. Fundamentos de arquitetura de computadores. 2. ed. Porto Ale- gre: Sagra Luzzatto, 2001. BIBLIOGRAFIA COMPLEMENTAR HENNESSY, J. L.; PATTERSON, D. A. Organização de computadores: a interface hardware e software, 2. ed. Rio de Janeiro: Livros Técnicos e Científicos – LTC, 2000. NULL, L. Arquitetura e organização de computadores. Porto Alegre: Bookman, 2010. PATTERSON, D. A. Computer Architecture a Quantitative Approach. 3. ed. Unites States: Morgan Kaufmann Publishers, 1996. TANENBAUM, A. S. Organização estruturada de computadores. 6. ed. Rio de Janeiro: Livros Técnicos e Científicos – LTC, 2013.
Compartilhar