Page 1 of 1

RAM Usage

Posted: Sun Jul 26, 2015 12:02 pm
by cfbsoftware
captbill wrote: Do the user space programs use the ram blocks of an FPGA? How much ram is used by the OS?
The bootloader is stored in the Xilinx FPGA BRAM. The user space programs (including the Project Oberon operating system) are stored in external SRAM. There is 1Mbyte on the Digilent Xilinx development board which is more than enough for the full Project Oberon operating system.

I expect that the minimal operating system I am proposing won't need any more than 128Kbyte of RAM for program code, global data, stack and heap storage. It may be possible to store the whole system on an FPGA that has sufficient BRAM (e.g. the larger Spartan 6 devices) but we have yet to find that out.

For more details download the Project Oberon 2013 documentation pdf files from:

http://www.projectoberon.com/

Re: RAM Usage

Posted: Sun Sep 13, 2015 12:21 pm
by cfbsoftware
Here is the latest screenshot of the experimental command-line version of the Oberon RISC5 OS communicating with the Astrobe Terminal. The MSystem commands are simply versions of the corresponding Project Oberon System commands that have been modified to redirect their input / output via RS232 instead of the keyboard and VGA display:
MSystem.JPG
MSystem.JPG (81 KiB) Viewed 16097 times
ShowModules gives a list of the modules that are currently loaded in RAM. The Watch command indicates that the RAM usage of the OS is only about 52 KBytes.

Re: RAM Usage

Posted: Sat Oct 03, 2015 1:50 pm
by cfbsoftware
Here is the latest screenshot of the experimental command-line version of the Project Oberon RISC5 OS communicating with the Astrobe Terminal via a 115200 baud RS232 serial link. The RISC5 system is running entirely in the on-chip BRAM of the Xilinx Spartan 6 LX45 FPGA itself - no external SRAM is required. The FPGA development board used is Saanlima Electronics' Pipistrello:

A total of 224 KBytes of BRAM are allocated to the Oberon system including 32KBytes reserved for dynamic variables. As can be seen only just over 25% of the RAM is used by the operating system - the rest is free for your applications. These are typically very small as only the object file needs to be loaded e.g. the PrimeNumbers example program is only 851 *bytes*. Any imports that are already loaded in memory (e.g. Texts) are reused without any additional overheads.

The Oberon commands are in the lower pane of the window (scroll down to see them). This is an editable text window so you can add new commands, and edit or delete existing commands. Position the cursor anywhere on a command and double-click or press CTRL-ENTER to execute it.

The default text in the window is loaded from the System.Tools file when you start the Astrobe Terminal. Updated window contents can be saved at any time to the same file or a new file of your choice.
Capture.JPG
Capture.JPG (65.41 KiB) Viewed 16064 times