Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIDADE PAULISTA 1 CIÊNCIA DA COMPUTAÇÃO FLUXO E PROCESSAMENTO DE DADOS: x = A + B, -> INSTRUÇÃO: LOAD A BRUNO DOS SANTOS MOREIRA 21523213 GABRIEL DE SOUZA ALVES 21587787 GABRIEL FERREIRA CAVALHIERI 21515695 GUSTAVO MELLO SOARES DOS SANTOS 21568663 JOÃO LUCAS DE SOUZA YONÉA 21598575 LUCAS MIGUEL ANTUNES DA SILVA 21523976 PAULO HENRIQUE AUGUSTO 21532508 PEDRO HENRIQUE MORAIS PEREIRA 21568672 RAFAEL HENRIQUE GONCALVES SOARES 21566288 ROBERTA FERREIRA DUPRAT 21551006 SÃO PAULO 2021 FLUXO E PROCESSAMENTO DE DADOS: x = A + B, -> INSTRUÇÃO: LOAD A Trabalho apresentado como exigência parcial para a disciplina Fundamentos para Computação, do curso Ciência da Computação da Universidade Anhembi Morumbi, sob a orientação do Prof. José Ernesto Araújo. SÃO PAULO 2021 RESUMO Este trabalho tem como objetivo trazer certa compreensão de como funciona uma CPU (Unidade Central de Processamento, em português) e o fluxo de dados e instruções que passam e são executados por ela. Para isso, em um computador, a CPU funciona como um cérebro, que comunica os outros componentes e faz com que, através de ciclos, os dados fornecidos pela memória sejam executados e funcionem da maneira que deveriam. Para explicar esse processo detalhadamente, o fluxo de dados na CPU será apresentado em etapas e servirá para representar a importância, tanto do processador, quanto da memória dentro dos computadores. Este trabalho foi produzido por meio de orientações do Prof. Dr. José Ernesto De Araújo Filho e da leitura do livro “Introdução à Organização de Computadores”, de Mario A. Monteiro. Palavras-chave: Processador, Unidade Central de Processamento, fluxo de dados. ABSTRACT This assignment aims to bring a certain understanding of how a CPU (Central Processing Unit) works and the flow of data and instructions that pass and are executed by it. For this, in a computer, the CPU works like a brain, which communicates the other components and makes, through cycles, the data provided by the memory, are executed and work the way they should. To explain this process in detail, the data flow in the CPU will be presented in stages and will serve to represent the importance of both the processor and the memory inside the computers. This work was produced through the guidance of Prof. Dr. José Ernesto De Araújo Filho and reading the book “Introdução à Organização de Computadores”, by Mario A. Monteiro. Key Words: Processor, Central Processing Unit, data flow. SUMÁRIO INTRODUÇÃO 5 CICLO DE INSTRUÇÕES NA CPU 6 INSTRUÇÃO LOAD A 7 SÍNTESE: OPERAÇÃO X = A + B 11 CONCLUSÃO 12 REFERÊNCIAS 13 5 INTRODUÇÃO O trabalho a seguir tem como finalidade entender melhor o funcionamento da Unidade Central de Processamento (UCP, do inglês, CPU (Central Processing Unit)) do computador, o processamento e fluxo dos dados que passam pelo processador e memória respectivamente, com foco no funcionamento da instrução LOAD (do inglês, carregar). Ademais, procurar adquirir conhecimento sobre a Arquitetura do Computador, ou seja, os componentes e seus funcionamentos, não somente o processador, mas também a relação do Sistema como um todo, trabalhando de forma coordenada e organizada. Esta apresentação também irá facilitar para aqueles que não estudam a área do trabalho visando simplificar o processo e o fluxo de dados no computador que é explicado simplificadamente, mas sem perder os detalhes, através de ilustrações contendo diagramas e fluxogramas. Foi solicitado pelo Professor Dr. Ernesto, explicar e detalhar o processamento da operação X = A + B, na instrução LOAD A, e mostrar como o microprocessador ativa cada um dos componentes de maneira ordenada para que a operação seja concluída, dividindo os processos em passos e explicando detalhadamente cada um permitindo uma melhor compreensão da operação. E para confirmar tal propósito o trabalho foi baseado no livro “Introdução à Organização de Computadores”, escrito por Mário A. Monteiro, o qual apresenta bons modelos de representação de fluxos e processamento de dados. 6 CICLO DE INSTRUÇÕES NA CPU Para realizarem uma operação, as instruções seguem um padrão dividido em dois ciclos: O Ciclo inicial é o de busca, onde a unidade de controle da Unidade de Controle (UC) busca na memória principal a instrução a ser interpretada, ativa o contador de instruções para que o endereço da instrução seja seguido e então, resumidamente, a instrução passa pelo decodificador, que decodifica o código da operação para que a operação seja executado. E, o processo final do ciclo de instruções do microprocessador é onde ocorre a execução do código decodificado. Primeiramente, verifica-se a seguinte condição: há operando na instrução? Caso haja, ele é buscado na memória por seu endereço e armazenado em um dos registradores para que a próxima operação seja realizada. A figura 1 mostra um fluxograma demonstrando estes dois ciclos. Figura 1 - Diagrama do fluxo de processamento de dados Fonte: Compilação do autor. 7 INSTRUÇÃO LOAD A Para que a operação Load seja compreendida pela máquina será necessário que seus passos sejam subdivididos em passos menores, para que assim esses passos fiquem o mais próximo o possível da linguagem padrão da CPU. Para a soma ser realizada será necessário primeiramente que a operação Load A seja feita, e essa mesma operação pode ser quebrada em pequenos estágios que estão sendo retratados nas figuras 2 ao 5. Figura 2 - Primeira parte do ciclo Fonte: Compilação do autor. 01 ➜ A UC (Unidade de Controle) ativa o contador de instruções CI(Contador de instruções) para liberar o endereço da próxima instrução no barramento interno. 02 ➜ A UC ativa o MAR (Memory Address Register, ou em português, Registrador de Endereço) para receber o endereço da próxima instrução, que está no barramento interno da CPU. 03 ➜ A UC ativa o MAR para que seja enviado o endereço 02 para o barramento externo. 04 ➜ A UC ativa a memória para receber o endereço 02, enviado pelo barramento externo. 8 Figura 3 - Segunda parte do ciclo Fonte: Compilação do autor. 05 ➜ A UC ativa a memória para lançar o conteúdo do endereço 02 no barramento externo. 06 ➜A UC ativa o MBR para receber a instrução 1B4 do barramento externo. 07 ➜A UC ativa o MBR para liberar a instrução 1B4 no barramento interno. 08 ➜A UC ativa o Registrador de instruções para obter a instrução 1B4 do barramento interno. A UC também envia um comando para incrementar o contador de instruções de 2 para 3. 9 Figura 4 - Terceira parte do ciclo Fonte: Compilação do autor. 09 ➜ A UC ativa o decodificador para receber o código da operação (1) e liberar a instrução decodificada na UC, que permitirá a inicialização da operação LOAD A 10 ➜ A UC ativa o Registrador de Instruções para lançar o B4 no barramento interno. 11 ➜ A UC ativa o MAR para receber o B4 do barramento interno. 12 ➜ A UC ativa o MAR para lançar o endereço B4 no barramento externo. 10 Figura 5 - Quarta parte do ciclo Fonte: Compilação do autor. 13 ➜ A UC ativa a memória para liberar o conteúdo do endereço B4 (1A7) no barramento externo. 14 ➜ A UC ativa o MBR para receber o conteúdo 1A7 do barramento externo. 15 ➜ A UC ativa o MBR para liberar o 1A7 no barramento interno 16 ➜A UC ativa o registrador A para receber o 1A7, fechando o ciclo da operação LOAD A 11 SÍNTESE: OPERAÇÃO X = A + B Conforme o fluxograma (Figura 2 à Figura 5), o ciclo do microprocessador inicia de um pulso dorelógio (clock), direcionado à unidade de controle (UC), que irá ativar os componentes do microprocessador e efetuar a instrução. Inicialmente, a Unidade de controle (UC) ativa o contador de instruções para disponibilizar o endereço da próxima instrução no barramento interno, depois, a UC ativa o MAR para receber o endereço da instrução que está no barramento interno. Após isto, a UC ativa o MAR para enviar o endereço ao barramento externo e ativa a memória para receber o endereço que foi liberado no barramento externo. Havendo acionado o MAR para receber o endereço da instrução, ele enviará o endereço ao barramento externo. Ao receber o endereço a memória é novamente ativa, enviando o conteúdo do endereço ao barramento externo do registrador de dados da memória MBR (Memory Buffer Register, ou em português, Registrador de Dados). O MBR permite a visibilidade dos dados no barramento interno, acessado pelo o RI (Registrador de Instruções). Com a instrução no RI, o decodificador recebe o código de operação da instrução e o UC ativa o MBR para receber o conteúdo no endereço fornecido pela instrução no barramento externo, assim disponibilizando o conteúdo novamente no barramento interno. Por fim, a UC ativa o registrador A para receber os dados do barramento interno, completando o ciclo de uma instrução. Então, o Contador de Instruções permanece ativo para incrementar o endereço da próxima instrução. No exemplo provido, o endereço da próxima instrução, contido no CI, é o endereço 02. A memória irá ler a memória neste endereço, correspondendo à “1B4”. O código de operação é de 1, LOAD (em português, carregar) que irá armazenar o dado no endereço da instrução “B4”, correspondendo à “1A7”, no registrador A (barramento temporário). A próxima instrução tem o valor de “3B5”, onde a operação 3 é de ADD (em português, somar), e o dado no endereço “B5” corresponde a “07D”, armazenado no registrador B. Na operação de soma, o ALU é ativado para somar os valores dos dois registradores. 12 CONCLUSÃO Em suma, todos os integrantes do grupo revisaram e analisaram com cautela todas as informações e quesitos propostos para a realização do trabalho. Todas as informações sobre as instruções realizadas na CPU foram apresentadas, passo a passo, sobre o fluxo de dados no processador. Também foram apresentados diagramas e fluxogramas, que no geral, cumpriram os quesitos, os quais o grupo almejava. Assim, pode se dizer que o resultado do trabalho ficou apropriado e os objetivos ambicionados pelos integrantes do grupo foram alcançados ao facilitar o entendimento do tema para pessoas que não possuem conhecimento sobre tal assunto, ou até mesmo para aqueles que possuem alguma dúvida em específico. Além disso, as referências e partes teóricas que utilizamos, disponibilizada pelo Prof. Dr. José Ernesto de Araújo Filho, foi de suma importância para a realização do trabalho, que se mostrou um grande projeto para a vida acadêmica de todos os integrantes do grupo, pois, ele se mostrou complexo no início, porém, valioso em seu resultado 13 REFERÊNCIAS MONTEIRO, Mário A., Introdução à Organização de Computadores, 4ª Ed. São Paulo: LTC, 2001.
Compartilhar