Linguaggi e macchine a vari livelli di astrazione.

Arduino
Arduino

Linguaggi e macchine a vari livelli di astrazione.

Concetto di livello di astrazione.

Un livello di astrazione è un modo di descrivere un sistema ignorando i dettagli interni e concentrandosi sulle funzioni rilevanti.

In informatica:

  • livelli alti → vicini all’uomo
  • livelli bassi → vicini all’hardware

Ogni livello:

  • usa un proprio linguaggio
  • corrisponde a un “tipo” di macchina (reale o virtuale)
  • viene tradotto nel livello sottostante

Catena dei livelli (visione generale).

Problema

Algoritmo

Linguaggio ad alto livello

Linguaggio assembly

Linguaggio macchina

Hardware

Livello del problema e dell’algoritmo.

Linguaggio:

  • linguaggio naturale
  • pseudocodice
  • formalismi logico-matematici

Macchina corrispondente:

  • macchina “astratta” di calcolo
  • modello algoritmico

Qui si descrive:

  • cosa deve essere fatto
  • non come elettricamente avviene

Esempio:

ordinare una lista di numeri

Livello dei linguaggi di programmazione ad alto livello.

Linguaggi:

  • Python
  • Java
  • C
  • C++
  • JavaScript

Caratteristiche:

  • leggibili
  • indipendenti dall’hardware
  • strutturati
  • tipizzati (in vari modi)

Macchina corrispondente.

Macchina virtuale del linguaggio.

Esempi:

  • Python interpreter
  • Java Virtual Machine (JVM)

Livello intermedio — linguaggi a basso livello.

Assembly.

Caratteristiche:

  • simbolico
  • vicino alla CPU
  • istruzioni elementari
  • dipendente dall’architettura

Esempio:

MOV A, B

ADD A, C

Macchina corrispondente.

Architettura del processore (x86, ARM, RISC-V).

Livello del linguaggio macchina.

Linguaggio:

  • binario puro
  • sequenze di bit
  • opcode + operandi

Esempio:

10110000 01100001

Macchina corrispondente.

CPU reale.

È l’unico linguaggio direttamente eseguibile.

Livello microarchitetturale.

Descrive come la CPU realizza le istruzioni:

  • registri
  • ALU
  • unità di controllo
  • pipeline
  • microcodice

È il ponte tra:

  • istruzioni macchina
  • circuiti logici

Livello logico-digitale.

Qui troviamo:

  • porte logiche
  • flip-flop
  • registri
  • circuiti combinatori

Rappresentazione:

  • algebra di Boole
  • schemi logici

Livello fisico.

Componenti:

  • transistor
  • segnali elettrici
  • tensioni
  • temporizzazioni

È la macchina fisica reale.

Traduzione tra livelli.

Ogni livello superiore viene tradotto nel livello inferiore.

Compilazione.

Alto livello → macchina

Interpretazione.

Esecuzione tramite interprete.

Assemblaggio.

Assembly → macchina.

Macchine reali e macchine virtuali.

Macchina reale.

  • hardware fisico
  • CPU vera

Macchina virtuale.

  • ambiente software che simula una macchina

Esempi:

  • JVM
  • .NET CLR
  • VM virtualizzate

Perché è importante nel laboratorio.

Devi saper spiegare che:

  • un programma non va direttamente all’hardware
  • esistono strati di traduzione
  • ogni livello semplifica la progettazione
  • l’astrazione riduce la complessità
  • linguaggi diversi corrispondono a diversi livelli

Schema riassuntivo da memorizzare.

LivelloLinguaggioMacchina
Problemanaturalemodello algoritmico
Alto livelloPython, CVM/interprete
Assemblymnemonicoarchitettura CPU
MacchinabinarioCPU
Logicoportecircuiti
Fisicosegnalihardware

Risposta pronta da interrogazione.

I linguaggi e le macchine sono organizzati a livello di astrazione: dai linguaggi ad alto livello vicini all’uomo fino al linguaggio macchina eseguito dalla CPU. Ogni livello usa una propria rappresentazione e viene tradotto nel livello sottostante. Questo modello a strati permette di gestire la complessità dei sistemi di elaborazione.

** Se puoi sostenere il mio lavoro, comprami un libro | Buy me a book! **
** ISCRIVITI ALLA NEWSLETTER ! **

About the Author

Sergio Mauri
Blogger, autore. Perito in Sistemi Informativi Aziendali, musicista e compositore, Laurea in Discipline storiche e filosofiche e in Filosofia. Premio speciale al Concorso Claudia Ruggeri nel 2007; terzo posto al Premio Igor Slavich nel 2020. Ha pubblicato con Terra d'Ulivi nel 2007 e nel 2011, con Hammerle Editori nel 2013 e 2014, con PGreco nel 2015 con Historica Edizioni e Alcova Letteraria nel 2022 con Silele Edizioni (La Tela Nera) nel 2023 e con Amazon Kdp nel 2024 e 2025.