Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.

Slides:



Advertisements
Similar presentations
Chapter 2: Data Manipulation
Advertisements

Chapter 2 Data Manipulation Dr. Farzana Rahman Assistant Professor Department of Computer Science James Madison University 1 Some sldes are adapted from.
 Suppose for a moment that you were asked to perform a task and were given the following list of instructions to perform:
2.3) Example of program execution 1. instruction  B25 8 Op-code B means to change the value of the program counter if the contents of the indicated register.
Computer Architecture and Data Manipulation Chapter 3.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Computer Science: An Overview Tenth Edition by J. Glenn Brookshear Chapter.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Lecture 14: Review Intro to IT COSC1078 Introduction to Information Technology Lecture 14 Revision and Review James Harland
Data Manipulation Computer System consists of the following parts:
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
Chapter 2.2 Machine Language.
CPU, Stored-Program Concept, Program Execution
(6.1) Central Processing Unit Architecture  Architecture overview  Machine organization – von Neumann  Speeding up CPU operations – multiple registers.
5.1 Chaper 4 Central Processing Unit Foundations of Computer Science  Cengage Learning.
5 Computer Organization
Computer Organization Computer Organization & Assembly Language: Module 2.
Intro to CS Chapt 2 Data Manipualtion 1 Data Manipulation How is data manipulated inside a computer? –How is data input? –How is it stored? –How is it.
CPU Computer Hardware Organization (How does the computer look from inside?) Register file ALU PC System bus Memory bus Main memory Bus interface I/O bridge.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Data Manipulation, Communication and Architecture Fall 2012.
Data manipulation, Part one Introduction to computer, 2nd semester, 2010/2011 Mr.Nael Aburas Faculty of Information.
Ch. 2 Data Manipulation 4 The central processing unit. 4 The stored-program concept. 4 Program execution. 4 Other architectures. 4 Arithmetic/logic instructions.
Data Manipulation CSC 2001 TTU CSC 2001 TTU. Now what?  Program can be represented (and stored) like data. So, now what happens?  The program needs.
CS 111 – Sept. 15 Chapter 2 – Manipulating data by performing instructions “What is going on in the CPU?” Commitment: –Please read through section 2.3.
Chapter 2 Data Manipulation Yonsei University 1 st Semester, 2015 Sanghyun Park.
Important Concepts  Parts of the CPU  Arithmetic/Logic Unit  Control Unit  Registers  Program Counter  Instruction Register  Fetch/Decode/Execute.
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
Chapter 2 Data Manipulation. © 2005 Pearson Addison-Wesley. All rights reserved 2-2 Chapter 2: Data Manipulation 2.1 Computer Architecture 2.2 Machine.
Data Manipulation CSC Overview  Computer Architecture  Machine Language  Computer Architecture  Machine Language.
A summary of TOY. 4 Main Components Data Processor Control Processor Memory Input/Output Device.
Copyright © 2015 Pearson Education, Inc. Chapter 2: Data Manipulation.
Computer Science/Ch.3 Data Manipulation 3-1 Chapter 3 Data Manipulation.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Data Manipulation Brookshear, J.G. (2012) Computer Science: an Overview.
Computer and Information Sciences College / Computer Science Department CS 206 D Computer Organization and Assembly Language.
20 October 2015Birkbeck College, U. London1 Introduction to Computer Systems Lecturer: Steve Maybank Department of Computer Science and Information Systems.
Dale & Lewis Chapter 5 Computing components
Data Manipulation, part two Introduction to computer, 2 nd semester, 2010/2011 Mr.Nael Aburas Faculty of Information.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Overview von Neumann Architecture Computer component Computer function
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
Chapter 2: Data Manipulation
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
CBP 2002ITY 270 Computer Architecture1 Module Structure Whirlwind Review – Fetch-Execute Simulation Instruction Set Architectures RISC vs x86 How to build.
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
Chapter 5: Computer Systems Organization Invitation to Computer Science,
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Logic Gates Dr.Ahmed Bayoumi Dr.Shady Elmashad. Objectives  Identify the basic gates and describe the behavior of each  Combine basic gates into circuits.
CPIT Program Execution. Today, general-purpose computers use a set of instructions called a program to process data. A computer executes the.
© 2015 Pearson Education Limited 2015 Quiz in last 15 minutes Midterm 1 is next Sunday Assignment 1 due today at 4pm Assignment 2 will be up today; due.
CS Introduction to Information Engineering
Chapter 2: Data Manipulation
Chapter 2: Data Manipulation
Central Processing Unit Architecture
5 - How Computers Calculate - the ALU
CS149D Elements of Computer Science
Morgan Kaufmann Publishers Computer Organization and Assembly Language
Chapter 2: Data Manipulation
Chapter 5: Computer Systems Organization
Chapter 2: Data Manipulation
Machine Language.
Chapter 2: Data Manipulation
Presentation transcript:

Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved

© 2007 Pearson Addison-Wesley. All rights reserved 0-2 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-3 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-4 Figure 2.1 CPU and main memory connected via a bus

© 2007 Pearson Addison-Wesley. All rights reserved 0-5 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-6 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-7 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-8 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-9 Figure 2.2 Adding values stored in memory

© 2007 Pearson Addison-Wesley. All rights reserved 0-10 Figure 2.3 Dividing values stored in memory

© 2007 Pearson Addison-Wesley. All rights reserved 0-11 Figure 2.4 The architecture of the machine described in Appendix C

© 2007 Pearson Addison-Wesley. All rights reserved 0-12 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-13 Figure 2.5 The composition of an instruction for the machine in Appendix C

© 2007 Pearson Addison-Wesley. All rights reserved 0-14 Figure 2.6 Decoding the instruction 35A7

© 2007 Pearson Addison-Wesley. All rights reserved 0-15 Figure 2.7 An encoded version of the instructions in Figure 2.2

© 2007 Pearson Addison-Wesley. All rights reserved 0-16 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-17 Figure 2.8 The machine cycle

© 2007 Pearson Addison-Wesley. All rights reserved 0-18 Figure 2.9 Decoding the instruction B258

© 2007 Pearson Addison-Wesley. All rights reserved 0-19 Figure 2.10 The program from Figure 2.7 stored in main memory ready for execution

© 2007 Pearson Addison-Wesley. All rights reserved 0-20 Figure 2.11 Performing the fetch step of the machine cycle

© 2007 Pearson Addison-Wesley. All rights reserved 0-21 Figure 2.11 Performing the fetch step of the machine cycle (cont’d)

© 2007 Pearson Addison-Wesley. All rights reserved 0-22 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-23 Figure 2.12 Rotating the bit pattern A3 one bit to the right

© 2007 Pearson Addison-Wesley. All rights reserved 0-24 Program to add integers upto n 1. LOAD reg0, num+1# reg0 for control 2.LOAD reg1, 1 # reg1 for incerementing 3. LOAD reg2, 1# reg2 =i 4. LOAD reg3, 0 # reg3 = sum 5. ADD reg3, reg3, reg2# sum = sum +i 6. ADD reg2,reg2,reg1# i=i+1 7. JMP reg2, 9# Jump to 9 if reg2=reg0 (i=n) 8. JMP 4#JMP back (does not exist) 9. HALT# Finish

© 2007 Pearson Addison-Wesley. All rights reserved 0-25 Check if a number is EVEN or ODD, Goto 3A if it is EVEN HEX CODE 1.LOAD reg0, 0# reg0 for control LOAD reg1, 2A# reg1 = number112A 3.LOAD reg2, MASK# reg2 = AND reg3, reg1,reg2# reg3 is 0 or JMP reg3, 3A # Goto address 3A if EVEN B33A 6.HALT# FinishC000 Number is at 2A

© 2007 Pearson Addison-Wesley. All rights reserved 0-26 Program to find 1s in a byte ( 5 1s) 1.LOAD reg1, XY# reg1 = number 2.LOAD reg2, 1 # reg2 for incerementing 3.LOAD reg3, 1# reg3 =i, counter 4. LOAD reg4, 0# reg4 counts 1s 5.LOAD reg5, MASK# reg5 = AND reg6, reg1, reg5 # reg5 is either 0 or 1 depending on LSB of num 7.LOAD reg0, 0 # reg0 for control 8. JMP reg6, 10# If reg6 is 0, skip incrementing 9.ADD reg4, reg4, reg2# sum of 1s= sum of 1s ADD reg3,reg3,reg1# i=i ROT RİGHT reg1, reg1,1# Rotate num 1 bit to the right 12. LOAD reg0, 9# if i =9, we are done 13. JMP reg6, 10# If reg6 is 0, skip incrementing 14.JMP reg3, 14# Jump to 14 if 8 bits are done 15.JMP 4#JMP back (does not exist in App. C) 16.HALT# Finish

© 2007 Pearson Addison-Wesley. All rights reserved 0-27 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-28 Figure 2.13 Controllers attached to a machine’s bus

© 2007 Pearson Addison-Wesley. All rights reserved 0-29 Figure 2.14 A conceptual representation of memory-mapped I/O

© 2007 Pearson Addison-Wesley. All rights reserved 0-30 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-31 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-32 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-33 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