Title: Computer system organization
1Computer system organization
- Computer Architecture
- From microcontrollers to supercomputers
2Von Newmann machine
Von Newmann Invented EDSAC (1949). First Stored
Program Computer. Importance We are
still using the same basic design.
3Computer Architecture coverage
- Coordination of many levels of abstraction
- Under a rapidly changing set of forces
- Design, Measurement, and Evaluation
Application
Operating
System
Compiler
Firmware
I/O system
Instr. Set Proc.
Instruction Set Architecture
Datapath Control
Digital Design
Circuit Design
Layout
4Original food chain in computer architecture
Big Fishes Eating Little Fishes
51988 Computer Food Chain
Mainframe
PC
Work- station
Mini- computer
Mini- supercomputer
Supercomputer
Massively Parallel Processors
61998 Computer Food Chain
Mini- supercomputer
Mini- computer
Massively Parallel Processors
Mainframe
PC
Work- station
Server
Now who is eating whom?
Supercomputer
7Why mini-computer disappeared? Microprocessor
Performance
8(No Transcript)
9What are left and what new in 2002
- 2002
- Powerful PCs and SMP Workstations
- Network of SMP Workstations
- Mainframes
- Supercomputers
- Embedded Computers
10Microcontroller
- A smaller computer
- On-chip RAM, ROM, I/O ports...
- ExampleMotorolas 6811, Intels 8051, Zilogs
Z80 and PIC 16X
RAM
ROM
CPU
A single chip
Serial COM Port
I/O Port
Timer
Microcontroller
11Interconnection
External interrupts
On-chip ROM for program code
Timer/Counter
Interrupt Control
Timer 1
On-chip RAM
Counter Inputs
Timer 0
CPU
Serial Port
Bus Control
4 I/O Ports
OSC
TxD RxD
P0 P1 P2 P3
Address/Data
12Microprocessor vs. Microcontroller
- Microprocessor
- CPU is stand-alone, RAM, ROM, I/O, timer are
separate - designer can decide on the amount of ROM, RAM
and I/O ports. - expansive
- versatility
- general-purpose
- Microcontroller
- CPU, RAM, ROM, I/O and timer are all on a single
chip - fix amount of on-chip ROM, RAM, I/O ports
- for applications in which cost, power and space
are critical - single-purpose
13Embedded System
- Embedded system means the processor is embedded
into that application. - An embedded product uses a microprocessor or
microcontroller to do one task only. - In an embedded system, there is only one
application software that is typically burned
into ROM. - Exampleprinter, keyboard, video game player
14Embedded Systems
- Account for gt99 of new microprocessors
- Consumer electronics
- Vehicle control systems
- Medical equipment
- Sensor networks
15Definitions
- Embedded system Almost any special-purpose
computer - I.e. not a PC, workstation, or server box
- Microcontroller small system on a chip,
contains extra logic to help talk to the real
world in real time
16Embedded Characteristics
- Close interaction with the physical world
- Often must operate in real time
- Constrained resources
- Memory
- SRAM, DRAM, flash, EPROM,
- Power
- CPU cycles
17More Characteristics
- Often there is no
- Virtual memory
- Memory protection
- Hardware supported user-kernel boundary
- Secondary storage
- Hard to upgrade once deployed
- Cost sensitive
- Per-unit cost can dominate overall cost
18CPU Design Space
- 4-bit microcontroller
- Typically costs a few
- Few bytes of RAM
- No OS
- Software all in assembly
- These are getting less popular
- 8-bit microcontroller
- A few bytes to a few hundred KB of RAM
- At the small end software is in asm, at the high
end C, C, Java - Might run a home-grown OS, might run a commercial
RTOS
19CPU Design Space 2
- 16- and 32-bit microcontrollers
- Few KB to many MB of RAM
- Usually runs an RTOS vxWorks, WinCE, QNX,
ucLinux, - May or may not have caches
- Wide range of costs
20Programming Languages
- Assembler
- No space overhead
- Good programmers write fast code
- Non-portable
- Hard to debug
- C
- Little space and time overhead
- Somewhat portable
- Good compilers exist
21More Languages
- C
- Often used as a better C
- Low space and time overhead if used carefully
- Java
- More portable
- Full Java requires lots of RAM
- J2ME popular on cell-phone types of devices
- Bad for real-time!
22RTOS
- Low end Not much more than a threads library
- High end Not much smaller than Linux or WinXP
- Important
- Predictability
- Reliability
- Efficiency
23Creating Embedded SW
- Pick
- Cheapest CPU that seems like itll work
- Appropriate language
- Appropriate OS
- Appropriate software architecture
- Code test repeat
24 25Multiprocessors
- Idea create powerful computers by connecting
many smaller ones - good news works for timesharing
- bad news its really hard to write good
concurrent programs - many commercial failures
26IBM Bluegene
27(No Transcript)
28(No Transcript)
29System Overview
- Number of nodes 65,536 64X32X32
- Each node as a single ASIC processor and a
memory - 2GB of SDRAM-DDR memory
- System Packaging
- 2 nodes per compute card
- 16 compute cards per node board
- 16 node boards per 512-node mid-plane
- 2 mid-planes in a 1024-node rack
- 64 such node racks
30Cluster and grid systems
31ClusterIf one system goes down (e.g.
Manufacturing) then this task is picked up by
another system (e.g. Administration)
Administration
Shared disk
Shared disk
Manufacturing
Shared disk
Distribution
32Example- web server
Popular web servers employ clusters.When
serving the Olympics in Nagano IBM had this kind
of configuration with 53 servers.
33Trends that promote clusters
- Very high-performance microprocessors, i.e. the
need for massive parallelism is decreasing - The need for high availability is increasing
- The communication technology is improving
rapidly, e.g. fiber channels, Gbit networks etc. - Standard tools and protocols for distributed
computing, e.g. TCP/IP
34Clusters versus SMPs
- Clusters are composed of whole computers, SMPs
are composed of processors - Compared to a SMP it is easier to obtain high
availabilty in clusters - Compared to a SMP it is easier to incrementally
increase the size of a cluster - SMPs are easier to maintain from a system
administrators point of view - On a SMP you will often get away with only one
license for your favorite software
35GRID cluster node
Remote Fabric
WAN
Gigabit long-haul link
CPU Servers
Multi-gigabit LAN
36Forces on Computer Architecture
Technology
Programming
Languages
Applications
Computer Architecture
Operating
Systems
History
37What is an architect doing
Truss (Forth Bridge, Scotland)
Suspension (Golden Gate Bridge, California)
Cable-stayed (Higashi Kobe, Japan)