Baixe o app para aproveitar ainda mais
Prévia do material em texto
Tecnologia e Computação – Campus Canoas Área: Curso: Disciplina: Cursos de Computação Arquitetura e Organização I Edemar Costa Oliveira Professor : Verificação: Aula Nº: 1 G1 G2 Trabalho Tradução do capítulo 14 de "A Balanced Introduction to Computer Science and Programming" de David Reed, Creighton University, Prentice Hall Dentro do Computador - A arquitetura de von Neumann Parte I Como foi estudado, virtualmente todos os computadores modernos tem o mesmo esquema básico, conhecido como arquitetura de von Neumann. Este esquema divide o hardware de um computador em três componentes principais: • Memória, • Unidade Central de Processamento (UCP ou CPU) e • Dispositivos de entrada e saída. A memória armazena dados e instruções de programas. A CPU é encarregada de buscar as instruções e dados da memória, executar as instruções e então armazenar os valores resultantes de volta na memória. Os dispositivos de entrada (tais como teclado, mouse e microfone) e dispositivos de saída (tais como a tela, alto falantes e impressora) possibilitam a interação com o usuário, permitindo que as pessoas forneçam entradas e exibindo dados, instruções e os resultados das computações. Este capítulo explora os detalhes da arquitetura de von Neumann, descrevendo o funcionamento interno de um computador. As explicações são dadas de maneira incremental, partindo de um modelo simples de Parte Operativa de CPU e então acrescentando a memória principal e depois uma Unidade de Controle. Quando combinados com dispositivos de entrada e de saída, estes componentes representam um modelo preciso (apesar de simplificado) de um computador programável moderno. Para facilitar o aprendizado, são utilizados simuladores (desenvolvidos por Grant Braught do Dickinson College) para cada modelo. Subunidades e Parte Operativa da CPU Como visto no capítulo1, a CPU age como o cérebro do computador. Ela é responsável por obter dados e instruções a partir da memória, executar as instruções e armazenar os resultados de volta na memória. O conjunto de instruções que uma dada CPU de um computador pode entender e executar é conhecido como a linguagem de máquina do computador. Os programadores podem controlar o comportamento de um computador definindo instruções para sua CPU - isto pode ser realizado seja escrevendo programas diretamente em linguagem de máquina ou escrevendo programas em uma linguagem de alto nível e então traduzindo para linguagem de máquina. Mesmo programas que exibem um comportamento complexo são especificados para a CPU como sequências de instruções simples de linguagem de máquina, cada uma executando uma tarefa que não é mais complexa do que somar dois números ou copiar dados para uma nova posição na memória. No entanto, A CPU pode executar estas instruções de maneira tão rápida que pode ser obtido um comportamento complexo do computador. Tecnologia e Computação – Campus Canoas Área: Curso: Disciplina: Cursos de Computação Arquitetura e Organização I Edemar Costa Oliveira Professor : Verificação: Aula Nº: 1 G1 G2 Trabalho Subunidades da CPU A CPU é composta de várias subunidades, cada uma com uma função específica na operação do processador como um todo. Estas subunidades são a Unidade Logico-Aritmética (ULA), registradores e Unidade de Controle. • A Unidade Logico-Aritmética é uma coleção de circuitos que realizam as operações sobre os dados. As operações básicas podem incluir adição, subtração e manipulações de bit (tais como deslocamento ou combinação de bits) • Registradores são posições de memória construídas dentro da CPU. Como os registradores são integrados diretamente nos circuitos da CPU, os dados nos registradores podem ser acessados muito mais rapidamente (5 a 10 vezes mais rápido) do que dados na memória principal. No entanto, devido ao número limitado de registradores na CPU (usualmente 16 ou 32 registradores), estas posições de memória são reservadas para dados que a CPU está usando em um dado momento. Para funcionar de maneira efetiva, o computador deve copiar dados constantemente entre os registradores e a memória. Estas transferências ocorrem através de coleção de conexões chamadas barramentos, que conectam os registradores com a ULA e com a memória principal. • A Unidade de Controle Unit pode ser vista como "o cérebro dentro do cérebro", pois ela controla as várias funções da CPU. A Unidade de Controle é formada de circuitos que realizam a busca de dados e instruções a partir da memória principal, bem como controla o fluxo de dados dos registradores para a ULA e da ULA para os registradores. Figura 14.1: Subunidades da Unidade Central de Processamento (CPU). Ciclos da Parte Operativa da CPU Os caminhos que os dados seguem dentro da CPU, viajando através de barramentos a partir dos registradores para a ULA e então de volta para os registradores é conhecido como Parte Operativa da CPU. Todas as tarefas realizadas por um computador, desde formatar um documento até exibir páginas em um navegador Web, são decompostas em sequências de operações simples; o computador executa cada operação individual movimentando dados dos registradores para a ULA, executando computações sobre estes dados na ULA e então armazenam o resultado nos registradores. Uma passagem completa pela Parte Operativa da CPU (dos registradores passando pelos barramentos e ULA e voltando aos registradores) é chamado de ciclo da Parte Operativa, ou ainda ciclo da CPU. Tecnologia e Computação – Campus Canoas Área: Curso: Disciplina: Cursos de Computação Arquitetura e Organização I Edemar Costa Oliveira Professor : Verificação: Aula Nº: 1 G1 G2 Trabalho A velocidade da CPU é medida pelo número de instruções que a CPU pode executar em um segundo. Como cada instrução precisa de um ciclo de CPU para executar, a velocidade da CPU corresponde diretamente ao número de ciclos de CPU que ocorrem por segundo. Por exemplo, uma CPU de 800 MHz é capaz de executar 800 milhões de ciclos em um único segundo, enquanto uma CPU de 1,4 GHz é capaz de executar 1,4 bilhões de ciclos de CPU em um segundo. No entanto, não se pode avaliar CPUs somente comparando a velocidade dos processadores, pois duas linguagens de máquina diferentes podem dividir a mesma tarefa em diferentes conjuntos de instruções e um conjunto de instruções pode ser mais eficiente que o outro. Isto é, uma CPU pode ser capaz de completar uma dada tarefa em um único ciclo, enquanto outra pode precisar de vários ciclos para completar a mesma tarefa. Para comparar o desempenho de CPUs, deve-se considerar o conjunto de instruções de cada CPU, bem como fatores como o número de registradores e tamanho dos barramentos que transportam os dados entre os componentes. Simulador de Parte Operativa - http://www.dave-reed.com/book/Chapter14/ Para ajudar a visualizar o comportamento da parte operativa da CPU, vamos usar um simulador. O Simulador de Parte Operativa da CPU (K_S/KandS/datapath.html) modela uma CPU simples contendo quatro registradores. Usando o simulador, você pode seguir o fluxo dos dados à medida que eles trafegam pela parte operativa da CPU, a partir dos registradores para a ULA e de volta para os registradores. Para deixar as coisas simples, não é incluída uma Unidade de Controle explícita neste simulador. Ao invés disto, o usuário deve agir como a Unidade de Controle, selecionando os registradores de entrada, a função da ULA e o registrador de saída clicando nos botões do simulador. As figuras 14.2 até 14.5 demonstram o uso do simulador para somar dois números - uma tarefa que pode ser realizada em umúnico ciclo de CPU. Este simulador usa caixas de texto para representar registradores, possibilitando ao usuário entrar com dados digitando nas caixas. Os botões, que permitem ao usuário especificar como os dados movem ao longo da parte operativa da CPU e que operações a ULA executa sobre os dados, são imagens que mudam quando o usuário clica nelas. Na figura 14.2, o usuário entrou os números 43 e 296 nos registradores R0 e R1, respectivamente. Depois de entrar estes valores, o usuário clicou no botão do barramento A para selecionar R0 e no botão do barramento B para selecionar R1. Isto fará com que os números armazenados nestes dois registradores sejam transferidos através dos barramentos indicados para a ULA, a qual executará uma operação sobre eles. Como o usuário posicionou o botão de operação da ULA para adição e o botão do barramento C para R2, a ULA fará a soma dos dois números e o resultado será transferido através do barramento C para ser armazenado no registrador R2. • Figura 14.2: Configuração inicial do simulador. Tecnologia e Computação – Campus Canoas Área: Curso: Disciplina: Cursos de Computação Arquitetura e Organização I Edemar Costa Oliveira Professor : Verificação: Aula Nº: 1 G1 G2 Trabalho • Depois de entrar com os ajustes desejados, o usuário inicia o ciclo de CPU no simulador clicando no botão rotulado Execute. A figura 14.3 mostra o estado da CPU a medida que os valores em R0 e R1 trafegam através dos barramentos A e B para a ULA. As setas que representam os barramentos piscam em vermelho e os números sendo transferidos são mostrados em caixas de texto próximas aos barramentos • A figura 14.4 ilustra o estado da CPU depois que a ULA recebeu os números e executou a operação especificada. Como o usuário colocou o botão de operação da ULA na posição da soma, a ULA soma os dois números, 43 e -296. O resultado -253 é enviado para fora da ULA através do barramento C. • Finalmente, a figura 14.5 mostra o resultado final do ciclo de CPU. Como o usuário colocou o botão do barramento C para a posição do registrador R2, o valor -253 é enviado através do barramento C e é armazenado no registrador R2. Figura 14.4: Dados trafegando da ULA para os registradores. Figura 14.3: Dados movendo dos registradores para a ULA. Figura 14.5: Resultado final do ciclo de CPU. CPU e Memória Principal
Compartilhar