Skip to content

Progetto in assembly (m68K) per l'esame Computer System Design

Notifications You must be signed in to change notification settings

emanueledim/Computer_System_Design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Computer_System_Design

Progetto in assembly (m68K) per l'esame Computer System Design

Descrizione del Progetto

Questo repository contiene un progetto scritto in Assembly che implementa un sistema di comunicazione sincronizzata tra tre nodi identificati come A, B e C. Il nodo A riceve dei caratteri dai nodi B e C in una sequenza prestabilita e ripetitiva. I caratteri sono inviato mediante un canale parallelo (PIA). La comunicazione segue un ordine specifico di ricezione:

  • BBC
  • BCB
  • CBB

L'implementazione utilizza un sistema di lock nel nodo A per garantire che i caratteri siano ricevuti in quest'ordine prefissato, mantenendo la consistenza ed evitare situazioni di deadlock.

Configurazione della memoria

M68k 1: C
M68k 4: B
M68k 7: A

Indirizzi delle ISR del ricevitore:
CISR: $8500 in 0x6C
BISR: $8600 in 0x70

Contenuto RAM con test case:

  1. BBC
  2. BCB
  3. CBB

Indirizzi dei device (versione terminale IT):
Terminale 0xB e 0xC:
Interrupt Enter: $8500 in 0x64
Interrupt buffer pieno: $8600 in 0x68

Trasmettitori con ACK PIA:
$8300 in 0x6C
$8400 in 0x70

Struttura del Progetto

RicevitoreA.a68: Implementa la logica del nodo ricevitore A che deve garantire la sequenza prestabilita di messaggi.
src/TrasmettitoreB.a68: Implementa la logica del nodo B, il quale invia dei caratteri prestabiliti, ogni volta che A legge il dato dalla PIA.
src/Trasmettitore_B_IT.a68: Implementa la logica del nodo B, il quale invia dei caratteri prestabiliti, mediante una ISR scatenata con la lettura della PIA da parte di A.
src/TrasmettitoreC.a68: Implementa la logica del nodo C, il quale invia dei caratteri prestabiliti, ogni volta che A legge il dato dalla PIA.
src/Trasmettitore_C_IT.a68: Implementa la logica del nodo C, il quale invia dei caratteri prestabiliti, mediante una ISR scatenata con la lettura della PIA da parte di A.
src/TrasmettitoreTERM.a68: Implementa la logica dei nodi B e C, che permette all'utente di inviare dei caratteri mediante terminale.

src/pseudo/Pseudo.c: Implementa la logica del ricevitore A scritta in linguaggio pseduo-c.

src/cfg/3nodi_PIA.cfg: File da utilizzare con l'emulatore che configura i 3 nodi (Processore, memoria, dispositivi PIA).
src/cfg/3nodi_PIA_terminale: File da utilizzare con l'emulatore che configura i 3 nodi (Processore, memoria, dispositivi PIA e terminali).

src/exe/asim.exe: Emulatore del sistema basato sul M68K.
src/exe/asimtool.exe: IDE per scrivere e compilare il codice assembly M68K.

About

Progetto in assembly (m68K) per l'esame Computer System Design

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages