Zurück zum Projektjournal

PROJEKTNOTIZEN / 8-BIT-ARCHITEKTUR

BENCPU & ImGui-Visualisierung

Modularer 8-Bit-CPU-Emulator mit Tri-State-Bussystem, Mikrocode-Befehlsdekodierung und andockbarer Dear-ImGui-Echtzeitvisualisierung.

BENCPU 8-Bit-Architekturdiagramm mit Bus, Zähler, Registern, ALU und Steuersignalen
Modulare 8-Bit-CPU-Architektur: Zentraler Datenbus, Programmzähler, Register, ALU und Steuersignale.
Modulare C++-Architektur
8-Bit Tri-State-Busmodell
Mikrocode-Befehlslogik
Dear ImGui Echtzeit-Inspektion

COMPUTER ARCHITECTURE / 8-BIT EMULATION

Computerarchitektur vom Taktimpuls bis zur Bildschirmanzeige

BENCPU ist ein modularer 8-Bit-CPU-Emulator in C++, der die fundamentalen Bausteine eines diskreten Prozessors exakt nachbildet. In Verbindung mit einer Dear-ImGui-Oberfläche (CPUdockingimgui) können Entwickler Buszuteilung, Taktflanken und Registerübergänge in Echtzeit nachvollziehen.

01

Zentrale Busverwaltung (my_Bus)

Modelliert einen geteilten Tri-State-Datenbus für den kontrollierten Datenaustausch zwischen Komponenten. Module legen Daten nur bei aktivem Output-Enable-Signal auf den gemeinsamen Bus.

02

Programmierbarer Zähler & Ablaufsteuerung

Der Programmzähler (my_counter) reagiert präzise auf Taktflanken, unterstützt synchrones Laden sowie Enable-Signale für Adressinkremente und bedingte Sprünge.

03

Mikrocode-Steuermatrix & ALU

Koordiniert Taktzyklen über Fetch-, Decode- und Execute-Phasen. Die Recheneinheit führt arithmetische sowie logische Operationen aus und setzt Zero- und Carry-Flags.

04

Interaktive Desktop-Oberfläche (CPUdockingimgui)

Mit GLFW und OpenGL3 entwickelt, visualisiert die andockbare ImGui-Oberfläche Registerwerte (A, B, MAR, IREG, OUTREG), Busdaten, Taktfrequenzen und Einzelschrittausführung.

Architekturkomponenten im Überblick

Bussystem
Gemeinsamer Datenpfad mit updateBus()- und getBusData()-Steuerung
Programmzähler
Taktgesteuerter Zähler mit bedingter Lade- und Zählfunktion
Registersatz
Akkumulator (A), Operand (B), Speicheradresse (MAR), Befehl (IREG)
Recheneinheit (ALU)
8-Bit Addierer/Subtrahierer mit Zero- (Z) und Carry- (C) Flags
Visualisierung
Dear ImGui mit Andockfenstern, Disassembler und Speichereditor
Programmiersprache / Build
C++14 / C++20 · CMake · MSBuild · Visual Studio

Bedeutung für Lehre und Systemtechnik

Das Projekt verbindet hardwarenahe Logiksimulation mit modernen Entwicklerwerkzeugen und macht das Zusammenspiel von Mikrocode und Prozessorarchitektur transparent erlebbar.