0% found this document useful (0 votes)
3 views61 pages

Introduction to Computing Basics

The document provides an overview of computer architecture, focusing on the von Neumann model, the evolution of computing machines from early calculators to modern processors, and the representation of data in various number systems. It discusses significant historical figures in computing, such as Charles Babbage and Ada Lovelace, and explains how computers store and process information using binary and other number systems. Additionally, it covers methods for representing negative numbers in binary, including sign magnitude, ones complement, and twos complement notations.

Uploaded by

kanurisubbarao
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views61 pages

Introduction to Computing Basics

The document provides an overview of computer architecture, focusing on the von Neumann model, the evolution of computing machines from early calculators to modern processors, and the representation of data in various number systems. It discusses significant historical figures in computing, such as Charles Babbage and Ada Lovelace, and explains how computers store and process information using binary and other number systems. Additionally, it covers methods for representing negative numbers in binary, including sign magnitude, ones complement, and twos complement notations.

Uploaded by

kanurisubbarao
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

CS1100 – Introduction to Programming

Lecture 3

Instructor: Shweta Agrawal (shweta.a@[Link])


The Computing Machine

• The computer is made up of a processor and a memory.


The Computing Machine

• The computer is made up of a processor and a memory.


• The memory can be thought of as a series of locations to
store information.
The Computing Machine

• A program is a sequence of instructions assembled for some


given task.
• Most instructions operate on data.
• Some instructions control the flow of the operations.
The Computing Machine : von Neuman Architecture
A brief look into the history...
From Abacus to Apple

• Counting frame.
• One of the earliest form
of calculator.
• Still used by kids to do
fast simple arithmetic.
From Abacus to Apple

• Counting frame.
• One of the earliest form
of calculator.
• Still used by kids to do
fast simple arithmetic.

• Followed by mechanical calculators by B. Pascal (1642),


G. W. Leibniz (1671).
• Used cogs / interlocking gears.
• Performed +, −, ∗, /√.
• Leibniz is credited of creating the binary system.
Jaquard looms (1804)
Charles Babbage (1791–1871)

• Regarded as the “Father


of Computer”.
• Conceived of a machine
that has all the parts of a
modern computer, input,
a memory, a processor,
and an output (1850).
Difference Engine (1850)

Difference engine built from Babbage’s design


(London Science Museum).
Ada Lovlace (1815–1852)

• “Wrote” the description


of the mechanical
computer of Babbage.
• Regarded as the first
programmer ever.
• The programming
language ADA is named
after her.
Alan Turing (1912 – 1954)

• Father of Theoretical
Computer Science (TCS)
and Artificial Intelligence
(AI).
• Turing machine – a
model for a general
purpose computer.
• Turing test – how
intelligent is a machine?
First Electronic Computer : ENIAC 1946

• 50,000 vacuum
tubes, diodes,
relays, resistors,
capacitors.
• 5 million
hand-soldered
joints.
• Weighed 27 tons.
• Covered 167m2
area.
• Consumed 150
Electronic Numerical Integerator kW of power.
And Calculator.
1946 – 1976

Integrated Circuits
Transistors
1946 – 1976

Integrated Circuits
Transistors

Apple Macintosh
Today’s World : Core i7 Processor

2008-15: Intel Core i7 Processor


Clock speed: > 2.5 GHz
No. of Transistors: 0.731 − 1.3B
Doubles every two years (Moore’s law!)
Technology: 45 − 22nm CMOS Area: 263 − 181mm2 .
Nowadays: Multicore (as clock speed increased) with cooling units!
Modern computing devices
Data Centers: Processing/Storing Huge volume of data
Even Cooling them is a big deal ...
The Computing Machine : von Neuman Architecture
The Computing Machine

• A program is a sequence of instructions assembled for some


given task.
• Most instructions operate on data.
• Some instructions control the flow of the operations.
How does the computer represent data?

• To store : Numbers, text, graphics and images, video, audio,


program instructions.
How does the computer represent data?

• To store : Numbers, text, graphics and images, video, audio,


program instructions.
• In some way, all information is digitized - broken down into
pieces and represented as numbers.
How does the computer represent data?

• To store : Numbers, text, graphics and images, video, audio,


program instructions.
• In some way, all information is digitized - broken down into
pieces and represented as numbers.
• Example : Representing Text Digitally.
• Every character is stored as a number, including spaces, digits,
and punctuation.
• Corresponding upper and lower case letters are separate
characters.
The ASCII table
American Standard Code for Information Interchange (ASCII).
The ASCII table
American Standard Code for Information Interchange (ASCII).
But, how does number get stored?

Number Systems.
• Decimal (base 10 - uses 10 symbols {0 . . . 9}. Eg : 0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13 . . ..
But, how does number get stored?

Number Systems.
• Decimal (base 10 - uses 10 symbols {0 . . . 9}. Eg : 0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13 . . ..
• Unary (base 1 - uses 1 symbol)
Eg : 1, 11, 111, 1111, . . ..
But, how does number get stored?

Number Systems.
• Decimal (base 10 - uses 10 symbols {0 . . . 9}. Eg : 0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13 . . ..
• Unary (base 1 - uses 1 symbol)
Eg : 1, 11, 111, 1111, . . ..
• Binary (base 2) – uses 2 symbols {0,1})
Eg : 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010 . . .
But, how does number get stored?

Number Systems.
• Decimal (base 10 - uses 10 symbols {0 . . . 9}. Eg : 0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13 . . ..
• Unary (base 1 - uses 1 symbol)
Eg : 1, 11, 111, 1111, . . ..
• Binary (base 2) – uses 2 symbols {0,1})
Eg : 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010 . . .
• Octal (base 8 – uses 8 symbols {0 . . . 7})
Eg : 0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13 . . .
But, how does number get stored?

Number Systems.
• Decimal (base 10 - uses 10 symbols {0 . . . 9}. Eg : 0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13 . . ..
• Unary (base 1 - uses 1 symbol)
Eg : 1, 11, 111, 1111, . . ..
• Binary (base 2) – uses 2 symbols {0,1})
Eg : 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010 . . .
• Octal (base 8 – uses 8 symbols {0 . . . 7})
Eg : 0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13 . . .
• Hexadecimal(base 16 – uses A-F for 10-15)
Eg : 0, 1, ..., 9, A, B, C, D, E, F, 10, 11, ... 19, 1A, 1B, ...
But, how does number get stored?

Number Systems.
• Decimal (base 10 - uses 10 symbols {0 . . . 9}. Eg : 0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13 . . ..
• Unary (base 1 - uses 1 symbol)
Eg : 1, 11, 111, 1111, . . ..
• Binary (base 2) – uses 2 symbols {0,1})
Eg : 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010 . . .
• Octal (base 8 – uses 8 symbols {0 . . . 7})
Eg : 0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13 . . .
• Hexadecimal(base 16 – uses A-F for 10-15)
Eg : 0, 1, ..., 9, A, B, C, D, E, F, 10, 11, ... 19, 1A, 1B, ...
Quick Primer on Number System : Base n

Take every ”digit” and multiply by increasing powers of n and add.


Quick Primer on Number System : Base n

Take every ”digit” and multiply by increasing powers of n and add.


Converting from Decimal to Binary

Conver the decimal number 39 to binary (base 2).


Which Number System? Binary !

• Devices that store and process information are cheaper and


more reliable if they have to represent only two states.
Which Number System? Binary !

• Devices that store and process information are cheaper and


more reliable if they have to represent only two states.
• A single bit can represent two possible states, like a light bulb
that is either on (1) or off (0). Hence representable by even
voltage levels in wires.
Which Number System? Binary !

• Devices that store and process information are cheaper and


more reliable if they have to represent only two states.
• A single bit can represent two possible states, like a light bulb
that is either on (1) or off (0). Hence representable by even
voltage levels in wires.
• The other number systems can be ”encoded in” binary
Which Number System? Binary !

• Devices that store and process information are cheaper and


more reliable if they have to represent only two states.
• A single bit can represent two possible states, like a light bulb
that is either on (1) or off (0). Hence representable by even
voltage levels in wires.
• The other number systems can be ”encoded in” binary
Representing values in Binary

If we have m bits, we can represent 2m unique different values.


Representing values in Binary

If we have m bits, we can represent 2m unique different values.


A useful circle :
Representing negative numbers

Sign Magnitude notation


• Use one bit for sign, others for magnitude of the number.
Representing negative numbers

Sign Magnitude notation


• Use one bit for sign, others for magnitude of the number.

Sign Magn.
0 0 0 0
0 0 1 +1
0 1 0 +2
0 1 1 +3
1 0 0 0
1 0 1 -1
1 1 0 -2
1 1 1 -3
Representing negative numbers

Sign Magnitude notation


• Use one bit for sign, others for magnitude of the number.

Sign Magn.
0 0 0 0
0 0 1 +1
0 1 0 +2
0 1 1 +3
1 0 0 0
1 0 1 -1
1 1 0 -2
1 1 1 -3

• using n bits: −(2n−1 − 1) . . . (2n−1 − 1).


• zero has two representations.
Representing negative numbers
Ones complement notation
• for a negative number n, represent the number by the bit
complement of its binary rep. using k bits.
Representing negative numbers
Ones complement notation
• for a negative number n, represent the number by the bit
complement of its binary rep. using k bits.
Sign Magn. Ones comp.
0 0 0 0 0
0 0 1 +1 +1
0 1 0 +2 +2
0 1 1 +3 +3
1 0 0 0 -3
1 0 1 -1 -2
1 1 0 -2 -1
1 1 1 -3 0
Representing negative numbers
Ones complement notation
• for a negative number n, represent the number by the bit
complement of its binary rep. using k bits.
Sign Magn. Ones comp.
0 0 0 0 0
0 0 1 +1 +1
0 1 0 +2 +2
0 1 1 +3 +3
1 0 0 0 -3
1 0 1 -1 -2
1 1 0 -2 -1
1 1 1 -3 0
• using n bits: −(2n−1 − 1) . . . (2n−1 − 1).
• zero has two representations.
• not very widely used representation.
Representing negative numbers - A neat trick
Representing negative numbers - A neat trick
Representing negative numbers - A neat trick
Representing negative numbers - A neat trick
Twos complement notation
• for a positive number n, represent the number by its binary
rep. using k bits.
• for a negative number −n, represent the number as 2k − n.
Representing negative numbers - A neat trick
Twos complement notation
• for a positive number n, represent the number by its binary
rep. using k bits.
• for a negative number −n, represent the number as 2k − n.
Sign Magn. Ones comp. Twos comp.
0 0 0 0 0 0
0 0 1 +1 +1 +1
0 1 0 +2 +2 +2
0 1 1 +3 +3 +3
1 0 0 0 -3 -4
1 0 1 -1 -2 -3
1 1 0 -2 -1 -2
1 1 1 -3 0 -1
Representing negative numbers - A neat trick
Twos complement notation
• for a positive number n, represent the number by its binary
rep. using k bits.
• for a negative number −n, represent the number as 2k − n.
Sign Magn. Ones comp. Twos comp.
0 0 0 0 0 0
0 0 1 +1 +1 +1
0 1 0 +2 +2 +2
0 1 1 +3 +3 +3
1 0 0 0 -3 -4
1 0 1 -1 -2 -3
1 1 0 -2 -1 -2
1 1 1 -3 0 -1
• using n bits: −(2n−1 ) . . . (2n−1 − 1).
• widely used representation.
Representing negative numbers

Arithmetic with these representations

Sign Magn. Ones comp. Twos comp.


0 0 0 0 0 0
0 0 1 +1 +1 +1
0 1 0 +2 +2 +2
0 1 1 +3 +3 +3
1 0 0 0 -3 -4
1 0 1 -1 -2 -3
1 1 0 -2 -1 -2
1 1 1 -3 0 -1
Representing negative numbers

Arithmetic with these representations

Sign Magn. Ones comp. Twos comp.


0 0 0 0 0 0
0 0 1 +1 +1 +1
0 1 0 +2 +2 +2
0 1 1 +3 +3 +3
1 0 0 0 -3 -4
1 0 1 -1 -2 -3
1 1 0 -2 -1 -2
1 1 1 -3 0 -1

• 2 + (−3)
Representing negative numbers

Arithmetic with these representations

Sign Magn. Ones comp. Twos comp.


0 0 0 0 0 0
0 0 1 +1 +1 +1
0 1 0 +2 +2 +2
0 1 1 +3 +3 +3
1 0 0 0 -3 -4
1 0 1 -1 -2 -3
1 1 0 -2 -1 -2
1 1 1 -3 0 -1

• 2 + (−3)
• 3 + (−2)
More examples : The case of 4 bits
More examples : The case of 4 bits
More examples : The case of 4 bits

Overflow Detection Rule : If two numbers with the same sign


(both positive or both negative) are added, then overflow occurs if
and only if the binary representation of the result has the opposite
sign.
What to do?

How to Detect it? : The technique of overflow detection is easily


implemented in electronic circuitry, and it is a standard feature in
digital adder circuits.
How to Prevent it?: Use more bits!

You might also like