CS-302 Computer Architecture & Assembly Language: Lecture # 01
CS-302 Computer Architecture & Assembly Language: Lecture # 01
CS-302 Computer Architecture & Assembly Language: Lecture # 01
Lecture # 01
1. Introduction of Course
2. Data Representation (Decimal, Hexadecimal & Binary)
3. SMR, Complementary systems (1’s & 2’s)
4. Basic Instruction Cycle, RISC vs CISC, MIPS Architecture
5. MIPS Architecture Basics & Instruction formats, Arrays, Stack, Loops, if-else
statements & Branches
6. Addressing Modes of MIPS
7. Assemblers, Linkers and Loaders
8. Multiplication Hardware
Course Outline
9. Division Hardware
10. Floating Point Addition & Multiplication
11. Processor Performance & Amdahl’s Law
12. Pipelining & its advantages
13. Dependencies & Hazards
14. Instruction Level Parallelism
15. Branch Prediction, Static and Dynamic Scheduling
16. Cache Memory
Course is about:
• What Computers consist of ?
• How Computers work?
• How they perceive information?
• How they are organized internally?
• How to measure performance of computers?
• Programming the machine: Assembly Language (MIPS)
Course Objectives
After successfully completing the course, you will be able to:
• High-level language
• Level of abstraction closer to problem domain
• Provides productivity and portability
• Assembly language
• Textual representation of instructions
• Hardware representation
• Binary digits (bits)
• Encoded instructions and data
Computer Organization
• How components fit together to create working computer system.
• Includes physical aspects of computer systems.
• Concerned with how computer hardware works.
• It includes Hardware details transparent to the programmer such as control signal
and peripheral.
• Example: circuit design, control signals, memory types, this all are under
computer organization.
Computer Architecture
• Structure and behavior of computer system.
• Logical aspects of system implementation as seen by programmer like
instructions sets, no of bits used for data, addressing techniques.
• Concerned with how computer is designed.
• A term that is often used interchangeably with computer architecture is Instruction
Set Architecture (ISA).
• The ISA defines instruction formats, instruction opcodes, registers, instruction
and data memory; the effect of executed instructions on the registers and memory
etc.
Architecture vs. Organization - Example
• Machine language instructions usually are made up of several fields. Each field
specifies different information for the computer. The major two fields are:
• Opcode field which stands for operation code and it specifies the particular
operation that is to be performed.
• Each operation has its unique opcode.
• Operands fields which specify where to get the source and destination operands
for the operation specified by the opcode.
• The source/destination of operands can be a constant, the memory or one of
the general-purpose registers.
Translating Languages
English: D is assigned the sum of A times B plus 10.
High-Level Language: D = A * B + 10