Fundamentos de Arquitetura e Organização de Computadores

Dois conceitos fundamentais no estudo dos sistemas de computação são o de Arquitetura e Organização de computadores. O termo arquitetura refere-se aos atributos do ponto de vista do programador, e portanto, têm impacto direto sobre sobre a execução lógica de um programa. O termo organização, refere-se às unidades operacionais e suas interconexões. Desta forma, uma mesma arquitetura pode ser implementadas por meio de diferentes organizações.

A arquitetura de um sistema computacional estabelece o modelo da organização e funcionamento de um sistema de processamento, com todas suas partes, divididas em seções, interagindo entre si.

Os componentes e suas relações são representados através de sistemas hierárquicos, o que mostra-se ideal para o estudo de conjuntos complexos e que atuam em diferentes níveis; separados por suas características, estudaremos o funcionamento de cada um destes componentes.

As funções básicas de um computador são o processamento de dados, armazenamento de dados, transferência de dados e controle. Para desempenhar essas funções o computador precisa executar um conjunto de instruções (programa). Os computadores que conhecemos são baseados no conceito de programa armazenado, introduzido por Von-Neuman. As instruções do programa e os dados são armazenados em uma memória, de forma que a alteração de um programa consiste na alteração de um endereço de memória.

O ciclo de execuçã de cada uma das instruções de um programa é dividido nos seguintes estados:

  • Cálculo do Endereço de Instrução;
  • Busca da Instrução (Instruction Fetch);
  • Decodificação da Instrução;
  • Cálculo do Endereço do Operando;
  • Busca do Operando (Operand Fetch);
  • Execução da Operação;
  • Armazenamento do Resultado.

No entanto, os computadores modernos utilizam o conceito de interrupção para diminuir o tempo de ociosidade dos processadores, o ciclo de execução das instruções ganham mais alguns estados. As classes de interrupções mais comuns são interrupções de software, de relógio, de E/S e de falha de hardware.

Componente básicos de um computador

Estrutura de um Computador

  • Unidade Central de Processamento (CPU) – Módulo que realiza as operações necessárias;
  • Memória Principal – Uma área de trabalho para o armazenamento das informações que serão processadas;
  • Dispositivos de E/S – Dispositivos para o recebimento de informações e retorno/armazenamento dos resultados;
  • Sistemas de Interconexão – Um meio através do qual os dispositivos possam se comunicar e transmitir dados;

Componentes básicos de um computador

Ao estudarmos qualquer assunto complexo e/ou com grande riqueza de detalhes, a estratégia mais natural para facilitar o processo de aprendizado é subdividir o tema principal em partes menores, e então, preocupar-se somente com uma porção por vez.

Após estudadas todas as partes, o passo final é enxergar como estas se encaixam, tratando agora o objeto de estudo como um todo e abstraindo, se possível, os detalhes mais específicos de cada uma das partes.

Para o desenvolvimento de aplicações mais eficientes, programadores devem se familiarizar com novos aspectos da organização de computadores. Hierarquia de memória (memória principal, cache L1, cache L2, etc.). Paralelismo de execução de instruções. Novas tecnologias de processamento (processadores multicore, etc.).

Para interconectar dois ou mais dispositivos em um sistema são utilizados os chamados barramentos. Os barramentos são compostos por linhas que podem ser de Dados, Endereço ou Controle. Os barramentos de controle podem ser utilizados, por exemplo, para controlar direito de leitura ou escrita em memória ou E/S, interrupções, confirmações, relógio e reset. O projeto dos barramentos que compõe um sistema são de grande importância no desempenho do sistema. Questões importantes no projeto de barramentos são:

  • Tipo – dedicado ou multiplexado;
  • Método de Arbitração – Centralizado ou Distribuído;
  • Temporização – Síncrona ou Assíncrona;
  • Largura – número de linhas;
  • Tipo de Transferência – leitura, escrita, leitura/modificação/escrita, escrita/leitura, em bloco.

Para aumentar o desempenho do sistema, os barramentos são organizados de forma hierárquica, de forma a isolar o tráfego de dados entre CPU e memória do tráfego proveniente de operações de E/S. Os chamados barramentos de expansão proporcionam maior flexibilidade ao sistema (ex: SCSI), enquanto os barramentos de alta velocidade sã utilizados para dispositivos de alta capacidade (ex: FireWire).

Funcionamento e a Estrutura de uma CPU

Os principais elementos da CPU são a Unidade de Controle, a Unidade Lógica e Aritmética (ULA) e os Registradores. Esses elementos se conectam internamente através do barramento interno da CPU.

Estrutura da CPU

Unidade de Controle

Responsável por buscar as instruções na memória e determinar o seu tipo e pode ser pensada como uma máquina de estados finitos. Controla não só a transferência de dados e instruções para dentro e parafora da CPU, como também a operação da ULA.

Unidade Lógica e Aritmética

Responsável pelo processamento de dados como executar operações de adição, e AND booleano, entre outras, e para executar as instruções.

Registradores

Os registradores presente na CPU são memórias pequenas e de alta velocidade para armazenar resultados temporários e controle de informações. Existem vários tipos de registradores de uso geral ou específico. O mais importante deles é o contador do programa (PC – Program Counter). Este contador indica a próxima instrução a ser buscada para execução. Outro de grande importância é o Registrador de instrução (Instruction Register), que contém a instrução executada no momento em questão.

A CPU se comunica com o mundo externo através dos barramentos do sistema. Ao longo da execução de um programa, os barramentos constituem os chamados caminho dos dados. No topo da organização hierárquica de memória em um sistema se encontram os registradores. Esses se dividem em dois tipos: Registradores visíveis ao Usuário e Registradores de Controle e de Estado.

Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem. Eles podem ser registradores de dados, endereço ou então de propósito geral. Os registradores de Controle e de Estado são utilizados para controlar a operação da CPU. Na maioria das vezes não são visíveis aos usuários. Exemplos de registradores de Controle e de Estado são o Program Counter (PC), Instruction Register (IR), Memory Address Register (MAR), Memory Buffer Register (MBR), Program Status Word (PSW), Stack Pointer (SI), Page Table Base Register (PTBR), Page Table Base Limit (PTBL).

A sequência de eventos ao longo de um ciclo de instrução depende do projeto da CPU, no entanto, em termos gerais, pode-se indicar o que acontece em nos subciclos de busca, indireto e interrupção. O ciclo de execução depende do código da operação que será executada.

Transição de Estados do Ciclo de Instrução CPU

Durante o ciclo de busca, o contador de programa contém o endereço da próxima instrução a ser buscada na memória. Esse endereço é movido para o registrador MAR e a unidade de controle requisita uma leitura na memória. O resultado da leitura e colocado no registrador MBR, que em seguida é copiado para o registrador IR. Enquanto isso o PC é incrementado de 1 para preparar a busca da próxima instrução.

Fluxo de Dados do Ciclo de Busca

Ao fim do ciclo de busca, o unidade de controle examina se a instrução especifica algum operando com endereçamento indireto. Os n bits mais a direita de MBR são colocados em MAR, e então a unidade de controle requisita uma leitura a memória para carregar o valor do operando para MBR.

Fluxo de Dados do Ciclo Indireto

No ciclo de interrupção, o conteúdo do registrador PC dever ser salvo, para que mais tarde a CPU possa retornar sua atividade normal depois de processar a interrupção. O conteúdo do PC é transferido para MBR. A endereço de memória reservado para guardar o valor de PC (ex: topo da pilha) é carregado para MAR, e então a unidade de controle solicita uma escrita na memória. Por fim o PC é carregado com o endereço da rotina de interrupção, para que o no próximo ciclo de instrução seja feita a busca da instrução apropriada.

Fluxo de Dados do Ciclo de Interrupção

Fontes:
– http://pt.scribd.com/doc/7028962/4Estrutura-e-Funcionamento-Da-Cpu
– http://www.professores.uff.br/mquinet/01_FAC.pdf
– Handbook de TI

Sou bacharel em Sistemas de Informação pela Estácio de Sá (Alagoas), especialista em Gestão Estratégica da Tecnologia da Informação pela Univ. Gama Filho (UGF) e pós-graduando em Gestão da Segurança da Informação pela Univ. do Sul de Santa Catarina (UNISUL). Certificações que possuo: EC-Council CEH, CompTIA (Security+, CySA+ e Pentest+), EXIN (EHF e ISO 27001), MCSO, MCRM, ITIL v3. Tenho interesse por todas as áreas da informática, mas em especial em Gestão e Governança de TI, Segurança da Informação e Ethical Hacking.

9 Responses to “Fundamentos de Arquitetura e Organização de Computadores”

  1. Filipe disse:

    Muito obrigado pela sua explicação Diego, e principalmente pela clareza e uso de linguagem de fácil entendimento, estou à 3 noites tentando entender este assunto, para resolver um problema em uma disciplina de ADS, porém as explicações utilizadas pelo professor e a linguagem do mesmo eram muito técnicas, isso mesmo para mim que trabalho à 6 anos na área da TI, sendo assim, sua explicação foi extremamente importante para mim, muito obrigado mais uma vez por ela. Grato!

  2. Cristiana Carolina Andrade Mendes Souza disse:

    Material maravilhoso.
    Parabéns

  3. ÉRICA ACIOLI DA SILVA disse:

    Muito bom! Parabéns, Diego pelo material.

  4. Marcia disse:

    Sou muito leiga e tenho que fazer este trabalho:
    No entanto, os computadores modernos utilizam o conceito de interrupção para diminuir o tempo de ociosidade dos processadores, o ciclo de execução das instruções ganha mais alguns estados. As classes de interrupções mais comuns são interrupções de software, de relógio, de E/S e de falha de hardware.
    Faça um levantamento para identificar como os atuais computadores se comportam e para que rumos as
    empresas estão indo
    Você pode detalhar para eu este tema, com imagens mais populares, para que eu possa entender melhor, uma forma mais simples para que eu possa responder esta pergunta.

  5. fabricio siqueira verly disse:

    Muito bom esse artigo se poder falar mais de processadore e suas principais diferenças ,qual é o futuro essas coisas….obrigado me ajudo muito…

  6. Rodolfo disse:

    Parabéns pelas postagens, são bem informativas. Só uma dica: vc poderia remover a rolagem automática da barra de feedback das redes sociais. Às vezes, atrapalha a leitura. Obrigado

Deixe um comentário para Marcia Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *