weekly assessment and some other components

AssadLeo1 12 views 40 slides Oct 19, 2024
Slide 1
Slide 1 of 40
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40

About This Presentation

keep it up


Slide Content

Computer organizøtion & Assembly Language By sir Najam

What is a Machine ? RAW MATERIAL PROC ESS DIR ECTIV ES FINAL PRODUCT In General: Device that processes a series of raw materials into the desired product following a well- defined process

Typer of Machines Device Raw Material Products Food Processing Factory Natural Fruits, Vegetables, Meats, Dairy and Spices Manufactured (Packaged) Food Products Airport Planes, Travelers, Goods Planes, Travelers, Goods Administrative Ofiice Application Files Decisions Computer Data Data

Computer Machine Model MxCwIwK D›ÆEGTłL”EE = COMPUTER

Basic Computer Need a Unit to Execute Instructions Need a Unit to Contain Programs Need a Unit to Contain Input Data Need a Unit to Contain Intermediate Stage Data Need a Unit to Input Data Need a Unit to Output Data C£iNTRAL PROcEsslNG UNIT (EQU) EMORY IO

Basic Computer Organization ADDRBSB FUS GATAUU CONYROL EU DATA BUS: CARRIES THE DATA TO BE CRANSPERRED CONTROL FUS' S +CIPIES THE NATURE OP THE TRANSFER: (MEMORY READY RITE OR ISO)

Memory 2 Operations: Read: Copy Data stored in word of Address (on Address lines) to Data Bus Write: Store Data on Data Bus into word of Address (on Address lines) COE 205 OATA

Basic Computer Organization ADDRBSB FUS GATAUU CONYROL EU DATA BUS: CARRIES THE DATA TO BE CRANSPERRED CONTROL FUS' S +CIPIES THE NATURE OP THE TRANSFER: (MEMORY READY RITE OR ISO)

Memory COE 205 2 Operations: Read: Copy Data stored in word of Address (on Address lines) to Data Bus Write: Store Data on Data Bus into word of Address (on Address lines) OATA

Memory COE 205 2 Operations: Read: Copy Data stored in word of Address (on Address lines) to Data Bus Write: Store Data on Data Bus into word of Address (on Address lines) OATA

Co n cept of Address It is an index in the memory It represents a “geographic” location of a word in the memory Number of Address lines and Word size determine Memory Capacity (Size) Most of the time: Memory size = 2 n words = 2^ * m bits COE 205

RAM RAM: Random Access Memory Although the name is about the way memory is accessed. Historically, volatile memory has been called RAM. Volatile (do not retain information on power ofl) Used mainly as Central Memory for CPUs Two types of RAM Static: Continuous Retention of Information Dynamic (DRAM): needs refresh cycle to maintain information COE 205

R O M Non Volatile Used to store data (programs) that do not change often (fixed) Many types Mask ROM: Values set at fabrication stage. Values cannot be changed Fuse PROM: Values set at burning phase. Values cannot be changed EPROM: Can be erased (UV) EEPROM: Electrically erased Flash EEPROM: Easily reprogrammable. New: NVRAM (Non Volatile RAM): Fast access time.

Disk Driv es Hard Drive: suite of magnetic disks. Mechanically read and write data by moving a set of magnetic head over the disks CD- ROM, DVD- ROM: Suite of optical disks read by measuring the time of laser reflexion between “1” and “0” “0”

INBYRU O3d i Program Execution COE 205 A Program is a suite of instructions Program Execution is Sequential Program is stored in Memory Program is executed by

Executes Programs Stored in Memory COE 205 Executes Instructions ONE b ONE Only “knows” instructions: Instruction Set DO NOT know any notion of Program as a single entity. Everything is a suite of instructions

C P U Structure (1) COE 205 Is Mainly a Data Processing Unit Controlled by a Control Unit. Data Processing Unit: Datapath Registers (Scratch pad working space or temporary data storage) ALU: Arithmetic and Logic Unit Internal Buses Control Unit: Generates Commands to “drive” Datapath operations

ČìOMTROL %NIT COE 205

M aste r C l ock COE 205 Instructions Executed step by step Need a “Rhythm” Generator to move forward in the steps: KL•OCK UREQUEI4C;V- ) JGLO K CYCLE PERIOD . DMX

Instruction Set Instruction Set is the Catalog of the CPU Defines what are ALL the possible operations that the CPU can execute Only Instructions are recognized by CPU. CPU does NOT “understand” High Level Language (text). CPU understands instructions coded in numbers called machine code .

Instruction pa r amete r s COE 205 Each Instruction specifies an action or a suite of actions: Action(s) “identifier” or Operation Code or Opcode Action arguments or operands Methods specifying how to access the operands, called addressing modes lxsvizucviox seecirieo as:

Number of Operands COE 205 Many types of Instruction Sets Instruction Set with One Operand: Implicit Register Called Accumulator. Everything goes to and from the accumulator: Instruction Set with Two Operands: Many registers can be used as accumulators Instruction Set with Three Operands: Mainly Register Based.

Fetch — Decode - Execute Execute Fetch Decode

Address of r ams Where the Address of next instruction is Stored ? NXXD FOR IN INSTRUCTION OINTXR GALLXDI “PROGRAM COUNTER” @J Critical Component of CPU Conveniently useful for changing program sequence (Branch instructions)

Instruction Register Where is the current instruction going to be stored during its execution ? ROAD FOR A REGISTER >•*• or.ion: "IxsvRu TION RzGISTRR” Critical Component of CPU Internal Register. Cannot be used (accessed) by instructions Holds the current instruction until its execution is completed Tightly Coupled to the decoding portion of the control unit Connected to the datapath (to transfer operand fields)

Program Memory Binary code (machine code). h EMORY (&- LIT) MOVAX,O ADD AX,BX

High Level L a ng uages COE 205 Machine independent. Cannot be run directly on the target machine Need to be translated to machine language Compiler: program that translates a HLL program to a machine language program of a specific platform The Machine language program produced by the compiler is the executable program. Translating HLL programs to machine language programs is not a one- to- one mapping A HLL statement translated to one or more machine language instructions Usually, machine language programs produced by compilers are not efficient Deals with Data types (integer, real, complex, user- defined) vs. machine language: no data types enly binary words.

Assembly L anguage COE 205 , Text version of machine language Human friendly representation of machine language Based on mnemonics (easy to memorize abbreviations of actions) instead of dealing with opcode numbers. Complicated format simplified with some conventions Text file translated into machine code by the Assembler

A ssemb l e r Program that assemble the programs written in assembly language into machine language MOV DX, 1 MOVAX, BX MOVAx, cx MOVAX, Dx ADD AX, ADD AX, 2 ADD AX, BX ADD AX, CX ADD AX, i SUB AX, 1 SUB AX, BX ADD AX, 1234h Because there is a ONE to ONE mapping between instructions written in assembly language and machine language instructions, the process is called: assembly Disassembly (reverse process) is also easy because of the ONE to ONE relation between the assembly language instructions and the machine language instructions COE 205 BA 0001 8B C3 8B C1 BB C2 83 CO 01 83 C0 02 03 C3 03 C1 03 06 0000 83 E8 01 2B C3 05 1234

Lin ke r , Program used to link together separately assembled/compiled programs into a single executable code Allows the programmers to develop different parts of a large program separately, test them separately and ‘freeze’ them for future use. Allows the programmer to develop store portions of programs that have been intensively tested and used into a “program library” for anyone to re- use them. Produces modular programs and greatly enables the management of large programming projects

Debugger/Monitor hese dre tools that alltiw the assembly prtigrammers to: Display dnd alter the contents of memory dnd registers while running their code, Perform disassembly of their machine code (show the assembly language equivalent), Permit them to run their programs, stop (or hdlt) them, run them step- by- step or inse< break points. Break points: Positions in the program that if are encountered during run time, the program will be halted so the programmer can examine the memory and registers contents and determine what went wrong.

A User's View of Computer Systems

What Is Assembly Language? Some example assembly language instructions: inc mov and add result class_size,45 mask1,128 marks,10 Some points to note: Assembly language instructions are cryptic Mnemonics are used for operations 1nc for increment, mov for move (i.e., copy) Assembly language instructions are low level Cannot write instructions such as mov marks, value

What Is Assembly Language? (Cont'd) more t2, t1 000A2 21 $t2,$t1,15 $t3,$t1,$t2 312A000F 012A5821 addu MIPS examples Assembly Language Machine Language ex OOOOOOOO

What Is Assembly Language? (Cont'd) more t2, t1 000A2 21 $t2,$t1,15 $t3,$t1,$t2 312A000F 012A5821 addu MIPS examples Assembly Language Machine Language ex OOOOOOOO

What Is Assembly Language? (Cont'd) more t2, t1 000A2 21 $t2,$t1,15 $t3,$t1,$t2 312A000F 012A5821 addu MIPS examples Assembly Language Machine Language ex OOOOOOOO

What Is Assembly Language? (Cont'd) more t2, t1 000A2 21 $t2,$t1,15 $t3,$t1,$t2 312A000F 012A5821 addu MIPS examples Assembly Language Machine Language ex OOOOOOOO

Why Program in Assembly Language? Two main reasons: Efficiency Space-efficiency Time-efficiency Accessibility to system hardware Space- efficiency Assembly code tends to be compact Time- efficiency Assembly language programs tend to run faster Only a well- written assembly language program runs faster Easy tt write an assembly pi tigram that runs shower than its high- level language equivalent

Typical Appli ca ti o n s Application that need one of the three advantages of the assembly language Time-efficiency Time- con ’enience Gtitid tt have but ntit required for funetitinal correctness Graphics TirnC-Cl’1 I1C3) Necessary to satisfy functionality Real- time applications Aircraft navigational systems Process control systems Rtibot ctintrol software Missile ctintrtil software
Tags