Skip to content

Latest commit

 

History

History
55 lines (44 loc) · 2.98 KB

notes.md

File metadata and controls

55 lines (44 loc) · 2.98 KB

Arquitetura de um computador

  • Compreende o projeto estrutural de um computador, ou seja, componentes lógicos que determinam seu funcionamento.

  • Um sistema computacional atualmente compreende três camadas:

    Softwares de Aplicação

    • Como por exemplo, VSCode
    • Conjunto de instruções para o computador rodar
    • Não conversam diretamente com o hardware

    Softwares de sistema

    • Tipos de software de sistema:
      • Sistema Operacional
        → Roda instruções em rodízio
      • Dispositivos embarcados
    • Intermediador entre o Software de Aplicação e Hardware
    • Necessita de ser direcionada à uma arquitetura específica

    Hardware

    • 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

Extra 🚩

  • 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