URL
https://opencores.org/ocsvn/mips32r1/mips32r1/trunk
Subversion Repositories mips32r1
[/] [mips32r1/] [trunk/] [Software/] [demos/] [XD5_Threads/] [README] - Rev 2
Compare with Previous | Blame | View Log
README for XUM Demo 5 : Threads
-------------------------------
Creator: Grant Ayers (ayers@cs.utah.edu)
Date: 26 July 2012
DEMONSTRATES
------------
Atomic locks, threads, LEDs, LCD.
DESCRIPTION
-----------
This demo implements a basic thread scheduler which runs eight separate
threads on a single processor. Each thread writes a continuously-changing
value to a location on the LCD screen corresponding to its unique thread ID
(1 through 8). However, it only changes and updates this value when it holds
a lock which is shared among the eight threads. XXX
Each thread has its own 16 KB stack space, arranged as follows:
Thread Start End Initial SP
--------------------------------------------
Kernel 0x90000 0x93ffc 0x94000
Thread 1 0x8c000 0x8fffc 0x90000
Thread 2 0x88000 0x8bffc 0x8c000
Thread 3 0x84000 0x87ffc 0x88000
Thread 4 0x80000 0x83ffc 0x84000
Thread 5 0x7c000 0x7fffc 0x80000
Thread 6 0x78000 0x7bffc 0x7c000
Thread 7 0x74000 0x77ffc 0x78000
Thread 8 0x70000 0x73ffc 0x74000
Scheduling decisions are made each time the timer interrupts, and the
scheduling policy is a simple round-robin rotation.
BUILDING AND RUNNING
--------------------
To compile, enter the 'bin' directory and update the paths in the Makefile.
Then run 'make' from within the same directory. Use the XUM bootloader to
send the resulting .xum file to the FPGA.