2

There is a great explanation of the boot process - What is the boot sequence?

But I can't understand why GPU is responsible for doing all that work.

Could someone explain this decision? I can't find any explanation of that.

I would be grateful for any response.

1

Not sure if this helps, but from what I've read about the design of the Pi and the use of Broadcom's SoC, the CPU and GPU are on the same chip and share memory, and on early models there was only pre-determined splits of RAM between the two Units until that was made obsolete by a new version of start.elf, so this might be the most efficient or most backwards compatible way to do the boot sequence.

1
  • The VideoCore series is quite old. At least older than 2004.
  • ARM cores used to be a lot weaker in the past, especially for video decoding.
  • The VideoCore was used in millions of devices, a lot of custom firmware has been written for it.
  • The VideoCore firmware only runs on VideoCore since it uses the VideoCore vector processing extensions (this was before ARM offered VFPv2 or even NEON)
  • In terms of die area, VideoCore (+ extras) is nine times larger than the ARM11 used in the first Raspberries
  • Designing a new VideoCore with a "small" ARM companion was the easiest way
  • While we're at it, just let the VideoCore kickstart the ARM and its clocks ... and this is how the BCM2835 was born.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.