ycliper

Популярное

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

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

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

Топ запросов

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

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

Автор: Alexa Academy

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

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

Описание: 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

Не удается загрузить Youtube-плеер. Проверьте блокировку Youtube в вашей сети.
Повторяем попытку...
Come funziona un microprocessore? Scriviamo un simulatore da zero in C

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

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

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

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

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

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

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

Storia dell’hardware: come sono cambiate le memorie interne. Dalle valvole alla RAM.

Storia dell’hardware: come sono cambiate le memorie interne. Dalle valvole alla RAM.

Tecnocasa Chiavari Levante

Tecnocasa Chiavari Levante

Impariamo il C: lezione 1

Impariamo il C: lezione 1

Carlo Rovelli spiega perché il tempo non esiste come crediamo

Carlo Rovelli spiega perché il tempo non esiste come crediamo

Aspetta... DOS supportava il multitasking?

Aspetta... DOS supportava il multitasking?

Computer Quantistici, Spiegazione Animata

Computer Quantistici, Spiegazione Animata

IL PEGGIOR VELENO CHE DIVORA I MUSCOLI DOPO I 50 ANNI (SARCOPENIA)

IL PEGGIOR VELENO CHE DIVORA I MUSCOLI DOPO I 50 ANNI (SARCOPENIA)

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

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

TROVATO SU AMAZON, È PERICOLOSO.

TROVATO SU AMAZON, È PERICOLOSO.

Программирование на ассемблере без операционной системы

Программирование на ассемблере без операционной системы

Piergiorgio Odifreddi: “Il futuro NON è tecnologia. È matematica (e nessuno lo dice)”

Piergiorgio Odifreddi: “Il futuro NON è tecnologia. È matematica (e nessuno lo dice)”

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

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

L'università ti rende un programmatore peggiore. Cosa fare?

L'università ti rende un programmatore peggiore. Cosa fare?

Linguaggio C e matematica: breve viaggio nelle Feistel Network

Linguaggio C e matematica: breve viaggio nelle Feistel Network

FIAT PANDA: l'ingegneria (geniale) di un MITO

FIAT PANDA: l'ingegneria (geniale) di un MITO

Kiisu: il Flipper Zero Dei Poveri

Kiisu: il Flipper Zero Dei Poveri

AI Spiegata Semplice ✅ Come creare e addestrare Reti Neurali da zero - Corso AI e Deep Learning.

AI Spiegata Semplice ✅ Come creare e addestrare Reti Neurali da zero - Corso AI e Deep Learning.

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

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

Vector Database spiegati semplicemente (speciale 3000 iscritti) - Buongiorno 296

Vector Database spiegati semplicemente (speciale 3000 iscritti) - Buongiorno 296

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



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



Контакты для правообладателей: [email protected]