Arquitetura de Computadores · Ibmec RJ
Objetivos de aprendizagem
2.1 / arquitetura e organização
Segundo Stallings, W., o termo arquitetura distingue-se do termo organização: o primeiro relaciona-se aos atributos visíveis ao programador, que influenciam a lógica dos códigos desenvolvidos; o segundo refere-se aos relacionamentos e funções dos elementos constituintes dos sistemas computacionais.
arquitetura vs. organização
Arquitetura — o que é visível ao programador (ex.: conjunto de instruções, formatos de dados, modos de endereçamento).
Organização — como os componentes se relacionam e funcionam internamente (ex.: sinais de controle, interfaces, tecnologia de memória).
Os relacionamentos entre os elementos são as ligações físicas e lógicas estabelecidas entre eles durante uma operação. No domínio da engenharia de requisitos, uma função é uma operação proporcionada por um sistema (ou por seus componentes), que a partir de entradas produz uma ou mais saídas, condicionada por restrições.
A estrutura típica de sistemas computacionais, em uma visão de alto nível, é apresentada na figura abaixo.
Fig. 2.1 — Visão geral dos sistemas computacionais: CPU, memória, dispositivos de E/S e elementos de interconexão
As funções básicas que um computador desempenha são:
| Elemento | Função |
|---|---|
| CPU | Controla a operação do computador e processa os dados — também chamada de processador |
| Memória | Armazena os dados na forma de representação binária (bits) |
| Dispositivos de E/S | Transferem os dados entre o computador e o ambiente externo |
| Elementos de interconexão | Permitem a comunicação entre os diversos elementos do computador |
Os dados são conjuntos de bits processados pelo computador. Muitas vezes trata-se de forma indistinta as definições de dados e informações — mas essa abordagem desconsidera uma das principais funções do computador: processar dados.
dado vs. informação
O dado é o conjunto bruto de bits, sem valor agregado. A informação é o conjunto de bits que sofre um processamento que lhe agrega valor, visando solucionar um problema. Em outro contexto, a informação pode ser reprocessada — configurando-se novamente como dado, para gerar novo valor agregado a um novo problema.
Fig. 2.2 — Diferença entre dados e informação
| Termo | Conceito |
|---|---|
| Linguagem | Sistema de símbolos, sinais ou objetos instituídos como signos — código — que obedece a regras de sintaxe e semântica |
| Programa | Conjunto de instruções escritas em uma das linguagens entendidas pelas máquinas para processamento de dados |
Utilizamos a abordagem proposta por Tanenbaum, A. S.: o computador pode ser projetado como um conjunto de camadas ou níveis, um sobre o outro.
A organização de um computador pode ser entendida como um conjunto de máquinas Mi, cada uma com uma linguagem de programação Li, para as quais são escritos os programas. Cada máquina ocupa uma camada ou nível N.
Fig. 2.3 — Máquina multinível: conjunto de camadas, cada uma com sua linguagem de programação
Cada nível i executa programas que contêm instruções de uma linguagem (Li). Cada instrução de um nível i pode ser convertida em instruções de um nível i-1 (inferior). São necessárias interfaces de conversão: tradutores ou interpretadores.
| Conversor de código | Característica |
|---|---|
| Tradução | Instruções e dados do código da máquina de origem são substituídos pelos equivalentes no código da máquina de destino, onde o programa será executado |
| Interpretação | Instruções e dados da máquina de origem são mantidos conforme o código original, convertendo-se para a linguagem da máquina virtual de destino conforme a necessidade da execução |
2.2 / máquina de seis níveis
O modelo específico utilizado na disciplina é o da máquina de 6 níveis. Cada nível é descrito genericamente a seguir.
| Nível | Designação | Características |
|---|---|---|
| 0 | Lógica digital | Mais elementar. Utiliza portas lógicas (gates), combinadas em série e paralelo, para construção de circuitos digitais. Os dados são sinais elétricos, abstrações dos bits |
| 1 | Microarquitetura | Circuitos especializados: registradores; Unidade Lógica e Aritmética; barramentos internos (caminho de dados); Unidade de Controle (microprogramas ou circuitos eletrônicos) |
| 2 | ISA (Instruction Set Architecture) | Nível do processador. As instruções são definidas pelo fabricante |
| 3 | Sistema operacional | Possui instruções próprias e também usa instruções do nível ISA — considerado um nível híbrido |
| 4 | Linguagem de montagem (assembly) | Instruções simbólicas executáveis pelos níveis inferiores (1, 2 e 3), dispensando conhecimento detalhado dos elementos físicos — usa o programa assembler (montador) |
| 5 | Aplicações | Usa linguagens de alto nível, convertidas para assembly por programas chamados compiladores |
Considerando as camadas acima, define-se os métodos e programas de suporte à conversão dos códigos entre as linguagens:
Fig. 2.4 — Métodos e programas típicos de conversão de códigos no modelo de 6 níveis
checkpoint
Segundo Stallings, a diferença entre arquitetura e organização está em que:
A diferença essencial entre dado e informação é:
No modelo de 6 níveis, qual nível corresponde à lógica digital (portas lógicas)?