-
Compreende o projeto estrutural de um computador, ou seja, componentes lógicos que determinam seu funcionamento.
-
Um sistema computacional atualmente compreende três camadas:
- Como por exemplo, VSCode
- Conjunto de instruções para o computador rodar
- Não conversam diretamente com o hardware
- Tipos de software de sistema:
- Sistema Operacional
→ Roda instruções em rodízio - Dispositivos embarcados
- Sistema Operacional
- Intermediador entre o Software de Aplicação e Hardware
- Necessita de ser direcionada à uma arquitetura específica
- Composição física
→ Aplicação
| Código Fonte
|→ Linguagem de alto nível
| Compilação/Interpretação
|→ Linguagem de montagem (baixo nível) → assembly
| Montador (assembler)
|→ Linguagem de máquina
-
A arquitetura de um computador, definida nas suas instruções, é chamada Arquitetura do Conjunto de Instruções (ISA), o ISA pode ser classificado como RISC ou CISC.
-
RISC (Reduced Instruction Set Computer) possui poucas instruções, simples e no mesmo padrão
-
CISC (Complex Instruction Set Computer) possui centenas de instruções em seu conjunto, capazes de executar uma grande diversidade de operações
RISC | CISC | |
---|---|---|
Instruções | - menor quantidade - mais simples e padronizadas |
- maior quantidade - mais complexas |
Projeto | - centrado no software | - centrado no hardware |
Execução | - executa direto no hardware com uso de controladora | - a instrução é produzida por um microprograma, que pode consumir vários ciclos do processador |
- A linguagem de montagem pertence à arquitetura, o compilador deve variar
- Linguagem de montagem para linguagem de máquina
- Processo 1 para 1. Só diz respeito à uma instrução.
- Fácil reversão
- Linguagem de alto nível para linguagem de montagem
- Processo n para n
- gcc -o exec codigo.c
→ flag -o varia a linguagem de montagem
→ -o -o1 -o2 -o3