OpenCores
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.

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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