Login

Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

ARM websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.

ARM Community: Programming in Cortex - A9 - ARM Community

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Programming in Cortex - A9 Cortex - A9 Rate Topic: -----

#1 User is offline   Dave1024 

  • Member
  • Pip
  • Group: Members
  • Posts: 25
  • Joined: 30-April 10

Posted 26 June 2011 - 10:03 AM

Hi,

In Cortex - A8 we have a couple of options for the faster execution of my algorithms espically for multimedia and signal processing.

I can use the SIMD instruction set for a block wise processing of data at a maximmum of 16 8 bit data at a time.

I would like to upgrade the architecture to Cortex - A9.

How can i execute my core functions in different cores without dependency.

How can i schedule the functions using the different cores.

Please give some ideas to proceed.

Thanks
Dave


0

#2 User is offline   isogen74 

  • Super Contributor
  • PipPipPipPip
  • Group: Members
  • Posts: 1104
  • Joined: 20-March 07

Posted 26 June 2011 - 10:46 AM

The multiple cores in an A9 are fully fledged processor cores, not just extra pipelines. You need to have some kind of typical multiple threading support provided by an operating system layer which can put work onto all of the cores.
When optimizing software, consider that the quickest code to run is the bit you removed from the call path.
1

#3 User is offline   Dave1024 

  • Member
  • Pip
  • Group: Members
  • Posts: 25
  • Joined: 30-April 10

Posted 26 June 2011 - 03:08 PM

Hi,

Thanks for the replay.

Will you provide some reference spots?

Thanks
Dave
0

#4 User is offline   isogen74 

  • Super Contributor
  • PipPipPipPip
  • Group: Members
  • Posts: 1104
  • Joined: 20-March 07

Posted 26 June 2011 - 08:32 PM

http://en.wikipedia....mputer_science)

More seriously, I assume you have some kind of operating system layer in your existing A8 device. Most commercial RTOS designs and "big OSs" like Linux have some form of threading support, so I'd have a look at the documentation for your platform.

If you don't have off the shelf threading support or you have written your own bare metal system layer then you are going to have to design it yourself, which give you're not too sure what threads are, I'd highly recommend avoiding ...

There are a few RTOS designs (free and otherwise) for ARMv7 cores which probably provide a better starting point that rolling your own. Google will help you here.
When optimizing software, consider that the quickest code to run is the bit you removed from the call path.
1

#5 User is offline   Dave1024 

  • Member
  • Pip
  • Group: Members
  • Posts: 25
  • Joined: 30-April 10

Posted 05 July 2011 - 07:10 PM

Hi isogen

When i read your post i have some doubts. Let me say about it.

1. I have a container format say eg:: MP4 so i have audio[AAC] and video data[H.264]. When i parse the container for audio and video streams decoding i can give each ones to separate cores - Is it correct or not ?

2. If some threading concept come it to picture, OOPs concepts needs to implement. Where can i find a C++ compiler for the same. ?

3. For Ubuntu linux this threading methodology is applicable?


Wait for some replays

Thanks
Dave
0

#6 User is offline   shervin 

  • Contributor
  • PipPip
  • Group: Members
  • Posts: 52
  • Joined: 17-September 10

Posted 14 July 2011 - 10:06 AM

Hi Dave,

I don't understand what you are asking, could you re-phrase your question?

If you are trying to decode an MP4 video then yes, for a Cortex-A9 you should be able to write a separate thread to decode video and a thread to decode audio, but when writing multi-threaded programming, you will need to deal with multi-threading synchronization issues very carefully, since both threads could potential access the same memory at the same time and therefore cause strange behaviour, or one thread might finish before the other one so you would need to wait for them both to finish, etc. It is usually much more difficult to implement & debug a multi-threaded program than a single-threaded program because of all these issues!

Cheers,
Shervin Emami.
1

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic