Tải bản đầy đủ (.pdf) (15 trang)

Chương I: Nhập môn kiến trúc máy tính pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.21 MB, 15 trang )

Kiến trúc máy tính & Hợp ngữ
Chương 1: Nhập môn KTMT 1
1
KI
KI


N TR
N TR
Ú
Ú
C M
C M
Á
Á
Y T
Y T
Í
Í
NH
NH
& H
& H


P NG
P NG


Lý thuyết: 40 tiết (KTMT: 30 + HN: 10)
Thực hành : 10 tiết (5t x 2)


Khối lớp: Cao đẳng, Đại học
2
Nguyễn Thị Mỹ Dung – Khoa CNTT
N
N


I DUNG MÔN H
I DUNG MÔN H


C
C
Chương I: Nhập môn kiến trúc máy tính
Chương II: Kiến trúc phần mềm bộ xử lý
Chương III: Tổ chức bộ xử lý
Chương IV: Các cấp bộ nhớ
Chương V: Các bus máy tính
Chương VI: Quá trình vào ra và các thiết bị ngoại vi
Chương VII: Hợp ngữ
3
Nguyễn Thị Mỹ Dung – Khoa CNTT
Chương I
Chương I
: Nh
: Nh


p môn ki
p môn ki

ế
ế
n tr
n tr
ú
ú
c m
c m
á
á
y t
y t
í
í
nh
nh
Số tiết: 10
Nội dung:
I. Một số khái niệm và nguyên lý cơ bản
II. Lịch sử phát triển và ứng dụng của máy tính
III. Thông tin và mã hoá thông tin
4
Nguyễn Thị Mỹ Dung – Khoa CNTT
I. M
I. M


t s
t s



kh
kh
á
á
i ni
i ni


m v
m v
à
à
nguyên lý cơ b
nguyên lý cơ b


n
n
a/ Nguyên tắc tổ chức và phân loại MTĐT
MTĐT được phân làm 2 loại (dựa vào nguyên
lý hoạt động): máy tính tương tự (analog computer)
và máy tính số (digital computer).
Máy tính gồm 2 phần: phần cứng và phần mềm
b/ Ngôn ngữ máy và cấp kiến trúc máy tính
Ngôn ngữ cao hơn phải được chạy trên cấp
ngôn ngữ thấp hơn hoặc phải được dịch sang ngôn
ngữ khác có cấp thấp hơn.
Biên dịch?
Thông dịch?

Kiến trúc máy tính & Hợp ngữ
Chương 1: Nhập môn KTMT 2
5
Nguyễn Thị Mỹ Dung – Khoa CNTT
Ngôn ng
Ngôn ng


m
m
á
á
y (tt)
y (tt)
- Biên dịch: chuyển các lệnh từ ngôn ngữ cấp cao
thành các chuỗi của cấp ngôn ngữ máy và thực hiện
các lệnh trên cấp ngôn ngữ máy.
- Thông dịch: một lệnh trong chương trình cấp cao sẽ
được xem như đầu vào của chương trình cấp ngôn
ngữ máy và toàn bộ chương trình cấp cao sẽ thực thi
lần lượt từng lệnh một.
6
Nguyễn Thị Mỹ Dung – Khoa CNTT
M
M


t s
t s



kh
kh
á
á
i ni
i ni


m (2)
m (2)
c/ Quan hệ giữa phần cứng và phần mềm – Tổ
chức máy tính nhiều cấp
Cấp ngôn ngữ bậc cao
và hướng đối tượng
Cấp hợp ngữ
Cấp máy hệ điều hành
Cấp vi lệnh
(lệnh vi mô)
Cấp logic số
(Các mạch điện tử số)
Trình biên dịch
Trình hợp dịch
Dịch một phần
Dịch một phần
Cấp lệnh máy
(lệnh vĩ mô)
Các vi chương trình
5
4

3
2
1
0
7
Nguyễn Thị Mỹ Dung – Khoa CNTT
II. L
II. L


ch s
ch s


ph
ph
á
á
t tri
t tri


n &
n &


ng d
ng d



ng c
ng c


a MT
a MT
1/ Lịch sử phát triển
Trong quá trình phát triển của máy tính điện tử
số có hàng trăm loại máy tính khác nhau và có thể
chia thành 4 thế hệ:
- Thế hệ thứ nhất (1945 – 1955)
- Thế hệ thứ hai (1955 – 1965)
- Thế hệ thứ ba (1965 – 1980)
- Thế hệ thứ tư (1980 – đến nay)
8
Nguyễn Thị Mỹ Dung – Khoa CNTT
L
L


ch s
ch s


ph
ph
á
á
t tri
t tri



n (tt)
n (tt)
Thế hệ thứ nhất – Các máy tính dùng đèn điện tử chân
không
Năm 1943, tại trường ĐH Pensylvania, máy tính điện
đa năng đầu tiên ra đời có tên ENIAC do J. Presper và John
Mauchlay thiết kế.
- Trọng lượng: nặng 30 tấn.
- Kích thước: dài 30,48m, cao 2,5m
- Sử dụng 18.000 đèn điện tử, 1.500 rơ-le, công suất
tiêu thụ: 140KW/h.
- Xử lý theo số thập phân, tính 5000 phép cộng / giây.
- Lập trình bằng cách chuyển vị trí các chuyển mạch và
cáp nối.
Kiến trúc máy tính & Hợp ngữ
Chương 1: Nhập môn KTMT 3
9
Nguyễn Thị Mỹ Dung – Khoa CNTT
ENIAC (tt)
ENIAC (tt)
10
Nguyễn Thị Mỹ Dung – Khoa CNTT
Th
Th
ế
ế
h
h



th
th


nh
nh


t (tt)
t (tt)
Máy tính Von Neumann – mô hình cơ bản
cho hầu hết các máy tính đến ngày nay.
- Năm 1947, máy tính IAS (Princeton Institute
for Advanced Studies) do Von Neumann thiết kế.
- Máy tính gồm 5 phần: bộ nhớ, đơn vị tính toán
số học, đơn vị điều khiển chương trình, thiết bị vào
và ra.
- Bộ nhớ chính được đánh địa chỉ theo từng
ngăn chứa và không phụ thuộc vào nội dung của nó.
Bộ nhớ chính còn chứa dữ liệu và chương trình.
- Đơn vị điều khiển nhận lệnh từ bộ nhớ, giải
mã và thực thi một cách tuần tự.
11
Nguyễn Thị Mỹ Dung – Khoa CNTT
M
M
á
á

y Von Neumann
y Von Neumann
12
Nguyễn Thị Mỹ Dung – Khoa CNTT
L
L


ch s
ch s


ph
ph
á
á
t tri
t tri


n (tt)
n (tt)
 Thế hệ máy tính thứ hai – Các máy tính dùng
Transistor
- Năm 1961, máy tính PDP -1 ra đời. Bộ nhớ 4k
từ 18bit. Giá thành: 120.000 USD
- Máy tính mini IBM (7090, 7094), sử dụng công
nghệ thẻ đục lỗ. Bộ nhớ 32k từ 36bit. Giá thành: vài
triệu USD.
- Năm 1964, CDC cho ra đời máy 6600 với cơ

chế xử lý song song.
Các máy tính trong thế hệ này thực hiện hàng
trăm nghìn phép cộng / giây. Các ngôn ngữ lập trình
bậc cao cũng ra đời.
Kiến trúc máy tính & Hợp ngữ
Chương 1: Nhập môn KTMT 4
13
Nguyễn Thị Mỹ Dung – Khoa CNTT
M
M
á
á
y t
y t
í
í
nh th
nh th
ế
ế
h
h


th
th


hai (tt)
hai (tt)

14
Nguyễn Thị Mỹ Dung – Khoa CNTT
L
L


ch s
ch s


ph
ph
á
á
t tri
t tri


n (tt)
n (tt)
 Thế hệ máy tính thứ ba – Các máy tính dùng vi mạch SSI,
MSI và LSI
Vi mạch (Integrated Circuit – IC): nhiều transistor và các
phần tử khác được tích hợp trên một chip bán dẫn. Bao gồm
các loại: SSI, MSI, LSI
- VLSI (Very Large Scale Integration): chủ yếu dùng cho
máy tính thế hệ thứ tư.
Một số siêu máy tính xuất hiện trong giai đoạn này:
CRAY-1, VAX.
Cũng trong thời kỳ này bộ vi xử lý ra đời

(microprocessor). Bộ VXL đầu tiên vào 1971: Intel 4004.
Cho phép đa lập trình: một vài chương trình đang chờ
nhập/ xuất thì chương trình khác có thể tính toán.
15
Nguyễn Thị Mỹ Dung – Khoa CNTT
L
L


ch s
ch s


ph
ph
á
á
t tri
t tri


n (tt)
n (tt)
 Thế hệ máy tính thứ tư – Các máy tính cá nhân và
vi mạch VLSI
Vi mạch có độ tích hợp rất lớn VLSI chứa vài
chục, vài trăm và hơn nữa là vài triệu transistor trên
một chip đơn.
Thế hệ máy vi tính ra đời (xử lý văn bản, tính
toán, và thực hiện các ứng dụng khác).

Có thể chia làm 4 loại máy tính (dựa trên kích
thước vật lý): Máy vi tính (hay máy tính cá nhân),
máy tính nhỏ, máy tính lớn, các siêu máy tính.
16
Nguyễn Thị Mỹ Dung – Khoa CNTT
M
M
á
á
y t
y t
í
í
nh th
nh th
ế
ế
h
h


th
th




(tt)
(tt)
Kiến trúc máy tính & Hợp ngữ

Chương 1: Nhập môn KTMT 5
17
Nguyễn Thị Mỹ Dung – Khoa CNTT
L
L


ch s
ch s


ph
ph
á
á
t tri
t tri


n (tt)
n (tt)
2/ Các lĩnh vực ứng dụng của máy tính
- Xử lý dữ liệu: thanh toán tiền lương.
- Xử lý số: xử lý dữ liệu dưới dạng ký hiệu, tính
toán với số liệu cực lớn, với độ sai số cực nhỏ. Các
máy tính này phải mạnh, bxl đắt, bộ nhớ truy cập
nhanh, thiết bị ngoại vi và bộ nhớ ngoài hiện đại.
- Đo lường và điều khiển tự động: máy tính
được chế tạo trên một chip được lắp đặt trong các
thiết bị khác.

18
Nguyễn Thị Mỹ Dung – Khoa CNTT
III. Thông tin v
III. Thông tin v
à
à
mã h
mã h
ó
ó
a thông tin
a thông tin
1/ Khái niệm thông tin
Thông tin gắn liền với sự hiểu biết một trạng
thái cho sẵn trong nhiều trạng thái có thể có vào một
thời điểm cho trước.
Có 2 trạng thái có ý nghĩa: trạng thái thấp khi
hiệu điện thế thấp hơn V
L
và trạng thái cao khi hiệu
điện thế lớn hơn V
H
.
19
Nguyễn Thị Mỹ Dung – Khoa CNTT
Mã ho
Mã ho
á
á
thông tin (2)

thông tin (2)
2/ Khái niệm lượng thông tin
Thông tin được đo lường bằng đơn vị thông tin
mà ta gọi là bit. Lượng thông tin được định nghĩa bởi
công thức:
I = Log
2
(N)
Trong đó : I : là lượng thông tin tính bằng bit
N : tổng số trạng thái có thể có
Ví dụ:
Sự hiểu biết thông tin trong 8 trạng thái có thể
ứng với một lượng thông tin là:
I = Log
2
(8) = 3bit
20
Nguyễn Thị Mỹ Dung – Khoa CNTT
Mã ho
Mã ho
á
á
thông tin (2)
thông tin (2)
3. Các hệ đếm liên quan đến máy tính
a/ Các hệ đếm:
Trong tin học người ta thường sử dụng các hệ đếm:
 Hệ đếm nhị phân (hệ 2 – Bin)
Bao gồm 2 con số: 0, 1
 Hệ thập phân (hệ 10 – Dec)

Bao gồm 10 con số: 0, 1, 2, … , 9
 Hệ bát phân (hệ 8 – Oct)
Bao gồm 8 con số: 0, 1, 2, 3, 4, 5, 6, 7
 Hệ thập lục phân (hệ 16 – Hex)
Bao gồm 16 ký hiệu: 0, 1, 2, …, 9, A, B, C, D, E, F
Kiến trúc máy tính & Hợp ngữ
Chương 1: Nhập môn KTMT 6
21
Nguyễn Thị Mỹ Dung – Khoa CNTT
C
C
á
á
c h
c h


đ
đ
ế
ế
m liên quan đ
m liên quan đ
ế
ế
n m
n m
á
á
y t

y t
í
í
nh (4)
nh (4)
b/ Biến đổi hệ đếm bất kỳ sang hệ thập phân
Công thức tổng quát:
- Số nguyên:
N
a
= n
1
*a
m-1
+ n
2
*a
m-2
+ ……+ n
m
*a
0
(với a: là hệ đếm
N= n
1
n
2
…n
m
)

- Số thực:
N,P
a
= n
1
*a
m-1
+ n
2
*a
m-2
+ ……+ n
m
*a
0
+ p
1
*a
-1
+ p
2
*a
-2
+ … + p
x
*a
-x
(với a: là hệ đếm
N= n
1

n
2
…n
m
P = p
1
p
2
…p
x
)
22
Nguyễn Thị Mỹ Dung – Khoa CNTT
C
C
á
á
c h
c h


đ
đ
ế
ế
m liên quan đ
m liên quan đ
ế
ế
n m

n m
á
á
y t
y t
í
í
nh (5)
nh (5)
Ví dụ:
- Số nguyên:
11011011
2
= 219
10
76320
8
= 31952
10
AB92
16
= 43922
10
- Số thực:
1111 0001,011
2
= 241,375
10
123,25
8

= 83,328125
10
9AFF,175
16
= 39679,091064453125
10
23
Nguyễn Thị Mỹ Dung – Khoa CNTT
C
C
á
á
c h
c h


đ
đ
ế
ế
m liên quan đ
m liên quan đ
ế
ế
n m
n m
á
á
y t
y t

í
í
nh (6)
nh (6)
c/ Biến đổi hệ thập phân sang hệ đếm bất kỳ
Dạng tổng quát:
- Số nguyên
N
10
/a (chia đến kết quả bằng 0, lấy phần dư từ
dưới lên)
với a là hệ đếm tương ứng.
Ví dụ: 37
10
= 100101
2
24
Nguyễn Thị Mỹ Dung – Khoa CNTT
C
C
á
á
c h
c h


đ
đ
ế
ế

m liên quan đ
m liên quan đ
ế
ế
n m
n m
á
á
y t
y t
í
í
nh (7)
nh (7)
- Số thực
N,P
a
=
+ Biểu diễn phần nguyên (N) giống số nguyên.
+ Biểu diễn phần lẻ (P):
Lấy phần lẻ nhân cho hệ đếm giữ lại phần
nguyên.
Ví dụ: 0,25
10
= 0,01
2
= 0,2
8
= 0,4
16

d/ Biến đổi trong các hệ đếm đặc biệt
Biến đổi từ hệ đếm 2 sang hệ đếm 16
Kiến trúc máy tính & Hợp ngữ
Chương 1: Nhập môn KTMT 7
25
Nguyễn Thị Mỹ Dung – Khoa CNTT
C
C
á
á
c h
c h


đ
đ
ế
ế
m liên quan đ
m liên quan đ
ế
ế
n m
n m
á
á
y t
y t
í
í

nh (8)
nh (8)
Quy tắc:
- Đối với số nhị phân: Gộp các chữ số nhị phân
thành từng nhóm 4 số tính từ bên phải (trước dấu
thập phân) đối với phần nguyên, tính từ bên trái (sau
dấu thập phân) đối với phần lẻ.
- Đối với số thập lục phân: Thay thế các ký hiệu
của hệ đếm 16 thành hệ đếm 2.
Ví dụ: A01
16
= 101000000001
2
11101011 = EB
16
A01,2 = 101000000001,0010
2
11101011,0111 = EB,7
16
Bảng chuyển đổi
26
Nguyễn Thị Mỹ Dung – Khoa CNTT
C
C
á
á
c h
c h



đ
đ
ế
ế
m liên quan đ
m liên quan đ
ế
ế
n m
n m
á
á
y t
y t
í
í
nh (9)
nh (9)
F111170111
E111060110
D110150101
C110040100
B101130011
A101020010
9100110001
8100000000
Thập lục
phân
Nhị phânThập lục
phân

Nhị phân
27
Nguyễn Thị Mỹ Dung – Khoa CNTT
C
C
á
á
c h
c h


đ
đ
ế
ế
m liên quan đ
m liên quan đ
ế
ế
n m
n m
á
á
y t
y t
í
í
nh (13)
nh (13)
Bài 2.3, 2.4, 2.5, 2.6 trang 67  68

Bài 2.3
a/ 15
10
= 1111
2
b/ 42
10
= 101010
2
c/ 235
10
= 1110 1011
2
d/ 4090
10
= 1111 1111 1010
2
e/ 40900
10
= 1001 1111 1100 0100
2
f/ 65530
10
= 1111 1111 1111 1010
2
Bài 2.4
a/ 1110110
2
= 118
10

b/ 11011
2
= 27
10
c/ 11111110111
2
= 2039
10
28
Nguyễn Thị Mỹ Dung – Khoa CNTT
C
C
á
á
c h
c h


đ
đ
ế
ế
m liên quan đ
m liên quan đ
ế
ế
n m
n m
á
á

y t
y t
í
í
nh (14)
nh (14)
Bài 2.5
a/ 1,5
10
= 1,1
2
b/ 1024,0625 = 10000000000,0001
2
c/ 3,141592 = 11,001001…
2
Bài 2.6
a/ 1,1
2
= 1,5
10
b/ 0,001
2
= 0,125
10
c/ 11011,101010
2
= 27,65625
10
d/ 111,111111
2

= 7,984375
10
Kiến trúc máy tính & Hợp ngữ
Chương 1: Nhập môn KTMT 8
29
Nguyễn Thị Mỹ Dung – Khoa CNTT
C
C
á
á
c ph
c ph
é
é
p t
p t
í
í
nh s
nh s


h
h


c v
c v
à
à

logic (2)
logic (2)
4. Biểu diễn các số có dấu và không dấu
Trong máy tính thường dùng số bù hoặc dùng
trị tuyệt đổi để biểu diễn cho số âm. Trong hệ nhị
phân có số bù 1 và bù 2.
 Cách biểu diễn hằng số bù 1
Số bù của con số chính là đảo của số đó (ví dụ:
Đảo 0 = 1, và ngược lại).
 Cách biểu diễn hằng số bù 2
Để có số bù 2 của con số nào đó, người ta lấy
số bù 1 rồi cộng thêm 1.
Bảng biểu diễn số âm bằng số bù 2.
30
Nguyễn Thị Mỹ Dung – Khoa CNTT
Bi
Bi


u di
u di


n c
n c
á
á
c s
c s



c
c
ó
ó
d
d


u v
u v
à
à
không d
không d


u (2)
u (2)
-11111
-20111
-31011
-40011
-51101
-60101
-71001
-80001
ND
0
D

1
D
2
D
3
31
Nguyễn Thị Mỹ Dung – Khoa CNTT
Nhận xét:
- Các cách biểu diễn dấu bằng trị tuyệt đối,
hoặc số bù 1 dẫn đến việc dùng các thuật toán phức
tạp và bất lợi vì luôn có 2 cách để biểu diễn số 0.
- Cách biểu diễn số nguyên có dấu bằng số bù
2 được dùng rộng rãi cho các phép tính số nguyên,
có thể biểu diễn chính xác tất cả các giá trị số nguyên
và chỉ có 1 cách để biểu diễn số 0. Nó có lợi là không
cần thuật toán đặc biệt nào cho các phép tính cộng
và tính trừ, và giúp phát hiện dễ dàng các trường hợp
bị tràn.
32
Nguyễn Thị Mỹ Dung – Khoa CNTT
B
B
à
à
i t
i t


p
p

Bài 2.10 trang 68
a/ -4 = ?
Nhị phân 4 = 0000 0100
Bù 1 = 1111 1011
Bù 2 = 1111 1100
b/ -25 = ?
Nhị phân 25 = 0001 1001
Bù 1 = 1110 0110
Bù 2 = 1110 0111
Kiến trúc máy tính & Hợp ngữ
Chương 1: Nhập môn KTMT 9
33
Nguyễn Thị Mỹ Dung – Khoa CNTT
B
B
à
à
i t
i t


p (2)
p (2)
c/ -42 = ?
Nhị phân 42 = 0010 1010
Bù 1 = 1101 0101
Bù 2 = 1101 0110
d/ -128 = ?
Nhị phân 128 = 1000 0000
Bù 1 = 0111 1111

Bù 2 = 1000 0000
34
Nguyễn Thị Mỹ Dung – Khoa CNTT
B
B
à
à
i t
i t


p (3)
p (3)
e/ -111 = ?
Nhị phân 111 = 0110 1111
Bù 1 = 1001 0000
Bù 2 = 1001 0001
35
Nguyễn Thị Mỹ Dung – Khoa CNTT
C
C
á
á
c ph
c ph
é
é
p t
p t
í

í
nh s
nh s


h
h


c v
c v
à
à
logic (2)
logic (2)
5. Biểu diễn dấu chấm tĩnh và động
a/ Biểu diễn dấu chấm tĩnh
Tuỳ theo kiểu biểu diễn mà dấu chấm mang
tính quy ước nằm ở một vị trí cố định được gọi là dấu
chấm tĩnh.
Để biểu diễn cho một số ta sử dụng một độ
rộng là n bit. Trong đó bit đầu tiên dùng để biểu diễn
bit dấu. Trong n-1 bit còn lại, dành một phần biểu
diễn cho số nguyên, phần còn lại biểu diễn cho số lẻ.
36
Nguyễn Thị Mỹ Dung – Khoa CNTT
Bi
Bi



u di
u di


n d
n d


u ch
u ch


m t
m t
ĩ
ĩ
nh v
nh v
à
à
d
d


u ch
u ch


m đ
m đ



ng (2)
ng (2)
b/ Biểu diễn dấu chấm động theo dạng chuẩn hoá
Biểu diễn dấu chấm động theo dạng chuẩn hoá
có dạng như sau:
N =  F10
E
Trong đó:
F: là phần định trị
E: là phần mũ
Phần mũPhần định trị
Kiến trúc máy tính & Hợp ngữ
Chương 1: Nhập môn KTMT 10
37
Nguyễn Thị Mỹ Dung – Khoa CNTT
Bi
Bi


u di
u di


n d
n d


u ch

u ch


m t
m t
ĩ
ĩ
nh v
nh v
à
à
d
d


u ch
u ch


m đ
m đ


ng (3)
ng (3)
Nguyên tắc biểu diễn phần định trị và phần mũ
giống như như biểu diễn dấu chấm tĩnh. Dấu thực
sự của con số là do phần mũ định ra trên phần định
trị.
Ví dụ: 6132,789 = 0,6132789 E+04

09 48723160
Chú ý: hình biểu diễn trên chỉ mang tính minh hoạ.
Trong máy tính, biểu diễn các con số bằng số nhị
phân.
38
Nguyễn Thị Mỹ Dung – Khoa CNTT
D
D


u ch
u ch


m đ
m đ


ng (tt)
ng (tt)
 Đối với số nhị phân các số được chuẩn hoá về một
dạng biểu diễn:
1.f f f…f x 2
E
Ví dụ: biểu diễn số 13.5625
- Đổi số 13.5625 = 1101.1001
2
- Chuẩn hoá: 1.1011001 x 2
3
- Số dương: dấu = 0

- Định trị: F = 1011001
2
- Dấu mũ dương: dấu = 0
- Số mũ: E = 3
10
= 0011
2
Biểu diễn:
0 1011 0010 0 0011
39
Nguyễn Thị Mỹ Dung – Khoa CNTT
D
D


u ch
u ch


m đ
m đ


ng (tt)
ng (tt)
Chú ý:
- Để thực hiện phép cộng (hoặc trừ) hai số dấu chấm
động phải tiến hành theo các bước sau:
+ Tăng số mũ của số có số mũ nhỏ hơn bằng
số mũ lớn hơn.

+ Cộng (hoặc trừ) các phần định trị.
+ Nếu cần thiết chuẩn hoá lại.
- Ví dụ: cộng 2 số thập phân: A = 0.12345 x 10
5
với B
= 0.56789 x 10
3
.
0.1291289 x 10
5
B = 0.0056789 x 10
5
A = 0.1234500 x 10
5
40
Nguyễn Thị Mỹ Dung – Khoa CNTT
Bi
Bi


u di
u di


n d
n d


u ch
u ch



m t
m t
ĩ
ĩ
nh v
nh v
à
à
d
d


u ch
u ch


m đ
m đ


ng (4)
ng (4)
c) Biểu diễn dấu chấm động theo chuẩn IEEE-754
Tổ chức IEEE định nghĩa một số dấu chấm
động có cơ số ngầm định là 2, được chuẩn hóa sao
cho phần định trị F nằm trong dãy 1  F < 2. Một số X
theo chuẩn IEEE được định nghĩa:
X = -1

S
x 2
E-B
x 1.F
Trong đó:
S: là bit dấu (0: dương, 1: âm)
E: là số mũ được dịch chuyển đi B
F: là phần định trị
B: xác định bằng 2
n-1
(n là độ dài trường bit)
Kiến trúc máy tính & Hợp ngữ
Chương 1: Nhập môn KTMT 11
41
Nguyễn Thị Mỹ Dung – Khoa CNTT
IEEE 754 (2)
IEEE 754 (2)
1
15
111
128
0=+; 1= –
32767
0
16383
1
11
52
64
0=+; 1= –

2047
0
1023
1
8
23
32
0=+; 1= –
255
0
127
S
E
F
Tổng cộng
Bít dấu
Số mũ
E cực đại
E cực tiểu
Độ dịch
Bề rộng của trường (bit)
QuadrupleDoubleSingleLoại
42
Nguyễn Thị Mỹ Dung – Khoa CNTT
IEEE 754 (3)
IEEE 754 (3)
Ví dụ 1:
Biểu diễn số -2345.125 chính xác đơn dài 32 bit
có độ dịch là 127 và phần định trị là 23 bit.
-2345.125

10
= -1001 0010 1001.001
2
= -1. 0010 0101 0010 01 x 2
11
 Số âm nên bít dấu S = 1
 F = 0010 0101 0010 0100 0000 000
 E – 127 = 11  E = 138
10
= 1000 1010
2
Vậy ta biểu diễn như sau:
0010 0101 0010 0100 0000 0001000 10101
Bit dấu (S) Phần mũ (E)
Phần định trị (F)
43
Nguyễn Thị Mỹ Dung – Khoa CNTT
IEEE 754 (4)
IEEE 754 (4)
VD2: biểu diễn dấu chấm động chính xác đơn với 32
bit có một bit dấu, 8 bit cho phần mũ (phần mũ được
biểu diễn bằng số thừa k = 127) và 23 bit cho phần lẻ
của số: 372,516.
- Đổi số: 372,516
10
= 101110100,100001000001100
2
= 1,01110100100001000001100 x 2
8
- Số dương: S = 0

- Định trị F = 0111 0100 1000 0100 0001100
Ta có: E – 127 = 8  E = 127 + 8 = 135
135
10
= 1000 0111
2
0111 0100 1000 0100 0001 1001000 01110
Bit dấu (S) Phần mũ (E)
Phần định trị (F)
44
Nguyễn Thị Mỹ Dung – Khoa CNTT
B
B
à
à
i t
i t


p (2)
p (2)
Bài 2.13
10,125 = 0,0010100010x2
5
32,1 = 1,000000001x2
5
 42,225
10
= 1,010100011 x 2
5

Ta có: E – 32 = 5  E = 37 = 100101
1001 01 0101 0001 11
Phần mũ (E) Định trị (F)
Kiến trúc máy tính & Hợp ngữ
Chương 1: Nhập môn KTMT 12
45
Nguyễn Thị Mỹ Dung – Khoa CNTT
B
B
à
à
i t
i t


p (3)
p (3)
Bài 2.14
42,68750
- 0,09375
= 42,59375
42,59375 = 101010,100110000000000000
= 1,01010100110000000000000 x 2
5
Ta có: E – 127 = 5  E = 132
132 = 10000100
0101 0100 1100 0000 0000 0001000 01000
Bit dấu (S) Phần mũ (E)
Phần định trị (F)
46

Nguyễn Thị Mỹ Dung – Khoa CNTT
C
C
á
á
c h
c h


đ
đ
ế
ế
m liên quan đ
m liên quan đ
ế
ế
n m
n m
á
á
y t
y t
í
í
nh (10)
nh (10)
6. Các phép tính số học đối với số nhị phân
Bảng cộng (OR), nhân (AND), trừ (XOR)
1

0
0
0
X * Y
0
1
1
0
X – Y
(1)011
101
110
000
X + YYX
Số học nhị phân bao gồm 4 phép toán cơ bản:
cộng, trừ,nhân, chia.
47
Nguyễn Thị Mỹ Dung – Khoa CNTT
C
C
á
á
c ph
c ph
é
é
p t
p t
í
í

nh s
nh s


h
h


c (2)
c (2)
a/ Phép cộng
Phép cộng được thực hiện giống cách tính tay
thông thường. Ví dụ: 5 + 7
0101
+ 0111
1100
Ví dụ 2:
1010
2
1000101
2
+ 0111
2
+ 101011
2
10001
2
1110000
2
48

Nguyễn Thị Mỹ Dung – Khoa CNTT
C
C
á
á
c ph
c ph
é
é
p t
p t
í
í
nh s
nh s


h
h


c (3)
c (3)
b) Phép trừ
Trong máy tính thực hiện phép trừ bằng cách
cộng số bị trừ với số bù 2 của số trừ.
Ví dụ 1: 10
10
– 4
10

10
10
= 1010
2
; 4
10
= 0100
2
 (-4
10
) = 1100
2
1010
+ 1100
(1) 0110 ; số nhớ bỏ đi
Kiến trúc máy tính & Hợp ngữ
Chương 1: Nhập môn KTMT 13
49
Nguyễn Thị Mỹ Dung – Khoa CNTT
C
C
á
á
c ph
c ph
é
é
p t
p t
í

í
nh s
nh s


h
h


c (4)
c (4)
c) Phép nhân
 Phép nhân 2 số không dấu
Giải thuật:
B1- Đặt bộ đếm tới n.
B2- Xóa thanh ghi 2n bit chứa tích thành phần.
B3- Kiểm tra bit LSB của số nhân, nếu là 1 thì cộng
số bị nhân vào n bit nhiều ý nghĩa nhất của tích.
B4- Dịch phải 1 bit số nhân và tích thành phần.
B5- Giảm bộ đếm đi 1.
B6- Lặp lại B3 cho đến khi bộ đếm bằng 0.
B7- Đọc kết quả từ thanh ghi tích thành phần.
50
Nguyễn Thị Mỹ Dung – Khoa CNTT
Ph
Ph
é
é
p nhân (2)
p nhân (2)

Ví dụ1: 7 x 3
7
10
= 0111
2
; 3
10
= 0011
2
0000 0011 n = 4
+ 0111
0111 0011
0011 1001 n = 3
+ 0111
1010 1001
0101 0100 n = 2
0010 1010 n = 1
0001 0101 = 21 n = 0
51
Nguyễn Thị Mỹ Dung – Khoa CNTT
Ph
Ph
é
é
p nhân (3)
p nhân (3)
Ví dụ 2:
a) 15 x 13
b) 20 x 27
c) 31 x 11

d) 15 x 22
e) 42 x 32
52
Nguyễn Thị Mỹ Dung – Khoa CNTT
Ph
Ph
é
é
p nhân (4)
p nhân (4)
 Phép nhân 2 số có dấu
Sử dụng giải thuật Booth (áp dụng cho 2 số
dương, 2 số âm, một âm 1 dương, hoặc ngược lại):
B1- Nếu bit nhân hiện tại bằng 1 và bit nhân bật tiếp
theo bằng 0 thì trừ số bị nhân từ tích thành phần.
B2- Nếu bit nhân hiện tại bằng 0 và bit nhân bật tiếp
theo bằng 1 thì cộng số bị nhân với tích thành phần.
B3- Nếu bit nhân hiện tại giống bit nhân bật tiếp theo
bằng 0 thì không làm gì cả.
Kiến trúc máy tính & Hợp ngữ
Chương 1: Nhập môn KTMT 14
53
Nguyễn Thị Mỹ Dung – Khoa CNTT
Ph
Ph
é
é
p nhân (5)
p nhân (5)
Lưu ý:

1- Khởi đầu, khi bit hiện tại của số nhân là bit ít
ý nghĩa nhất thì bit bậc thấp hơn tiếp theo của số
nhân được cho bằng 0.
2- Khi cộng số bị nhân với tích thành phần thì
bỏ qua bit nhớ được sinh ra trong phép cộng.
3- Khi tích thành phần bị dịch thì dùng phép
dịch số học và bit dấu cũng được thêm vào.
54
Nguyễn Thị Mỹ Dung – Khoa CNTT
Ph
Ph
é
é
p nhân (6)
p nhân (6)
Ví dụ1: 7 x (-3)
7
10
= 0111; 3
10
= 0011 -3
10
= 1101
0000 1101 0 n = 4
- 0111
1001 1101
1100 1110 1 n = 3
+ 0111
0011 1110
0001 1111 0 n = 2

- 0111
1010 1111
1101 0111 1 n = 1
1110 1011 = -21 n = 0
55
Nguyễn Thị Mỹ Dung – Khoa CNTT
Ph
Ph
é
é
p nhân (3)
p nhân (3)
Ví dụ 2:
a) 13 x -14
b) -21 x 28
c) -32 x -12
d) -15 x 20
e) 17 x -31
f) -18 x -11
56
Nguyễn Thị Mỹ Dung – Khoa CNTT
C
C
á
á
c ph
c ph
é
é
p t

p t
í
í
nh s
nh s


h
h


c (5)
c (5)
d) Phép chia (số không dấu)
Có nhiều thuật toán chia, một trong các thuật toán
cộng và dịch như sau:
B1- Đổi số chia ra số bù 2
B2- Lấy số bị chia trừ đi số chia.
- Nếu kết quả có bit dấu bằng 0 thì tương ứng của
thương bằng 1.
- Nếu kết quả có bit dấu bằng 1 thì tương ứng của
thương bằng 0 và khôi phục giá trị ban đầu của số bị chia
(bằng cách cộng kết quả đó với số chia).
B3- Dịch trái kết quả thu được, lặp lại B2 cho đến khi
nhận được kết quả cuối cùng bằng 0 hoặc nhỏ hơn số
chia (dư).
Kiến trúc máy tính & Hợp ngữ
Chương 1: Nhập môn KTMT 15
57
Nguyễn Thị Mỹ Dung – Khoa CNTT

Ph
Ph
é
é
p chia (2)
p chia (2)
Ví dụ1: 35 : 7
35
10
= 100011
2
;7
10
= 000111
2

(-7) = 111001
2
000000 100011
000001 000110
+ 111001
111010
000001 000110
000010 001100
+ 111001
111011
000010 001100
000100 011000
+ 111001
111101

000100 011000
001000 110000
+ 111001
000001
000001 110001
000011 100010
+ 111001
111100
000011 100010
000111 000100
+ 111001
000000
000000 000101

thương
58
Nguyễn Thị Mỹ Dung – Khoa CNTT
Ph
Ph
é
é
p chia (3)
p chia (3)
Ví dụ 2:
a) 7 : 3
b) 45 : 5
c) 48 : 9
d) 96 : 15
e) 127 : 17
d) 88 : 11

59
Nguyễn Thị Mỹ Dung – Khoa CNTT
Ph
Ph
é
é
p chia (4)
p chia (4)
 Thực hiện phép chia với số có dấu
- Sử dụng thuật toán của phép chia số không
dấu.
- Đổi số có dấu thành không dấu
- Kết quả phép toán là số dương. Sau đó hiệu
chỉnh kết quả như sau:
+ : +  giữ nguyên kết quả
+ : -  đảo dấu phần thương
- : +  đảo dấu phần thương và phần dư
- : -  đảo dấu phần dư
60
Nguyễn Thị Mỹ Dung – Khoa CNTT

×