virtualSoC  0.6.2
baskett
Vcsos.VM Class Reference

Diese Klasse beschreibt die Virtualle Maschine und ist eine zusammenstellung der verwendete Komponenten More...

+ Inheritance diagram for Vcsos.VM:

Public Member Functions

void CreateVM (UInt32 ramSize, int iNumCores)
 Erstellt die Virtuale Maschine More...
 
bool Start (byte[] data)
 Startet die Virtualle Maschine More...
 

Properties

Core CurrentCore [get]
 
CPU CPU [get]
 
Memory Ram [get]
 
Framebuffer FBdev [get]
 
bool IsAlive [get]
 
static VM Instance [get]
 Gibt die Singleton Instance zzrück More...
 

Detailed Description

Diese Klasse beschreibt die Virtualle Maschine und ist eine zusammenstellung der verwendete Komponenten

Member Function Documentation

◆ CreateVM()

void Vcsos.VM.CreateVM ( UInt32  ramSize,
int  iNumCores 
)

Erstellt die Virtuale Maschine

Parameters
ramSizeGröße des Arbeitsspeicher
73  {
74  m_pAssembler = new Assembler(iNumCores);
75  int newMemorySize = ramSize.ToBoundary(4);
76  Add( new Memory (newMemorySize, "RAM"));
77 
78  if (newMemorySize != ramSize)
79  Console.WriteLine("VM: Memory was expanded from {0} bytes to {1} bytes to a page boundary." + System.Environment.NewLine,
80  ramSize, newMemorySize);
81 
82  Add (new CPU (iNumCores));
83  Add (new Framebuffer ());
84  Add (new Timer ());
85 
86  }
Definition: Memory.cs:28
Assembler Klasse. Diese Klasse führt die Bearbeitzng aus
Definition: Assembler.cs:49
Definition: Timer.cs:26
Definition: Framebuffer.cs:110
Definition: CPU.cs:9

◆ Start()

bool Vcsos.VM.Start ( byte []  data)

Startet die Virtualle Maschine

Parameters
dataProgramm code
Returns
rückgabe true bei keinen ausführ fehler
93  {
94  if (data.Length >= Ram.Size) {
95  return false;
96  } else {
97  Ram.Write (data);
98 
99  CPU[0].Register.ip = 16;
100  m_pAssembler.Start ();
101  return true;
102  }
103  }
int Write(byte[] data, int addr=0)
Definition: Memory.cs:60
void Start()
Starte das System
Definition: Assembler.cs:97
Memory Ram
Definition: VM.cs:48
int Size
Definition: Memory.cs:39
Definition: CPU.cs:9

Property Documentation

◆ CPU

CPU Vcsos.VM.CPU
get

◆ CurrentCore

Core Vcsos.VM.CurrentCore
get

◆ FBdev

Framebuffer Vcsos.VM.FBdev
get

◆ Instance

VM Vcsos.VM.Instance
staticget

Gibt die Singleton Instance zzrück

◆ IsAlive

bool Vcsos.VM.IsAlive
get

◆ Ram

Memory Vcsos.VM.Ram
get

The documentation for this class was generated from the following file: