Chương 1: Tổng quan về hệ
thống vi xử ly
Nội dung
Các hệ thống số đếm.
Các loại mã.
Giới thiệu về vi xử lý (Công nghệ LSI và sự ra đời của bộ
vi xử lý)
Các thành phần của hệ thống VXL (Đại cương về phần
cứng và phần mềm hệ thống vi xử lý).
CÁC HỆ THỐNG SỐ ĐẾM
Hệ thập phân (Decimal)
Hệ nhị phân (Binary).
Hệ thập lục phân (Hexadecimal – Hex)
Các hệ thống số – Hệ 10
(Decimal)
Hệ 10
Các số biểu diễn bằng 10 con số: 0-9
Biểu diễn theo các cột từ phải qua trái: đơn vị,
chục, trăm ….
123
1× 102 + 2× 101 +
3×or
100
1 trăm, 2 chục và 3 đơn vị
S10 = CnB + Cn-1Bn-1 + Cn-2Bn-2 + … + C0B0 =
n : nguyên dương, B là cơ số bất kỳ)
n
n
(i,B
C
∑ i i
i =0
Cơ sô
Khi đếm lên trong hệ 10, chúng ta sẽ tăng hàng đơn vị tới 10
thì hàng đơn vị cần được xoá về 0 và hàng chục tăng lên 1,
hàng chục tăng tới 10 thì xoá về 0 và tăng hàng trăm lên 1
….
Tương tự trong hệ thống cơ số n bất kỳ khi đếm lên cột bên
phải tăng tới n thì sẽ xoá về 0 và tăng cột kế tiếp bên trái của
nó lên 1.
Xem xét hệ thống đồng hồ: Giờ – Phút – Giấy để thấy thống cơ
số 60.
Ví dụ: 12:58:43 + 00:03:20 = 13:02:03
Chú ý: Trong máy tính thường sử dụng các chỉ số bằng
cơ số (hoặc các chữ đầu tương ứng) để xác định một
số thuộc cơ số nào. Ví dụ: (123)10 hay (123)D chỉ thị số
Số bù 10
9
8
1
9
2
11
7
3
4
7
7
14
Trừ đi một số bằng cộng với bù 10 của nó –
Trừ một số trong hệ 2 sẽ bằng cộng với bù
2 của nó
Các bộ vi xử lý trước đấy không thiết kế
mạch trừ để giảm giá thành
Nhị phân - Binary
Cơ số 2
Tất cả các số đều biể udiễn bằng hai số: 0 & 1
Trọng số sẽ tăng dần từ phải qua trái.
1111011
1× 26 + 1× 25 + 1× 24 + 1× 23 + 0× 22 + 1× 21 +
1× 20
= 1× 64 + 1× 32 + 1× 16 + 1× 8 + 0× 4 + 1× 2 +
1× 1
Các thuật ngữ về số nhị
phân
Một số với trạng thái 0 hoặc 1 được gọi là
1 “bit”.
8 bit = 1 “byte”.
Nhiều hơn 1 byte có thể gọi là 1 “word”.
Thường các từ nhị phân có: 12, 16, 32, 64
bit.
210 bit = 1 K bit
210 byte = 1 KB = 8 K bit.
220 byte = 1 MB
230 byte = 1 GB
Đổi thập phân ra nhị phân
Ví dụ – Đổi số (123)10 thành nhị phân.
123 ÷ 2 = 61 dư 1
61 ÷ 2 = 30 dư 1
30 ÷ 2 = 15 dư 0
15 ÷ 2 = 7 dư 1
7 ÷ 2 = 3 dư 1
3 ÷ 2 = 1 dư 1
1 ÷ 2 = 0 dư 1
Least significant bit (rightmost)
Most significant bit (leftmost)
Kết quả : (123)10 = (1111011)2
Số bù 2 - Two’s
Complement
Một byte nhị phân có thể sử dụng để biểu diễn một
số thập phân trong khoảng:
0 to 255
(Không dấu - unsigned)
-128 to 127 (Có dấu - signed)
Số âm trong hệ nhị phân là hiệu giữa giá trị giá trị
lớn nhất của tổ hợp (2n hoặc 28 = 256 cho 1 byte)
đi giá trị dương tương ứng của nó.
Ví dụ:
(123)10 = (01111011)2
(-123)10 = (10000101)2 = (133)10 = (256123)10
Số bù 2
Bù 1 của một số nhị phân = Nghịch đảo
các bit của nó.
Bù 2 = Bù 1 + 1
Ví dụ:
1D = 0000 0001
Bù 1 của 1 sẽ là: 1111 1110
+
1
Bù 2 của 1 sẽ là: 1111 1111 = -1D
Cộng với 1D
0000 0001
10000 0000
Số âm nhị phân
Binary
0000 0000
0000 0001
….
0111 1111
1000 0000
1000 0001
…
1111 1111
Unsign
Decimal
0
1
…
127
128
129
…
255
Sign Decimal
0
1
…
127
-128
-127
…
-1
Câu hỏi đặt ra la
Làm thế nào phân biệt được sự khác nhau
giữa:
(-123)10 = (10000101)2
và
(133)10 = (10000101)2
Sẽ không thể phân biệt được trừ khi sử dụng
các phép toán số học có dấu signed hoặc
không dấu unsigned :
Unsigned ⇒ 0 ≤ x ≤ 255
Signed ⇒ −128 ≤ x ≤ 127
Hệ 16 - Hexadecimal
Cơ số 16
Các số biểu diễn bằng 16 ký tự: 0-9 và A-F (cho
10 tới 15)
Trọng số thay đổi từ phải qua trái là 1, 16, 256,
512, 1024, 2048, 4096 … .
7B
7× 161 + 11× 160 =
123
Tại sao lại là hệ 16 ?
Đổi Decimal qua Hex
Đổi (123)10 thành số hex
123 ÷ 16 = 7
7 ÷ 16 = 0
dư 11 (hay B)
dư 7
Kết quả : (123)10 = (7B)16
Binary sang Hex / Hex sang
Binary
Hệ 16 xuất hiện là để viết gọn số nhị phân một cách
nhanh chóng. Bốn bit nhi phân có thể viết thành 1 số
Hex
0111 1011
7B
Ngay cả một số nhị phân dài cũng có thể dễ dàng
chuyển thành số HEX và ngược lại.
VD:
1011 1001 0110 1111 1010
B96FA
Các hệ thống số khác
Số hệ 8 (Octal): có thể sử dụng viết gọn số
nhị phân bằng cách nhóm 3 bit nhị phân
việt thành 1 số hệ 8.
Không gọn bằng số Hex – it được sử dụng.
Tại sao không phải hệ 32 ?
Bảng chuyển đổi các hệ
thống
số
Decimal
Binary
Hex
Octal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
Địa chi
0
1
1
1
1
0
0
0
0
1
0
1
1
0
1
1
10 bit = 210 thin = 1024D = 3FFH=1KB
0
0
0
11 bit địa chi cuối là n=7FFH = 2KB
1
1
1
12 bit thi n=
10
2
13 bit thi n = 1FFFH = 8KB
11
3
14 bit thi n = 3FFFH = 16 KB
100
FFFH = 4 KB
….
F
640KB : 0 - ?
Hex
0000 0000 0000 0000 0000
0
1
Một bit
1
0
0
1
1
0111 1111 1111 1111 1111 512K
1
n
n
n
1000 0000 0000 0000 0000
1001 1111 1111 1111 1111 640K
Cộng nhị phân
Cộng hai số nhị phân nhiều chữ số cũng
giống như hai số thập phân nhiều chữa số
+
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
Các bit nhớ
Kết quả
Bộ cộng - Full Adder
Cộng cho mỗi cột có 03 ngõ vào.
Hai số để cộng (A và B)
Một bit nhớ từ cột trước đó.
Bộ cộng 1 bit sẽ có hai ngõ ra.
Một bit ra cho kết quả
Bit kế tiếp cho nhớ.
B A CIN
Full Adder
SUM = A ⊕ B ⊕ C IN
COUT
SUM
COUT
C IN A các
+ C INbộ
B +cộng
AB này để thực hiện các
Có thể
sử =dụng
mạch cộng nhiều bit.
Mạch cộng - Parallel Adder
Để cộng hai số n bit cần ghép n bộ cộng full adder.
Mỗi full-adder sử dụng để cộng trên một cột.
B 2 A2
B1 A1
B 0 A0
CIN = 0
B A CIN
B A CIN
B A CIN
Full Adder
Full Adder
Full Adder
COUT
SUM
Q2
COUT
SUM
Q1
COUT
SUM
Q0
Lưu y
Trong mạch điện tử số sử dụng hệ thống cơ số 2
(binary).
Hệ cơ số 16 (hex) thường được sử dụng thay cho số
nhị phân vì chuyển đổi nhi phân và hex khá dễ dàng.
Số nhị phân có số có dấu và số không dấu (two’s
complement).
Phép cộng nhị phân nhiều chữ số cũng giống như
cộng số thấp phân.
CÁC LOẠI MA
Mã BCD.
Mã LED 7 đoạn
Mã ASCII.
Mã BCD( Binary Code for
Decimal)
Biểu diễn một số từ 0 đến 9.
BCD nén: 04 bit 01 số
BCD không nén: nhiều hơn 4 bit 1 số.
Vi dụ:
1000 0011B = 83D
0000 1000 0000 0001 = 801D