Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

CH 2

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 61

Chapter Two

Data Representation and Basics of Computer architecture

06/06/2024 1
Data Representation
Computers use digital representation
 Based on a binary system (uses on/off states
to represent 2 digits).
 ALL data (no matter how complex) must be
represented in memory as binary digits (bits).

06/06/2024 2
Number systems and computers
• Computers store all data as binary digits, but
we may need to convert this to a number
system we are familiar with.
• Computer programs and data are often
represented (outside the computer) using
octal and hexadecimal number systems
because they are a short hand way of
representing binary numbers.

06/06/2024 3
Number Systems - Decimal
 The decimal system is a base-10 system.
 There are 10 distinct digits (0 to 9) to represent
any quantity.
 For an n-digit number, the value that each digit
represents depends on its weight or position.
 The weights are based on powers of 10.
 1024 = 1*103 + 0*102 + 2*101 + 4*100 = 1000 +
20 + 4

06/06/2024 4
Number Systems - Binary
• The binary system is a base-2 system.
• There are 2 distinct digits (0 and 1) to represent
any quantity.
• For an n-digit number, the value of a digit in
each column depends on its position.
• The weights are based on powers of 2.
• 10112 = 1*23 + 0*22 + 1*21 + 1*20 =8+2+1 =1110

06/06/2024 5
Number Systems - Octal
• Octal and hexadecimal systems provide a shorthand way
to deal with the long strings of 1’s and 0’s in binary.
• Octal is base-8 system using the digits 0 to 7.
• To convert to decimal, you can again use a column
weighted system 75128 = 7*83 + 5*82 + 1*81 + 2*80 =
391410
• An octal number can easily be converted to binary by
replacing each octal digit with the corresponding group
of 3 binary digits
• 75128 = 1111010010102
06/06/2024 6
Number Systems - Hexadecimal
 Hexadecimal is a base-16 system.
 It contains the digits 0 to 9 and the letters A to
F (16 digit values).
 The letters A to F represent the unit values 10
to 15.
 To convert to decimal, use a weighted system
with powers of 16.

06/06/2024 7
Number Systems - Hexadecimal
• Conversion to binary is done the same way as
octal to binary conversions.
• This time though the binary digits are
organized into groups of 4.
• Conversion from binary to hexadecimal
involves breaking the bits into groups of 4 and
replacing them with the hexadecimal
equivalent.

06/06/2024 8
Example #1
Value of 2001 in Binary, Octal and Hexadecimal

06/06/2024 9
Example #2
Conversion: Binary -> Octal ->Hexadecimal

06/06/2024 10
Decimal to BaseN Conversions
• To convert from decimal to a different number
base such as Octal, Binary or Hexadecimal
involves repeated division by that number
base
• Keep dividing until the quotient is zero
• Use the remainders in reverse order as the
digits of the converted number

06/06/2024 11
Example #3
Decimal to Binary 1492 (decimal) = ??? (binary) Repeated Divide by 2

06/06/2024 12
BaseN to Decimal Conversions
• Multiply each digit by increasing powers of the
base value and add the terms
• Example: = ??? (decimal)

06/06/2024 13
Data Representation
• Computers store everything as binary digits. So,
how can we encode numbers, images, sound,
text??
• We need standard encoding systems for each
type of data.
• Some standards evolve from proprietary
products which became very popular.
• Other standards are created by official industry
bodies where none previously existed.
06/06/2024 14
Alphanumeric Data
• Alphanumeric data such as names and addresses are
represented by assigning a unique binary code or
sequence of bits to represent each character.
• As each character is entered from a keyboard (or
other input device) it is converted into a binary code.
• Character code sets contain two types of characters:
– Printable (normal characters): such as letters, numbers,
punctuation marks
– Non-printable. Characters used as control codes.
• CTRL G (beep)

06/06/2024 15
Alphanumeric Codes
 Characters are represented internally by these 8-bit binary
codes.
 An 8-bit memory word can thus store one character.
 A 16-bit memory word is usually divided into two 8-bit
segments or bytes.
 Each of which can store a single character. Similarly, a 32-bit
memory word can store four characters.
 Character strings of length greater than the number of bytes
in a word are stored in two or more consecutive words.
• There are 3 main coding methods in use:
• ASCII, EBCDIC ,Unicode .
06/06/2024 16
ASCII
(American Standard Code for Information Interchange)

The ASCII code can be used to determine the


representation of characters by electronic
devices, like PCs or smartphones
 7-bit code (128 characters)
 Has an extended 8-bit version
 Used on PC’s and non-IBM mainframes
 Widely used to transfer data from one
computer to another
06/06/2024 17
ASCII character set (Sample)

06/06/2024 18
EBCDIC
(Extended Binary Coded Decimal Interchange Code).

• An 8-bit code (256 characters)


• Different collating sequence to ASCII
• Used on mainframe IBM machine
• Both ASCII and EBCDIC are 8 bit codes
inadequate for representing all international
characters
– Some European characters
– Most non-Alphabetic languages
e.g Mandarin, Kanji, Arabic, etc…
06/06/2024 19
Unicode
• New 16 bit standard - can represent 65,536 characters
• Of which 49,000 have been defined
– 6400 reserved for private use
– 10,000 for future expansions
• Incorporates ASCII-7
• Example - Java code:
char letter = ‘A’;
char word[ ] = ‘YES’;
• Stores the values using Unicode characters
• Java VM uses 2 bytes to store one Unicode character.

06/06/2024 20
Numeric Data
 Need to perform computations
 Need to represent only numbers
 Using ASCII coded digits is very inefficient
 Representation depends on nature of the data and
processing requirements
Display purposes only (no computations): CHAR
• PRINT 125.00
– Computation involving integers: INT
• COMPUTE 16 / 3 = 5
– Computation involving fractions: FLOAT
• COMPUTE 2.001001 * 3.012301 = 6.0276173133
06/06/2024 21
Representing Numeric Data
• Stored within the computer using one of several different
numeric representation systems
• Derived from the binary (base 2) number system.
• We can represent unsigned numbers from 0-255 just using 8
bits
• Or in general we can represent values from 0 to 2N -1 using N
bits.
• The maximum value is restricted by the number of bits
available (called Truncation or Overflow)
• However, most programming languages support manipulation
of signed and fractional numbers.
– How can these be represented in binary form?
06/06/2024 22
Representing Numeric Data
Range of Values 0 to 2N-1 in N bits

06/06/2024 23
Binary Arithmetic
Binary Addition

Addition in binary is precisely analogous to addition in


decimal.

Working from the write, if the sum of 2 digits produces a 2


digit result, the digit on the right is written down and the digit
on the left is added to the next column to the left.

06/06/2024 24
Example 1: Binary Addition

Example 2: Binary Addition


10101 and 11011

1111 Carry overs

10101

11011

110000
06/06/2024 25
Exercise on Addition

• Exercise 1 Add 1010 and 1001


– Ans :10011
• Exercise 2 Add 100110 and 110101
– Ans: 1011011
• Exercise 3 Add 101101 and 111101
– Ans: 1101010

06/06/2024 26
Binary Subtraction

• Recall that in decimal subtraction one subtracts a decimal


digit from a smaller decimal digit by borrowing 1 from the
term on the left.
• Binary subtraction can be accomplished similarly. The
borrowed 1 and the 0 of the location involved combine to
form (10)2.
• Thus, if there is a digit on the left, 0 - 1 becomes 10 -1 = 1,
with a 1 borrowed from the left.

06/06/2024 27
Example 1: Binary Subtraction

Example 2: Binary Subtraction

06/06/2024 28
Exercise
• Exercise 1: 1 0 subtract 1
– Ans : 01
• Exercise 2: 100 subtract 10
– Ans : 010
• Exercise 3 : 100 subtract 1
– Ans : 011

06/06/2024 29
Binary Multiplication
• Binary multiplication is similar to decimal multiplication.
• It is simpler than decimal multiplication because only 0s and
1s are involved.
• There are four rules of binary multiplication.

06/06/2024 30
Binary Division
• Binary division is similar in procedure to decimal division.
• The placement of the binary point is exactly the same as the
placement of the decimal point in decimal division.

06/06/2024 31
Integer Representation
• UNSIGNED representing numbers from 0 upwards or
SIGNED to allow for negatives.
• In the computer we only have binary digits, so to
represent negative integers we need some sort of
convention.
• Four conventions in use for representing negative
integers are:
– Sign and Magnitude
– 1’s Complement
– 2’s Complement
– Excess 128
06/06/2024 32
Negative Integers – Sign and Magnitude
 Simplest form of representation
 Stores positive and negative values by dividing the “n” total
bits into two parts: 1 bit for the sign and n–1 bits for the
value which is a pure binary number
 Example:
– +6 in 8-bit representation is: 00000110
– -6 in 8-bit representation is: 10000110
 Disadvantages
– Arithmetic is difficult
– Two representations for zero
• 00000000
• 10000000
06/06/2024 33
Negative Integers – One’s (1’s) Complement

• Computers generally use a system called


“complementary representation” to store
negative integers.
• Two basic types - ones and twos complement,
of which 2’s complement is the most widely
used.
• Negative numbers begin with 1, positive with
0.

06/06/2024 34
Negative Integers – One’s (1’s) Complement

• To perform 1’s complement operation on a binary number,


replace 1’s with 0’s and 0’s with 1’s (i.e Complement it!)
+6 represented by: 00000110
-6 represented by: 11111001
• Advantages: arithmetic is easier (cheaper/faster electronics)
• Fairly straightforward addition – Add any carry from the Most
Significant (left-most) Bit to Least Significant (right-most) Bit of
the result
• For subtraction – form 1’s complement of number to be
subtracted and then add
• Disadvantages : still two representations for zero 00000000 and
11111111 (in 8-bit representation)
06/06/2024 35
One’s Complement Example
• Case I: When the positive number has greater
magnitude.

Hence the required sum is + 0001.

06/06/2024 36
One’s Complement Example cont.
• Case II: When the negative number has
greater magnitude.

Hence the required sum is – 0010.

06/06/2024 37
Negative Integers – Two’s (2’s) Complement

• To perform the 2’s complement operation on a binary


number
– Replace 1’s with 0’s and 0’s with 1’s (i.e. the one's
complement of the number)
– Add 1
+6 represented by: 00000110
-6 represented by: 11111010
• Advantages:
– Arithmetic is very straightforward
– End Around Carry is ignored
• only one representation for zero (00000000)
06/06/2024 38
Negative Integers – Two’s (2’s) Complement

• Two’s Complement
–To convert an integer to 2’s complement
 Take the binary form of the number
00000110 (6 as an 8-bit representation)
 Flip the bits: (Find 1’s Complement)
11111001
 Add 1 11111001 +1 = 11111010 (2’s complement of 6)
 Justification of representation: 6+(-6)=0?
00000110 (6)
+11111010 (2’s complement of 6)
100000000 (0)

06/06/2024 39
Negative Integers – Two’s (2’s) Complement

Properties of Two’s Complement


–The 2’s comp of a 2’s comp is the original number
00000110 (6)
11111010 (2’s comp of 6)
00000101
+1
00000110 (2’s comp of 2’s comp of 6)
–The sign of a number is given by its MSB
The bit patterns:
• 00000000 represents zero
• 0nnnnnnn represents positive numbers
• 1nnnnnnn represents negative number
06/06/2024 40
Negative Integers – Two’s (2’s) Complement

•Addition
–Addition is performed by adding corresponding bits
00000111 ( 7)
+00000101 (+5)
00001100 (12)
•Subtraction –Subtraction is performed by adding the 2’s
complement
–Ignore End-Around-Carry
00001100 (12)
+11111011 (-5)
100000111 ( 7)
06/06/2024 41
Negative Integers – Two’s (2’s) Complement

•Interpretation of Negative Results


00000101 ( 5)
+11110100 (-12)
11111001 ( )
–Result is negative
MSB of result is 1 so it is a negative number in 2’s complement
form
–Negative what?
Take the 2’s comp of the result to find out since the 2’s comp of a
2’s comp is the original number
–Negative 7 the 2’s complement of 11111001 is 00000111 or 710

06/06/2024 42
Integer Overflow
• Problem: A result of an artihematic operation that is too big to
be represented in number of bits available. This is called
overflow.
• Overflow can occur whether or not there is a carry

Example:

06/06/2024 43
Basics of digital logic gates and Boolean algebra

• Binary (Boolean) Logic deals with binary


variables and binary logic functions has two
discrete values
0 -> False, Open
1 -> True, Close
• Three basic logical operations
AND (.); OR (+); NOT (‘)

06/06/2024 44
Logic Gates & Truth Tables

06/06/2024 45
06/06/2024 46
Other Logic Gates – NAND Gate
• 2-input NAND (NOT-AND operation)
• Can have any # of inputs

06/06/2024 47
Other Logic Gates – NOR Gate „
• 2-input NOR (NOT-OR operation)
• Can have any # of inputs

06/06/2024 48
Other Logic Gates – XOR Gate
• 2-input XOR Output is 1 if any input is one and
the other input is 0
• Can have any # of inputs

06/06/2024 49
Other Logic Gates – XNOR Gate

06/06/2024 50
An overview of computer architecture

• Computer architectures represent the means of interconnectivity


for a computer's hardware components as well as the mode of data
transfer and processing exhibited.
• Different computer architecture configurations have been
developed to speed up the movement of data, allowing for
increased data processing.
• The basic architecture looks like the figure below

06/06/2024 51
Basics of Computer organization and
architecture
 Computer Architecture
• refers to those attributes of a system that have a direct impact
on the logical execution of a program.
• Examples:
– the instruction set
– the number of bits used to represent various data types
– I/O mechanisms
– memory addressing techniques
• Architecture is those attributes visible to the programmer
– e.g. Is there a multiply instruction?
• All Intel x86 family share the same basic architecture
06/06/2024 52
Basics of Computer organization and
architecture
Computer Organization
• refers to the operational units and their interconnections
that realize the architectural specifications.
• Examples are things that are transparent to the
programmer:
– control signals
– interfaces between computer and peripherals
– the memory technology being used
• Organization is how features are implemented
– e.g. Is there a hardware multiply unit or is it done by
repeated addition?
06/06/2024 53
The Computer Level Hierarchy Level
Hierarchy
• Writing complex programs requires a “divide and
conquer” approach, where each program module
solves a smaller problem.

• Complex computer systems employ a similar


technique through a series of virtual machine
layers.

06/06/2024 54
…. Cont
• Each virtual machine layer is an abstraction of
the level below it.
• The machines at each level execute their own
particular instructions, calling upon machines at
lower levels to perform tasks as required.
• Computer circuits ultimately carry out the work.

06/06/2024 55
06/06/2024 56
…….cont
• Level 6: The User Level
– Program execution and user interface level.
– The level with which we are most familiar.

• Level 5: High-Level Language Level


– The level with which we interact when we write
programs in languages such as C, Pascal, Lisp, and
Java.

06/06/2024 57
……cont
• Level 4: Assembly Language Level
– Acts upon assembly language produced from Level
5, as well as instructions programmed directly at
this level.
• Level 3: System Software Level
– Controls executing processes on the system.
– Protects system resources.
– Assembly language instructions often pass
through Level 3 without modification.

06/06/2024 58
……cont
• Level 2: Machine Level
– Also known as the Instruction Set
Architecture (ISA) Level.
– Consists of instructions that are particular
to the architecture of the machine.
– Programs written in machine language need
no compilers, interpreters, or assemblers.

06/06/2024 59
……cont.
• Level 1: Control Level
– A control unit decodes and executes instructions
and moves data through the system.
– Control units can be micro-programmed or
hardwired.
– A micro-program is a program written in a low-
level language that is implemented by the
hardware.
– Hardwired control units consist of hardware that
directly executes machine instructions.
06/06/2024 60
…….cont
• Level 0: Digital Logic Level
– This level is where we find digital circuits (the
chips).
– Digital circuits consist of gates and wires.
– These components implement the mathematical
logic of all other levels.

06/06/2024 61

You might also like