Vietnam National University, Hanoi
College of Technology
KiẾN TRÚC MÁY TÍNH VÀ TRUYỀN THÔNG
TRONG CÔNG NGHIỆP
GV: ThS. Đinh Thị Thái Mai
TRONG
CÔNG
NGHIỆP
Chương 2: Tổ chức hệ thống máy tính
21 Biể diễ thô ti t ê á tí h
2
.
1
Biể
u
diễ
n
thô
n
g
ti
n
t
r
ê
n m
áy
tí
n
h
2.2 Bộ xử lý trung tâm
2.3 Hệ thống nhớ
2.4 H
ệ
thốn
g
vào ra
ệ g
2.5 Thiết bị nhập dữ liệu
26 Thiếtbị xuấtdữ liệu
2
.
6
Thiết
bị
xuất
dữ
liệu
2.1 Biểu diễn thông tin trên máy tính
2.1.1 Hệ đếm
2.1.2 Đổi số th
ập
p
hân ra số nh
ị
p
hân ho
ặ
c
ậpp ị p ặ
ngược lại
2.1.3 Các loại mã
ể ễ
2.1.4 Bi
ể
u di
ễ
n số nguyên theo mã nhị phân
2.1.5 Biểu diễn số thực theo mã nhị phân
2.1 Biểu diễn thông tin trên máy tính
Hệ đếm
Hệ đếm bất kỳ: Bất kỳ một hệ đếm nào đều
biểu diễn một số nguyên theo nguyên tắc
sau:
ệ đế hậ hâ
là hệ đế h ộ
1
01 1
10 0 1 1
0
n
ni
nni
i
Na a as as as as
−
−
−−
=
==+++=
∑
H
ệ
đế
m t
hậ
p p
hâ
n:
là
hệ
đế
m quen t
h
u
ộ
c
nhất của nhân loại, sử dụng những ký tự
số ả Rập để biểudiễnhệ thậpphân
số
ả
Rập
để
biểu
diễn
hệ
thập
phân
.
2.1 Biểu diễn thông tin trên máy tính
Hệ đếm
Hệ đếm nhị phân: Hình thành trên cơ sở đại số logic
Boole, xuất hiện từ cuối thế kỷ 19. s=2
4 bit: nibble
4
bit:
nibble
8 bit: byte
16bit: từ (word)
16bit:
từ
(word)
32bit: từ kép(double world)
2
10
bit:Kilobit (Kbit)
2
20
bit:Megabit(Mbit)
2
30
bit: Gigabit (Gbit)
2.1 Biểu diễn thông tin trên máy tính
Hệ đếm
Hệ đếm thập lục phân:Xuất hiện như một cách biễu
diễn giản tiện trong công nghệ tin học. 4 chữ số
h hâ đ ộ hà h ộ hữ ố hậ l
n
h
ị p
hâ
n
đ
ược g
ộ
p t
hà
n
h
m
ộ
t c
hữ
s
ố
t
hậ
p
l
ục
phân. s=16
Các ký tự để biểudiễnhệ thậplục phân:
Các
ký
tự
để
biểu
diễn
hệ
thập
lục
phân:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
2.1 Biểu diễn thông tin trên máy tính
Đổi số thập phân ra số nhị phân hoặc
l i
ngược
l
ạ
i
- Để đổi số thập phân ra số nhị phân hay
thậ l hâ t hỉ ầ hi ố thậ
thậ
p
l
ục p
hâ
n,
t
a c
hỉ
c
ầ
n c
hi
a s
ố
thậ
p
phân cho cơ số của hệ (2 hoặc 16).
Trong hệ nhị phân trị số đầutiên(ngoài
-
Trong
hệ
nhị
phân
,
trị
số
đầu
tiên
(ngoài
cùng bên phải) được gọi lsg LSB (least
significant bit) và trị số cuối cùng (ngoài
significant
bit)
và
trị
số
cuối
cùng
(ngoài
cùng bên trái) được gọi là MSB (most
si
g
nifcant bit).
g
2.1 Biểu diễn thông tin trên máy tính
Các loại mã
ễ ễ
- Mã BCD: Dùng 4 bit hệ 2 để bi
ễ
u di
ễ
n một
số hệ 10.
ể
- Mã ASCII: Dùng 7 bit đ
ể
mã hóa, bit cuối
cùng là bit kiểm tra chẵn lẽ, phát hiện lỗi
khi truyền
khi
truyền
2.1 Biểu diễn thông tin trên máy tính
Biểu diễn số nguyên theo mã nhị phân
ễ
- Dùng số nhị phân không dấu: n bit bi
ễ
u
diễn 2
n
số từ 0 đến 2
n
-1
ể ễ
- Dùng số nhị phân có dấu: n bit bi
ể
u di
ễ
n
2
n
số từ -2
n-1
đến 2
n
ố bù
-S
ố
bù
2:
Số bù 1: 1 đổi thành 0, 0 đổi thành 1
Số bù 2: số bù 1 cộng 1
2.1 Biểu diễn thông tin trên máy tính
Biểu diễn số thực theo mã nhị phân
ễ
-Biểu di
ễ
n dấu chấm cố định
Biể diễ dấ hấ độ
11
100 1
00
,
nm
ii
nmii
ii
Na abb as bs
−−
−−
=
=
==+
∑
∑
-
Biể
u
diễ
n
dấ
u c
hấ
m
độ
ng
Chia làm 4 thành phần:
M: phần định trị
M:
phần
định
trị
E: phần mũ
R: cơ s
ố
S: dấu
X= (-1)
S
. M. R
E
Chương 2: Tổ chức hệ thống máy tính
21 Biể diễ thô ti t ê á tí h
2
.
1
Biể
u
diễ
n
thô
n
g
ti
n
t
r
ê
n m
áy
tí
n
h
2.2 Bộ xử lý trung tâm
2.3 Hệ thống nhớ
2.4 H
ệ
thốn
g
vào ra
ệ g
2.5 Thiết bị nhập dữ liệu
26 Thiếtbị xuấtdữ liệu
2
.
6
Thiết
bị
xuất
dữ
liệu
2.2 Bộ xử lý trung tâm
2.2.1 Tổ chức b
ộ
xử l
ý
ộ ý
2.2.2 Tổ chức thanh ghi
2.2.3 Đơn v
ị
số h
ọ
c và lo
g
ic ALU
ị ọ g
2.2.4 Đơn vị điều khiển CU (Control
Unit
)
)
2.2.5 Cấu trúc kết nối – BUS
2.2 Bộ xử lý trung tâm
2.2.1 Tổ chức bộ xử lý
-Chức năng của CPU:
• Fetch Instructions(chỉ lệnh tìm nạp): CPU phải đọc các chỉ
l
ệ
nh từ b
ộ
nhớ.
ệ ộ
• Interpret Instructions: chỉ lệnh phải được giải mã để xác
định hành động nào được yêu cầu.
•
F
etch data (dữ liệutìmnạp): Sự thi hành mộtchỉ lệnh có
F
etch
data
(dữ
liệu
tìm
nạp):
Sự
thi
hành
một
chỉ
lệnh
có
thể yêu cầu thực hiện một vài thao tác số học hoặc lôgi trên
dữ liệu.
•
Write Data: Những kếtquả củasự thi hành có thể yêu cầu
Write
Data:
Những
kết
quả
của
sự
thi
hành
có
thể
yêu
cầu
viết dữ liệu vào bộ nhớ hoặc module vào ra.
2.2 Bộ xử lý trung tâm
Hình: Cấu trúc CPU
2.2 Bộ xử lý trung tâm
Hình: Cấu trúc chi tiết CPU
2.2 Bộ xử lý trung tâm
2.2.2 Tổ chức thanh ghi
Các thanh ghi trong CPU phụcvụ 2chứcnăng
Các
thanh
ghi
trong
CPU
phục
vụ
2
chức
năng
chính:
• User-Visible Registers: Nó cho phép người lập
trình ngôn ngữ máy hoặc ngôn ngữ Asembly thu
nhỏ bộ nhớ chính bằng tối ưu hoá việc sử dụng
các thanh ghi
các
thanh
ghi
.
• Control and Status Registers: Các thanh ghi này
đựơc sử dụng bởi đơn vị điều khiển CU để điều
ể ááủ à ằ â ề
khi
ể
n c
á
c thao t
á
c c
ủ
a CPU v
à
b
ằ
ng ph
â
n quy
ề
n,
các chương trình điều khiển hệ thống điều khiển
s
ự
th
ự
c thi của các chươn
g
trình khác.
ự ự g
2.2 Bộ xử lý trung tâm
User-Visible Registers
• Mục đích chung: có thể bị phân chia cho các chức
năng khác nhau bởi người lập trình
•
Dữ liệu
:
có thể đượcsử dụng chỉ để giữ dữ liệuvà
•
Dữ
liệu
:
có
thể
được
sử
dụng
chỉ
để
giữ
dữ
liệu
và
không thể được dùng trong việc tính toán của
một địa chỉ toán hạng
• Địa chỉ :có thể tự bản thân là thanh ghi mục đích
chung, hoặc nó có thể được dành hết cho chế độ
địachỉ riêng
địa
chỉ
riêng
.
• Mã điều kiện:
2.2 Bộ xử lý trung tâm
User-Visible Registers
• Con trỏđo
ạ
n:
T
ron
g
m
ộ
tmá
y
với
p
hươn
g
p
há
p
ạ
g
ộ
y
p g
pp
địachỉđoạn, mộtthanhghiđoạngiữđịachỉ cơ
sở của đoạn. Có thể có nhiềuthanhghi:vídụ,
một
cho
hệ
thống
điều
khiển
và
một
cho
tiến
một
cho
hệ
thống
điều
khiển
và
một
cho
tiến
trình hiệntại.
• Thanh ghi chỉ số: Đượcdùngtrongchếđộđịachỉ
ể
chỉ sốvà có th
ể
đượct
ự
động đánh chỉ s
ố
.
• Con trỏ ngănxếp: Nếu có user-visible stack
addressing
sau
đó
ngăn
xếp
tiêu
biểu
là
trong
bộ
addressing
,
sau
đó
ngăn
xếp
tiêu
biểu
là
trong
bộ
nhớ và có một thanh ghi chỉđến đầungăn
xếp.Nó cho phép đánh địachỉ tuyệt đối; đólà
h
à
á
hỉ
lệ h
ă
ế
khá
ầ
pus
h
,pop, v
à
c
á
cc
hỉ
lệ
n
h
ng
ă
nx
ế
p
khá
cc
ầ
n
không chứamộttoánhạng ngănxếprõràng.
2.2 Bộ xử lý trung tâm
Control and Status Registers
• Program Counter (PC): chứa địa chỉ của một chỉ
lệnh được tìm nạp.
•
Thanh ghi lệnh (Instruction Register): chứachỉ
•
Thanh
ghi
lệnh
(Instruction
Register):
chứa
chỉ
lệnh được tìm nạp gần nhất.
• Thanh ghi địa chỉ bộ nhớ (Memory Address
Register): chứa địa chỉ của các vị trí trong bộ
nhớ.
•
Thanh ghi bộ nhớ đệm (Memory Fuffer Register):
•
Thanh
ghi
bộ
nhớ
đệm
(Memory
Fuffer
Register):
chứamột từ dữ liệu được ghi vào trong bộ nhớ
hoặc từ được đọc gần đây nhất.
2.2 Bộ xử lý trung tâm
Ví dụ với bộ xử lý 8086:
• 1 thanh ghi con trỏ lệnh IP (instruction Pointer): Lưu trữ
địachỉ lệnh kế tiếpsẽ đượcchạy trong đoạnCThiệnthời
địa
chỉ
lệnh
kế
tiếp
sẽ
được
chạy
trong
đoạn
CT
hiện
thời
.
Mỗi 1 từ lệnh được đọc từ bộ nhớ BIU sẽ thay đổi giá trị IP
sao cho nó chỉ đến địa chỉ của từ lệnh kế tiếp trong bộ nhớ.
•
8 thanh ghi chung
•
8
thanh
ghi
chung
• 4 thanh ghi dữ liệu AX,BX, CX, DX.
AX: (Accumulator Register) thanh ghi tích luỹ các kết quả
tính toán
tính
toán
.
BX (Base Register) thanh ghi cơ sở: chỉ địa chỉ cơ sở của
vùng nhớ thuộc bộ nhớ.
CX (C R i ) h h hi đế Kh i bá ố lầ 1h
CX
(C
ounter
R
eg
i
ster
)
t
h
an
h
g
hi
đế
m:
Kh
a
i
bá
o s
ố
lầ
n
1
t
h
ao
tác nào đó phải được thực hiện trong các vòng lặp, phép
dịch, quay.
DX (D R i ) h h hi ố liệ l ữ llà hô ố
DX
(D
ata
R
eg
i
ster
)
t
h
an
h
g
hi
s
ố
liệ
u:
l
ưu tr
ữ
s
l
là
m t
hô
ng s
ố
chuyển giao CT (2 byte).
2.2 Bộ xử lý trung tâm
Ví dụ với bộ xử lý 8086
Cá th h hi t ỏ hỉ ố
•
Cá
c
th
an
h
g
hi
con
t
r
ỏ
, c
hỉ
s
ố
:
9 SP (Stack pointer) con trỏ ngăn xếp: địa chỉ đỉnh
ngănxếp. SP cho phép truy xuấtdễ dàng các địa
ngăn
xếp.
SP
cho
phép
truy
xuất
dễ
dàng
các
địa
chỉ trong đoạn ngăn xếp SS (stack segment). Giá
trị trong SP mô tả phải offset của địa chỉ ngăn
xếpkế tiếpsovới địachỉ hiệntại đang đượclưu
xếp
kế
tiếp
so
với
địa
chỉ
hiện
tại
đang
được
lưu
trong SS.
9 BP
(
Base
p
ointer
)
con trỏ cơ sở: mô tả offset tính
(p )
từ SS nhưng còn được sử dụng truy nhập DL
trong SS.
9
I(index)thanhghichỉ số:lưu địachỉ offset đối
9
I
(index)
thanh
ghi
chỉ
số:
lưu
địa
chỉ
offset
đối
với những lệnh truy nhập DL cất trong đoạn DL
2.2 Bộ xử lý trung tâm
Ví dụ với bộ xử lý 8086
• Thanh ghi đoạn: Bộ nhớ được chia thành các
đ l i ( t) dài 64kb CPU ó thể t
đ
oạn
l
og
i
c
(
segmen
t)
dài
64kb
.
CPU
c
ó
thể
t
ruy
nhập 1 lần tới 4 đoạn. Địa chỉ đoạn chứa trong
thanh
g
hi đo
ạ
n.
g ạ
9 Thanh ghi đoạn mã CS (code Segment) nhận
diện ĐC bắt đầu của đoạn chương trình hiện hành
trong bộ nhớ
trong
bộ
nhớ
.
9 DS (data Segment) đoạn DL : địa chỉ bắt đầu
đo
ạ
n số li
ệ
u.
ạ ệ
9 SS (Stack Segment) đoạn ngăn xếp: địa chỉ logic
đoạn ngăn xếp.
9
()đ ở ộ /á
9
EX
(
extra Segment
)
đ
oạn m
ở
r
ộ
ng: Đ
/
c DL c
á
c
chuỗi.
2.2 Bộ xử lý trung tâm
Ví dụ với bộ xử lý 8086
hhhiờ
(
li
)
9 ố 6bi
• T
h
an
h
g
hi
c
ờ
(
F
l
ag Reg
i
ster
)
:
9
trong s
ố
1
6
bi
t
của thanh ghi này được sử dụng, mỗi bit có thể
đư
ợ
c thiết l
ập
ha
y
xoá
ợ ậpy
để chỉ thị kết quả của mỗi thao tác trước đó hoặc
trạng thái hiện thời bộ XL
ớ
9 CF Carry : nh
ớ
9 PF perity: chẵn lẻ
9
ZF zero : kếtquả phép toán =0
9
ZF
zero
:
kết
quả
phép
toán
=0
9 SF sign : 0 dương, 1 âm.
9
OF overflow : tràn
OF
overflow
:
tràn
2.2 Bộ xử lý trung tâm
2.2.3 Đơn vị số học và logic ALU (Arithmetic and logic
unit)
unit)
Định nghĩa: là một phần của máy tính thực sự thực hiện các
thao tác số học và logic trên dữ liệuTấtcả các thành phần
thao
tác
số
học
và
logic
trên
dữ
liệu
.
Tất
cả
các
thành
phần
khác củahệ thống máy tính-đơn vị điều khiển, thanh ghi,
bộ nhớ, chủ yếu mang dữ liệu vào cho ALU để ALU xử lý và
sau đó đưakếtquả ra ngoài.
sau
đó
đưa
kết
quả
ra
ngoài.
2.2 Bộ xử lý trung tâm
Hình: Sơ đồ hoạt động củaALU
Hình:
Sơ
đồ
hoạt
động
của
ALU