CompArch CH 1 1
CompArch CH 1 1
CompArch CH 1 1
• Operating systems
• Parallel processing
Why we study it
• Build software that people use (need performance)
• Make a purchasing decision or offer “expert” advice
• Understand the performance impact of both
hardware and software:
− Algorithm determines number of source-level statements
− Language/Compiler/Architecture determine machine instructions
− Processor/Memory determine how fast instructions are executed
Applications
• Applications that drive computer performance:
− Weather forecasting
− Oceanography
− Seismic/petroleum exploration
− Medical research and diagnosis
− Aerodynamics and structure analysis
− Nuclear physics
− Artificial intelligence
− Military
− Socio-economics
How do computers work?
• Need to understand abstractions such as:
– Applications software
– Systems software
– Assembly language
– Machine language
– Architectural issues: i.e., caches, virtual memory,
pipelining
– Sequential logic, finite state machines
– Combinational logic, arithmetic circuits
– Boolean logic, 1s and 0s
– Transistors used to build logic gates (CMOS)
– Semiconductors used to build transistors
– Properties of atoms, electrons, and quantum dynamics
Architecture and Organization
• Distinction between architecture and organization:
• Computer architecture:
− Attributes visible to the programmer
− Instruction set, number of bits used for data
representation, I/O mechanisms, memory addressing
techniques
− Example: Is there a multiply instruction?
Architecture and Organization
• Computer architecture – cont.:
− Baer:
− “The design of the integrated system which provides a useful
tool to the programmer”
− Hennessy and Patterson:
− “The interface between the hardware and the lowest level
software”
− Foster:
− “The art of designing a machine that will be a pleasure to
work with”
Architecture and Organization
• Computer organization
− How features are implemented
− Realize the architectural specifications
− Hardware details transparent to programmer
− Control signals, interfaces between computer
and peripherals, memory technology
− Example: Is there a hardware multiply unit or
is it done by repeated addition?
Architecture and Organization
• Computer manufacturers offer a family of models:
− Same architecture
− Different organizations
• Examples:
− All Intel x86 family share the same basic architecture
− The IBM System/370 family share the same basic
architecture
• What are the benefits?
− Code compatibility (at least backwards)
− Customization (different constraints on performance
and price)
Architecture and organization
• Example: instruction set architecture
– A very important abstraction
– Interface between hardware and low-level software
– Standardizes instructions, machine language bit
patterns, etc.
• Advantage
– Different implementations of the same architecture
• Disadvantage
– May prevent new innovations
• Modern instruction set architectures:
– IA-32, PowerPC, MIPS, SPARC…
Study:
Text – Chapter 1
Ref 1 – Chapter 1
Next class:
> performance
> chapter 2