Download presentation
Presentation is loading. Please wait.
Published byElaine Trubey Modified over 9 years ago
1
Chapter 2 Data Manipulation Dr. Farzana Rahman Assistant Professor Department of Computer Science James Madison University 1 Some sldes are adapted from Pearson Education
2
About you Why are you attending? What do you understand by Computer Architecture – (In 1 sentence)? Some sldes are adapted from Pearson Education 2
3
What the chapter is about? 2.1 Computer Architecture 2.2 Machine Language 2.3 Program Execution 2.4 Arithmetic/Logic Instructions 2.5 Communicating with Other Devices 3 Some sldes are adapted from Pearson Education
4
Big ideas How computer manipulates data What is the basic architecture of computer How computer is programmed by means of encoded instructions, i.e. machine language 4 Some sldes are adapted from Pearson Education
5
Computer Architecture Central Processing Unit (CPU) or processor Bus Motherboard RAM Peripheral devices 5 Some sldes are adapted from Pearson Education
6
Computer Architecture Bus CPU RAM Keyboard Hard Disk Display CD-ROM 6 Some sldes are adapted from Pearson Education
7
The Bus Bus What is a bus? It is a simplified way for many devices to communicate to each other. Looks like a “highway” for information. Actually, more like a “basket” that they all share. CPU RAM Display 7 Some sldes are adapted from Pearson Education
8
The Bus Bus CPU RAM Display 8 Some sldes are adapted from Pearson Education
9
The Bus Bus Suppose CPU needs to check to see if the user typed anything. CPU Keyboard Display 9 Some sldes are adapted from Pearson Education
10
The Bus Bus CPU puts “Keyboard, did the user type anything?” (represented in some way) on the Bus. CPU Keyboard Display “Keyboard, did the user type anything?” 10 Some sldes are adapted from Pearson Education
11
The Bus Bus Each device (except CPU) is a State Machine that constantly checks to see what’s on the Bus. CPU Keyboard Display “Keyboard, did the user type anything?” 11 Some sldes are adapted from Pearson Education
12
The Bus Bus Keyboard notices that its name is on the Bus, and reads info. Other devices ignore the info. CPU Keyboard Display “Keyboard, did the user type anything?” 12 Some sldes are adapted from Pearson Education
13
The Bus Bus Keyboard then writes “CPU: Yes, user typed ‘a’.” to Bus. CPU Keyboard Display “CPU: Yes, user typed ‘a’.” 13 Some sldes are adapted from Pearson Education
14
The Bus Bus At some point, CPU reads the Bus, and gets the Keyboard’s response. CPU Keyboard Display “CPU: Yes, user typed ‘a’.” 14 Some sldes are adapted from Pearson Education
15
Computer Architecture Bus CPU RAM Keyboard Hard Disk Display CD-ROM 15 Some sldes are adapted from Pearson Education
16
Inside the CPU The CPU is the brain of the computer. It is the part that actually executes the instructions. Let’s take a look inside. 16 Some sldes are adapted from Pearson Education
17
CPU and main memory connected via a bus 17Some slides are adapted from Pearson Education General purpose register Special purpose register
18
Inside the CPU (cont.) Memory Registers Register 0Register 1Register 2Register 3Instruction RegisterProgram counter Arithmetic / Logic Unit To hold the address of the current instruction in RAM 18 Some sldes are adapted from Pearson Education To hold the current instruction Control Unit (State Machine)
19
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. 19 Some sldes are adapted from Pearson Education
20
Terminology Machine instruction: An instruction (or command) encoded as a bit pattern recognizable by the CPU Machine language: The set of all instructions recognized by a machine 20 Some sldes are adapted from Pearson Education
21
Machine Language Philosophies Reduced Instruction Set Computing (RISC) – Few, simple, efficient, and fast instructions – Examples: PowerPC from Apple/IBM/Motorola and ARM Complex Instruction Set Computing (CISC) – Many, convenient, and powerful instructions – Example: Intel 21 Some sldes are adapted from Pearson Education
22
Machine Instruction Types Data Transfer: copy data from one location to another Arithmetic/Logic: use existing bit patterns to compute a new bit patterns Control: direct the execution of the program 22 Some sldes are adapted from Pearson Education
23
Adding values stored in memory 23 Some sldes are adapted from Pearson Education
24
Dividing values stored in memory 24 Some sldes are adapted from Pearson Education
25
The architecture of the machine described in Appendix C 25 Some sldes are adapted from Pearson Education
26
Parts of a Machine Instruction Op-code: Specifies which operation to execute Operand: Gives more detailed information about the operation – Interpretation of operand varies depending on op- code 26 Some sldes are adapted from Pearson Education
27
Typical Assembly Instructions Some common assembly instructions include: 1) “Load” – Load a value from RAM into one of the registers 2) “Load Direct” – Put a fixed value in one of the registers (as specified) 3) “Store” -Store the value in a specified register to the RAM 4) “Add” - Add the contents of two registers and put the result in a third register 27 Some sldes are adapted from Pearson Education
28
Typical Assembly Instructions Some common instructions include: 5) “Compare” - If the value in a specified register is larger than the value in a second register, put a “0” in Register r0 6) “Jump” -If the value in Register r0 is “0”, change Instruction Pointer to the value in a given register 7) “Branch” -If the value in a specified register is larger than that in another register, change IP to a specified value 28 Some sldes are adapted from Pearson Education
29
Figure 2.5 The composition of an instruction for the machine in Appendix C 29 Some sldes are adapted from Pearson Education
30
Figure 2.6 Decoding the instruction 35A7 30 Some sldes are adapted from Pearson Education
31
31
32
Program Execution Controlled by two special-purpose registers – Program counter: address of next instruction – Instruction register: current instruction Machine Cycle – Fetch – Decode – Execute 32 Some sldes are adapted from Pearson Education
33
Figure 2.8 The machine cycle 33 Some sldes are adapted from Pearson Education
34
Figure 2.10 The program from Figure 2.7 stored in main memory ready for execution 34 Some sldes are adapted from Pearson Education
35
Figure 2.11 Performing the fetch step of the machine cycle 35 Some sldes are adapted from Pearson Education
36
Figure 2.11 Performing the fetch step of the machine cycle (cont’d) 36 Some sldes are adapted from Pearson Education
37
A Simple Program Want to add values of variables a and b (assumed to be in memory), and put the result in variable c in memory, I.e. c a+b Instructions in program – Load a into register r1 – Load b into register r3 – r2 r1 + r3 – Store r2 in c 37 Some sldes are adapted from Pearson Education
38
Running the Program a c 2 1 3 Memory Load a into r1 Load b into r3 r2 r1 + r3 Store r2 into c 2005 2006 2007 2008 2005 Load a into r1 r1 r2 r3 r4 IR IP Logic CPU 2 b 38 Some sldes are adapted from Pearson Education
39
Running the Program a c 2 1 3 Memory Load a into r1 Load b into r3 r2 r1 + r3 Store r2 into c 2005 2006 2007 2008 2006 Load b into r3 r1 r2 r3 r4 IR IP Logic CPU 3 b 2 39 Some sldes are adapted from Pearson Education
40
Running the Program a c 2 1 3 Memory Load a into r1 Load b into r3 r2 r1 + r3 Store r2 into c 2005 2006 2007 2008 2007 r2 r1 + r3 r1 r2 r3 r4 IR IP Logic CPU 3 b 2 5 40 Some sldes are adapted from Pearson Education
41
Running the Program a c 2 1 3 Memory Load a into r1 Load b into r3 r2 r1 + r3 Store r2 into c 2005 2006 2007 2008 Store r2 into c r1 r2 r3 r4 IR IP Logic CPU 3 b 2 5 41 Some sldes are adapted from Pearson Education
42
Running the Program a c 2 5 3 Memory Load a into r1 Load b into r3 r2 r1 + r3 Store r2 into c 2005 2006 2007 2008 Store r2 into c r1 r2 r3 r4 IR IP Logic CPU 3 b 2 5 42 Some sldes are adapted from Pearson Education
43
Arithmetic/Logic Operations Logic: AND, OR, XOR – Masking Rotate and Shift Arithmetic: add, subtract, multiply, divide 43 Some sldes are adapted from Pearson Education
44
Rotating the bit pattern 65 (hexadecimal) one bit to the right 44 Some sldes are adapted from Pearson Education
45
Communicating with Other Devices Controller: An intermediary apparatus that handles communication between the computer and a device – Specialized controllers for each type of device – General purpose controllers (USB and FireWire) Port: The point at which a device connects to a computer Memory-mapped I/O: CPU communicates with peripheral devices as though they were memory cells 45 Some sldes are adapted from Pearson Education
46
Figure 2.13 Controllers attached to a machine’s bus 46 Some sldes are adapted from Pearson Education
47
Figure 2.14 A conceptual representation of memory-mapped I/O 47 Some sldes are adapted from Pearson Education
48
Communicating with Other Devices (continued) Direct memory access (DMA): Controller access main memory directly over the bus Von Neumann Bottleneck: Insufficient bus speed impedes performance – CPU and controller compete the bus Handshaking: The process of coordinating the transfer of data between components – Computer and device exchange information about the device’s status and coordinate their activities 48 Some sldes are adapted from Pearson Education
49
Communicating with Other Devices (continued) Parallel Communication: Several communication paths transfer bits simultaneously. Serial Communication: Bits are transferred one after the other over a single communication path. – USB 49 Some sldes are adapted from Pearson Education
50
Putting it all together Architecture of computer Components of CPU Program counter and instruction register Machine language using encoded bit patterns Machine cycle Op code and operand info Communication with other peripherals 50 Some sldes are adapted from Pearson Education
51
Question Direct to rahma2fx@jmu.edu 51 Some sldes are adapted from Pearson Education
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.