Professional Documents
Culture Documents
Baigiangktmt-Ch 3
Baigiangktmt-Ch 3
NKK-HUT NKK-HUT
18 March 2007 Bài giảng Kiến trúc Máy tính 1 18 March 2007 Bài giảng Kiến trúc Máy tính 2
NKK-HUT NKK-HUT
18 March 2007 Bài giảng Kiến trúc Máy tính 3 18 March 2007 Bài giảng Kiến trúc Máy tính 4
NKK-HUT NKK-HUT
18 March 2007 Bài giảng Kiến trúc Máy tính 5 18 March 2007 Bài giảng Kiến trúc Máy tính 6
NKK-HUT NKK-HUT
18 March 2007 Bài giảng Kiến trúc Máy tính 7 18 March 2007 Bài giảng Kiến trúc Máy tính 8
NKK-HUT NKK-HUT
n
= 105.6875(10)
A = ∑a 2
i=−m
i
i
18 March 2007 Bài giảng Kiến trúc Máy tính 9 18 March 2007 Bài giảng Kiến trúc Máy tính 10
NKK-HUT NKK-HUT
Chuyển đổi số nguyên thập phân sang nhị phân Phương pháp chia dần cho 2
52 : 2 = 26 dư 0
phần dư
26 : 2 = 13 dư 0
Phương pháp 2: Phân tích thành tổng 13 : 2 = 6 dư 1
của các số 2i Æ nhanh hơn 6:2 = 3 dư 0
3:2 = 1 dư 1
1:2 = 0 dư 1
Kết quả: 105(10) = 1101001(2)
18 March 2007 Bài giảng Kiến trúc Máy tính 11 18 March 2007 Bài giảng Kiến trúc Máy tính 12
NKK-HUT NKK-HUT
Phương pháp phân tích thành tổng của các 2i Chuyển đổi số lẻ thập phân sang nhị phân
Ví dụ 1: chuyển đổi 105(10)
105 = 64 + 32 + 8 +1 = 2 + 2 + 2 + 2
6 5 3 0 Ví dụ 1: chuyển đổi 0.6875(10)
0.6875 x 2 = 1.375 phần nguyên = 1
27 26 25 24 23 22 21 20
0.375 x 2 = 0.75 phần nguyên = 0
128 64 32 16 8 4 2 1
0 1 1 0 1 0 0 1 0.75 x 2 = 1.5 phần nguyên = 1
0.5 x 2 = 1.0 phần nguyên = 1
Kết quả: 105(10) = 0110 1001(2)
Ví dụ 2: 17000(10) = 16384 + 512 + 64 + 32 + 8
Kết quả : 0.6875(10)= 0.1011(2)
= 214 + 29 + 26 + 25 + 23
17000(10) = 0100 0010 0110 1000(2)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
18 March 2007 Bài giảng Kiến trúc Máy tính 13 18 March 2007 Bài giảng Kiến trúc Máy tính 14
NKK-HUT NKK-HUT
Chuyển đổi số lẻ thập phân sang nhị phân (tiếp) Chuyển đổi số lẻ thập phân sang nhị phân (tiếp)
NKK-HUT NKK-HUT
NKK-HUT NKK-HUT
3.2. Mã hóa và lưu trữ dữ liệu trong máy tính Mã hoá dữ liệu nhân tạo
18 March 2007 Bài giảng Kiến trúc Máy tính 19 18 March 2007 Bài giảng Kiến trúc Máy tính 20
NKK-HUT NKK-HUT
NKK-HUT NKK-HUT
2. Thứ tự lưu trữ các byte trong bộ nhớ chính Ví dụ lưu trữ dữ liệu 32-bit
Bộ nhớ chính thường tổ chức theo byte 0001 1010 0010 1011 0011 1100 0100 1101
18 March 2007 Bài giảng Kiến trúc Máy tính 23 18 March 2007 Bài giảng Kiến trúc Máy tính 24
NKK-HUT NKK-HUT
Lưu trữ của các bộ xử lý điển hình 3.3. Biểu diễn số nguyên
18 March 2007 Bài giảng Kiến trúc Máy tính 25 18 March 2007 Bài giảng Kiến trúc Máy tính 26
NKK-HUT NKK-HUT
18 March 2007 Bài giảng Kiến trúc Máy tính 27 18 March 2007 Bài giảng Kiến trúc Máy tính 28
NKK-HUT NKK-HUT
Ví dụ 2. Cho các số nguyên không dấu M, N Biểu diễn được các giá trị từ 0 đến 255
được biểu diễn bằng 8-bit như sau:
0000 0000 = 0 Chú ý:
M = 0001 0010 0000 0001 = 1 1111 1111
N = 1011 1001 0000 0010 = 2 + 0000 0001
Xác định giá trị của chúng ? 0000 0011 = 3 1 0000 0000
Giải: ... Vậy: 255 + 1 = 0 ?
1111 1111 = 255 Æ do tràn nhớ ra
M = 0001 0010 = 24 + 21 = 16 +2 = 18
ngoài
N = 1011 1001 = 27 + 25 + 24 + 23 + 20
= 128 + 32 + 16 + 8 + 1 = 185
18 March 2007 Bài giảng Kiến trúc Máy tính 29 18 March 2007 Bài giảng Kiến trúc Máy tính 30
NKK-HUT NKK-HUT
18 March 2007 Bài giảng Kiến trúc Máy tính 31 18 March 2007 Bài giảng Kiến trúc Máy tính 32
NKK-HUT NKK-HUT
NKK-HUT NKK-HUT
NKK-HUT NKK-HUT
Quy tắc tìm Số bù một và Số bù hai c. Biểu diễn số nguyên có dấu bằng mã bù hai
NKK-HUT NKK-HUT
0 a n −2 ... a 2 a1 a0 1a n − 2 ... a 2 a1 a0
Giá trị của số dương A: Giá trị của số âm A:
n−2 n−2
A = ∑ ai 2 i
A = −2 n −1
+ ∑ ai 2 i
i =0 i =0
Dải biểu diễn cho số dương: 0 đến 2n-1-1 Dải biểu diễn cho số âm: -1 đến -2n-1
18 March 2007 Bài giảng Kiến trúc Máy tính 39 18 March 2007 Bài giảng Kiến trúc Máy tính 40
NKK-HUT NKK-HUT
NKK-HUT NKK-HUT
NKK-HUT NKK-HUT
Trục số học số nguyên có dấu với n = 8 bit Với n = 16 bit, 32 bit, 64 bit
NKK-HUT NKK-HUT
Chuyển đổi từ byte thành word 3. Biểu diễn số nguyên theo mã BCD
NKK-HUT NKK-HUT
18 March 2007 Bài giảng Kiến trúc Máy tính 49 18 March 2007 Bài giảng Kiến trúc Máy tính 50
NKK-HUT NKK-HUT
Phép cộng số BCD 3.4. Thực hiện các phép toán số học với số nguyên
87 Æ 1000 0111BCD
+ 96 Æ + 1001 0110BCD
1 83 1 0001 1101 Æ kết quả sai
+ 0110 0110 Å hiệu chỉnh
0001 1000 0011BCD Ækết quả đúng
1 8 3
Hiệu chỉnh: cộng thêm 6 ở những vị trí có nhớ (>9)
18 March 2007 Bài giảng Kiến trúc Máy tính 51 18 March 2007 Bài giảng Kiến trúc Máy tính 52
NKK-HUT NKK-HUT
Nguyên tắc cộng số nguyên không dấu Ví dụ cộng số nguyên không dấu
57 = 0011 1001
Khi cộng hai số nguyên không dấu n-bit, + 34 = + 0010 0010
91 0101 1011 = 64+16+8+2+1=91 Æ đúng
kết quả nhận được là n-bit:
Nếu Cout=0 Æ nhận được kết quả đúng. 209 = 1101 0001
+ 73 = + 0100 1001
Nếu Cout=1 Æ nhận được kết quả sai, 282 1 0001 1010
do tràn nhớ ra ngoài (Carry Out). 0001 1010 = 16+8+2=26 Æ sai
Æ có tràn nhớ ra ngoài (Cout=1)
Tràn nhớ ra ngoài khi: tổng > (2n – 1)
Để có kết quả đúng ta thực hiện cộng theo 16-bit:
209 = 0000 0000 1101 0001
+ 73 = + 0000 0000 0100 1001
0000 0001 0001 1010 = 256+16+8+2 = 282
18 March 2007 Bài giảng Kiến trúc Máy tính 53 18 March 2007 Bài giảng Kiến trúc Máy tính 54
NKK-HUT NKK-HUT
NKK-HUT NKK-HUT
NKK-HUT NKK-HUT
4. Nguyên tắc thực hiện phép trừ 5. Nhân số nguyên không dấu
18 March 2007 Bài giảng Kiến trúc Máy tính 59 18 March 2007 Bài giảng Kiến trúc Máy tính 60
NKK-HUT NKK-HUT
18 March 2007 Bài giảng Kiến trúc Máy tính 61 18 March 2007 Bài giảng Kiến trúc Máy tính 62
NKK-HUT NKK-HUT
C A Q
0 0000 1101 Các giá trị khởi đầu
+ 1011
0 1011 1101 A ← A + M
0 0101 1110 Dịch phải
0 0010 1111 Dịch phải
+ 1011
0 1101 1111 A ← A + M
0 0110 1111 Dịch phải
+ 1011
1 0001 1111 A ← A + M
0 1000 1111 Dịch phải
18 March 2007 Bài giảng Kiến trúc Máy tính 63 18 March 2007 Bài giảng Kiến trúc Máy tính 64
NKK-HUT NKK-HUT
NKK-HUT NKK-HUT
B¾t ®Çu
Thuật giải Booth 7. Chia số nguyên không dấu
A := 0, Q-1 := 0
M := Sè bÞ nh©n
Q := Sè nh©n
Bé ®Õm := n
No
Bé ®Õm = 0 ?
Yes
KÕt thóc
18 March 2007 Bài giảng Kiến trúc Máy tính 67 18 March 2007 Bài giảng Kiến trúc Máy tính 68
NKK-HUT NKK-HUT
18 March 2007 Bài giảng Kiến trúc Máy tính 69 18 March 2007 Bài giảng Kiến trúc Máy tính 70
NKK-HUT NKK-HUT
18 March 2007 Bài giảng Kiến trúc Máy tính 71 18 March 2007 Bài giảng Kiến trúc Máy tính 72
NKK-HUT NKK-HUT
Cơ số R = 2
Các dạng:
Dạng 32-bit
Dạng 44-bit
Dạng 64-bit
Dạng 80-bit
18 March 2007 Bài giảng Kiến trúc Máy tính 73 18 March 2007 Bài giảng Kiến trúc Máy tính 74
NKK-HUT NKK-HUT
Dạng 32 bit Ví dụ 1
Xác định giá trị của số thực được biểu diễn bằng
32-bit như sau:
S là bit dấu:
1100 0001 0101 0110 0000 0000 0000 0000
S = 0 Æ số dương
S = 1 Æ số âm S = 1 Æ số âm
e = 1000 00102 = 130 Æ E = 130-127=3
e (8 bit) là mã excess-127 của phần mũ E:
e = E+127 Æ E = e – 127 Vậy
giá trị 127 gọi là là độ lệch (bias) X = -1.10101100 * 23 = -1101.011 = -13.375
m (23 bit) là phần lẻ của phần định trị M:
M = 1.m 0011 1111 1000 0000 0000 0000 0000 0000 = ?
Công thức xác định giá trị của số thực: = +1.0
X = (-1)S*1.m * 2e-127
18 March 2007 Bài giảng Kiến trúc Máy tính 75 18 March 2007 Bài giảng Kiến trúc Máy tính 76
NKK-HUT NKK-HUT
Ví dụ 2 Ví dụ 3
Biểu diễn số thực X= 83.75 về dạng số dấu phẩy Biểu diễn số thực X= -0,2 về dạng số dấu phẩy
động IEEE754 32-bit động IEEE754 32-bit
Giải: Giải:
X = 83.75(10) = 1010011.11(2) = 1.01001111 x 26 X = -0,2(10) = - 0.00110011...0011...(2) =
= - 1.100110011..0011... x 2-3
Ta có:
S = 0 vì đây là số dương Ta có:
S = 1 vì đây là số âm
E = e-127 = 6 Æ e = 127 + 6 = 133(10) = 1000 0101(2)
E = e-127 = -3 Æ e = 127 -3 = 124(10) = 0111 1100(2)
Vậy:
Vậy:
X = 0100 0010 1010 0111 1000 0000 0000 0000
X = 1011 1110 0100 1100 1100 1100 1100 1100
18 March 2007 Bài giảng Kiến trúc Máy tính 77 18 March 2007 Bài giảng Kiến trúc Máy tính 78
NKK-HUT NKK-HUT
X = - 27.0625; Y = 1/32 Các bit của e bằng 1, các bit của m bằng 0, thì X = ± ∞
x111 1111 1000 0000 0000 0000 0000 0000 Æ X =± ∞
Các bit của e bằng 1, còn m có ít nhất một bit bằng 1, thì
nó không biểu diễn cho số nào cả (NaN - not a number)
18 March 2007 Bài giảng Kiến trúc Máy tính 79 18 March 2007 Bài giảng Kiến trúc Máy tính 80
NKK-HUT NKK-HUT
18 March 2007 Bài giảng Kiến trúc Máy tính 81 18 March 2007 Bài giảng Kiến trúc Máy tính 82
NKK-HUT NKK-HUT
S là bit dấu
X1 = M1 * RE1
e (15 bit): mã excess-16383 của phần X2 = M2 * RE2
mũ E Æ E = e – 16383 Ta có
m (64 bit): phần lẻ của phần định trị M X1 * X2 = (M1* M2) * RE1+E2
X1 / X2 = (M1 / M2) * RE1-E2
Giá trị số thực:
18 March 2007 Bài giảng Kiến trúc Máy tính 83 18 March 2007 Bài giảng Kiến trúc Máy tính 84
NKK-HUT NKK-HUT
NKK-HUT NKK-HUT
Thuật toán cộng/trừ số dấu phẩy động Thuật toán nhân số dấu phẩy động
18 March 2007 Bài giảng Kiến trúc Máy tính 87 18 March 2007 Bài giảng Kiến trúc Máy tính 88
NKK-HUT NKK-HUT
18 March 2007 Bài giảng Kiến trúc Máy tính 89 18 March 2007 Bài giảng Kiến trúc Máy tính 90
NKK-HUT NKK-HUT
dấu cách
128 ký tự mở rộng có mã từ 8016 ÷ FF16
Các mã điều khiển
Các mã điều khiển định dạng văn bản
Các mã điều khiển truyền số liệu
Các mã điều khiển phân tách thông tin
Các mã điều khiển khác
18 March 2007 Bài giảng Kiến trúc Máy tính 91 18 March 2007 Bài giảng Kiến trúc Máy tính 92
NKK-HUT NKK-HUT
HEXA 0 1 2 3 4 5 6 7
0 <NUL>
0
<DLE>
16
<space>
32
0
48
@
64
P
80
`
96
p
112
Các ký tự hiển thị chuẩn
1 <SOH> <DC1> ! 1 A Q a q
1 17 33 49 65 81 97 113
2 <STX>
2
<DC2>
18
"
34
2
50
B
66
R
82
b
98
r
114 26 chữ cái hoa ‘A’ đến ‘ Z’ có mã từ 41(16) đến 5A(16)
3 <ETX>
3
<DC3>
19
#
35
3
51
C
67
S
83
c
99
s
115
(65 đến 90):
4 <EOT>
4
<DC4>
20
$ 4 D T d t 'A' Æ 0100 0001 = 41(16)
36 52 68 84 100 116
F <SI>
15
<US>
31
/ ? O - o <DEL>
127
47 63 79 95 111
18 March 2007 Bài giảng Kiến trúc Máy tính 93 18 March 2007 Bài giảng Kiến trúc Máy tính 94
NKK-HUT NKK-HUT
Các ký tự hiển thị chuẩn (tiếp) Các ký tự hiển thị chuẩn (tiếp)
18 March 2007 Bài giảng Kiến trúc Máy tính 95 18 March 2007 Bài giảng Kiến trúc Máy tính 96
NKK-HUT NKK-HUT
Các mã điều khiển: có mã 0016 ÷ 1F16 và 7F16 Các mã điều khiển (tiếp)
Các mã ký tự điều khiển truyền tin
Các mã ký tự điều khiển định dạng (điều khiển màn hình, máy in …)
SOH Start of Heading - Bắt đầu tiêu đề: Ký tự đánh dấu bắt đầu phần thông
tin tiêu đề.
BS Backspace – Lùi lại một vị trí: Ký tự điều khiển con trỏ lùi lại
một vị trí. STX Start of Text - Bắt đầu văn bản: Ký tự đánh dấu bắt đầu khối dữ liệu
văn bản và cũng chính là để kết thúc phần thông tin tiêu đề.
HT Horizontal Tab - Tab ngang: Ký tự điều khiển con trỏ dịch tiếp ETX End of Text – Kết thúc văn bản: Ký tự đánh dấu kết thúc khối dữ liệu
một khoảng đã định trước. văn bản đã được bắt đầu bằng STX.
EOT End of Transmission - Kết thúc truyền: Chỉ ra cho bên thu biết kết
LF Line Feed – Xuống một dòng: Ký tự điều khiển con trỏ chuyển thúc truyền.
xuống dòng dưới. ENQ Enquiry – Hỏi: Tín hiệu yêu cầu đáp ứng từ một máy ở xa.
VT Vertical Tab – Tab đứng: Ký tự điều khiển con trỏ chuyển qua ACK Acknowledge - Báo nhận: Ký tự được phát ra từ phía thu báo cho phía
một số dòng đã định trước. phát biết rằng dữ liệu đã được nhận thành công.
NAK Negative Aknowledge - Báo phủ nhận: Ký tự được phát ra từ phía thu
FF Form Feed - Đẩy sang đầu trang: Ký tự điều khiển con trỏ di báo cho phía phát biết rằng việc nhận dữ liệu không thành công.
chuyển xuống đầu trang tiếp theo.
SYN Synchronous / Idle - Đồng bộ hoá: Được sử dụng bởi hệ thống truyền
CR Carriage Return – Về đầu dòng: Ký tự điều khiển con trỏ di đồng bộ để đồng bộ hoá quá trình truyền dữ liệu.
chuyển về đầu dòng hiện hành. ETB End of Transmission Block – Kết thúc khối truyền: Chỉ ra kết thúc
khối dữ liệu được truyền.
18 March 2007 Bài giảng Kiến trúc Máy tính 97 18 March 2007 Bài giảng Kiến trúc Máy tính 98
NKK-HUT NKK-HUT
BEL Bell - Chuông: Được sử dụng phát ra tiếng bíp khi cần gọi sự chú ý của con người.
FS File Separator - Ký hiệu phân cách tập tin: Đánh dấu
ranh giới giữa các tập tin. SO Shift Out – Dịch ra: Chỉ ra rằng các mã tiếp theo sẽ nằm ngoài tập ký tự chuẩn cho
đến khi gặp ký tự SI.
GS Group Separator - Ký hiệu phân cách nhóm: Đánh SI Shift In – Dịch vào: Chỉ ra rằng các mã tiếp theo sẽ nằm trong tập ký tự chuẩn.
dấu ranh giới giữa các nhóm tin (tập hợp các bản DLE Data Link Escape - Thoát liên kết dữ liệu: Ký tự sẽ thay đổi ý nghĩa của một hoặc
nhiều ký tự liên tiếp sau đó.
ghi).
DC1÷DC Device Control - Điều khiển thiết bị : Các ký tự dùng để điều khiển các thiết bị phụ
RS Record Separator - Ký hiệu phân cách bản ghi: Đánh 4 trợ.
dấu ranh giới giữa các bản ghi. CAN Cancel – Huỷ bỏ: Chỉ ra rằng một số ký tự nằm trước nó cần phải bỏ qua.
EM End of Medium – Kết thúc phương tiện: Chỉ ra ký tự ngay trước nó là ký tự cuối
US Unit Separator - Ký hiệu phân cách đơn vị: Đánh dấu cùng có tác dụng với phương tiện vật lý.
ranh giới giữa các phần của bản ghi. SUB Substitute – Thay thế: Được thay thế cho ký tự nào được xác định là bị lỗi.
ESC Escape – Thoát: Ký tự được dùng để cung cấp các mã mở rộng bằng cách kết hợp
với ký tự sau đó.
DEL Delete – Xoá: Dùng để xoá các ký tự không mong muốn.
18 March 2007 Bài giảng Kiến trúc Máy tính 99 18 March 2007 Bài giảng Kiến trúc Máy tính 100
NKK-HUT NKK-HUT
18 March 2007 Bài giảng Kiến trúc Máy tính 101 18 March 2007 Bài giảng Kiến trúc Máy tính 102
NKK-HUT
Hết chương 3