introduction to intel galileo board gen2

51
Introduction to Intel Galileo Board Gen2 By: Harshit 10/16/2015 1

Upload: harshit-srivastava

Post on 14-Jan-2017

1.180 views

Category:

Engineering


2 download

TRANSCRIPT

Page 1: Introduction to intel galileo board gen2

Introduction to Intel Galileo Board Gen2

By: Harshit

10/16/2015 1

Page 2: Introduction to intel galileo board gen2

Outline

• Introduction

• Block Diagram of Board

• Simplified Schematic View of Board

• Features and Comparison with same category board

• Tools to implement IOT

• Problems

• Conclusion

10/16/2015 2

Page 3: Introduction to intel galileo board gen2

Introduction

• Targeting at wearable devices and IoT, Intel developed Galileo board.

• Intel Galileo is basically a developer board designed to have powerful functionality with low power consumption.

• As a developer board, it has many peripherals for various application.

10/16/2015 3

Page 4: Introduction to intel galileo board gen2

Block Diagram of Intel Galileo Board

10/16/2015 4

Intel 400MHz 32-bit 16 KBytesof L1 cache, 512 KByteembedded SRAM

Real Time Clock (RTC) integrated. To keep it permanently active

Standard JTAG connector with10-pin for debugging

A 8 MB Legacy SPI Flash memory where is stored the GNU / Linux bootloader and the last sketch loaded.

For the sketch could be reserved from 256Kbyte to 512KByte memory.

Page 5: Introduction to intel galileo board gen2

Architecture Explanation

• Intel Galileo board is mainly classified through 2 levels, legacy controlled and through advanced micro buses.

• The legacy controlled blocks are dedicated for definite set of function, through dedicated channel allocation for each.

• The board runs at 400 MHz, and is synchronized by real time clock with the help of 32.58 Hz oscillator.

• The board has dedicated point to point connection in PCIe.

• The RAM on board is double data type rate 3 synchronous type with max. transfer rate of 6400MB/sec.

• Although it is not utilizing full transfer rates dedicated channel, as the load on cpuwill increase drastically, resulting in high power consumption.

• The other important part is AMB, as it is the way to have high speed connectivity in respect of cpu and peripherals.

• This basically divided into 2 parts as system bus and peripheral bus connecting each other through bridge.

10/16/2015 5

Page 6: Introduction to intel galileo board gen2

Legacy Controlled Blocks• Legacy controlled blocks are known for their dedicated

functionality.

• Every component inside these controlled atmosphere has there own functions.

• 8254: It is known as program interval timers, which performs timing and counting function.

• 8259: Programmable interrupt controller, it can combine multiple interrupt sources into single interrupt output to host processor. time synchronized to current time.

• ROM: Read only Memory (eEPROM)

• RTC: It is a computer clock that keeps computer synchronized

10/16/2015 6

8253/8254 architecture

These can be programmed and known as channels

Page 7: Introduction to intel galileo board gen2

10/16/2015 7

• DDR3: It is known as double data rate type 3 synchronous dynamic random access memory, with high bandwidth interface.(DRAM)• RAMS, are generally work as an intermediator between software location and

processor,• In general, code is installed on some location whose position is loaded on RAM,

which is accessed by processor.• Then after, instruction from processor, RAM loads the program on its memory

interface for desired time,

• SRAM: It is known as static random access memory, which is faster than DRAM, and is generally used to store data but loses data as soon as power is off, but in galileo, it acts like a cache memory.

• PCIe: Peripheral Component Interconnect expressway.• As it provide lower latency and higher data transfer than parallel buses(Dedicated

point to point connection)

• Clock: The CPU requires a fixed number of clock ticks (or clock cycles) to execute each instruction. The faster the clock, the more instructions the CPU can execute per second. • It is generally termed as clock rate, or speed at which the processor executes

instruction.

Page 8: Introduction to intel galileo board gen2

Advanced Micro Bus Architecture

• Is a standard bus devised by ARM with aim to support efficient on chip/SOC communication.• System Bus: ASB/AHB

• Peripheral bus

• Mutually connected by bridge that buffers data and operation between them.

• AMB can be designed according to need which suits the application.

ASB is used for simple cost effective design for burst transfer, pipelined transfer operation, and multiple bus masters.

AHB is known for high performance and high clock synthesizable design, providing high bandwidth channel between processor and peripherals ( SRAM, Memory ).

APB is known for connecting general peripheral components of low speed and power, it is a static bus that provides simple addressing with latched addresses and control signal

10/16/2015 8

Page 9: Introduction to intel galileo board gen2

Simplified Schematic View

10/16/2015 9

Page 10: Introduction to intel galileo board gen2

In this board there are 5 main interface input output connection, with 4 level shifters and 4 port expanders, which are used to expand the limited number of pins to multiple functionality by using multiplexing feature.

• GPIO• General Purpose I/O controlled by user runtime.

• SPI • Serial Peripheral Interface bus, used for synchronous communication, in a full

duplex mode. It uses master and slave feature

• LEVEL SHIFTER• Level shifter is used for converting digital signals from one logic to another(for

E.g.. Translates “High” to “Low” or vice-versa), as it works like a translator. It works in respect to source current, as it does not translates or provide power.

10/16/2015 10

Schematic View Component Explanation

Page 11: Introduction to intel galileo board gen2

• Digital Input / Output • These are used to control single digital singles & can be set to either output a signal or receive a signal.

• Uses – reading input signals like switches, controlling outputs LEDs, Motors, Relays

• Analogue Digital Converter • 12 bit accuracy, 6 channels available through Arduino pins

• ADC sampling at 5kHz- take a ‘snapshot’ of the voltage level every 200uS

• PWM – Pseudo Analogue Outputs • PWM stands for Pulse Width Modulation

• Used to get analogue results by digital means

• Sends pulses of power to simulate voltage

• The duration of high power is known as the ‘Pulse Width

Schematic controlling of Input/output

Page 12: Introduction to intel galileo board gen2

• UART • UART stands for Universal Asynchronous Receiver/Transmitter (UART)

• It is a piece of computer hardware that translates data between parallel and serial forms.

• The universal designation indicates that the data format and transmission speeds are configurable.

• It takes bytes of data and transmits the individual bits in a sequential fashion.

• At the destination, a second UART re-assembles the bits into complete bytes.

• Second UART available Arduino pins

• I2C • I²C stands for Inter-Integrated Circuit

• It is a bus used for attaching low-speed peripherals to computer motherboards and embedded systems.

• Low speed data communication

• Collecting data from sensors and other devices.

• Available through Arduino pins

Controlling the I/O

Page 13: Introduction to intel galileo board gen2

Comparison of normal PC System to Galileo

10/16/2015 13

Page 14: Introduction to intel galileo board gen2

Comparison in respect of Routing Part

• If we will look initially in normal pc system the cpu has dedicated channel assigned for 2 or more RAM, where as Galileo has one channel only assigned for 2 RAMs

• Then CPU in PC is directly connected to (PCH)Peripheral Controller Hub, which interfaces different kind of peripherals, whereas is Galileo, there is no peripheral controller hub, as peripherals are either connected directly or through multiplexers.• This explains that in PC PCH is used to control certain data paths and support

functions without giving CPU direct access to it, which reduces load on CPU directly, in extreme and normal scenario.

• But, in Galileo the peripherals generally have direct and point to point connection, as it has not many functions and pins of processor can be utilized directly for legacy purpose.

• This also helps to reduce latency in accessing data from memory with reduced power consumption.

10/16/2015 14

Page 15: Introduction to intel galileo board gen2

Intel Galileo Board is also known for its backward compatibility with Arduino. So, what is Arduino?

* it does not mean in respect of hardware, but it means in respect of drivers(Shields)

Page 16: Introduction to intel galileo board gen2

• An open-source hardware and software platform for building electronics projects

• A physical programmable circuit board (often referred to as a microcontroller)

• A piece of software, or IDE (Integrated Development Environment) that runs on your computer, used to write and upload computer code to the physical board (supports Mac/Windows/Linux)

What is Arduino?

Page 17: Introduction to intel galileo board gen2

Normal Arduino Hardware Board/Software

• Arduino boards are specially designed circuit board for programming and prototyping with Atmel microcontrollers.

• It is compatible with combination of software's like (Eclipse, AVR, IDE etc.) with many peripherals.

• The best thing is, its hardware comp ability is changeable and controller dependent

• On normal boards still there is no dedicated OS installed, but there is a dedicated sketch storage space to boot board.

• Specialty is that we can change the bootloaders according to need.

• Arduino uses it own c language with core java byte code which burned on controller.

• This can make microcontroller burn more power, as machine cycles are used for same arithmetic operation.

10/16/2015 17

Page 18: Introduction to intel galileo board gen2

Arduino Uno Board Architecture Explanation

• The Arduino board architecture can be seen to three parts divided by 8 bit of data bus.

• The Arduino board shares the 8bit data bus with every peripheral and cpu.

• It has the dedicated path allocation with data SRAM

• The watch dog time has definite functionality in the board, that must be activated for the use.

• Whereas, in intel board, watch dog timer, is the core part of processor and is activated whenever a sketch is uploaded.

• Flash memory has a multiplexed path for DRAM for addressing and data fetching.

10/16/2015 18

Page 19: Introduction to intel galileo board gen2

Raspberry Pi Board layout Comparison

10/16/2015 19

Page 20: Introduction to intel galileo board gen2

Raspberry Pi Architecture Explanation

• Raspberry pi architecture is also based on legacy and AMB based.

• But, this have additional capability of GPU with ARM based BCM2835 processor of 700 MHz.

• This have direct TV output and dedicated channel allocation for external memory access by processor.

• The AMB architecture connects various system required devices like RAM and SRAM through system bus, with peripheral bus for HDMI and USB, GPIO outputs

10/16/2015 20

Page 21: Introduction to intel galileo board gen2

General explanation of Raspberry Pi

• In laymen terms if we compare raspberry pi , we can directly say it is way different machine than Galileo.

• This is a proper computer with dedicated operating system.

• It does not comes with a microcontroller ability like Galileo, we need to install OS in raspberry pi to use it, whereas Galileo can be used out of the box.

• We can plug into keyboard, mouse, monitor and run web browser on it. It has 700-900 MHz processor with lots of memory.

• But it takes longer time to boot around 10 sec.

• It cannot be used in IoT application as it does not have EPROM/EEPROM nor has flash memory.

• As, all data is accessed through external memory, which increases latency and resum-ability.

10/16/2015 21

Page 22: Introduction to intel galileo board gen2

OS and Software in Raspberry Pi

• Around 18 OS can run in raspberry pi board starting from Linux(Pidora, Archlinux and specifically raspian ( debian based )).

• Raspian is the OS which are basically widely used in the board and has wide support.

• Retro Pi, Open Elec and XBMC(used in Xbox media center), RISC OS which has GUI environment designed by ARM processor, Firefox OS, Plan9 OS, pipboy, Pibang, opensuse, google chromium OS, WebOS(used by LG smart TV), FreeBSD, NetBSD, Windows CE, Windows 10.

• Plus you can install android on it.

10/16/2015 22

Page 23: Introduction to intel galileo board gen2

Comparison in FeaturesBoard Dimension On Board Features of Galileo Features on

Competitor(Raspberry pi)

Processor Intel Quark X1000-SC Broadcom BCM2835-SC

Description X86 based, low power for IoT ARM based ARM1176

Speed 400MHz 700 MHz

Width 32-bit 32-bit

Real Time Clock Yes, needs a 3.3v coin cell No

Cache 16KB L1 Cahe 32KB L1 and 128KB L2, shared with CPU and GPU

RAM 512KB, 256 SRAM and SDRAM 512 SDRAM(Shared-GPU)

Flash Memory 8MB NOR Flash No permanent on Board

EEPROM 11KB NO

GPU No Broadcom Dual Core Vcore

Video Support No HDMI,RCA and DSI

Compatibility Arduino Shields Arduino connects through USB10/16/2015 23

Page 24: Introduction to intel galileo board gen2

Comparison of Peripheral/UtilitiesGalileo Raspberry Pi

Ethernet 10/100 Mbps Support via usb

Wi-Fi No, can use PCI slot No, with usb

PCIe Yes No

Two Wire Interface Yes No

SPI Yes, native Controller Yes

Reset Button Yes No

DSI No Yes

CAN Bus No No

GPU No Yes

EEPROM Yes 11KB

HDMI NO Yes

On-Board ADC Yes No

Clock Internal (on board RTC)

Camera No Expansion Accessory10/16/2015 24

Page 25: Introduction to intel galileo board gen2

ApplicationsApplication Space Technology Galileo Raspberry Pi

Multimedia Video No Yes

Audio No Yes

Camera No Yes

Industrial/Automotive CAN Bus No No

LIN Bus No No

Networking Wi-Fi Yes Can Support

Ethernet Yes Can Support

SmartDevices DSI Interface NO Yes

Connectivity USB 2.0 Yes Yes

1394 No No

Arduino Shields Yes Yes

Additional Board Accessories

No Yes(Extended)

10/16/2015 25

Page 26: Introduction to intel galileo board gen2

Intel Galileo OS/Programming Language

• The Intel board comes with default loaded Linux OS on SPI Memory like other boards which is usually used to boot the board.

• This Linux OS generally is not rich in features and drivers.

• This can not restore it self after the power failure.

• To compensate this a feature, memory extension through SD-card is given on which other operating system can be installed.

• These operating system are been reconfigured for embedded use by layering down there user interface.

• Out of the box, Galileo boots a Linux kernel which runs one process: an Arduino emulator. Intel provides a IDE to write sketches for their arduino. (Intel's IDE is proprietary software!).

• Currently, Intel provides the OS support by Yocto project on Linux.

• Microsoft, also provides support, but have stopped support for board after a new intel device is launched.

10/16/2015 26

Page 27: Introduction to intel galileo board gen2

Comparison of Software and Development Tools

Galileo Competitor

Operating System for theTarget

Arduino Linux Distribution for Galileo

Linux

Integrated Development Environment(IDE)

X86 based Linux distroswithout Arduino

Python IDE, ARMcompilers and etc.

Supported Host-resident OS

Windows 7, 8 and 10, Ubuntu, Mac

Linux(best way to deal)

Programming Languages Supports GCC and ICC compilers

Python, C, C++, Java, Scratch Ruby etc.

Drivers Needed for Extending Functionality

Needed for Extending Functionality

Boots On-board firmware SD card with bootable image

10/16/2015 27

Page 28: Introduction to intel galileo board gen2

Tools to Implement IOT projects

10/16/2015 28

Page 29: Introduction to intel galileo board gen2

Node Red

http://nodered.org/

Node-RED is a tool for wiring together hardware devices, APIs and online services in new and interesting ways.

Node-RED provides a browser-based flow editor that makes it easy to wire together flows using the wide range nodes in the palette. Flows can be then deployed to the runtime in a single-click.JavaScript functions can be created within the editor using the a rich text editor.A built-in library allows you to save useful functions, templates or flows for re-use.

The light-weight runtime is built on Node.js, taking full advantage of its event-driven, non-blocking model. This makes it ideal to run at the edge of the network on low-cost hardware

Page 30: Introduction to intel galileo board gen2

Wyliodrin

https://www.wyliodrin.com/

https://projects.wyliodrin.com/wiki/boards_setup/arduinogalileo

Wyliodrin is a service that allows you to visually create applications for your board and control it directly from the browser.

With the Wyliodrin service you can create applications for your board without having to:Connect your board to a monitor, keyboard and mouse

Use SSH to connect to it, know a programming language (C, Java or Python) in detail, search for drivers of sensors etc

Visual Programming allows you to create applications without having to write the code yourself.

You just drag and drop your desired pre-defined application components (blocks) to create the application you want.

Page 31: Introduction to intel galileo board gen2

Let’s see how it works…….

Page 32: Introduction to intel galileo board gen2

Adding a Sensor #define A_PIN 0 //analog pin for LDR#define D_PIN 6 //digital pin for LED

int value;

void setup() { pinMode(D_PIN, OUTPUT);

}

void loop() {value = map(analogRead(A_PIN), 0, 1023, 0,

255);analogWrite(D_PIN, value);

}

Great breadboarding tool – fritzinghttp://fritzing.org/home/

Light

Distance

Temperature

Acceleration

Vibration

Motion

Touch

Gas

Sound

Etc….

Page 33: Introduction to intel galileo board gen2

• Using Galileo’s WiFi capability

• IBM Bluemix Cloud service

• – http://datafest.mybluemix.net/?cm_mmc=IBMEcoDNA-_-IICSVL-_-outbound-_-Datafest2015

• https://console.ng.bluemix.net/home

• Portal uses MQTT Broker to communicate to devices - http://mqtt.com/

• Note :- Arduino native MQTT library needs to be modified to work on Galileo.

• For testing purposes, there is a test portal to validate that data is being sent.

• https://quickstart.internetofthings.ibmcloud.com/#/

How does this get communicated ???

Page 34: Introduction to intel galileo board gen2

• Setup Temperature Sensor input to A0 of Galileo

• Sample Arduino Sketch provided – GalileoTemp.ino

• Notes :-

1. Setup WiFi connection

1. All you need is SSID & Passphrase

2. Configure MQTT Session

1. Client Name format1. d:quickstart:<name>:mac

2. Max length 34 characters

3. WiFi MAC address used as a unique Identifier - found inside PCIe Box

4. MAC address is case sensitive

Let’s look at a simple MQTT Test

Page 35: Introduction to intel galileo board gen2

A simple Example

Page 36: Introduction to intel galileo board gen2

Wireless Sensor Network Implementation Scenario

Page 37: Introduction to intel galileo board gen2

Sensor Layer• consists of sensors that interact with the environment.

• Mesh network and send the information gathered by the sensorsto the Coordinator Layer through the sink node called the basestation.

• Galileo module has the capability to directly gather sensor dataand transmit it without the use of an external microcontroller.• the overall size of the nodes are reduced.

• minimizes weight

• reduces power consumption

• cheaper

10/16/2015 37

Page 38: Introduction to intel galileo board gen2

Sensor Network Topology

• Network topology selection is a critical issue, as for inter communication natural choices available for WSN are star and mesh topologies.

• Star Topology implies that each module can communicate with main.

• This means that sensors and sensor device controllers are far away, so this may increase power to overcome the signal attenuation and loses and at the same time drains more energy

• But if we have less point to point connection then less transmission and lower collision.

• Where as in Mesh topology every sensor would be dependent on its neighbor to relay its message, so transmission power can be kept less.

• But, has one disadvantage, that device which is near to coordinator will always be selected, and will loose its energy faster.

10/16/2015 38

Page 39: Introduction to intel galileo board gen2

Coordination Layer

• responsible for the management of the data receivedfrom the sensor network.

• temporarily stores the gathered data into buffer andsends it to the Supervision layer at predefined intervals.

• serves as a mobile mini application server between thewireless sensors and the dedicated network and hasmore advanced computational resources compared tothe End Devices found in Sensor Layer.

10/16/2015 39

Page 40: Introduction to intel galileo board gen2

Supervision Layer

• stores the sensor data in a database and alsooffers a Web interface for the end users tomanage the sensor data and generate statistics.

• offers a graphical interface for real-timemonitoring of systems

• Automatic alert and notification to the user

• Email

• Twitter

• SMS

10/16/2015 40

Page 41: Introduction to intel galileo board gen2

Example Illustrates

Flexible architecture for integration of Wireless Sensor Networksto the Cloud for sensor data collection and sharing.

Embedded intelligence at different architectural layers toaccommodate for the diverse requirements of possible applicationscenarios with minimum redesign and recoding.

It illustrate that the sensor data can be accessed by the usersanywhere and on any mobile device with internet access.

10/16/2015 41

Page 42: Introduction to intel galileo board gen2

Problems in Schematic Designs

• There is less multiplexing functions of any kind, Galileo Schematics (DOC G87171) shows SD/MMC card only has 4 data lines used.

• That’s four critical lines on such a low pin count IC that are wasted, those could been multiplexed to anything like CAN-BUS.

• SD_LED, another wasted pin.

• SUI0_* lines are completely wasted, could have multiplexed it to I2S.

• MAC1, great we have 2 Ethernets, but if only 1 is there, so now another 8 pins wasted.

10/16/2015 42

Page 43: Introduction to intel galileo board gen2

Probable Problems and Weakness• The GPIO is connected via I2C bridge, which operates at 100kHz, so

with in crease in load through kernel, it can reduce the GPIO 250KHz link speed.

• Intel Galileo uses 8 MB legacy SPI flash, main purpose is to store firmware(or bootloader) and the latest sketch. Between 256KB and 512KB is dedicated for sketch storage.• So, rest of the memory is just used for booting up the device, which is nearly

10 times more than the normal memory in its competitor, without having driver support an resume-ability.

• Intel says it is still CISC based processor, so the cycle per instructions are still high so it will consume power.

• Power consumption due to Ethernet is high around 500mA at idle state, as it is adding load on SOC, therefore, sleep mode functionality on connection to Ethernet should be added when it is not in use.

10/16/2015 43

Page 44: Introduction to intel galileo board gen2

Intel Galileo is the highest power consumption Comparisons44

To compare the power usage [4], nbench tool was used. Current usage is measured using an INA290 breakout. Each board was connected to minimum peripherals, the

beagle-bone black, raspberry pi and Galileo was connected to network Ethernet port.

Arduino Yun was connected to WIFI, whereas Raspberry pi A was connected to USB instead of network with HDMI.

In this we can observe that Intel Galileo board consumed power when the system is in idle mode i.eabove 500 mA, where as raspberry pi consume lowest power while others consumed over 250-380 mA.

This shows that Ethernet port consumes power at idle stage also

10/16/2015

Page 45: Introduction to intel galileo board gen2

what is needed more from board.• A dedicated open source environment.• Reprogrammable facility in bootloader, as it will help to reduce

power consumption, in respect of functionality/features.• An open source knowledge of about processor, as still, the

architecture of processor is not been described in full terms.• There is No graphics, No video outputs of any kind, that’s an

immediate show stopper on putting this thing in android market.

• We, have a PCIe, but if we look into those we will observe how much they cost and amount of power is used, these external GPUs.• PCIe- can consume max. 25 Watts power

• There is only one low power PCIe GPU available in open market of 1W, it’s XGI Volari Z11 and closest alternative is 8W very old GPU which needs 256 MB DDR RAM.

10/16/2015 45

Page 46: Introduction to intel galileo board gen2

So, what can be done

• To put this into future perspective, they need to get ultra low power PCIe based GPUs.

• If Intel can make a similar companion IC based PCIe with built in MPEG and video decoding, then that can be desirable product.

• But need to be careful in power consumption as single lane PCIe push up the power.

• The board has many pins which are doing only single functions or are wasted, those pins can be used or multiplexed to increase the functions of board in respect of CAN bus and RAM.

10/16/2015 46

Page 47: Introduction to intel galileo board gen2

Result and Improvement/Conclusion• Intel Galileo can be used in many application

scenarios

• But, Intel Galileo has no advantage on price, performance and power consumption.

• Reason

• Low speed and small main memory

• Backward compatibility make the hardware much more complicated, as it is not needed in the current scenario.

• Improvement in respect of increasing the memory size and functionality to change or update SPI based OS by default drivers in it, can be more useful.

4710/16/2015

Page 48: Introduction to intel galileo board gen2

•Thank you

10/16/2015 48

Page 49: Introduction to intel galileo board gen2

References[1] Product Brief Intels Galileo Board

[2] Datasheet of Intel Galileo Gen 2 Development Board

[3] Intel quark hardware reference manual

[4] Embedded linux board comparison https://learn.adafruit.com/embedded-linux-board-comparison/summary

[5] Noergaard, Tammy. Embedded systems architecture: a comprehensive guide for engineers and programmers. Newnes, 2012.

[6] Embedded Linux Board Comparison https://learn.adafruit.com/embedded-linux-board-comparison/overview

[7] https://en.wikipedia.org/wiki/Embedded_system

[8] http://forum.arduino.cc/index.php?topic=167304.0

[9] https://www.raspberrypi.org/documentation/usage/gpio/

[10] http://people.engr.ncsu.edu/efg/506/s03/lectures/annotation/lec2/index.html

[11] http://arstechnica.com/information-technology/2013/03/how-two-volunteers-built-the-raspberry-pis-operating-system/

[12] http://datafest.mybluemix.net/?cm_mmc=IBMEcoDNA-_-IICSVL-_-outbound-_-Datafest2015

[13] https://console.ng.bluemix.net/home

[14] http://fritzing.org/home/

[15] https://www.wyliodrin.com/

[16] https://projects.wyliodrin.com/wiki/boards_setup/arduinogalileo

[17] http://nodered.org/

10/16/2015 49

Page 50: Introduction to intel galileo board gen2

Extra Slides

10/16/2015 50

Page 51: Introduction to intel galileo board gen2

What is BUS? • A communication pathway connecting two or more devices.

• Usually Broadcast

• Often grouped• No. of channels in one bus• Eg. 32bit bus acts as 32 separate

single bit channels

• Address Bus identifies the source or destination of data.

• Width defines the maximum memory capacity eg. 8080 has 16 bit address given 64K address space.

• Control Bus is used for control and timing information.• Memory read write• Interrupt request

• Clock signals

• Data Bus Carries data.

• Width is the key determinant for performance eg. 8,16,32,64 bit

Single Bus Problems

• Lots of devices on one bus leads to:• Propagation delays

• Long data paths mean that co-ordination of bus use can adversely affect performance

• If aggregate data transfer approaches bus capacity

• Most systems use multiple buses to overcome these problems

10/16/2015 51