Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

Come funziona un microprocessore? Scriviamo un simulatore da zero in C

Автор: Alexa Academy

Загружено: 2025-12-09

Просмотров: 15012

Описание:

Programmazione in linguaggio C - Video 30

Oggi entriamo nel cuore del funzionamento di un computer e, più nello specifico, di un microprocessore. Non lo faremo analizzando l’hardware fisico, ma approcciando il problema dal punto di vista software: implementeremo in Linguaggio C un simulatore completo di una macchina ipotetica chiamata Simpletron.
Questo esercizio, tratto dal libro "Linguaggio C - Il linguaggio C. Fondamenti e tecniche di programmazione", è fondamentale per chiunque voglia capire cosa succede davvero “sotto il cofano” quando eseguiamo del codice. Il Simpletron è un computer decimale (non binario, per semplicità didattica) che opera su parole intere con segno e ci permette di esplorare i concetti cardine dell’architettura degli elaboratori senza la complessità dell’assembler moderno.

👉 Il libro di programmazione in C e più in generale di tecniche di programmazione consigliato nel video: https://amzn.to/3KKtrqc

👉 Slide per i sottoscrittori su Patreon:   / come-funziona-un-145608268  
👉 Sorgente del codice illustrato nel video per i sottoscrittori su Patreon:   / sorgente-in-c-145276083  

Nel video scriveremo il codice per simulare:
• La Memoria: Un array di 100 parole per ospitare istruzioni e dati (Architettura di Von Neumann).
• I Registri: Accumulatore, Instruction Counter e Instruction Register.
• L’ALU e la Control Unit: Implementeremo il ciclo di fetch-decode-execute utilizzando costrutti C come  switch  e puntatori.
• Il set di istruzioni (SML): Creeremo un interprete per operazioni di I/O, calcolo aritmetico e salti condizionati (branching).

Vedremo anche come caricare un “programma” da file di testo, gestire l’input/output da tastiera e fare il debug della memoria tramite un dump esadecimale (o meglio, decimale in questo caso). È un progetto eccellente per affinare la conoscenza dei puntatori in C e comprendere la logica sequenziale di una CPU.

Argomenti trattati nel video:
🔹 Struttura interna di una CPU: ALU, Registri e Bus (simulato).
🔹 Il ciclo macchina: prelievo, decodifica ed esecuzione.
🔹 Gestione della memoria e puntatori in C.
🔹 Implementazione di un set di istruzioni (Opcode e Operandi).
🔹 Caricamento e parsing di file di testo per l’esecuzione dei programmi.

Se il video ti piace, supporta il canale con un like e un commento!

La funzione load_program corretta:

void load_program(const char* const filename, int* const m) {
char buffer[MAXLEN];
FILE* fp = fopen(filename, "r");

unsigned int add = 0;
while (fgets(buffer, MAXLEN, fp) != NULL && add < MEM_SIZE) {
sscanf(buffer, "%d", &m[add++]);
}

fclose(fp);
}



----
Contribuisci alla crescita del canale con un like, un commento e iscrivendoti. Se vuoi puoi anche dare un contributo economico diretto o indiretto:
• abbonandoti al canale qui su YouTube
• unendoti alla community su Patreon: patreon.com/Alexa_Academy
• affiliazione Amazon: https://amzn.to/3SArxJc

Come funziona un microprocessore? Scriviamo un simulatore da zero in C

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

Come funziona un Assemblatore? Creiamone uno da zero in C per il linguaggio SML

Come funziona un Assemblatore? Creiamone uno da zero in C per il linguaggio SML

Corso BASIC RAI - Episodio 1 (1986): Introduzione alla Programmazione

Corso BASIC RAI - Episodio 1 (1986): Introduzione alla Programmazione

Computer Quantistici, Spiegazione Animata

Computer Quantistici, Spiegazione Animata

Как взломать любое программное обеспечение

Как взломать любое программное обеспечение

Da Arduino ad Atmel  studio, scriviamoci le nostre librerie per i display HD44780 e per l' ADC.

Da Arduino ad Atmel studio, scriviamoci le nostre librerie per i display HD44780 e per l' ADC.

Codice automodificante: non è un virus, è solo per stampare un array (Simpletron)

Codice automodificante: non è un virus, è solo per stampare un array (Simpletron)

Томпсон рассказывает, как он разработал язык Go в Google.

Томпсон рассказывает, как он разработал язык Go в Google.

Parlare con la CPU utilizzando il Codice Macchina

Parlare con la CPU utilizzando il Codice Macchina

Lezione 1: Variabili e tipi di dato | Corso completo Python

Lezione 1: Variabili e tipi di dato | Corso completo Python

Smaschero l'identità di un Hater con l’OSINT.

Smaschero l'identità di un Hater con l’OSINT.

Как процессоры взаимодействуют с таким количеством различных устройств

Как процессоры взаимодействуют с таким количеством различных устройств

Il tuo SSD sta MORENDO! Disattiva SUBITO questi 3 servizi Windows per salvarlo!

Il tuo SSD sta MORENDO! Disattiva SUBITO questi 3 servizi Windows per salvarlo!

Kiisu: il Flipper Zero Dei Poveri

Kiisu: il Flipper Zero Dei Poveri

Linguaggio C 1 - Introduzione e variabili  - Basi di informatica ed elettronica

Linguaggio C 1 - Introduzione e variabili - Basi di informatica ed elettronica

Niewidzialny czołg z Polski wstrząsnął światem. Dlaczego go porzucono?

Niewidzialny czołg z Polski wstrząsnął światem. Dlaczego go porzucono?

⚠️ EURO 7: L'AUTODISTRUZIONE TERMICA DEI NUOVI DIESEL (Analisi Ingegneristica)

⚠️ EURO 7: L'AUTODISTRUZIONE TERMICA DEI NUOVI DIESEL (Analisi Ingegneristica)

Pytorch Tutorial Italiano: Crea la tua prima Rete Neurale in Python (Guida Pratica) - Corso AI

Pytorch Tutorial Italiano: Crea la tua prima Rete Neurale in Python (Guida Pratica) - Corso AI

Parliamo di memorie ROM (Read Only Memory) - memorie #BIE

Parliamo di memorie ROM (Read Only Memory) - memorie #BIE

Libraries That Quietly Revolutionized C

Libraries That Quietly Revolutionized C

Impariamo il C: lezione 1

Impariamo il C: lezione 1

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: infodtube@gmail.com