Conceitos de Computação Digital e Arquitetura
Classificado em Computação
Escrito em em português com um tamanho de 5,88 KB.
O que é um Computador Digital?
Um computador digital é uma máquina que pode resolver problemas executando instruções fornecidas.
O que é um Programa?
Uma sequência de instruções que descreve como realizar uma tarefa.
O que é Linguagem de Máquina?
O conjunto de instruções com o qual as pessoas podem se comunicar com o computador.
Qual a diferença entre Interpretação e Compilação?
Na compilação, o programa é traduzido para linguagem de máquina antes da execução, gerando um arquivo executável. Na interpretação, a tradução ocorre linha por linha durante a execução.
Qual a diferença entre Assembly e Assembler?
Assembly é a linguagem de montagem. Assembler é o programa que traduz o código assembly para linguagem de máquina.
Exemplos de Computadores
- Descartável: Cartões comemorativos, etiquetas RFID.
- Microcontrolador: Aparelhos de MP3, TVs, carros, mísseis teleguiados.
- Videogame: Atari.
- Computador Pessoal (PC): Desktops, notebooks.
- Servidor: Oferece serviços para outros computadores.
O que é o Nível ISA?
O nível da arquitetura do conjunto de instruções (ISA - Instruction Set Architecture). É a interface entre software e hardware.
Preocupações ao Projetar uma Nova ISA
O arquiteto deve considerar as necessidades dos desenvolvedores de compiladores e hardware, verificar a viabilidade de implementação, custo-benefício e compatibilidade com versões anteriores.
Modos do Nível ISA
- Modo Núcleo (Kernel): Executa o sistema operacional e permite todas as instruções.
- Modo Usuário: Executa programas de aplicação e restringe instruções sensíveis.
O que é Memória?
Componente que armazena informações para uso do sistema de computação.
Por que Existem Vários Tipos de Memória?
Devido às diferenças de velocidade da UCP e à necessidade de diferentes capacidades de armazenamento.
Qual a Função dos Registradores?
Controlar a execução do programa, reter resultados temporários e outras finalidades.
Classificação dos Tipos de Dados
Numéricos e não numéricos.
Tipos de Dados Inteiros
- Com sinal: Um bit indica o sinal (positivo ou negativo).
- Sem sinal:Todos os bits representam o valor.
Bits para Booleanos
Teoricamente, um bit. Na prática, um byte ou palavra, por questões de endereçamento.
Tipos de Dados Numéricos no Pentium 4
Inteiro com e sem sinal (8, 16, 32 bits), inteiro decimal em código binário (8 bits), ponto flutuante (32, 64 bits).
Formato de uma Instrução
Sempre tem um opcode (o que a instrução faz) e pode ter zero, um, dois ou três endereços.
Dificuldade na Definição do Formato da Instrução
Um conjunto de instruções bem-sucedido pode durar 20 anos ou mais.
Endereçamento Imediato
O operando está contido na própria instrução.
Endereçamento Direto
A instrução especifica um endereço de memória.
Diferença entre Endereçamento Direto e de Registrador
O endereçamento de registrador especifica um registrador, em vez de uma localização de memória.
Instruções de Máquina vs. Linguagem de Alto Nível
Uma instrução em linguagem de alto nível pode exigir várias instruções de máquina, pois linguagens de alto nível usam expressões algébricas concisas, enquanto linguagens de máquina operam em nível mais básico.
Número de Instruções em Linguagem de Máquina
Suficientes para permitir a formulação de qualquer tarefa de processamento de dados (qualquer programa em linguagem de alto nível deve poder ser traduzido).
Instruções de Movimento de Dados
O nome mais adequado seria 'duplicação de dados', pois o dado original permanece no local de origem.
Por que os Dados são Movidos?
Por necessidade do programador ou para otimizar o acesso e a utilização dos dados.
O que é Fluxo de Controle?
A sequência em que as instruções são executadas durante a execução do programa.
Causas de Alterações no Fluxo de Controle
Chamadas de procedimento, co-rotinas, exceções e interrupções.
O Nível ISA não pode ser Compilado?
Verdadeiro. O hardware deve ser capaz de executar programas de nível ISA diretamente. O código de nível ISA é o que o compilador produz.
O que é uma Máquina Multinível?
Uma máquina com vários níveis, cada um com seu próprio conjunto de instruções e linguagens.
Quais são os Níveis de uma Máquina Multinível Contemporânea?
- Nível 5: Linguagem orientada a problemas.
- Nível 4: Linguagem de montagem.
- Nível 3: Sistema operacional da máquina.
- Nível 2: Arquitetura do conjunto de instruções (ISA).
- Nível 1: Microarquitetura.
- Nível 0: Lógica digital.
Explicação dos Níveis de uma Máquina Multinível
- Nível 0 (Lógica Digital): Hardware, portas lógicas.
- Nível 1 (Microarquitetura): Microprograma interpreta instruções do nível 2.
- Nível 2 (ISA): Linguagem de máquina convencional, definida pelo microprograma.
- Nível 3 (Sistema Operacional): Instruções interpretadas pelo SO ou microprograma.
- Níveis 4 e 5: Projetados para programadores. Nível 4 (montador) e Nível 5 (linguagens de alto nível).