Estudante
Arquitetura: são os atributos de um sistema visíveis para o programador. Esses atributos tem impacto direto sobre a execução lógica de um programador.
Organização: unidades operacionais e interconexões. A organização implementa as especificações da arquitetura.
Atributos da arquitetura. Conjunto de instruções; número de bits usados para representar os vários tipos de dados; mecanismos de E/S; técnicas de endereçamento de memória;
Atributos da organização. Sinais de controle; interface entre o computador e periféricos; tecnologia de memória utilizada.
Exemplo de decisão de projeto. Arquitetura: se um computador possuirá a instrução de multiplicação. Organização: a instrução de multiplicação vai ser implementada por uma unidade especialmente projetada ou será utilizado repetitivamente o comando de soma.
Linguagem de máquina: conjunto de instruções básicas. Simples. Compatível com o uso da máquina. Compatível com o desempenho requerido. Custo e complexidade reduzidas.
A linguagem binária está muito distante da linguagem natural.
Solução:
Criar uma hierarquia de abstrações, com os níveis mais altos baseados nos níveis mais baixos. Organização estruturada de computadores.
Obs.:
Famílias de computadores: mesma arquitetura e organização diferente.
Linguagens, níveis e máquinas virtuais.
Supor duas linguagens. L1: Linguagem natural do usuário (alto nível, complexa). L2: Linguagem de máquina (baixo nível, simples)
Como compatibilizar L1 e L2? Soluções possíveis: Usar um tradutor (compilador). Usar um interpretador.
Existe também uma solução híbrida (tradutor e interpretador) Na prática usa-se a solução híbrida. Podemos pensar numa máquina virtual M1 com linguagem L1 Máquina real M0 com linguagem L0. Programas escritos em L1 para M1. Executados diretamente em M1. Traduzidas dos interpretadores