0% found this document useful (0 votes)
75 views

Computer Organization and Assembly Language: Lecture 1 - Basic Concepts

The document discusses computer organization and assembly language. It covers levels of abstraction, the Intel microprocessor family from the 8080 to Pentium, number systems including binary, hexadecimal and conversions between them. It also discusses Boolean values, operators and functions.
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)
75 views

Computer Organization and Assembly Language: Lecture 1 - Basic Concepts

The document discusses computer organization and assembly language. It covers levels of abstraction, the Intel microprocessor family from the 8080 to Pentium, number systems including binary, hexadecimal and conversions between them. It also discusses Boolean values, operators and functions.
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/ 13

Computer Organization and Assembly

Language
Lecture 1 Basic Concepts

Virtual Machine
High-level language

Level 5

Assembly language

Level 4

Operating System

Level 3

Instruction Set Arch.

Level 2

Microarchitecture

Level 1

Digital Logic

Level 0

The Intel Microprocessor Family


The Intel family owes its origins to the 8080, an 8-bit
processor which could only access 64 kilobytes of
memory.
The 8086 (1978) had 16-bit registers, a 16-bit data bus, 20bit memory using segmented memory. The IBM PC used
the 8088, which was identical except it used an 8-bit data
bus.
8087 - a math co-processor that worked together with the
8086/8088. Without it, floating point arithmetic require
complex software routines.
80286 - ran in real mode (like the 8086/8088) or in
protected mode could access up tp 16MB using 24-bit
addressing with a clock spped between 12 and 25 MHz. Its
math co-processor was the 80287.

The Intel Microprocessor Family (continued)


80386 or i386 (1985) - used 32-bit registers and a 32-bit
data bus. It could operate in real, protected or virtual
mode. In virtual mode, multiple real-mode programs could
be run.
i486 - The instruction set was implemented with up to 5
instructions fetched and decoded at once. SX version had
its FPU disabled.
The Pentium processor had an original clock speed of 90
MHz and cold decode and executed two instructions at the
same time, using dual pipelining.

Number Systems - Base 10


The number system that we use is base 10:
1734 = 1000 + 700 + 30 + 4
= 1x1000 + 7x100 + 3x10 + 4x1
= 1x103 + 7x102 + 3x101 + 4x100

724.5 = 7x100 + 2x10 + 4x1 + 5x0.1


= 7x102 + 2x101 + 4x100 + 5x10-1

Why use base 10?

Number Systems - Base 2


For computers, base 2 is more convenient (why?)
100112 = 1x16 + 0x8 + 0x4 + 1x2 + 1x1 = 1910
1000102 = 1x32 + 0x16 + 0x8 + 0x4 + 1x2 + 0x1 = 3410
101.0012 = 1x4 + 0x2 + 1x1 + 0x0.5 + 0x0.25 + 1x0.125
= 5.12510
Example -

11010112 = ?
101101112 = ?
10100.11012 = ?

Number Systems - Base 16


Hexadecimal (base 16) numbers are commonly used
because it is convert them into binary (base 2) and vice
versa.
8CE16 = 8x256 + 12x16 + 14x1
= 2048 + 192 + 14
= 2254

3F9

= 3x256 + 15x16 + 9x1


= 768 + 240 + 9 = 1017

Number Systems - Base 16 (continued)


Base 2 is easily converted into base 16:
1000110011102 = 1000 1100 1110 = 8 C E 16
111011011101010012 = 1 1101 1011 1010 1001 = 1 D B A 916
101100010100000101112 = ?16
1011010100101110112 = ?16

Number Systems - Base 16 (continued)


Converting base 16 into base 2 works the same way:
F3A516 = 1111 0011 1010 01012
76EF16 = 0111 0110 1110 11112
AB3D16 = ?2
15C.3816 = ?2

Converting From Decimal to Binary


19
9R1
4R1
2R0
1R0
0R1

100112

Converting From Decimal to Binary


34

1000102

17 R 0
8R1
4R0
2R0
1R0
0R1

Converting From Binary to Decimal


10010102 = 1x64 + 0x32 + 0x16 + 1x8 + 0x4 + 1x2 + 0x1
= 64 + 8 + 2 = 7410
11011010112 = 1x512 + 1x256 + 0x128 + 1x64 + 1x32
+ 0x16 + 8x1 + 0x4 + 1x2 + 1x1
= 512 + 256 + 64 + 32 + 8 + 2 + 1 = 87510

Signed numbers
0

= 7510

= -7510

sign bit

sign bit

01001011
10110101
1 00000000

overflow bit

Binary Bit Position Values


20

28

256

21

29

512

22

210

1024

23

211

2048

24

16

212

4096

25

32

213

8192

26

64

214

16384

27

128

215

32768

Binary, Decimal and Hexadecimal Equivalents


Binary

Decimal

Hex.

0000

Binary
1000

Decimal
8

Hex.
8

0001

1001

0010

1010

10

0011

10111

11

0100

1100

12

0101

1101

13

0110

1110

14

0111

1111

15

Types of Numbers
Storage Type

Bits

Range (low-high)

Signed byte

-128 to +127

Unsigned byte

0 to 255

Signed word

15

-32,768 to +32,767

Unsigned word

16

0 to 65,535

Signed doubleword

31

-2,147,483,648 to +2,147,483,648

Unsigned doubleword

32

0 to 4,294, 967,295

Signed quadword

63

-9,223,372,036,854,775,808 to
+9,223,372,036,854,775,807

Unsigned quadword

64

0 to 8,446,744,073,709,551,615

ASCII representation of characters

ASCII (American Standard Code for Information Interchange) is a


numeric code used to represent characters.
All characters are represented this way including:
words (character strings)
numbers
punctuation
control characters
There are separate values for upper case and lower case characters:
A
65
z
122
blank
32
B
66
Z
90
$
52
a
97
0
48
b
98
9
57x

Boolean Values and Expressions


A boolean value is either true or false
Boolean expressions involve boolean values and
boolean operators.
There are three primary boolean operators about
which we are interested:
NOT
AND
OR

The NOT Operator


x

~x

The AND Operator


X

X Y

The OR Operator
X

XY

Operator Precedence
NOT
AND
OR
Examples:
~x y
~(x y)
x (y z)

Higher
precedence

NOT, then OR
OR, then NOT
AND, then OR

Boolean Functions An Example


Boolean functions take boolean inputs and produce boolean
outputs, e.g., ~x y

~x

~x y

Boolean Functions Another Example


E. g., x ~y

~Y

~x y

One Last Example - (y s) (x ~s)


x
F
F
F
F
T
T
T
T

y
F
F
T
T
F
F
T
T

s y s ~s
F
F
T
T
F
F
F
F
T
T
T
F
F
F
T
T
F
F
F
F
T
T
T
F

x ~s (y s) (x ~s)
F
F
F
F
F
F
F
T
T
T
T
T
F
F
F
T

You might also like