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

Cổng logic và đại số logic. Chương VI:

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 (320.81 KB, 15 trang )

Trường Đại Học Marketing Giáo trình Cấu trúc máy tính
Trang VI.1
Chương VI:
CÁC MẠCH VI XỬ LÝ - TỔ CHỨC CPU
1. Giới thiệu các thanh ghi:
Một bộ phận then chốt trong CPU chính là các thanh ghi (Register)
Thanh ghi là một dạng bộ nhớ có tốc độ đọc - ghi cực nhanh, dung lượng hạn
chế và nằm trong CPU. Giống như các đơn vị nhớ, thanh ghi bao gồm các đơn vị
nhớ nhị phân và được đánh địa chỉ để dễ dàng truy xuất chúng.
Thông thường, tuỳ theo chức năng của chúng mà người ta đặt tên cho chúng,
vì vậy chúng có nhiều tên gọi khác nhau.
1.1. Thanh ghi tích luỹ (Accumulator):
Trong CPU có một hay nhiều thanh ghi được dùng để chứa dữ liệu, các dữ
liệu này được đọc từ bộ nhớ vào. Các thanh ghi có chức năng này được gọi là
thanh ghi tích luỹ. Thanh ghi tích luỹ lưu trữ dữ liệu tạm thời trong khi tính toán.
Trong hầu hết máy tính, thanh ghi tích luỹ thường giữ một trong những toán
hạng của các phép tính số học, luận lý.
Ngoài ra, thanh ghi tích luỹ còn được dùng trong các phép toán dịch chuyển
bit và các lệnh khác.
7 6 5 4 3 2 1 0 <- Bit
Thanh ghi tích luỹ 8 bit
1.2. Thanh ghi đếm dữ liệu (Data Counter):
Trong CPU có một hay nhiều thanh ghi đếm dữ liệu, nó chứa địa chỉ của dữ
liệu cần đọc hay ghi. Kích thước của thanh ghi này tuỳ thuộc vào độ lớn của bộ
nhớ.
Ví dụ:
Thanh ghi 8 bit có thể định vị 2
8
(=256) ô nhớ.
Thanh ghi 16 bit có thể định vị 2
16


(=65536) ô nhớ.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 <- Bit
Thanh ghi đếm dữ liệu 16 bit
1.3. Thanh ghi lệnh (Instruction Register):
Thanh ghi này được dùng để lưu trữ lệnh đã được đọc từ bộ nhớ vào. Thông
thường loại thanh ghi này có chiều dài 8 bit. Dùng lưu trữ lệnh cho đến khi lệnh
Trường Đại Học Marketing Giáo trình Cấu trúc máy tính
Trang VI.2
được giải mã. Độ dài bit của nó chính là độ dài bit của lệnh cơ bản cho máy
tính. Một số máy tính có hai thanh ghi lệnh, do đó nó có thể lấy một lệnh đồng
thời cất một lệnh trong khi thực hiện lệnh trước đó và sự xử lý này được gọi là
xử lý đường ống (pipe - line)
7 6 5 4 3 2 1 0 <- Bit
1.4. Mạch đếm chương trình (PC – Program Count):
Mạch đếm chương trình là thanh ghi chứa địa chỉ của mã lệnh. Dựa trên địa
chỉ này CPU đọc lệnh từ bộ nhớ và chứa vào Thanh ghi lệnh.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 <- Bit
2. Cách sử dụng các Thanh ghi:
Khi khởi động, địa chỉ đầu tiên được đưa vào Mạch đếm chương trình.
Ví dụ: Giả sử ta có lệnh đầu tiên nằm trong bộ nhớ tại địa chỉ 0400, do đó nội
dung của mạch đếm chương trình (PC) là 0400.
địa chỉ
bộ nhớ
0400 9C
0401 0A
0402 30
lệnh 1
0403 40 lệnh 2
0404 9C
0405 0A

0406 31
lệnh 3
0407 80 lệnh 4
0408 60 lệnh 5
Vùng
nhớ
chương
trình
0409
0A30 7A
0A31 2F
0A32
Vùng
nhớ dữ
liệu
Trường Đại Học Marketing Giáo trình Cấu trúc máy tính
Trang VI.3
A
DC
IR
04 00 PC
Nội dung của PC lúc khởi động chương trình
Kế tiếp CPU nạp nội dung ô nhớ có địa chỉ chứa trong PC vào Thanh ghi lệnh
(IR) đồng thời tăng PC lên 1.
A
DC
9C IR
04 01 PC
Nạp mã lệnh vào IR và tăng PC lên 1
CPU giải mã lệnh (9C) và thi hành lệnh đưa 2 byte kế tiếp vào DC. Qui trình

như sau:
o Căn cứ vào địa chỉ ghi ở PC, CPU nạp nội dung ô nhớ tương ứng vào byte
cao của DC và tăng PC lên 1.
A
0A DC
9C IR
04 02 PC
Nạp byte cao vào DC
o Với địa chỉ trong PC tìm tiếp byte tương ứng và nạp nọi dung vào byte thấp
của DC đồng thời tăng nội dung của PC lên 1
A
0A 30 DC
9C IR
04 03 PC
Nạp byte thấp vào DC
o Lệnh được thi hành xong. Chú ý nội dung của ô nhớ 0401 và 0402 cũng
được nạp vào DC dù đây là 2 vùng nhớ nằm trong vùng nhớ chương trình
và được định vị bởi PC. Như vậy, dữ liệu mà được xử lý ngay trong lệnh,
loại dữ liệu này gọi là “trực kiện” hoặc dữ liệu lấy ngay (immediate data)
Với địa chỉ trong PC, CPU nạp lệnh kế vào IR.
Trường Đại Học Marketing Giáo trình Cấu trúc máy tính
Trang VI.4
A
0A 30 DC
40 IR
04 04 PC
Nạp lệnh kế vào IR
Lệnh 40 nạp ô nhớ có địa chỉ trong DC vào A
7A A
0A 30 DC

40 IR
04 04 PC
Lưu ý rằng nội dung DC và PC không tăng. PC không tăng vì 7A không phải là
dữ liệu hay lệnh trực kiện mà nó được tìm từ vùng nhớ dữ liệu. DC không tăng vì
dữ liệu cần xử lý kế tiếp không nhất thiết phải nằm ở vùng nhớ kế tiếp.

Lệnh 3 giống như lệnh 1:
a) Nạp mã lệnh vào IR
7A A
0A 30 DC
9C IR
04 05 PC
b) Tìm lệnh 0A trong địa chỉ 0405 và nạp vào byte cao của DC
7A A
0A 30 DC
9C IR
04 06 PC
c) Tìm lệnh 31 trong địa chỉ 0406 và nạp vào byte thấp của DC
7A A
0A 31 DC
9C IR
04 07 PC

Lệnh 4 có mã 80 lấy nội dung vùng nhớ có địa chỉ chứa trong DC cộng vào A.
Qui trình được thực hiện như sau:
a) Nạp lệnh vào IR
Trường Đại Học Marketing Giáo trình Cấu trúc máy tính
Trang VI.5
7A A
0A 31 DC

80 IR
04 08 PC
b) Thực hiện lệnh 80
A9 A
0A 31 DC
80 IR
04 08 PC

Lệnh 5 có mã 60 lưu nội dung của A vào vùng nhớ định bởi DC
. Qui trình như
sau:
a) Tìm lệnh (Nạp lệnh vào IR):
A9 A
0A 31 DC
60 IR
04 09 PC
b) Thực hiện lệnh:
0A30 7A
0A31 A9
0A32
3. Mạch tính toán (ALU – Arithmetic & Logical Unit):
Mạch này được gọi là Mạch tính toán số học và luận lý. Các chức năng chính
của nó là:
 Thực hiện phép cộng nhị phân.
 Thực hiện các phép tính luận lý (đại số bool)
 Làm bù số.
 Dịch chuyển các bit trong dữ liệu
4. Thanh ghi địa chỉ bộ nhớ (MAR – Memory Address Register):
Thanh ghi này dùng để giữ địa chỉ của dữ kiện trong bộ nhớ. Địa chỉ này có
thể là một phần của lệnh hay do chương trình cung cấp. Lệnh nạp thanh ghi tích

luỹ (A) từ bộ nhớ có địa chỉ giả sử là 300 thì sẽ nạp A và nội dung của ô nhớ có
địa chỉ 300 (do lệnh nào vào MAR giá trị 300). Nội dung của A sẽ tăng lên 1 và cất
lại ô nhớ 300. Như vậy, CPU có thể truy xuất đến ô nhớ 300 một số lần mà không
cần chỉ ra địa chỉ của nó (ở đây là 300) trong lệnh (vì đã chứa sẵn trong MAR).
7A A
0A 31 DC
80 IR
04 08 PC
Trường Đại Học Marketing Giáo trình Cấu trúc máy tính
Trang VI.6
Ngoài ra còn có thể dùng ô nhớ kế tiếp (có địa chỉ là 301) bằng cách đơn giản là
cộng vào MAR.
5. Mạch điều kiểm (CU – Control Unit):
Mạch điều kiểm có nhiệm vụ chủ yếu là giải mã lệnh đang chứa trong IR và
phát tín hiệu truyền dữ liệu vào ALU đồng thời nó ra lệnh cho ALU thực hiện.
Hoạt động của Mạch điều kiểm
6. Các cờ trạng thái:
CPU có một dãy các cổng luận lý để ghi nhận kết quả thực hiện của ALU. Các
cổng này hợp lại thành thanh ghi trạng thái, mỗi cổng (1 bit) được gọi là một cờ
trạng thái. Trong thanh ghi này có các cờ sau:
6.1. Cờ gởi (Carry Flag):
Dùng để ghi bit nhớ khi thực hiện phép tính trên một hay nhiều byte hay
word.
Ví dụ: Giả sử ta có phép cộng sau:
Byte cao Byte thấp
0101 1011 1011 1000
+ 0010 1101 1101 1010
1 Cờ gởi
1000 1001 1001 0010
Thanh ghi đệm

Thanh ghi trạng thái
Mạch dịch chuyển
Mạch bù
Mạch cộng và Bool
Đường
truyền
dữ
liệu
A
DC
IR
PC
Thanh ghi đệm

×