0% found this document useful (0 votes)
11 views

Lecture Slides 902

The document discusses the fundamentals of computer architecture and data manipulation. It covers topics such as the central processing unit, machine language, program execution, arithmetic/logic instructions, communicating with other devices, and other architectures like pipelining and parallel processing. Diagrams and examples illustrate key concepts in machine level programming and how computers function at a basic hardware level.

Uploaded by

cboustany
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Lecture Slides 902

The document discusses the fundamentals of computer architecture and data manipulation. It covers topics such as the central processing unit, machine language, program execution, arithmetic/logic instructions, communicating with other devices, and other architectures like pipelining and parallel processing. Diagrams and examples illustrate key concepts in machine level programming and how computers function at a basic hardware level.

Uploaded by

cboustany
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

10/14/2007

Chapter 2
Data Manipulation

© 2007 Pearson Addison-Wesley.


All rights reserved

Chapter 2: Data Manipulation

• 2.1 Computer Architecture


• 2.2 Machine Language
• 2.3 Program Execution
• 2.4 Arithmetic/Logic Instructions
• 2.5 Communicating with Other Devices
• 2.6 Other Architectures

© 2007 Pearson Addison-Wesley. All rights reserved 0-2

1
10/14/2007

Computer Architecture

• Central Processing Unit (CPU) or processor


– Arithmetic/Logic unit versus Control unit
– Registers
• General purpose
• Special purpose
• Bus
• Motherboard

© 2007 Pearson Addison-Wesley. All rights reserved 0-3

Figure 2.1 CPU and main


memory connected via a bus

© 2007 Pearson Addison-Wesley. All rights reserved 0-4

2
10/14/2007

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.

© 2007 Pearson Addison-Wesley. All rights reserved 0-5

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

© 2007 Pearson Addison-Wesley. All rights reserved 0-6

3
10/14/2007

Machine Language Philosophies

• Reduced Instruction Set Computing (RISC)


– Few, simple, efficient, and fast instructions
– Example: PowerPC from Apple/IBM/Motorola
• Complex Instruction Set Computing (CISC)
– Many, convenient, and powerful instructions
– Example: Pentium from Intel

© 2007 Pearson Addison-Wesley. All rights reserved 0-7

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

© 2007 Pearson Addison-Wesley. All rights reserved 0-8

4
10/14/2007

Figure 2.2 Adding values stored


in memory

© 2007 Pearson Addison-Wesley. All rights reserved 0-9

Figure 2.3 Dividing values stored


in memory

© 2007 Pearson Addison-Wesley. All rights reserved 0-10

5
10/14/2007

Figure 2.4 The architecture of the


machine described in Appendix C

© 2007 Pearson Addison-Wesley. All rights reserved 0-11

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

© 2007 Pearson Addison-Wesley. All rights reserved 0-12

6
10/14/2007

Figure 2.5 The composition of an


instruction for the machine in
Appendix C

© 2007 Pearson Addison-Wesley. All rights reserved 0-13

Figure 2.6 Decoding the


instruction 35A7

© 2007 Pearson Addison-Wesley. All rights reserved 0-14

7
10/14/2007

Figure 2.7 An encoded version of


the instructions in Figure 2.2

© 2007 Pearson Addison-Wesley. All rights reserved 0-15

Program Execution

• Controlled by two special-purpose registers


– Program counter: address of next instruction
– Instruction register: current instruction
• Machine Cycle
– Fetch
– Decode
– Execute

© 2007 Pearson Addison-Wesley. All rights reserved 0-16

8
10/14/2007

Figure 2.8 The machine cycle

© 2007 Pearson Addison-Wesley. All rights reserved 0-17

Figure 2.9 Decoding the


instruction B258

© 2007 Pearson Addison-Wesley. All rights reserved 0-18

9
10/14/2007

Figure 2.10 The program from Figure


2.7 stored in main memory ready for
execution

© 2007 Pearson Addison-Wesley. All rights reserved 0-19

Figure 2.11 Performing the fetch


step of the machine cycle

© 2007 Pearson Addison-Wesley. All rights reserved 0-20

10
10/14/2007

Figure 2.11 Performing the fetch


step of the machine cycle (cont’d)

© 2007 Pearson Addison-Wesley. All rights reserved 0-21

Arithmetic/Logic Operations

• Logic: AND, OR, XOR


– Masking
• Rotate and Shift: circular shift, logical shift,
arithmetic shift
• Arithmetic: add, subtract, multiply, divide
– Precise action depends on how the values are
encoded (two’s complement versus floating-point).

© 2007 Pearson Addison-Wesley. All rights reserved 0-22

11
10/14/2007

Figure 2.12 Rotating the bit


pattern A3 one bit to the right

© 2007 Pearson Addison-Wesley. All rights reserved 0-23

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

© 2007 Pearson Addison-Wesley. All rights reserved 0-24

12
10/14/2007

Figure 2.13 Controllers attached


to a machine’s bus

© 2007 Pearson Addison-Wesley. All rights reserved 0-25

Figure 2.14 A conceptual


representation of memory-mapped I/O

© 2007 Pearson Addison-Wesley. All rights reserved 0-26

13
10/14/2007

Communicating with Other Devices


(continued)

• Direct memory access (DMA): Main memory


access by a controller over the bus
• Von Neumann Bottleneck: Insufficient bus
speed impedes performance
• Handshaking: The process of coordinating the
transfer of data between components

© 2007 Pearson Addison-Wesley. All rights reserved 0-27

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.

© 2007 Pearson Addison-Wesley. All rights reserved 0-28

14
10/14/2007

Data Communication Rates

• Measurement units
– Bps: Bits per second
– Kbps: Kilo-bps (1,000 bps)
– Mbps: Mega-bps (1,000,000 bps)
– Gbps: Giga-bps (1,000,000,000 bps)
• Bandwidth: Maximum available rate

© 2007 Pearson Addison-Wesley. All rights reserved 0-29

Other Architectures

• Technologies to increase throughput:


– Pipelining: Overlap steps of the machine cycle
– Parallel Processing: Use multiple processors
simultaneously
• SISD: No parallel processing
• MIMD: Different programs, different data
• SIMD: Same program, different data

© 2007 Pearson Addison-Wesley. All rights reserved 0-30

15

You might also like