Can Different Processors Share Memory in Embedded Systems?

Click For Summary

Discussion Overview

The discussion revolves around the integration of different types of processors, such as microcontrollers, digital signal processors (DSPs), and microprocessors, within embedded systems. It explores how memory elements are linked to these processors and the implications for programming and data management.

Discussion Character

  • Technical explanation
  • Conceptual clarification
  • Debate/contested

Main Points Raised

  • Some participants suggest that embedded systems can include a variety of processors, such as microcontrollers, DSPs, and microprocessors, each with their own memory elements.
  • One participant describes a potential architecture where a main bus connects a DSP and a microprocessor, with the microprocessor acting as the master host processor that controls data flow and commands.
  • There is a discussion about the programming languages used, with a preference for assembly language for DSPs to achieve optimized performance, while acknowledging that any language can be used ultimately translating to machine code.
  • A participant questions whether the presence of individual memory elements for each processor implies that there is also a shared memory element for the entire system.
  • Another participant confirms that DSPs, microprocessors, and microcontrollers each have their own memories, and additional memory can be included for shared data storage.

Areas of Agreement / Disagreement

Participants generally agree that different processors in embedded systems have their own memory elements and that additional shared memory can be utilized. However, the specifics of memory management and the best programming practices remain somewhat contested.

Contextual Notes

The discussion does not resolve how memory management should be implemented across different processors or the optimal programming practices for various applications.

Who May Find This Useful

This discussion may be useful for engineers and developers working on embedded systems, students studying computer architecture, and those interested in the integration of different processing units in hardware design.

pairofstrings
Messages
411
Reaction score
7
What are the basic elements in embedded systems? Can I use any microcontrollers, DSPs, and microprocessors in one systems. If yes, how is memory element linked with microcontrollers, DSPs, and microprocessors? On whose memory elements, codes are written? Which language is preferred for the codes?
 
Engineering news on Phys.org
Basic elements could be processors, such as DSPs microprocessors, memories, ASICs of any kind, hardware accelerators etc.

There are several ways to connect them together, but an example could be you have a main bus with memories, one DSP and one microprocessor connected to the bus.
Then you let the microprocessor control everything (master host processor), this one sends commands to the DSP (slave co processor) to do some calculations on data stored in the memories, and DSP stores the results back in the memories.

There is an infinite number of ways you can build your system but the main thing is you need something to control the flow, a microprocessor for example, who gives instructions to other units and keep track of everything. Like where data and results are stored so that nothing important is overwritten by another unit.

All units, DSPs and microprocessors etc have a program memory from where its own code is executed, then there are memories and register files from where the units gets and stores the data which are processed.

The language could be any, in the end it all breakes down to assembly code which in turn breaks down to 0s and 1s in the program memory of the CPUs.

But if you need fast and optimized code like for a DSP the best thing is to write directly in assembler (if you have time :)) since a C-compiler of whatever may produce redundant code.
 
pairofstrings said:
"All units, DSPs and microprocessors etc have a program memory from where its own code is executed, then there are memories and register files from where the units gets and stores the data which are processed.

That means, if a system has a DSP, microprocessor, microcontrollers then all these possesses individual memory element and there is also memory element that belong to entire system as a whole. Is that what you mean?
 
Exactly, DSP, microprocessor, microcontrollers always has there own memories and in a system you can add extra memory for storing and shearing data.
 

Similar threads

Replies
8
Views
2K
Replies
4
Views
5K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 18 ·
Replies
18
Views
2K
Replies
13
Views
6K
  • · Replies 133 ·
5
Replies
133
Views
12K
Replies
2
Views
1K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 29 ·
Replies
29
Views
4K
Replies
4
Views
3K