01 Introduction
01 Introduction
COE 301
Computer Organization
Prof. Muhamed Mudawar
Computer Engineering Department
King Fahd University of Petroleum and Minerals
Presentation Outline
Classes of Computers
Technology Improvements
Email:
[email protected]
Introduction COE 301 – Computer Organization - KFUPM © Muhamed Mudawar – slide 3
Which Textbook will be Used?
Morgan Kaufmann
Quizzes 12%
Website: http://courses.missouristate.edu/KenVollmar/MARS/
SPIM
Also Runs MIPS-32 assembly language programs
Website: http://www.cs.wisc.edu/~larus/spim.html
Website: http://ozark.hendrix.edu/~burch/logisim/
Required Background
Ability to program confidently in Java or C
Ability to design a combinational and sequential circuit
Introduction COE 301 – Computer Organization - KFUPM © Muhamed Mudawar – slide 7
Next . . .
Classes of Computers
Technology Improvements
Application Programs
High-Level Languages
Machine independent High-Level Language
Machine specific Low-Level Language
Assembly Language
Machine Language
Hardware
Assembly language
Slightly higher-level language
Readability of instructions is better than machine language
One-to-one correspondence with machine language instructions
Program (C Language):
swap(int v[], int k) { A statement in a high-level
int temp; language is translated
temp = v[k]; typically into several
v[k] = v[k+1]; machine-level instructions
v[k+1] = temp;
}
Compiler
Assembler
Converts assembly language programs into object files
Object files contain the machine instructions
Linker
Combines object files created by the assembler with link libraries
Produces a single executable program
Debugger
Allows you to trace the execution of a program
Allows you to view machine instructions, memory, and registers
Introduction COE 301 – Computer Organization - KFUPM © Muhamed Mudawar – slide 16
Assemble and Link Process
Source Object
File Assembler File
Link
Source Object
Assembler Libraries
File File
Assembler
Converts MIPS assembly language programs into object files
Classes of Computers
Technology Improvements
Server computers
Network based, high capacity, performance, and reliability
Range from small servers to building sized
Supercomputers
High-end scientific and engineering calculations
Highest capability but only a small fraction of the computer market
Embedded computers
Hidden as components of systems
Stringent power/performance/cost constraints
Introduction COE 301 – Computer Organization - KFUPM © Muhamed Mudawar – slide 21
Classes of Computers (cont'd)
Personal Mobile Device (PMD)
Battery operated
Cloud Computing
Warehouse Scale Computers (WSC)
Fetch instruction
Infinite Cycle implemented in Hardware
Instruction Fetch
Compute address of next instruction
Clock (cycles)
Data transfer
and computation
Update state
The binary terms are used to avoid the confusion with the
commonly used decimal terms. The size of memory is 2n
because the memory address is an n-bit binary number.
Introduction COE 301 – Computer Organization - KFUPM © Muhamed Mudawar – slide 27
Next . . .
Classes of Computers
Technology Improvements
Misc I/O
Core 1 Core 2 Core 3 Core 4
QP Interconnect
QP Interconnect
Shared L3 Cache
Classes of Computers
Technology Improvements
Application Programs
Level 5
Increased level
High-Level Language
of abstraction
Software Assembly Language Level 4
Operating System
Level 3
Microarchitecture (Level 1)
Controls the execution of machine instructions (Level 2)
Implemented by digital logic