- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Recently, I am building a two processor system. I have met several problems,hoping someone would help me.
SopcBuilder: How many Jtag-Uarts are needed, if I use two cpus? ( I have used two jtags, each of them connected to one cpu, cpu0 runs uclinux system, cpu1 runs helloworld example without a system, uclinux could be booted, but paused at the information of jtag-uart, cpu1 with helloworld program is successful) The purpose of my multiprocessor project is to do paralell working.A uclinux system with several piece of working programs. One storage space can only be accessed by one periphery at a time.How could make the parelell (several programs) work together? Looking forward to your reply, thank you very much!!Link Copied
7 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- SopcBuilder: How many Jtag-Uarts are needed, if I use two cpus? ( I have used two jtags, each of them connected to one cpu, cpu0 runs uclinux system, cpu1 runs helloworld example without a system, uclinux could be booted, but paused at the information of jtag-uart, cpu1 with helloworld program is successful) --- Quote End --- You can have two jtag-uarts as components but physically there is only one UART. So, at a time, only one cpu can use it. You can try writing a code which allows the two cpus to effectively share this uart based on message-boxes etc. --- Quote Start --- The purpose of my multiprocessor project is to do paralell working.A uclinux system with several piece of working programs. One storage space can only be accessed by one periphery at a time.How could make the parelell (several programs) work together? --- Quote End --- In a multi-processor system, when a particular resource can be used by only one processor at a time, then you need to create an effective mechanism (mail-boxes etc) through which one processors can signal the other one when it is using and not using this resource. Also, several times, you may not need multi-processor system - a multi-threaded single processor system may be suffice for parallel tasks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- Also, several times, you may not need multi-processor system - a multi-threaded single processor system may be suffice for parallel tasks. --- Quote End --- Thank you for your reply!! The multi-threaded single processor system, do you mean it relys on an RTOS?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- The multi-threaded single processor system, do you mean it relys on an RTOS? --- Quote End --- Yes. RTOS would allow you to spawn several threads. You can manipulate a thread to resume, suspend etc while the other thread executes. There is lot of helpful literature available for the RTOS that have been ported on NIOS eg. uC/OS-II.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- Yes. RTOS would allow you to spawn several threads. You can manipulate a thread to resume, suspend etc while the other thread executes. There is lot of helpful literature available for the RTOS that have been ported on NIOS eg. uC/OS-II. --- Quote End --- However, the tasks rely on RTOS would be much slower, it uses the RTOS system resources, the remaining resources would be wasted. So the multiprocessor distributes system resource, would be much faster.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- However, the tasks rely on RTOS would be much slower, it uses the RTOS system resources, the remaining resources would be wasted. So the multiprocessor distributes system resource, would be much faster. --- Quote End --- It depends what kind of resource optimization you are interested in. If you would like to save the precious resources on FPGA, then obviously two processors together would consume more resources compared to one. In this case, one would wonder as to why he should use many processors while he can achieve nearly-the-same result with just one, thereby also saving FPGA resources. However, if you have a crunching restraint on the design such that the task must be finished in a very small period, probably a multi-processor system would be useful. I would put it as try-and-watch.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- However, the tasks rely on RTOS would be much slower, it uses the RTOS system resources, the remaining resources would be wasted. So the multiprocessor distributes system resource, would be much faster. --- Quote End --- --- Quote Start --- Yes. RTOS would allow you to spawn several threads. You can manipulate a thread to resume, suspend etc while the other thread executes. There is lot of helpful literature available for the RTOS that have been ported on NIOS eg. uC/OS-II. --- Quote End --- --- Quote Start --- It depends what kind of resource optimization you are interested in. If you would like to save the precious resources on FPGA, then obviously two processors together would consume more resources compared to one. In this case, one would wonder as to why he should use many processors while he can achieve nearly-the-same result with just one, thereby also saving FPGA resources. However, if you have a crunching restraint on the design such that the task must be finished in a very small period, probably a multi-processor system would be useful. I would put it as try-and-watch. --- Quote End --- Thank you for your quick reply!! Yeah, I wanna build a system constructure, on which runs several parallel cracking programs, and then the speed can be promoted. So I choose a structure like this, one master cpu runs uclinux system with ethernet driver, get information from the outside, and several other cpus run the program in parallel. But the progress seems not so easy, multiprocessor system built in QuartusII, sopcbuilder, niosii ide, cannot run helloworld.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
porting the algorithm to RTL should give better performance than running soft processors.
maybe use 1 processor for ethernet and delegate the work to parallel algorithms implemented in logic.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page