Raspberry Pi and BCM2835

codedivine

Regular
Well, didn't find a thread about it here so starting one. While not a very powerful SoC, the project is extremely interesting. It is a cheap and tiny ARM and Linux based "computer" with HDMI port and USB connectivity and will be sold at around $25 or $35 (depending on the model). Expected to be released in November.

The SoC is Broadcom BCM2835 with 700MHz ARM11 and VideoCore IV GPU with 1080p decode and good GPU. Memory is either 128MB or 256MB.

Website: http://www.raspberrypi.org

I will buy one as soon as its out. Will be neat to play around. Cheap + Linux + Tiny = Fun.
 
The GPU and DSP(s?) would be interesting to utilize as a programming platform, if only we had the information to do so.. Maybe this will finally encourage someone to get down and reverse engineer that sort of hardware, while publicly documented. I mean, that's what the spirit of this thing is all about right? Reinvigorating the old 80s computer hacker mentality?

But until then, most of the compute will be going on in the ARM11 which probably doesn't have L2 cache and will therefore perform like crap (I asked on their message board and never got an answer.. and let's face it, it'd be pretty unusual). Sadly people are already thinking it's going to be like a Cortex-A8 at 500MHz; I can only invite those people to turn off the L2 cache on a Beagleboard or something and watch what happens. I've seen it before and believe me, it isn't pretty. Same goes for other high-ish MHz ARM w/o L2 devices I know of,

But maybe this will be one of the rare ARM SoCs that doesn't have absolutely putrid main memory performance, who knows. People are also entertaining the thought that it'll have nice latency due to having PoP DRAM.. how unfortunate for them..

So ignoring the CPU capabilities. I think it's kind of interesting but having to run on external power instead of USB is such an incredible downer for a device that makes the most sense constantly piggybacking off of a more "real" computer. If you want to run this standalone it's going to need so much extra hardware that the price will seem a lot less relevant, although I suppose there'll be some crowd that enjoys running it off of TVs. I mean, that's what I'm inclined to do with eval boards these days.
 
Ouch, do you have any evidence there's actually zero L2 cache? It seems completely insane to pair a 1080p VideoCore IV with a L2-less CPU. I seem to remember a lot of people claiming the iPhone 3G only had 16/16KB L1 and no L2 but I could never find a very reliable source for that - I suppose it might have just been people reading too much into what ARM's 'typical implementation' examples.
 
Ouch, do you have any evidence there's actually zero L2 cache? It seems completely insane to pair a 1080p VideoCore IV with a L2-less CPU. I seem to remember a lot of people claiming the iPhone 3G only had 16/16KB L1 and no L2 but I could never find a very reliable source for that - I suppose it might have just been people reading too much into what ARM's 'typical implementation' examples.

I don't know about official sources but it's obvious if you look at the performance difference between 3G and 3GS. You don't get that kind of improvement just by going from ARM11 to Cortex-A8, even if that's what reviewers attributed it to. And Samsung S3C6410 doesn't have L2, which I imagine 3G's is derived from.

I also don't have evidence about BCM2835 not having it, just that when asked the RaspPi crew say they can't say yet. It's pretty pointless to keep quiet about because it'll be really obvious once it's out. Historically most ARM11 SoCs haven't had L2 cache, although I guess some more recent ones have been more likely to.
 
I also don't have evidence about BCM2835 not having it, just that when asked the RaspPi crew say they can't say yet. It's pretty pointless to keep quiet about because it'll be really obvious once it's out. Historically most ARM11 SoCs haven't had L2 cache, although I guess some more recent ones have been more likely to.
Yes for instance the ever-popular MSM7227.
That said the BCM2835 appears to be a newer chip hence it's probably more likely to have L2 cache. Is this a 65nm device still or 40nm? In any case 256KB of L2 cache does not take up THAT much area, granted compared to the cpu core alone it will be quite big (maybe twice the size of the core) but considering the whole SoC should still be not that much (something like 4mm² on 65nm?). Not sure what the benefits are in terms of performance/power though I'd guess it's probably a win there too.
 
Last edited by a moderator:
The new Symbian Belle devices all carry a BCM2763 and an ARM11 CPU @ ~1GHz.

VideoCore GPUs have proven to be quite autonomous.. The BCM2727 has a dedicated co-processor for running the graphics driver, so I wouldn't be surprised if the BCM2763 and BCM2835 both have even more components to reduce CPU utilization.


Here's the device running Quake 3 Arena @ 1080p (12-25fps):
http://www.youtube.com/watch?v=e_mDuJuvZjI&list=UUhmozgJ0cqX8Gx7676ZQ4ig&feature=plcp
 
Actually there's a post by eben stating it does have L2:
http://www.raspberrypi.org/?page_id=43&mingleforumaction=viewtopic&t=36.14
eben said:
We have a 128KB L2 on the chip, but we tend not to use it for the ARM, as it's a bit further away (in clock cycles) than is ideal. Some benchmarks show a small improvement when you turn it on, others show a small reduction in performance.
So probably looks like some kind of shared thing for the L2 cache, which is too slow (and I guess the small size doesn't help neither) for it to be useful (for the cpu). Too bad...
 
Thanks mczak, I never found this, no matter how many times I searched for "L2 cache" and Raspberry Pi or BCM2835, on the forums or otherwise >_> No idea why...

An L2 that reduces performance sounds ridiculous. I hope that means that main memory latency is exceptionally low, because otherwise CPU on this is going to suck. Everything about this design suggests that it's more of a special purpose chip that's heavily focused on the media capabilities, with the CPU mainly just to coordinate that. Which makes it a bad fit for a general purpose hacking platform.
 
Big claims about the graphics performance highlighted over at Digital Foundry: http://www.eurogamer.net/articles/digitalfoundry-raspberry-pi-gpu-outperforms-iphone-4s

Q: We know that you have a 700MHz ARM11 core in the Raspberry Pi SoC. However, you've described the Broadcom chip as a GPU with ARM elements grafted on. Can you give some idea of the rendering power of the graphics core? Is it true that it comprehensively outperforms NVIDIA's Tegra 2? If so, how?

Eben Upton: I was on the team that designed the graphics core, so I'm a little biased here, but I genuinely believe we have the best mobile GPU team in the world at Broadcom in Cambridge. What's really striking is how badly Tegra 2 performs relative even to simple APs using licensed Imagination Technologies (TI and Apple) or ARM Mali (Samsung) graphics. To summarise, BCM2835 has a tile mode architecture - so it kills immediate-mode devices like Tegra on fill-rate - and we've chosen to configure it with a very large amount of shader performance, so it does very well on compute-intensive benchmarks, and should double iPhone 4S performance across a range of content.

Full interview on gamesindustry.biz (requires log in):
http://www.gamesindustry.biz/articles/digitalfoundry-inside-raspberry-pi?page=1
 
OMAP4430 is faster with vsync out of the way (as it is on the Nokia results).
 
Extrapolating from the performance of Quake 3 on an SGX535 device compared to the Pi, I am very skeptical of Eben Upton's claim regarding the 4S.
 
Back
Top