代写 algorithm MIPS assembly compiler operating system graph software I. II. III.

I. II. III.
Introduction
Performance Evaluation
Processor Design and Analysis Single-cycle implementation Multi-cycle implementation Pipelined implementation Hazards
Forwarding
Memory Design and Analysis Cache block size and associativity Virtual memory
I/O Design and Analysis Parity
ECC Scheduling
Basic OS Functions
IV.
V.
I. II. III. IV. V.
I. II.
I. II. III.
VI.
Course Outline Overview 1
CS@VT Computer Organization II ý2005-2015 McQuain

This course is all about how computers work
But what do we mean by a computer?
– Different types: desktop, servers, embedded devices
– Different uses: automobiles, graphics, structural analysis, finance, genomics…
– Different manufacturers: Intel, Apple, IBM, Microsoft, Sun…
– Different underlying technologies and different costs!
Introduction Overview 2
CS@VT Computer Organization II ý2005-2015 McQuain

Variety of Architectures Overview 3
CS@VT Computer Organization II ý2005-2015 McQuain

Death of the PC? Overview 4
CS@VT Computer Organization II ý2005-2015 McQuain

Analogy: Consider a course on ¡°automotive vehicles¡±
– Many similarities from vehicle to vehicle (e.g., wheels)
– Huge differences from vehicle to vehicle (e.g., gas vs. electric)
Best way to learn:
– Focus on a specific instance and learn how it works
– While learning general principles and historical perspectives
Pedagogy Overview 5
CS@VT Computer Organization II ý2005-2015 McQuain

You want to call yourself a ¡°computer scientist¡±
You want to build software people use (need performance)
You need to make a purchasing decision or offer ¡°expert¡± advice
Debugging skills often benefit from understanding architecture
– better understand system error messages
– better understand translators (compilers and interpreters)
Both hardware and software affect performance:
– Algorithm determines number of source-level statements
– Language/Compiler/Architecture determine machine instructions (Chapters 2 and 3)
– Processor/Memory determine how fast instructions are executed (Chapters 5, 6, and 7)
Assessing and Understanding Performance in Chapter 4
Why learn this stuff? Overview 6
CS@VT Computer Organization II ý2005-2015 McQuain

Focus: the Processor Overview 7
CS@VT Computer Organization II ý2005-2015 McQuain

Focus: the Memory Hierarchy Overview 8
CS@VT Computer Organization II ý2005-2015 McQuain

Focus: I/O Overview 9
CS@VT Computer Organization II ý2005-2015 McQuain

Process management Virtual memory
File systems
Focus: Connections to the OS Overview 10
CS@VT Computer Organization II ý2005-2015 McQuain

Delving into the depths reveals more information
An abstraction omits unneeded detail, helps us cope with complexity
High-level language (C)
compiler
swap(int v[], int k) {
int temp;
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
}
Assembly language (MIPS)
swap:
muli $2, $5, 4 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $16, 4($2) jr $31
What are some of the details that appear in these familiar abstractions?
00000000101000010000000000011000 00000000000110000001100000100001 10001100011000100000000000000000 10001100111100100000000000000100 10101100111100100000000000000000 10101100011000100000000000000100 00000011111000000000000000001000
Binary machine language (for MIPS)
assembler
Language Abstractions Overview 11
CS@VT Computer Organization II ý2005-2015 McQuain

Application software
Written in high-level language
System software
Compiler: translates HLL code to machine code
Operating System: service code Handling input/output
Managing memory and storage Scheduling tasks & sharing resources
Hardware
Processor, memory, I/O controllers
Below Your Program Overview 12
CS@VT Computer Organization II ý2005-2015 McQuain

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/Silicon used to build transistors
– Properties of atoms, electrons, and quantum dynamics
So much to learn!
How do computers work? Overview 13
CS@VT Computer Organization II ý2005-2015 McQuain

50 Years of Progress Overview 14
CS@VT Computer Organization II ý2005-2015 McQuain

Spatial units:
byte (B) kilobyte (KB) megabyte (MB) gigabyte (GB)
8 bits
1024 or 210 bytes
1024 kilobytes or 220 bytes 1024 megabytes or 230 bytes
byte (B) kilobyte (KB) megabyte (MB) gigabyte (GB)
8 bits
1000 or 103 bytes
1000 kilobytes or 106 bytes 1000 megabytes or 109 bytes
Time units: nanosecond (ns) microsecond (ms) millisecond (ms)
one-billionth (10-9) of a second one-millionth (10-6) of a second one-thousandth (10-3) of a second
IEC standard
* kilo binary byte
traditional
secondary storage
byte (B) kibibyte* (KiB) mebibyte (MiB) gibibyte (GiB)
8 bits
1024 or 210 bytes
1024 kibibytes or 220 bytes 1024 mebibytes or 230 bytes
Units of Measurement Overview 15
CS@VT Computer Organization II ý2005-2015 McQuain