2Chapter 2: Data Manipulation 2.1 Computer Architecture2.2 Machine Language2.3 Program Execution
3Computer Architecture Central Processing Unit (CPU) or processorArithmetic/Logic unit versus Control unitRegisters : temporary storage units within the CPU that hold data being processed and are very easily accessible by CPU. Two types of RegistersGeneral purpose : Can be used for any taskSpecial purpose : Used for special task e.g Program Counter ( PC) and Instruction Register (IR)BusMotherboard
6Figure 2.1 CPU and main memory connected via a bus
7Bus and its typesA bus connects parts of the CPU to one another. It also links the CPU to the various components of the system board.There are three types of buses:Data BusAddress BusControl Bus
8Von Neumann Stored Program Concept A program can be encoded as bit patterns and stored in main memory. From there, the CPU can then extract the instructions and execute them. In turn, the program to be executed can be altered easily.
9TerminologyMachine instruction: An instruction (or command) encoded as a bit pattern recognizable by the CPUMachine language: The set of all instructions recognized by a machine
10Machine Instruction Types Data Transfer: copy data from one location to anotherArithmetic/Logic: use existing bit patterns to compute a new bit patternsControl: direct the execution of the program
11Data Transfer Instructions Load : To fetch data from Main MemoryStore : To save data into Main MemoryMove: To transfer data from register to register
12Arithmetic / Logical Instructions Add / Sub / Mult / Div / ModAnd / OR / XOR / NOT /SHIFT /ROTATE
13Arithmetic/Logic Operations Logic: AND, OR, XORMaskingRotate and Shift: circular shift, logical shift, arithmetic shiftArithmetic: add, subtract, multiply, dividePrecise action depends on how the values are encoded (two’s complement versus floating-point).
15What is a High Level Language and Machine Language A High Level Language is easily understood by human beingsA Machine Language Instruction is in Binary format easily understood by the Machine / ComputerDifference ??One High Level Language Instruction gets translated into Many Machine Level Instructions thus taking more time to execute
16Example If I write in High Level Language a:= b+c It gets translated into 4 machine level instructions:Fetch bFetch cAdd b and cStore their result in a
18Figure 2.4 The architecture of the machine described in Appendix C
19Difference Between PC and IR Program counter (PC) :It contains the address of the next instruction to be executedInstruction Register:It contains the Instruction that is currently being executed by the CPU
20Parts of a Machine Instruction Op-code: Specifies which operation to executeOperand: Gives more detailed information about the operationInterpretation of operand varies depending on op-code
21Figure 2.5 The composition of an instruction for the machine in Appendix C