Raspberry Pi presentation for Computer Architecture class

18
Raspberry Pi Michael Gordon Justin Murray Queens College 65-30 Kissena Blvd. Flushing, NY 11367

Transcript of Raspberry Pi presentation for Computer Architecture class

Page 1: Raspberry Pi presentation for Computer Architecture class

Raspberry PiMichael GordonJustin Murray

Queens College 65-30 Kissena Blvd. Flushing, NY 11367

Michael Gordon
I think I'll take this out and just mention these points while showing the diagrams.
Page 2: Raspberry Pi presentation for Computer Architecture class

2006 2009 2011 2012 20142013

What is Raspberry Pi?

Eben Upton, Rob Mullins, Jack Lang and Alan MycroftUniversity of Cambridge’s Computer Laboratory

Concern: with student’s shift from creators (1980s) to end-users (2000s)

Idea: create low-cost computer that most families could afford

Intention: promote the teaching of programming to children

Software - Python, C, C++, Java, Ruby, (any language which will compile for ARMv6)- Scratch, an MIT developed program that helps children program their own interactive stories, games, and animations

Hardware- GPIO pins, allow creators to create anything- camera module

idea

Page 3: Raspberry Pi presentation for Computer Architecture class

2006 2009 2011 2012 20142013

The User/Computer Paradigm

Operating SystemUsability

Hardware Complexity &

Cost

Technical and Programming

Skills

RPi Foundation

Justin Murray
is this slide suppose to have animation to it? I looked at it in 'present' mode and the arrows come in 1 at a time.
Michael Gordon
Yeah, I added some animation to some of the more visual slides to see if it "pops" more.
Justin Murray
awesome slide. can't sum up the problem/answer the pi is trying to solve much better than this!
Page 4: Raspberry Pi presentation for Computer Architecture class

2006 2009 2011 2012 20142013

Raspberry Pi Schematics

SoC: Broadcom BCM2835 (700MHz ARMv6 CPU, VideoCore IV GPU)

RAM: 256/512 MB

Video: HDMI, RCA

USB: 2.0 x2

Audio: 3.5mm

Storage: SD card

Misc.: 8x GPIO, Camera Port

Power: 5v microUSB

OS: Raspbian, RISC, Raspbmc, many Linux distros

100k sold day 1

Page 5: Raspberry Pi presentation for Computer Architecture class

2006 2009 2011 2012 20142013

ARM Architecture

★ Raspberry Pi uses ARM architecture developed by ARM Holdings

★ ARM architecture is also commonly used in smartphones and embedded systems

★ ARM architecture is RISC-based and supports 32-bit addressing and 32-bit arithmetic.

(Some upgrades can support 64-bit and some can provide hardware for executing

Java bytecode.)

★ Early implementations had a three-stage pipeline, while more advanced versions

have up to 13 stages. The version in Raspberry Pi has 8 stages.

20k shipped

Page 6: Raspberry Pi presentation for Computer Architecture class

2006 2009 2011 2012 20142013

VideoCore IV

★ In addition to the CPU, the Raspberry Pi has the VideoCore IV GPU (or Graphical

Processing Unit).

★ The VideoCore IV is a multimedia processor specially designed for low power use, such

as in mobile devices.

★ The driver code for the VideoCore IV was recently made available for public use,

making the Raspberry Pi chip the first ARM-based multimedia SoC with fully open-

source vendor-provided drivers.

○ This is especially important as Raspberry Pi is a tool for learning and the more

open-source code, the more users can learn.

★ VideoCore has a quad processor with architecture somewhat different from what we’ve

seen in class, including:

○ 64-bit encoding

○ Two sets of registers

○ Independent “ADD” and “MUL” ALUs

○ No branch prediction (for the sake of simplicity)

Page 7: Raspberry Pi presentation for Computer Architecture class

2006 2009 2011 2012 20142013

VideoCore IV

Page 8: Raspberry Pi presentation for Computer Architecture class

2006 2009 2011 2012 20142013

63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 3231 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

pm sf ws

1 1 0 1 pm sf ws

1 1 1 1 rel reg ws

1 1 1 0 0 0 0 pm sf ws

1 1 1 0 0 0 1 pm sf ws

1 1 1 0 0 1 1 pm sf ws

1 1 1 0 1 0 0 pm sf wssa

mul_a mul_b

don't care

alu small imm

unpack pack cond_add cond_mul waddr_add waddr_mulop_mul op_add raddr_a small_ immed add_a add_b

cond_add cond_mul

cond_add cond_mulPer-element MS (sign) bit Per-element LS bit

mul_a mul_b

waddr_mul

Sema- phore

pack waddr_add waddr_mul

cond_add cond_mulPer-element MS bit Per-element LS bit

cond_add cond_mulsemaphore

load imm per-elmt unsigned

pack waddr_add

waddr_mulimmediate

load imm per-elmt signed

pack waddr_add waddr_mul

branchcond_br raddr_a waddr_add

waddr_mul

load imm 32

pack waddr_add waddr_mulimmediate

sig unpack cond_mulcond_addop_mul op_add raddr_a

alupack waddr_add

raddr_b add_a add_b

Instructions

Michael Gordon
Not going to go into detail of the other instructions, but just so that they can see how branch compares in complexity.
Page 9: Raspberry Pi presentation for Computer Architecture class

2006 2009 2011 2012 20142013

Branch Instruction

Field BitsDescriptioncond_br 4 Branch conditionrel 1 Branch relative. If set, branch target is relative to PC+4 (add PC+4 to target)reg 1 Add value of raddr_a (value read from SIMD element 0) to branch targetraddr_a 5 Read address for register file waddr_add 6 Write address for ADD ALU (same as ALU instruction)waddr_mul 6 Write address for MUL ALU (same as ALU instruction)ws 1 Write swap bit (same as ALU instruction)immediate 32 Signed 32-bit immediate (always added to branch target - set to 0 if not used)

1 1 1 1 rel reg ws

63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 3231 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

branchcond_br raddr_a waddr_add waddr_mul

immediate

1M sold

Page 10: Raspberry Pi presentation for Computer Architecture class

2006 2009 2011 2012 20142013

What is Raspberry Pi?

Page 11: Raspberry Pi presentation for Computer Architecture class

2006 2009 2011 2012 20142013

MHz/$ MB/$0

5

10

15

20

25

MHz and MB per Dollar

Mac Mini RPi

Mac MiniCPU: 2.6 GHzRAM: 4GBPrice: $600

RPi (Model B)CPU: 700 MHzRAM: 512 MBPrice: $35

MHz/$: 4.3MB/$: 6.7

MHz/$: 20.0MB/$: 14.6

RPi vs Mac Mini

40k/day MFD

Justin Murray
do we have a better quality image for the chart?
Page 12: Raspberry Pi presentation for Computer Architecture class

2006 2009 2011 2012 20142013

★ Won regionals at the University of Manchester

★ Won UK's National Robot Design prize

★ "You have a headset on your head, and it reads your brainwaves into the computer. We link the computer to the robot, and when you think a certain thought, we can train our brains to move the robots," twelve-year-old Claire Revans.

★ EEG headsets are linked to the Lego robots using Python

Robots, Brains and Pi?

500k MFD in UK

Page 13: Raspberry Pi presentation for Computer Architecture class

2006 2009 2011 2012 20142013

★ Home automation systems (for controlling lights, thermostat, etc.) can be costly and difficult to customize.

★ Instead, you can use a Raspberry Pi, Arduino, and a few other tools to achieve the same result.

Home Automation System

1M MFD in UK

Michael Gordon
I had thought that the green chip in these pictures was the RPi, but it looks like I was wrong. I'll try to find a better picture. Or else I'll take the slide out.
Page 14: Raspberry Pi presentation for Computer Architecture class

2006 2009 2011 2012 20142013

★ In March, a Seattle news station reported of a bitcoin mine in eastern Washington running an estimated 1,500 Raspberry Pis (in conjunction with other hardware) to mine bitcoins.

★ The mine was reported to be generating $8 million in bitcoins per month.

Bitcoin Mining(Not Recommended)

1.75M sold

Justin Murray
Here is a picture of a bitcoin miner that we saw in class using a RPihttp://i.imgur.com/N97JZKa.jpg
Michael Gordon
Perfect!
Page 15: Raspberry Pi presentation for Computer Architecture class

2006 2009 2011 2012 20142013

Raspberry Pi Foundation (est. 2009) ★ "promote the study of computer science ..., especially at school level, and to put the

fun back into learning computing.“

★ September 2014 - UK school system is bringing coding into the curriculum

Manchester CoderDojo (est. 2009)★ 8 coders first month; all boys

★ April 2014 - over 150 coders, good mix of boys and girls

★ "Coding gets more attention now because it's cooler"

Progress?

2M sold

Page 16: Raspberry Pi presentation for Computer Architecture class

2006 2009 2011 2012 20142013

As commercial and computers get more and more powerful, small-scale pieces like Raspberry Pi will likely stay in the realm of hobbyists and students.

BUT…

As more students get hands-on learning opportunities and as more tinkerers get a chance to test out their new ideas, we will likely see greater innovation arising. New products, services, and ideas will not just be coming from big companies with Research & Development teams, but from programmers working out of their garages like they did in the 1970s and 80s.

The Future

2.5M sold

Page 17: Raspberry Pi presentation for Computer Architecture class

2006 2009 2011 2012 20142013

★ Hennessy, John L., and David A. Patterson. Computer Organization and Design: The Hardware. San Francisco, CA: Kaufmann, 2012. Print.

★ "Raspberry Pi." 2009. 11 May. 2014 <http://www.raspberrypi.org/>

★ "Raspberry Pi - Wikipedia, the free encyclopedia." 2011. 11 May. 2014 <http://en.wikipedia.org/wiki/Raspberry_Pi>

★ Hermitage, Herman H. "Hermanhermitage/videocoreiv-qpu." GitHub. Web. 11 May 2014. <https://github.com/hermanhermitage/videocoreiv-qpu>.

★ "BBC News - Teenage computer coders on the rise - BBC.com." 2014. 11 May. 2014 <http://www.bbc.com/news/25844295>

★ David Meyer. "Robots meet Raspberry Pi: How kids are using their brains ..." 2012. 11 May. 2014 <http://www.zdnet.com/robots-meet-raspberry-pi-how-kids-are-using-their-brains-3040155394/>

★ "VideoCore® IV 3D Architecture Reference Guide - Broadcom." 2014. 11 May. 2014 <http://www.broadcom.com/docs/support/videocore/VideoCoreIV-AG100-R.pdf>

★ "BCM2835-ARM-Peripherals.pdf - Raspberry Pi." 2012. 11 May. 2014 <http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf>

★ "ARM1176JZF-S Technical Reference Manual." 2010. 11 May. 2014 <http://infocenter.arm.com/help/topic/com.arm.doc.ddi0301h/DDI0301H_arm1176jzfs_r0p7_trm.pdf>

★ "Raspberry Pi Foundation - Wikipedia, the free encyclopedia." 2011. 12 May. 2014 <http://en.wikipedia.org/wiki/Raspberry_Pi_Foundation>

References

2.5M sold

Page 18: Raspberry Pi presentation for Computer Architecture class

Raspberry Pi

Michael GordonJustin Murray

Queens College 65-30 Kissena Blvd. Flushing, NY 11367

QUESTIONS?