Introduction to Computer Science 1 With Examples in Visual Basic, C, C++, and Java 1 Mata-Toledo, Ramon A. & Cushman, Pauline K. McGraw-Hill,

Slides:



Advertisements
Similar presentations
Data Representation COE 202 Digital Logic Design Dr. Aiman El-Maleh
Advertisements

A digital system is a system that manipulates discrete elements of information represented internally in binary form. Digital computers –general purposes.
Chapter 2 : Number System
Chapter 1 Binary Systems 1-1. Digital Systems
Room: E-3-31 Phone: Dr Masri Ayob TK 2123 COMPUTER ORGANISATION & ARCHITECTURE Lecture 5: CPU and Memory.
Digital Fundamentals Floyd Chapter 2 Tenth Edition
Data Representation Computer Organization &
Data Representation COE 205
Level ISA3: Information Representation
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
VIT UNIVERSITY1 ECE 103 DIGITAL LOGIC DESIGN CHAPTER I NUMBER SYSTEMS AND CODES Reference: M. Morris Mano & Michael D. Ciletti, "Digital Design", Fourth.
Number Systems Lecture 02.
Codes and number systems Introduction to Computer Yung-Yu Chuang with slides by Nisan & Schocken ( ) and Harris & Harris (DDCA)
Digital Logic Chapter 2 Number Conversions Digital Systems by Tocci.
Dr. Bernard Chen Ph.D. University of Central Arkansas
Arithmetic for Computers
Aug CMSC 104, LECT-021 Machine Architecture and Number Systems Some material in this presentation is borrowed form Adrian Ilie From The UNIVERSITY.
CPS120: Introduction to Computer Science Lecture 8.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
Programmable Logic Controllers
Numeral Systems Subjects: Numeral System Positional systems Decimal
Computers Organization & Assembly Language
Computer Arithmetic Nizamettin AYDIN
1 Machine Architecture and Number Systems Topics Major Computer Components Bits, Bytes, and Words The Decimal Number System The Binary Number System Converting.
How Computers Work Dr. John P. Abraham Professor UTPA.
CPS120: Introduction to Computer Science Midterm Exam Review.
1 Digital Systems and Binary Numbers EE 208 – Logic Design Chapter 1 Sohaib Majzoub.
EE2174: Digital Logic and Lab Professor Shiyan Hu Department of Electrical and Computer Engineering Michigan Technological University CHAPTER 2 Number.
Lec 3: Data Representation Computer Organization & Assembly Language Programming.
ECEN2102 Digital Logic Design Lecture 1 Numbers Systems Abdullah Said Alkalbani University of Buraimi.
Number Systems Spring Semester 2013Programming and Data Structure1.
Number Systems. Why binary numbers? Digital systems process information in binary form. That is using 0s and 1s (LOW and HIGH, 0v and 5v). Digital designer.
CPS120: Introduction to Computer Science Computer Math: Signed Numbers.
Information Representation. Digital Hardware Systems Digital Systems Digital vs. Analog Waveforms Analog: values vary over a broad range continuously.
CPU Internal memory I/O interface circuit System bus
1 EENG 2710 Chapter 1 Number Systems and Codes. 2 Chapter 1 Homework 1.1c, 1.2c, 1.3c, 1.4e, 1.5e, 1.6c, 1.7e, 1.8a, 1.9a, 1.10b, 1.13a, 1.19.
CPS120: Introduction to Computer Science Computer Math: Converting to Decimal.
1 Representation of Data within the Computer Oct., 1999(Revised 2001 Oct)
CSNB374: Microprocessor Systems Chapter 1: Introduction to Microprocessor.
Computer Math CPS120: Lecture 3. Binary computers have storage units called binary digits or bits: Low Voltage = 0 High Voltage = 1 all bits have 0 or.
EEL 3801C EEL 3801 Part I Computing Basics. EEL 3801C Data Representation Digital computers are binary in nature. They operate only on 0’s and 1’s. Everything.
Data Representation, Number Systems and Base Conversions
Computer Math CPS120 Introduction to Computer Science Lecture 4.
AEEE2031 Data Representation and Numbering Systems.
SAK Chapter 21 Chapter 2 : Number System 2.1 Decimal, Binary, Octal and Hexadecimal Numbers 2.2 Relation between binary number system with other.
Computer Organization. The digital computer is a digital system that performs various computational tasks Digital computer use binary number system which.
Monday, January 14 Homework #1 is posted on the website Homework #1 is posted on the website Due before class, Jan. 16 Due before class, Jan. 16.
Digital Fundamentals Tenth Edition Floyd Chapter 2 © 2008 Pearson Education.
CPS120: Introduction to Computer Science Midterm Exam Review.
MECH1500 Chapter 3.
Basic Computer Organization Rashedul Hasan.. Five basic operation No matter what shape, size, cost and speed of computer we are talking about, all computer.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Chapter 1: Binary Systems
ECE 2110: Introduction to Digital Systems
ECE DIGITAL LOGIC LECTURE 3: DIGITAL COMPUTER AND NUMBER SYSTEMS Assistant Prof. Fareena Saqib Florida Institute of Technology Fall 2016, 01/19/2016.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Computer Math CPS120 Introduction to Computer Science Lecture 7.
CHAPTER 3 BINARY NUMBER SYSTEM. Computers are electronic machines which operate using binary logic. These devices use two different values to represent.
Number Systems. The position of each digit in a weighted number system is assigned a weight based on the base or radix of the system. The radix of decimal.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
Unit 1 Introduction Number Systems and Conversion.
Computer Architecture and Number Systems
Lec 3: Data Representation
3.1 Denary, Binary and Hexadecimal Number Systems
IT 0213: INTRODUCTION TO COMPUTER ARCHITECTURE
CPS120: Introduction to Computer Science
Chapter Four Data Representation in Computers By Bezawit E.
Networks & I/O Devices.
Presentation transcript:

Introduction to Computer Science 1 With Examples in Visual Basic, C, C++, and Java 1 Mata-Toledo, Ramon A. & Cushman, Pauline K. McGraw-Hill,

Computers Computer: a device which, under the direction of a program, can process data, alter its own program instructions, and perform computations and logical operations without human intervention –Two different levels: architecture and its implementation Architecture: user-visible interface as seen by the programmer Implementation: Construction of that interface using specific hardware and software components

Program Refers to a specific set of instructions give to the computer to accomplish a specific task

Computer Structures 1.High-speed memory unit 2.Central Processing Unit (CPU) 3.Peripheral (I/O Subsystem)

Basic Computer Structure I/O Bus Keyboard Control Unit Status Register Primary Memory Input & Output bus Program Counter Arithmetic Logic Unit General Registers R0 R1

Memory Unit Main or physical memory – where all the instructions and data that the CPU can directly access and execute –Known as RAM (Random Access Memory) Divided into logical units of the same size –Called a byte; 8 consecutive bits or binary digits Can be magnetized to one of two states (on or off) 1or 0 Each byte is associated with a unique address –Which can increase right to left or left to right

Address Space Set of all unique addresses that a program can reference –The address of a byte is fixed whereas its content will vary –Number of bits used to represent the address determines the size of the address space Calculated as 2 N where N is the number of bits used to represent the address –The size of the memory of a computer is measured in bytes

Memory Units 1 nibble 1 byte 1 word 1 long word 1 quad word 1 octa-word 8 consecutive bits 4 consecutive bits 2 consecutive bytes 4 consecutive bytes 8 consecutive bytes 16 consecutive bytes

Larger Units of Memory 1 Kilobyte 1 Megabyte 1 Gigabyte 1 Terabyte 1 Petabyte 1 Exabyte 1024 bytes ~10 6 bytes ~10 9 bytes ~10 12 bytes ~10 15 bytes ~10 18 bytes 32 Mb = 32*10 3 Kb = 32 * 10 3 *1024 bytes = 32,768,000 bytes

Central Processing Unit Brain of the computer –Fetching instructions from memory and executing them Divided into –Arithmetic Logic Unit (ALU) Additions, subtractions, comparisons –Control Unit (CU) Manages movement of data within the processor Contains general registers that provide local high- speed storage for the processor Contains status registers that provide information about the state of the processor, the instruction being processed and any special circumstances

Sample Processing Sequence Two numbers in main memory are added 1.Instruction is transferred from memory into the CPU 2.Location of the instruction being processed is updated in the instruction counter (IC) or program counter (PC) 3.The instruction just fetched is stored in the instruction register (IR) 4.CU decodes the instruction to add two numbers operator [operand1], [operand2], [operand3] ADDW3 first_no, second_no, answer W = words, 3 = no of operands in the instruction 5.Numbers are located in main memory 6.Fetched into internal registers of the ALU by the CU 7.Addition is carried out by ALU 8.Sum stored in new memory location by CU 9.The IC is updated to point to the next instruction

Communication During the process of described, two additional registers facilitate the communication between the CPU and main memory –Memory address register (MAR) Holds the address to or from which the data is being transferred –Memory data register (MDR) Contains the data to be written into or read out of the address location

I/O Most common input devices –Keyboard –Mouse Most common output devices –Monitor –Printer Dual purpose –Hard drives –Tapes –Jazz or Zip Drives –Floppies

Bus Structure BUS: A collection of wires to transfer data within different components of a computer –Generally 3 such busses 1.Address bus 2.Data Bus Must have as many wires as ther are bits of data in the memory unit of the computer 3.Control bus

Destructive Operations If a location isn’t specified for a result, it is often stored in the second operand –A destructive operation If a location is specified for a result, it is used –A non-destructive operation

Representing Data The computer knows the type of data stored in a particular location from the context in which the data are being used; i.e. individual bytes, a word, a longword, etc – Bytes: 64 (10, 68 (10, 101 (10, 99 (10 Two byte words: 17,472 (10 and 24,445 (10 Longword: 1,667,580,992 (10

Number Systems and Codes We use the DECIMAL (10 system Computes use BINARY (2 or some shorthand for it like OCTAL (8 or HEXADECIMAL (16 Given any positive integer basis or (RADIX) N, there are N different individual symbols that can be used to write numbers in the system. The value of these symbols range from 0 to N-1 All systems we use in computing are positional systems –495 =

Conversions

Decimal Equivalents Assuming the bits are unsigned, the decimal value represented by the bits of a byte can be calculated as follows: 1.Number the bits beginning on the right using superscripts beginning with 0 and increasing as you move left. Remember, 2 0, by definition is 1 2.Use each superscript as an exponent of a power of 2 3.Multiply the value of each bit by its corresponding power of 2 4.Add the products obtained

Horner’s Method Another procedure to calculate the decimal equivalent of a binary number –This method works with any base Horner’s Method: –Step 1: Start with the first digit on the left –Step 2: Multiply it by the base –Step 3: Add the next digit –Step 4: Multiply the sum by the base –Step 5: Continue the process until you add the last digit

Hex to Binary Step 1: Form four-bit groups beginning from the rightmost bit of the binary number –If the last group (at the leftmost position) has less than four bits, add extra zeros to the left of the group to make it a four-bit group becomes Step 2: Replace each four-bit group by its hexadecimal equivalent –19EAA7 (16

Converting Decimal to Other Bases Step 1: Divide the number by the base you are converting to (r) Step 2: Successively divide the quotients by (r) until a zero quotient is obtained Step 3: The decimal equivalent is obtained by writing the remainders of the successive division in the opposite order in which they were obtained –Know as modulus arithmetic Step 4: Verify the result by multiplying it out

Addition & Subtraction Terms A + B –A is the augend –B is the addend C – D –C is the minuend –D is the subtrahend

Addition Rules Addition Step 1: Add a column of numbers Step 2: Determine if there is a single symbol for the result Step 3: If so, write it and go to the next column. If not, write the accompanying number and carry the appropriate value to the next column

Subtraction Rules Step1: Start with the rightmost column, if the column of the minuend is greater than that of the subtrahend, do the subtraction, if not… Step 2: Borrow one unit from the digit to the left of the once being processed –The borrowed unit is equal to “borrowing” the radix Step 4: Decrease the column form which you borrowed by one Step 3: Subtract the subtrahend from the minuend and go to the next column

Addition of Binary Numbers Rules for adding or subtracting very similar to the ones in decimal system –Limited to only two digits = = = = 0 carry 1

Addition & Subtraction of Hex Due to the propensity for errors in binary, it is preferable to carry out arithmetic in hexadecimal and convert back to binary If we need to borrow in hex, we borrow 16 It is convenient to think “in decimal” and then translate the results back to hex

Representing No.s in a Computer Remember, all numeric data is represented inside the computer as 1s and 0s –Arithmetic operations, particularly subtraction raise the possibility that the result might be negative Any numerical convention needs to differentiate two basic elements of any given number, its sign and its magnitude –Conventions Sign-magnitude Two’s complement One’s complement

Representing Negatives It is necessary to choose one of the bits of the “basic unit” as a sign bit –Usually the leftmost bit –By convention, 0 is positive and 1 is negative Positive values have the same representation in all conventions However, in order to interpret the content of any memory location correctly, it necessary to know the convention being used used for negative numbers

Comparing the Conventions

Sign-Magnitude For a basic unit of N bits, the leftmost bit is used exclusively to represent the sign The remaining (N-1) bits are used for the magnitude The range of number represented in this convention is –2 N+1 to +2 N-1 -1

Sign-magnitude Operations Addition of two numbers in sign-magnitude is carried out using the usual conventions of binary arithmetic –If both numbers are the same sign, we add their magnitude and copy the same sign –If different, determine which number I –has the larger magnitude and subtract the other from it. The sign of the result is the sign of the operand with the larger magnitude –If the result is outside the bounds of –2 n+1 to +2 n-1 –1, an overflow results

Two’s Complement Convention A positive number is represented using a procedure similar to sign-magnitude To express a negative number 1.Express the absolute value of the number in binary 2.Change all the zeros to ones and all the ones to zeros (called “complementing the bits”) 3.Add one to the number obtained in Step 2 –The range of negative numbers is one larger than the range of positive numbers –Given a negative number, to find its positive counterpart, use steps 2 & 3 above

Two’s Complement Operations Addition: –Treat the numbers as unsigned integers The sign bit is treated as any other number –Ignore any carry on the leftmost position Subtraction –Treat the numbers as unsigned integers –If a borrow is necessary in the leftmost place, borrow as if there were another “invisible” one- bit to the left of the minuend

Overflows in Two’s Complement The s range of values in two’s-complement is –2 n+1 to +2 n-1 –1 Results outside this band are overflows In all overflow conditions, the sign of the result of the operation is different than that of the operands If the operands are positive, the result is negative If the operands are negative, the result is positive

One’s Complement Devised to make the addition of two numbers with different signs the same as two numbers with the same sign Positive numbers are represented in the usual way For negatives –STEP 1: Start with the binary representation of the absolute value –STEP 2: Complement all of its bits Operations –Treat the sign bit as any other bit –For addition, carry out of the leftmost bit is added to the rightmost bit – end-around carry

Binary & Alphanumeric Codes A binary code is a group of n bits that assume up to 2 n distinct combinations of 1’s and 0’s with each combination representing one element of the set that is being coded With two bits we can form a set of four elements With three bits we can represent 8 elements With four bits we can represent 16 elements

Weighted Codes A sequence of binary digits representing a decimal digit is called a code word –The code with weights 8, 4, 2, 1 is know as the Binary- Coded-Decimal (BDC) code –Another code could be weighted Some codes are not unique in representing decimal numbers –These codes cannot be used interchangeably –The correct code is self-complementing The value of 9-N can be obtained by complementing the bits of the code

Alphanumeric Codes American Standard Code for Information Interchange (ASCII) –7-bit code –Since the unit of storage is a bit, all ASCII codes are represented by 8 bits, with a zero in the most significant digit – H e l l o W o r l d – C 6C 6F F 72 6C 64 Extended Binary Coded Decimal Interchange Code (EBCDIC)

Error Detection –When binary data is transmitted, there is a possibility of –an error in transmission due to equipment failure or noise Bits change from 0 to 1 or vice-versa –The number of bits that have to change within a byte before it becomes invalid characterizes the code Single-error-detecting code –To detect single errors have occurred we use an added parity check bit – makes each byte either even or odd Two-error-detecting code –The minimum distance of a code is the number of bits that need to change in a code word to result another valid code word –Some codes are self-correcting (error-correcting code)

Even Parity Example Bytes Transmitted Parity Block B I T Bytes Received Parity Block B I T

Hamming Code This method of multiple-parity checking can be used to provide multiple-error detection