This is an old revision of the document!


RISC Processor Emulator

Proiectul constă într-un emulator de un model fictiv de procesor RISC (Reduced Instruction Set Computer), extrem de simplificat, programabil prin intermediul unor butoane si al unui display I2C de caractere ASCII. De asemenea acesta este capabil de afișare customizabilă pe un display SPI adițional cu pixeli editabili.

Funcționalitatea emulatorului constă în două moduri:
1. Modul programabil, în cadrul căruia se setează numărul de linii de cod în limbaj de pseudo-asamblare, caracteristic procesoarelor RISC, urmat de alegerea instrucțiunilor individuale, cât și a elementelor secundare din cadrul propriilor structuri (regiștri, valori imediate etc.). Printre instrucțiunile disponibile se regăsesc: instrucțiuni de operații aritmetice (ex: ADD/ADDI, SUB/SUBI etc.), jump-uri condiționale (ex: BEQ) și jump-uri necondiționale (ex: JMP).
2. Modul rulabil, în cadrul căruia lista de instrucțiuni modificată la pasul anterior este rulată, în ordine crescătoare în funcție de id-ul fiecăreia (exceptând cazurile de jump). În urma rulării, rezultatele sunt vizualizate fie prin ieșirea afișată pe display-ul I2C, fie prin aprinderea anumitor pixeli aleși de programator ai display-ului SPI.

Ideea de la care am pornit conceperea acestui proiect o reprezintă aplicarea procesului de emulare a unei alte tehnologii, cât și crearea unei interfeței prin intermediul căreia tehnologia emulată virtual (în cazul ăsta, un procesor cu regiștri) poate fi programată în timp real. Pe lângă nivelul crescut de interactivitate, această idee schimbă fundamental direcția proiectului, axându-se mai puțin pe rularea de programe codate anterior folosind un anumit set de instrucțiuni și mai mult pe scrierea de astfel de programe și observarea efectului imediat al acestora.

Consider că utilitatea unui asemenea proiect provine, în primul rând, din demonstrarea posibilității de emulare într-un context neortodox (comparativ cu un caz clasic, de exemplu, de emulare al unei console pe calculatorul personal). În al doilea rând, acest emulator poate, de asemenea, fi prezentat drept un prototip pentru un model de “calculator portabil pentru programatori”, concept care are potențial de inspirare pentru dezvoltarea altor tehnologii de către persoane interesate în a se juca cu o asemenea idee.

Cât despre utilitatea personală, la nivel teoretic consider că proiectul îmi antrenează abilitatea de concepere de sisteme cu interfețe prin intermediul călora alți dezvoltatori pot avea acces simplificat la tehnologia încapsulată în spate. Practic, acest proiect îmi oferă oportunitatea de a mă juca cu instrucțiuni simple pentru a observa posibilitățile oferite de modele de procesoare chiar și atât de simplificate.

Introducere

Descriere generală

Hardware Design

Software Design

Rezultate Obţinute

Concluzii

Cod sursă

Resurse

pm/prj2026/ciprian.popescu0411/andrei.nitescu1307.1778347500.txt.gz · Last modified: 2026/05/09 20:25 by andrei.nitescu1307
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0