OpenCores
URL https://opencores.org/ocsvn/mips32r1/mips32r1/trunk

Subversion Repositories mips32r1

[/] [mips32r1/] [trunk/] [Software/] [demos/] [XD5_Threads/] [README] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 ayersg
README for XUM Demo 5 : Threads
2
-------------------------------
3
 
4
Creator: Grant Ayers (ayers@cs.utah.edu)
5
Date:    26 July 2012
6
 
7
 
8
 
9
DEMONSTRATES
10
------------
11
 
12
Atomic locks, threads, LEDs, LCD.
13
 
14
 
15
 
16
DESCRIPTION
17
-----------
18
 
19
This demo implements a basic thread scheduler which runs eight separate
20
threads on a single processor. Each thread writes a continuously-changing
21
value to a location on the LCD screen corresponding to its unique thread ID
22
(1 through 8). However, it only changes and updates this value when it holds
23
a lock which is shared among the eight threads. XXX
24
 
25
Each thread has its own 16 KB stack space, arranged as follows:
26
 
27
    Thread      Start      End        Initial SP
28
    --------------------------------------------
29
    Kernel      0x90000    0x93ffc    0x94000
30
    Thread 1    0x8c000    0x8fffc    0x90000
31
    Thread 2    0x88000    0x8bffc    0x8c000
32
    Thread 3    0x84000    0x87ffc    0x88000
33
    Thread 4    0x80000    0x83ffc    0x84000
34
    Thread 5    0x7c000    0x7fffc    0x80000
35
    Thread 6    0x78000    0x7bffc    0x7c000
36
    Thread 7    0x74000    0x77ffc    0x78000
37
    Thread 8    0x70000    0x73ffc    0x74000
38
 
39
Scheduling decisions are made each time the timer interrupts, and the
40
scheduling policy is a simple round-robin rotation.
41
 
42
 
43
 
44
BUILDING AND RUNNING
45
--------------------
46
 
47
To compile, enter the 'bin' directory and update the paths in the Makefile.
48
Then run 'make' from within the same directory. Use the XUM bootloader to
49
send the resulting .xum file to the FPGA.
50
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.