Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
27 views16 pages

L01 Introduction 3x

The document discusses computer system hierarchy and the von Neumann model. It describes six levels of the computer hierarchy from the user level down to the digital logic level. It then explains the characteristics and components of the von Neumann model including fetching, decoding, and executing instructions in a sequential manner.

Uploaded by

sshahaz.2023
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)
27 views16 pages

L01 Introduction 3x

The document discusses computer system hierarchy and the von Neumann model. It describes six levels of the computer hierarchy from the user level down to the digital logic level. It then explains the characteristics and components of the von Neumann model including fetching, decoding, and executing instructions in a sequential manner.

Uploaded by

sshahaz.2023
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
You are on page 1/ 16

1/28/2016

Introduction, Data Representation I

CMSC 313
Sections 01, 02

[Review of Syllabus, Web pages]

Four Components of a Computer System

Adapted fm Silberschatz, Galvin & Gagne, 2013

1
1/28/2016

1.6 The Computer Level Hierarchy

• Computers consist of many things besides


chips.
• Before a computer can do anything worthwhile,
it must also use software.
• 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.

1.6 The Computer Level Hierarchy

• 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.

1.6 The Computer Level Hierarchy

• 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.

2
1/28/2016

1.6 The Computer Level Hierarchy

• 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.

1.6 The Computer Level Hierarchy

• 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.

1.6 The Computer Level Hierarchy

• Level 1: Control Level


– A control unit decodes and executes instructions
and moves data through the system.
– Control units can be microprogrammed or
hardwired.
– A microprogram 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.

3
1/28/2016

1.6 The Computer Level Hierarchy

• 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.

10

1.8 The von Neumann Model

• On the ENIAC, all programming was done at


the digital logic level.
• Programming the computer involved moving
plugs and wires.
• A different hardware configuration was needed
to solve every unique problem type.

Configuring the ENIAC to solve a “simple” problem


required many days labor by skilled technicians.

11

1.8 The von Neumann Model


• Inventors of the ENIAC, John Mauchley and
J. Presper Eckert, conceived of a computer
that could store instructions in memory.
• The invention of this idea has since been
ascribed to a mathematician, John von
Neumann, who was a contemporary of
Mauchley and Eckert.
• Stored-program computers have become
known as von Neumann Architecture systems.

12

4
1/28/2016

1.8 The von Neumann Model


• Today’s stored-program computers have the
following characteristics:
– Three hardware systems:
• A central processing unit (CPU)
• A main memory system
• An I/O system
– The capacity to carry out sequential instruction
processing.
– A single data path between the CPU and main memory.
• This single path is known as the von Neumann
bottleneck.

13

4.3 The Bus

14

4.3 The Bus


• A multipoint bus is shown below.
• Because a multipoint bus is a shared resource,
access to it is controlled through protocols, which
are built into the hardware.

15

5
1/28/2016

1.8 The von Neumann Model

• This is a general
depiction of a von
Neumann system:

• These computers
employ a fetch-
decode-execute
cycle to run
programs as
follows . . .

16

1.8 The von Neumann Model

• The control unit fetches the next instruction from memory using
the program counter to determine where the instruction is
located.

17

1.8 The von Neumann Model


• The instruction is decoded into a language that the ALU
can understand.

18

6
1/28/2016

1.8 The von Neumann Model

• Any data operands required to execute the instruction


are fetched from memory and placed into registers
within the CPU.

19

1.8 The von Neumann Model

• The ALU executes the instruction and places results in


registers or memory.

20

BASE CONVERSION

21

7
1/28/2016

2.1 Introduction

• A bit is the most basic unit of information in a


computer.
– It is a state of “on” or “off” in a digital circuit.
– Sometimes these states are “high” or “low” voltage
instead of “on” or “off..”
• A byte is a group of eight bits.
– A byte is the smallest possible addressable unit of
computer storage.
– The term, “addressable,” means that a particular
byte can be retrieved according to its location in
memory.

22

2.1 Introduction

• A word is a contiguous group of bytes.


– Words can be any number of bits or bytes.
– Word sizes of 16, 32, or 64 bits are most common.
– In a word-addressable system, a word is the
smallest addressable unit of storage.
• A group of four bits is called a nibble.
– Bytes, therefore, consist of two nibbles: a “high-
order nibble,” and a “low-order” nibble.

23

2.2 Positional Numbering Systems

• Bytes store numbers using the position of each


bit to represent a power of 2.
– The binary system is also called the base-2
system.
– Our decimal system is the base-10 system. It
uses powers of 10 for each position in a number.
– Any integer quantity can be represented exactly
using any base (or radix).

24

8
1/28/2016

2.2 Positional Numbering Systems

• The decimal number 947 in powers of 10 is:

9  102 + 4  101 + 7  100

• The decimal number 5836.47 in powers of 10 is:

5  103 + 8  102 + 3  101 + 6  100


+ 4  10-1 + 7  10-2

25

2.2 Positional Numbering Systems

• The binary number 11001 in powers of 2 is:


1  24 + 1  23 + 0  22 + 0  21 + 1  20
= 16 + 8 + 0 + 0 + 1 = 25

• When the radix of a number is something other


than 10, the base is denoted by a subscript.
– Sometimes, the subscript 10 is added for emphasis:
110012 = 2510

26

2.3 Converting Between Bases

• Because binary numbers are the basis for all data


representation in digital computer systems, it is
important that you become proficient with this radix
system.
• Your knowledge of the binary numbering system
will enable you to understand the operation of all
computer components as well as the design of
instruction set architectures.

27

9
1/28/2016

2.3 Converting Between Bases

• In an earlier slide, we said that every integer value


can be represented exactly using any radix
system.
• There are two methods for radix conversion: the
subtraction method and the division remainder
method.
• The subtraction method is more intuitive, but
cumbersome. It does, however reinforce the ideas
behind radix mathematics.

28

2.3 Converting Between Bases


• Suppose we want to
convert the decimal
number 190 to base 3.
– We know that 3 5 = 243
so our result will be less
than six digits wide. The
largest power of 3 that
we need is therefore 3 4
= 81, and 81  2 =
162.
– Write down the 2 and
subtract 162 from 190,
giving 28.
29

2.3 Converting Between Bases

• Converting 190 to base 3...


– The next power of 3 is
3 3 = 27. We’ll need one
of these, so we subtract
27 and write down the
numeral 1 in our result.
– The next power of 3, 3 2
= 9, is too large, but we
have to assign a
placeholder of zero and
carry down the 1.

30

10
1/28/2016

2.3 Converting Between Bases


• Converting 190 to base 3...
– 3 1 = 3 is again too
large, so we assign a
zero placeholder.
– The last power of 3, 3 0
= 1, is our last choice,
and it gives us a
difference of zero.
– Our result, reading from
top to bottom is:
19010 = 210013

31

2.3 Converting Between Bases

• Another method of converting integers from


decimal to some other radix uses division.
• This method is mechanical and easy.
• It employs the idea that successive division by a
base is equivalent to successive subtraction by
powers of the base.
• Let’s use the division remainder method to again
convert 190 in decimal to base 3.

32

2.3 Converting Between Bases

• Converting 190 to base 3...


– First we take the number
that we wish to convert
and divide it by the radix
in which we want to
express our result.
– In this case, 3 divides
190 63 times, with a
remainder of 1.
– Record the quotient and
the remainder.

33

11
1/28/2016

2.3 Converting Between Bases

• Converting 190 to base 3...


– 63 is evenly divisible by
3.
– Our remainder is zero,
and the quotient is 21.

34

2.3 Converting Between Bases

• Converting 190 to base 3...


– Continue in this way until
the quotient is zero.
– In the final calculation, we
note that 3 divides 2 zero
times with a remainder of
2.
– Our result, reading from
bottom to top is:
19010 = 210013

35

2.3 Converting Between Bases

• The binary numbering system is the most


important radix system for digital computers.
• However, it is difficult to read long strings of binary
numbers -- and even a modestly-sized decimal
number becomes a very long binary number.
– For example: 110101000110112 = 1359510
• For compactness and ease of reading, binary
values are usually expressed using the
hexadecimal, or base-16, numbering system.

36

12
1/28/2016

2.3 Converting Between Bases

• The hexadecimal numbering system uses the


numerals 0 through 9 and the letters A through F.
– The decimal number 12 is C16.
– The decimal number 26 is 1A16.
• It is easy to convert between base 16 and base 2,
because 16 = 24.
• Thus, to convert from binary to hexadecimal, all
we need to do is group the binary digits into
groups of four.

A group of four binary digits is called a hextet

37

2.3 Converting Between Bases

• Using groups of hextets, the binary number


110101000110112 (= 1359510) in hexadecimal is:
If the number of bits is not a
multiple of 4, pad on the left
with zeros.

• Octal (base 8) values are derived from binary by


using groups of three bits (8 = 2 3):

Octal was very useful when computers used six-bit words.

38

2.3 Converting Between Bases

• Fractional values can be approximated in all


base systems.
• Unlike integer values, fractions do not
necessarily have exact representations under all
radices.
• The quantity ½ is exactly representable in the
binary and decimal systems, but is not in the
ternary (base 3) numbering system.

39

13
1/28/2016

2.3 Converting Between Bases

• Fractional decimal values have nonzero digits to


the right of the decimal point.
• Fractional values of other radix systems have
nonzero digits to the right of the radix point.
• Numerals to the right of a radix point represent
negative powers of the radix:
0.4710 = 4  10 -1 + 7  10 -2
0.112 = 1  2 -1 + 1  2 -2
= ½ + ¼
= 0.5 + 0.25 = 0.75

40

2.3 Converting Between Bases

• As with whole-number conversions, you can use


either of two methods: a subtraction method or an
easy multiplication method.
• The subtraction method for fractions is identical to
the subtraction method for whole numbers.
Instead of subtracting positive powers of the target
radix, we subtract negative powers of the radix.
• We always start with the largest value first, n -1,
where n is our radix, and work our way along
using larger negative exponents.

41

2.3 Converting Between Bases

• The calculation to the


right is an example of
using the subtraction
method to convert the
decimal 0.8125 to
binary.
– Our result, reading
from top to bottom is:
0.812510 = 0.11012
– Of course, this
method works with
any base, not just
42
binary.

14
1/28/2016

2.3 Converting Between Bases

• Using the multiplication


method to convert the
decimal 0.8125 to binary,
we multiply by the radix 2.
– The first product carries
into the units place.

43

2.3 Converting Between Bases

• Converting 0.8125 to
binary . . .

– Ignoring the value in


the units place at
each step, continue
multiplying each
fractional part by the
radix.

44

2.3 Converting Between Bases

• Converting 0.8125 to binary . . .


– You are finished when the
product is zero, or until you
have reached the desired
number of binary places.
– Our result, reading from top
to bottom is:
0.812510 = 0.11012
– This method also works with
any base. Just use the target
radix as the multiplier.

45

15
1/28/2016

Convert Base 6 to Base 10

123.456 = ???.?? 10
1236 = 1*6210 [1*3610] +
2*6110 [2*610] +
3*6010 [3*110] =
5110
0.456 = 4*6-110 [4*1/610] +
5*6-210 [5*1/3610] =
.80555…10
123.456 = 51.80555…10
46
Adapted fromm R. Chang

Convert Base 10 to Base 6

754.9410 = 3254.5 35012 35012 35012...6


754 / 6 = 125 remainder 4
125 / 6 = 20 remainder 5
20 / 6 = 3 remainder 2
3 / 6 = 0 remainder 3

32546 = 3 x 21610 + 2 x 3610 + 5 x 610 + 4 x 110


= 75410

47
Adapted fromm R. Chang

Convert Base 10 to Base 6

.9410 = ???.???6
0.94 x 6 = 5.64 --> 5
0.64 x 6 = 3.84 --> 3
0.84 x 6 = 5.04 --> 5
0.04 x 6 = 0.24 --> 0
0.24 x 6 = 1.44 --> 1
0.44 x 6 = 2.64 --> 2
0.64 x 6 = 3.84 --> 3

0.9410 = 0.5 35012 35012 35012...6


5/6 + 3/36 + 5/216 + 0 + 1/65 + 2/66 = 0.939986282...10

48
Adapted fromm R. Chang

16

You might also like