COMP 1321 Digital Infrastructure Richard Henson University of Worcester October 2015 Week 4: Motherboards Learning Objectives: Explain main purpose of the motherboard Explain how a CPU can handle input & output from slow & fast devices Explain how motherboard architecture has changed in response to miniaturisation, energy-saving, and consumerisation demands Why a Motherboard? CPU far too fragile to exist independently i.e. needs a “mother” motherboard delivers power and control to CPU via control bus timing chips ROM and RAM harnesses power of CPU effectively so it can interact effectively with i/o devices Typical PC Motherboard http://my.englishclub.com/profiles/blogs/computer-motherboard-parts I/O devices sorted by data transfer times Joystick Keyboard Mouse CD Rom TV Camera Audio IDE HDD Scanner VDU 10 B/s 100 B/s 1kB/s 10 kB/s 100 kB/s 1 MB/s 10 MB/s 100 MB/s Typical Slow devices Keyboard Mouse Joystick Audio Fast devices (connect straight into motherboard) VDU Hard drive CD-ROM Scanner Even faster devices.. CPU Memory (static/dynamic RAM & ROM) Graphics processors (GPU) i/o Connectors Slow (off motherboard via ports) Serial Parallel Firewire PS/2 mouse & keyboard (legacy) VGA RJ-45: Network connection USB: getting faster & becoming the standard Motherboard connectors from http://www.techiwarehouse.com/cms/articles.php?cat=13 North Bridge & South Bridge North: control chipset for fastest onboard devices ROM & static RAM South: control chipset for slower onboard devices SATA & IDE connectors » hard disk & CD-ROM/DVD RAM connectors » many types, differing no. of pins Layout of component connections Extremely fast components talking directly to each other “North Bridge” chipset Connection Fast components talking directly to each other “South Bridge” chipset Connection Slow components talking directly to each other Buffers Areas of memory/storage… where data is stored before forwarding Message from slow device received and gradually fill buffer… then sent quickly to fast device Message from fast device quickly fill buffer then sent slowly to slow device Resulting arrangement Incredibly Fast Pentium III Very Fast 440 North Bridge Organizing components by their speeds Cache Main Memory Graphics PCI Bus Fast IDE Disk South Bridge USB KBd Mouse SCSI Graphics ISA Bus Slow Network Printer Sound Buses and on-board communications Bus - physical link between computer components that electrical impulses (i.e. data as 0s and 1s) can travel through Only one device can send a message at any one time other devices have to wait until the line is clear before sending Motherboards, CPUs and Assembly Language As mentioned last week, each CPU family has its own “instruction set” That instruction set allows the CPU to: perform calculations move data about between memory locations Get data from or send data to peripheral devices Motherboards, Peripherals, and i/o Input-output is part of the vocabulary of computer science shortened to i/o Using this same convention: CPU, memory, and rest of motherboard are collectively “the computer” anything that happens outside this environment is via “a peripheral” Interrupts This is a mechanism for a peripheral device to interrupt a CPU in the middle (well almost…) of a program Not possible in early computers; only became possible with microprocessors and their associated instruction sets Very useful feature of “solid state” CPUs… Operating System i/o calls When a computer program (any language…) needs i/o (either i or o!), it invokes an “i/o call” to the CPU, via the operating system The actual “call” invokes an assembly language instruction for i/o: with Intel 8086, this is INT 21 further instruction selects motherboard port 8086 (DOS) Interrupts Some examples: 02 05 08 09 0D write character to screen write to printer take character from keyboard write string to screen write buffer to disk Use of i/o calls in Assembly & Higher Level Languages Essential to invoke two commands: 1. Get right nibble contents into AH register 2. Invoke INT 21 o o o e.g. MOV AH,02 INT 21 Shutting down a program Should be done formally Use 4C as the trigger with INT 21 As with all INT 21 needs moving into AH register first e.g. MOVE AH, 4C INT 21 Smaller Motherboards So far… considered Intel 8086 series CPU large instruction set & power requirements Other CPUs use much less power, smaller instruction set therefore motherboard requirements miniaturised » e.g. Intel Atom: Netbook & Tablet PCs » ARM: Smartphones & Tablets Motherboard-on-a-chip Started with Smartphones Spread to Tablet PCs… Architecture of Motherboard chip With further miniaturisation… “motherboard” self-contained » mounted on a board to provide i/o connectors Arduino Board (i/o) Microcontroller… not “motherboard on a chip” therefore not expensive.. Based on i/o control, not apps used for “physical” computing (real devices) » http://www.atmel.com/Images/doc8161.pdf EPROM for embedded programming (“C”) USB-computer for power (a few mA) USB provides scope to use i/o for many purposes http://www.ladyada.net/learn/arduino/lesson3.html Raspberry Pi (computer) Similar size (and price) to Arduino BUT needs specific power supply (micro USB, 700 mA) i/o based on wider range of ports Microprocessor… uses ARM with GPU read to run an operating system (Linux) Can run apps… Smaller Motherboards So far… considered Intel 8086 series CPU large instruction set & power requirements Other CPUs use much less power, smaller instruction set therefore motherboard requirements miniaturised » e.g. Intel Atom: Netbook & Tablet PCs » ARM: Smartphones & Tablets Motherboard-on-a-chip Started with Smartphones Spread to Tablet PCs… Architecture of Motherboard chip With further miniaturisation… “motherboard” self-contained » mounted on a board to provide i/o connectors Arduino Board (i/o) Microcontroller… not “motherboard on a chip” therefore not expensive.. Based on i/o control, not apps used for “physical” computing (real devices) » http://www.atmel.com/Images/doc8161.pdf EPROM for embedded programming (“C”) USB-computer for power (a few mA) USB provides scope to use i/o for many purposes http://www.ladyada.net/learn/arduino/lesson3.html Raspberry Pi (computer) Similar size (and price) to Arduino BUT needs specific power supply (micro USB, 700 mA) i/o based on wider range of ports Microprocessor… uses ARM with GPU read to run an operating system (Linux) Can run apps… BBC Micro:Bit