TRƯỜNG CĐCĐ ĐỒNG THÁP

KHOA KT-CN


Bài giảng
KIẾN TRÚC MÁY TÍNH

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

9/7/2010

GV: Huỳnh Văn Khỏe

2

 Nội dung:
1.1 Một số khái niệm và nguyên lý cơ bản
1.1.1 Nguyên tắc tổ chức
1.1.2 Ngôn ngữ máy và các cấp kiến trúc máy tính
1.2 Lịch sử phát triển và phân loại máy tính
1.2.1 Lịch sử phát triển
1.2.2 Phân loại máy tính
1.3 Các hệ thống số
1.3.1 Hệ thập phân
1.3.2 Hệ nhị phân
1.3.2 Hệ bát phân
1.3.3 Hệ thập lục phân
1.4 Số nguyên có dấu
9/7/2010

GV: Huỳnh Văn Khỏe

3

1.1 Một số khái niệm và nguyên lý cơ bản

1.1.1 Nguyên tắc tổ chức:
Một máy tính số được phát triển trên cơ sở của 2
phần: Phần cứng và phần mềm
- Phần cứng (Hardware)
- Phần mềm (Software)

9/7/2010

GV: Huỳnh Văn Khỏe

4

Phần cứng (Hardware)

9/7/2010

GV: Huỳnh Văn Khỏe

5

1.1 Một số khái niệm và nguyên lý cơ bản
1.1.2 Ngôn ngữ máy và các cấp kiến trúc máy tính

9/7/2010

5

Các ngôn ngữ bậc cao và
hướng đối tượng

4

Cấp hợp ngữ

3

Cấp máy hệ điều hành

2

Cấp lệnh máy (lệnh vĩ
mô)

1

Cấp vi lệnh (lệnh vi mô)

0

Cấp logic số (Các mạch
tử Văn
số) Khỏe
GV:điện
Huỳnh

6

1.2 Lịch sử phát triển và ứng dụng của máy
tính điện tử:
1.2.1 Các thế hệ máy tính:

Thế hệ thứ I

Thế hệ thứ II

Thế hệ thứ III

Thế hệ thứ IV

(1946 – 1957)

(1958 – 1964)

(1965 – 1971)

(1972 - … )

9/7/2010

GV: Huỳnh Văn Khỏe

7

1.2 Lịch sử phát triển và ứng dụng của máy
tính điện tử:
1.2.2 Lịch sử phát triển:
Sự phát triển của máy tính được mô tả dựa trên sự tiến
bộ của các công nghệ chế tạo các linh kiện cơ bản của
máy tính như: bộ xử lý, bộ nhớ, các ngoại vi,…

9/7/2010

GV: Huỳnh Văn Khỏe

8

1.2.2 Lịch sử phát triển:
1.2.2.1 Thế hệ đầu tiên (1946-1957):

- Công

nghệ chế tạo:
+ Đèn điện tử
+ Rờ le

- Phần mềm:
+ Lập trình bằng tay

9/7/2010

GV: Huỳnh Văn Khỏe

9

1.2.2 Lịch sử phát triển:
1.2.2.1 Thế hệ đầu tiên
(1946-1957):
Tiêu biểu: ENIAC
(Electronic
Numerical
Integrator and Computer)
là máy tính điện tử số đầu
tiên do Giáo sư Mauchly
và người học trò Eckert tại
Đại học Pennsylvania thiết
kế vào năm 1943 và được
hoàn thành vào năm 1946
9/7/2010

GV: Huỳnh Văn Khỏe

10

1.2.2.1 Thế hệ đầu tiên:

9/7/2010

GV: Huỳnh Văn Khỏe

11

1.2.2.1 Thế hệ đầu tiên:
Giáo sư toán học John
Von Neumann đã đưa ra ý
tưởng thiết kế máy tính
IAS (Princeton Institute for
Advanced Studies
Máy tính Von Neumann.

9/7/2010

GV: Huỳnh Văn Khỏe

12

1.2.2.2 Thế hệ thứ 2 (1958-1964):
-

Sử dụng Transistor lưỡng

cực (BJT)
-

Mạch in

-

Bộ nhớ xuyến từ
- Ngôn ngữ lập trình đầu

tiên

:

FORTRAN

(1956),

COBOL (1959), ALGOL (1960)
- Hệ điều hành kiểu tuần tự
(Batch Processing) được dùng
9/7/2010

GV: Huỳnh Văn Khỏe

13

1.2.2.2 Thế hệ thứ 2 (1958-1964):

9/7/2010

GV: Huỳnh Văn Khỏe

14

1.2.2.2 Thế hệ thứ 2 (1958-1964):
- Mạch in (PCB: Printed Circuit Board)

9/7/2010

GV: Huỳnh Văn Khỏe

15

1.2.2.2 Thế hệ thứ 2 (1958-1964):
- Bộ nhớ xuyến từ:

9/7/2010

GV: Huỳnh Văn Khỏe

16

1.2.2.3 Thế hệ thứ 3 (1965-1971):

- Mạch tích hợp (IC: Integrated Circuit)
- S/MSI : Small/Medium Scale Integration
- Mạch in nhiều lớp
- Bộ nhớ bán dẫn
- Máy tính đa chương trình
- Hệ điều hành chia thời gian được dùng.

9/7/2010

GV: Huỳnh Văn Khỏe

17

1.2.2.3 Thế hệ thứ 3 (1965-1971):

9/7/2010

GV: Huỳnh Văn Khỏe

18

1.2.2.4 Thế hệ thứ 4 (1972-nay):
 Công nghệ chế tạo:
- L/VLSI : Large/Very large Scale
Integration
- Bộ xử lí (Microprocessor)
PC (Personal Computer)
NC (Network Computer)
- Bộ nhớ bán dẫn, bộ nhớ cache
và bộ nhớ ảo
- Kỹ thuật ống dẫn (pipeline),
máy tính song song
 Phần mềm:
- Các giải thuật Song song,
- HĐH phân tán (Client-server)
9/7/2010

GV: Huỳnh Văn Khỏe

19

1.2.2.4 Thế hệ thứ 4 (1972-nay)

9/7/2010

GV: Huỳnh Văn Khỏe

20

1.2.2.5 Khuynh hướng hiện đại:

9/7/2010

GV: Huỳnh Văn Khỏe

21

Đơn vị flop:

1.2.3 Phân loại máy tính:

9/7/2010

- gigaflop tỷ phép tính/giây
- teraflop nghìn tỷ phép tính/giây
- petaflop triệu tỷ phép tính/giây
- exaflop tỷ tỷ phép tính/giây
- zettaflop nghìn tỷ tỷ phép tính/giây
- yottaflop triệu tỷ tỷ phép tính/giây
- xeraflop tỷ tỷ tỷ phép tính/giây

GV: Huỳnh Văn Khỏe

22

1.2.3 Phân loại máy tính:
- Siêu máy tính (Super computer):
- Vượt trội trong khả năng và tốc độ
xử lý.
- Siêu máy tính hiện nay có tốc độ xử
lý hàng trăm teraflop (một teraflop
tương đương với hiệu suất một nghìn
tỷ phép tính/giây)
- Có thể hiểu siêu máy tính là hệ
thống những máy tính làm việc song
song.
- Giá vài triệu USD
- Dùng để tính toán khoa học
9/7/2010

GV: Huỳnh Văn Khỏe

23

1.2.3 Phân loại máy tính:
- Siêu máy tính (Super computer):
- Siêu máy tính mới của IBM gồm 96
khối máy, mỗi khối có kích cỡ bằng
một chiếc tủ lạnh
- Tên là Sequoia, sẽ được đưa ra thị
trường vào năm 2011 và khách hàng
đầu tiên là Bộ Năng lượng Mỹ. Bộ này
sẽ sử dụng nó cho các nghiên cứu thử
nghiệm hạt nhân.
- Sequoia được thiết kế có tốc độ xử lý
20 triệu tỷ phép tính/1 giây, nhanh hơn
20 lần so với tốc độ của chiếc siêu máy
tính nhanh nhất thế giới hiện nay và
nhanh gấp 2 triệu lần một chiếc máy
tính thông thường.
9/7/2010

GV: Huỳnh Văn Khỏe

24

1.2.3 Phân loại máy tính:
- Siêu máy tính (Super computer):
- Nhỏ gọn như máy để bàn
- Siêu máy tính SC072 – tên
mã là Catapult
- Trang bị tới 72 chip vi xử lý,
48GB dung lượng bộ nhớ RAM,
3 cổng PCIExpress kết nối thiết
bị lưu trữ và có mức tiêu thụ
năng lượng trung bình vào
khoảng 200 watts.

9/7/2010

GV: Huỳnh Văn Khỏe

25

1.2.3 Phân loại máy tính:
- Máy tính lớn (Mainframe)
- Là loại máy tính có kích
thước lớn được sử dụng chủ
yếu bởi các công ty lớn như
các ngân hàng, các hãng bảo
hiểm ...
- Có thể nhận hàng ngàn lệnh
cùng 1 lúc.
- Ví dụ máy IBM Z9 (2008) có
thể được cài 20 processor và
đáp ứng 8000.000.000 (8 tỉ)
lệnh 1 giây .
9/7/2010

GV: Huỳnh Văn Khỏe

26

1.2.3 Phân loại máy tính:
- Máy tính mini (Minicomputer)
- Được sử dụng như mainframe
- Sức mạnh ở giữa máy tính lớn
và máy tính cá nhân
- Là một hệ thống đa xử lý có
khả năng hỗ trợ từ 4 đến khoảng
200 người sử dụng cùng một lúc.
- Ứng dụng trong các trường đại
học, các ngành công nghiệp,và
thương mại
- Giá vài chục ngàn USD
9/7/2010

GV: Huỳnh Văn Khỏe

27

1.2.3 Phân loại máy tính:
- Máy tính cá nhân (Microcomputer/PC)

9/7/2010

GV: Huỳnh Văn Khỏe

28

 Thành quả của máy tính:

9/7/2010

GV: Huỳnh Văn Khỏe

29

 Thành quả của máy tính:
Quy luật MOORE về sự phát triển của máy tính

9/7/2010

GV: Huỳnh Văn Khỏe

30

 Thành quả của máy tính:

9/7/2010

GV: Huỳnh Văn Khỏe

31

 Thành quả của máy tính:

9/7/2010

GV: Huỳnh Văn Khỏe

32

 Thành quả của máy tính:

9/7/2010

GV: Huỳnh Văn Khỏe

33

 Thành quả của máy tính:

9/7/2010

GV: Huỳnh Văn Khỏe

34

 Thành quả của máy tính:
Quy luật MOORE về sự phát triển của máy tính

9/7/2010

GV: Huỳnh Văn Khỏe

35

1.3 Các hệ thống số
- Khái niệm thông tin
Thông tin số: tri thức về một trạng thái trong số một số
hữu hạn các trạng thái có thể có
Lượng tử thông tin:
1 bit thông tin: được biểu diễn bởi số nhị phân 0,1
n bit có 2n trạng thái khác nhau
Lượng thông tin chứa trong tri thức của một trạng thái
trong số N là I= log2N
Độ lớn thông tin mà máy tính có thể thao tác: 8, 16, 32,
64 bits
9/7/2010

GV: Huỳnh Văn Khỏe

36

1.3 Các hệ thống số
- Biểu diễn số:
Cần phân biệt số và cách thể hiện số.
Thể hiện một số là một cách mã hoá
Một hệ thống số được gọi là hệ b sẽ gồm b ký hiệu trong
một tập hợp:

sb  s0 , s1 ,..., sb 1 

Một số N được viết:

N  (anan1...ai ...a1a0 , a1a2...am )b ; ai  sb
Sẽ có giá trị là:
N  ( a n b n  a n 1b n 1  ...  ai b i  ...  a1b1  a0  a 1b 1  ...  a  m b  m
n

i
a

b
 i

i  m

9/7/2010

GV: Huỳnh Văn Khỏe

37

1.3 Các hệ thống số
1.3.1 Hệ thập phân (cơ số 10)
Gồm 10 số mã trong một tập hợp

s10  0,1,2,...,9

1.3.2 Hệ nhị phân (cơ số 2)
Gồm 2 số mã trong một tập hợp

s2  0,1
1.3.3 Hệ bát phân (cơ số 8)
Gồm 8 số mã trong một tập hợp

s8  0,1,2,...,7
1.3.4 Hệ thập lục phân (cơ số 16)
Gồm 16 số mã trong một tập hợp (theo sau có chữ
H hay h)
9/7/2010

s16  0,1,2,...,9, A, B, C , D, E , F 
GV: Huỳnh Văn Khỏe

38

1.3.5 Chuyển cơ số
 Từ hệ b sang hệ 10

N  ( a n b n  a n 1b n 1  ...  ai b i  ...  a1b1  a0  a 1b 1  ...  a  m b  m
n

i
a

b
 i

i  m

 Từ hệ 10 sang hệ b
Một số N hệ b có dạng:

N  (anan1...ai ...a1a0 , a1a2...am )b ; ai  sb
Trong đó:

(an an 1...ai ...a0 )b  PE ( N ) : là phần nguyên

9/7/2010

(0, a1a 2 ...am )b  PF ( N ) : là phần lẻ của N

GV: Huỳnh Văn Khỏe

39

 Từ hệ 10 sang hệ b

VD: đổi số 25,12510 sang hệ 2
Phần nguyên
25:2=12 dư 1  a0=1
12:2=6 dư 0  a1=0
6:2 = 3 dư 0  a2=0
3:2 =1 dư 1  a3=1
1:2 = 0 dư 1  a4=1
 PE(N) = 11001

9/7/2010

GV: Huỳnh Văn Khỏe

40

 Từ hệ 10 sang hệ b

Phần lẻ:

0,125 x 2 = 0,025

 a-1=0

0,025 x 2 =0,5

 a-2=0

0,5 x 2 =1,0

 a-3 = 1

 PF(N)=001

Kết quả : 25,12510 = 11001.0012

9/7/2010

GV: Huỳnh Văn Khỏe

41

Đổi một số từ hệ b sang hệ bk và ngược lại:
Để đổi một số từ hệ b sang hệ bk, từ dấu phẩy đi về 2
phía ta nhóm từng k số hạng, giá trị của mỗi k số hạng
này (tính theo hệ b) chính là số trong hệ bk
VD: đổi số

N=10111110101.011012 sang hệ 8 = 23
N= 010 111 110 101. 011 010
N= 2

9/7/2010

7

6

5,

3

GV: Huỳnh Văn Khỏe

28

42

Đổi một số từ hệ bk sang hệ bp và ngược lại
Để đổi một số N từ hệ bk sang hệ bp, trước nhất ta đổi
N cang hệ b, rồi từ hệ b tiếp tục đổi sang hệ bp.
VD: đổi số N=1234,678 sang hệ 16 = 24
N= 001 010 011 100. 110 111
N= 0010 1001 1100. 1101 1100
N=

9/7/2010

2

9

C,

GV: Huỳnh Văn Khỏe

D

CH

43

Bảng kê các số đầu tiên trong các hệ khác nhau:
Thập
phân

Nhị
phân

Bát
phân

Thập
lục
phân

Thập
phân

Nhị
phân

Bát
phân

Thập
lục
phân

0
1
2
3
4
5
6
7
8
9
10
11
12

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100

0
1
2
3
4
5
6
7
10
11
12
13
14

0
1
2
3
4
5
6
7
8
9
A
B
C

13
14
15
16
17
18
19
20
21
22
23
24
25

1101
1110
1111
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001

15
16
17
20
21
22
23
24
25
26
27
30
31

D
E
F
10
11
12
13
14
15
16
17
18
19

9/7/2010

GV: Huỳnh Văn Khỏe

44

1.3.6 Các phép tính trong hệ nhị phân:
 Phép cộng:
0+0=0
0+1=1
1+0=1
1 + 1 = 0 (nhớ 1 cho bít cao hơn)
Lưu ý:
-Nếu số bít 1 chẵn, kết quả là 0
-Nếu bít 1 lẻ, kết quả là 1
-Và cứ 1 cặp bít 1 cho một số nhớ
VD: tính 011 + 101 + 011 + 011
1 1  số nhớ
1 1 1  số nhớ
011
+ 101
011
011
1110
9/7/2010

GV: Huỳnh Văn Khỏe

45

1.3.6 Các phép tính trong hệ nhị phân:
 Phép trừ:

0-0=0
1-1=0
1-0=1
0 - 1 = 1 (nhớ 1 cho bít cao hơn)
VD: tính 1 0 1 1 – 0 1 0 1
1  số nhớ
1011
- 0101
0110
9/7/2010

GV: Huỳnh Văn Khỏe

46

1.3.6 Các phép tính trong hệ nhị phân:
 Phép nhân:

0x0=0
1x0=0
1x1=1
VD: tính 1 1 0 1 x 1 0 1
1101
x 101
1101
0000
1101
1000001
9/7/2010

GV: Huỳnh Văn Khỏe

47

1.3.6 Các phép tính trong hệ nhị phân:
 Phép chia:
VD: chia 1 0 0 1 1 0 0 1 0 0 cho 1 1 0 0 0
1001100100 11000
-11000
1 1 0 0 1. 1
0011100
-1 1 0 0 0
00100100
-11000
011000
Thêm 0 vào để chia tiếp lấy phần lẻ
- 11000
00000

9/7/2010

GV: Huỳnh Văn Khỏe

48

1.4 Số nguyên có dấu:
Có nhiều cách để biểu diễn một số n bit có dấu.
Trong tất cả mọi cách thì bit cao nhất luôn tượng trưng
cho dấu.
- bit dấu có giá trị là 0 thì số nguyên dương
- bit dấu có giá trị là 1 thì số nguyên âm
dn-1

dn-2

di

d1

d0

……

bit dấu

Số nguyên có bit dn-1 là bit dấu và có trị số tượng
trưng bởi các bit từ d0 tới dn-2

9/7/2010

GV: Huỳnh Văn Khỏe

49

1.4.1 Cách biểu diễn bằng trị tuyệt đối và dấu
Trong cách này, bit dn-1 là bit dấu và các bit từ d0 tới
dn-2 cho giá trị tuyệt đối. Một từ n bit tương ứng với số
nguyên thập phân có dấu.
n2

N  (1) d n1  d i 2i
i 0

Ví dụ: +2510 = 000110012
-2510 = 100110012
- Một Byte (8 bit) có thể biểu diễn các số có dấu
từ -127 tới +127.
- Có hai cách biểu diễn số không là 00000000
(+0) và 10000000 (-0).
9/7/2010

GV: Huỳnh Văn Khỏe

50

1.4.2 Cách biểu diễn hằng số bù 1
Số âm -N được có bằng cách thay các số nhị phân di
của số đương N bằng số bù của nó (nghĩa là nếu di = 0
thì người ta đổi nó thành 1 và ngược lại).
Ví dụ: +2510 = 0 0 0 1 1 0 0 12
-2510 = 1 1 1 0 0 1 1 02
- Một Byte cho phép biểu diễn tất cả các số có dấu
từ -127 (100000002) đến 127 (0111 11112)
- Có hai cách biểu diễn cho 0 là 00000000 (+0)
và 11111111 (-0).

9/7/2010

GV: Huỳnh Văn Khỏe

51

1.4.3 Cách biểu diễn hằng số bù 2
Để có số bù 2 của một số nào đó, người ta lấy số bù
1 rồi cộng thêm 1. Vậy một từ n bit (dn-1 ....... d0) có trị
thập phân.
n2

N   d n 1 2 n 1   d i 2i
i 0

Ví dụ: +2510 = 000110012
-2510 = 111001112
- Dùng 1 Byte (8 bit) để biểu diễn một số có
dấu lớn nhất là +127 và số nhỏ nhất là –128.
- Chỉ có một giá trị 0: +0 = 000000002,
-0 = 000000002
9/7/2010

GV: Huỳnh Văn Khỏe

52

1.4.4 Cách biểu diễn bằng số thừa K
Số dương của một số N có được bằng cách “cộng
thêm vào” số thừa K được chọn sao cho tổng của K và
một số âm bất kỳ luôn luôn dương. Số âm -N của số N
có được bằng cáck lấy K-N (hay lấy bù hai của số vừa
xác định).
Ví dụ: (số thừa K=128, số “cộng thêm vào” 128
là một số nguyên dương. Số âm là số lấy bù hai số vừa
tính, bỏ qua số giữ của bit cao nhất) :
128 + 2510 = 100110012
- 2510 = 011001112
- Dùng 1 Byte (8 bit) để biểu diễn một số có
dấu lớn nhất là +127 và số nhỏ nhất là –128.
- Chỉ có một giá trị 0: +0 = 100000002,
-0 = 100000002
9/7/2010

GV: Huỳnh Văn Khỏe

53

1.4.5 Cách biểu diễn số với dấu chấm động
Chuẩn IEEE 754 định nghĩa hai dạng biểu diễn số chấm
động:
- Số chấm động chính xác đơn với định dạng được
định nghĩa: chiều dài số: 32 bit được chia thành các
trường: dấu S (Sign bit - 1 bit), mũ E (Exponent – 8 bit),
phần lẻ F (Fraction - 23 bit).
Số này tương ứng với số thực (-1)S * (1,f1 f2 ..... f23) * 2(E - 127)
Bit 31 30
S

9/7/2010

23 22
E

f1

f2

……

GV: Huỳnh Văn Khỏe

1

0

f22

f23

54

1.4.5 Cách biểu diễn số với dấu chấm động
Chuẩn IEEE 754 định nghĩa hai dạng biểu diễn số
chấm động:
- Số chấm động chính xác kép với định dạng được định
nghĩa: chiều dài số: 64 bit được chia thành các trường:
dấu S (Sign bit - 1 bit), mũ E (Exponent – 11 bit), phần lẻ
F (Fraction - 52 bit)
Số này tương ứng với số thực (-1)S * (1,f1 f2 ..... f52) * 2(E - 1023)
Bit 63 62
S

9/7/2010

52 51
E

f1

f2

GV: Huỳnh Văn Khỏe

……

1

0

f22

f23

55

1.4.5 Cách biểu diễn số với dấu chấm động
VD: Đổi số thập phân -12.62510 sang số chấm động
chuẩn IEEE 754 chính xác đơn (32 bit)
- Bước 1: Đổi số -12.62510 sang nhị phân: -12.62510 = 1100.1012
- Bước 2: Chuẩn hoá: -1100.1012 = -1.1001012 x 23 (Số
1.1001012 dạng 1.f)
- Bước 3: Điền các bit vào các trường theo chuẩn:
Số âm: bit dấu S có giá trị 1.
Phần mũ E với số thừa K=127, ta có: E-127=3
⇒ E = 3 + 127 = 130 (1000 00102).
Kết quả: 1 1000 0010 1001 0100 0000 0000 0000 000
S
9/7/2010

E

F
GV: Huỳnh Văn Khỏe

56

Câu hỏi ôn tập

Bài tập

Tài liệu tham khảo
1. Giáo trình kiến trúc máy tính – Khoa CNTT&TT
trường ĐHCT (2003)
2. Kiến trúc máy tính – Hóa NGUYEN - College of
Technology,

Vietnam

National

University,

HanoiUniversity
3. Kiến trúc máy tính – Trần Quang Vinh – NXB ĐHSP
4. Giáo trình Kỹ thuật số - Nguyễn Trung Lập – Trường
ĐHCT

Sign up to vote on this title
UsefulNot useful