Tải bản đầy đủ (.pptx) (21 trang)

Bài giảng Kiến trúc máy tính Chương 4 Bộ vi xử lý

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 (558.7 KB, 21 trang )

CHƯƠNG 4

BỘ VI XỬ LÝ


NỘI DUNG



Kiến trúc chung của bộ vi xử lý



Tập thanh ghi



Đơn vị điều khiển

2 / 50

KTMM


1. Kiến trúc chung của bộ vi xử lý
Bộ nhớ trong, là chỗ chứa

Đòi hỏi ở bên trong CPU:

Tìm nạp lệnh (Fetch Instruction)
Diễn giải lệnh (Interpret Instruction)


Tìm nạp dữ liệu (Fetch data)
Xử lý dữ liệu (Process data)
Ghi dữ liệu (Write data)

tạm thời

Tính toán thực sự và xử lý
dữ liệu
Chuyển DL và cá chỉ lệnh
vào ra khỏi CPU và ĐK
các thao tác của ALU

CPU với bus hệ thống

3 / 50

KTMM


1. Kiến trúc chung của bộ vi xử lý

Sơ đồ kiến trúc bên trong của CPU

4 / 50

KTMM


Tổ chức thanh ghi
 CPU cần có các vùng nhớ tạm để làm việc, gọi là các thanh ghi (registers)

 Số lượng và chức năng thay đổi tùy vào thiết kế của bộ xử lý.
 Là một trong các quyết định thiết kế quan trọng.
 Mức cao nhất trong phân cấp bộ nhớ.

5 / 50

KTMM


User-visible register
User-visible register là thanh ghi có thể được tham chiếu qua ngôn ngữ máy, cho phép thu nhỏ bộ nhớ
chính bằng tối ưu hóa việc sử dụng các thanh ghi, bao gồm các loại:



General Purpose: đa chức năng, chứa operand của chỉ thị, có thể phân chia cho các chức năng khác
nhau bởi người lập trình.



Data: chỉ chứa data, không được dùng để tính toán địa chỉ.



Address: dùng cho chế độ địa chỉ như segment pointer, index register, stack pointer



Condition Codes: chứa các mã điều kiện (còn gọi là các flag)


6 / 50
KTMM


Control & status register

7 / 50



Có một số thanh ghi được dùng để điều khiển hoạt động của CPU



Program Counter



Instruction Decoding Register



Memory Address Register



Memory Buffer Register




Tất cả các thiết kế đều có một hay tập thanh ghi gọi là PSW (Program Status Word)

KTMM


Ví dụ Bộ xử lý 8086

Vi xử lý Intel 8086 là vi xử lý 16 bit, các phép toán xử lý bên trong CPU thực hiện trên số nhị phân
16 bit. Bao gồm:

8 / 50



Bộ thanh ghi đa dụng



Bộ thanh đoạn và con trỏ lệnh



Thanh ghi trạng thái

KTMM


Bộ xử lý 8086: Bộ thanh ghi đa dụng




Gồm 8 thanh ghi 16 bit.



Các thanh ghi AX, BX, CX, DX có thể dùng phân nửa như các thanh ghi 8 bit AH, AL, BH, BL, CH,
CL, DH, DL.



Thanh ghi AH là nửa cao của thanh ghi AX.Thanh ghi AL là nửa thấp của thanh ghi AX.



- AX là thanh ghi bộ tích lũy 16 bit (ACC). AL là thanh ghi bộ tích lũy 8 bit. BX là thanh ghi nền (base
register). CX là thanh ghi bộ đếm (counter).DX là thanh ghi dữ liệu (data).

9 / 50



SI là thanh ghi chỉ số nguồn (source index).



DI là thanh ghi chỉ số đích (destination index).



BP là thanh ghi con trỏ nền (base pointer).




SP là thanh ghi con trỏ chồng (stack pointer).


Bộ xử lý 8086: Bộ thanh ghi đa dụng



Gồm 8 thanh ghi 16 bit.



Các thanh ghi AX, BX, CX, DX có thể dùng phân nửa như các thanh ghi 8 bit AH, AL, BH, BL, CH,
CL, DH, DL.



Thanh ghi AH là nửa cao của thanh ghi AX.Thanh ghi AL là nửa thấp của thanh ghi AX.



- AX là thanh ghi bộ tích lũy 16 bit (ACC). AL là thanh ghi bộ tích lũy 8 bit. BX là thanh ghi nền (base
register). CX là thanh ghi bộ đếm (counter).DX là thanh ghi dữ liệu (data).

10 / 50




SI là thanh ghi chỉ số nguồn (source index).



DI là thanh ghi chỉ số đích (destination index).



BP là thanh ghi con trỏ nền (base pointer).



SP là thanh ghi con trỏ chồng (stack pointer).


Bộ xử lý 8086: Bộ thanh đoạn và con trỏ lệnh

11 / 50



Gồm 4 thanh ghi đoạn 16 bit dùng để quản lý bộ nhớ theo phương pháp phân đoạn.



CS là thanh ghi đoạn chương trình (code segment).



DS là thanh ghi đoạn dữ liệu (data segment).




SS là thanh ghi đoạn chồng (stack segment).



ES là thanh ghi đoạn mở rộng (extra segment).



IP là thanh ghi con trỏ lệnh (instruction pointer).


Bộ xử lý 8086: Thanh ghi cờ



SF là cờ dấu (sign flag). CF là cờ nhớ (carry flag). ZF là cờ không (zero flag). OF là cờ tràn (overflow flag). AF
là cờ trung gian (auxiliary flag) hay còn gọi là cờ nhớ nửa (half-carry flag). AF = 0 khi không có sự tràn về
dung lượng 4 bit. AF = 1 khi có sự tràn về dung lượng 4 bit.



Ví dụ : phép toán 00001001 + 00000111 = 00010000 sẽ lập cờ AF lên 1.



Cờ AF thường được dùng trong các phép toán BCD (là các số dùng hệ nhị phân 4 bit để biểu diễn số thập phân
từ 0 ÷ 9).




PF là cờ kiểm tra chẳn lẻ (parity flag).



DF là cờ định hướng (direction flag).DF = 0 : định hướng giảm địa chỉ cho các lệnh xử lý chuỗi. DF = 1 :
định hướng tăng địa chỉ cho các lệnh xử lý chuỗi.



IF là cờ ngắt quãng (interrupt enable flag). IF = 0 : cấm ngắt cứng INTR. IF = 1 : cho phép ngắt cứng
INTR.

12 / 50


Đơn vị số học và logic ALU


Định nghĩa: là 1 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ệu.
Tất cả các thành phần khác của hệ 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 đó đưa kết quả ra ngoài.

13 / 50

KTMM



Đơn vị số học và logic ALU

14 / 50

KTMM


Đơn vị điều khiển CU

Đơn vị điều khiển thực hiện 2 công tác chính:



Sự sắp xếp chuỗi (sequencing): Đơn vị điều khiển CPU sắp xếp chuỗi vi thao tác vào 1 chuỗi
liên tục thích hợp, dựa trên chương trình đang thực hiện.



Sự thi hành (Execution): Đơn vị điều khiển khiến mỗi vi thao tác được thực hiện. Đơn vị điều
khiển thao tác dựa vào việc sử dụng các tín hiệu điều khiển.

15 / 50

KTMM


Đơn vị điều khiển CU

16 / 50


KTMM


Các tín hiệu điều khiển vào



Clock: đây là cách đơn vị điều khiển “giữ thời gian” Đơn vị điều khiển tạo ra 1 vi thao tác
(hoặc 1 tập các thao tác đông thời) được thực hiện với mỗi xung đồng hồ. Đây là 1 vài lần nhắc
đến như là chu kỳ thời gian xử lý, hoặc chu kỳ thời gian đồng hồ.



Thanh ghi chỉ lệnh: mã chỉ lệnh hiện tại được dùng để xác định vi thao tác nào được thực hiện
trong chu kì thi hành.



Cờ: có các yêu cầu bởi đơn vị điều khiển để xác định trạng thái của CPU và kết quả của thao
tác ALU trước. VD, đối với chỉ lệnh Increment and skip if rezo (ISZ), đơn vị điều khiển sẽ
lượng gia PC nếu cờ Rezo được đặt

17 / 50

KTMM


Các tín hiệu điều khiển vào




Các tín hiệu điều khiển từ bus điều khiển: Khẩu phần bus điều khiển của bus hệ thống cung cấp
tín hiệu cho đơn vị điều khiển, như tín hiệu ngắt và sự công nhận.

18 / 50

KTMM


Các tín hiệu điều khiển ra



Tín hiệu điều khiển trong CPU: có 2 loại: nó khiến sữ liệu bị di chuyển từ 1 thanh ghi tới các
thanh ghi khác, và làm hoạt động các chức năng ALU cụ thể.



Các tín hiệu điều khiển bus: cũng có 2 loại các tín hiệu điều khiển bộ nhớ, và tín hiệu điều
khiển module vào ra.

19 / 50

KTMM


Đơn vị điều khiển chương trình

20 / 50


KTMM


Đơn vị điều khiển chương trình



Từ mà địa chỉ được xác định trong thanh ghi địa chỉ điều khiển được đọc vào thanh ghi bộ đệm
điều khiển.



Nội dung của thanh ghi bộ đệm điều khiển phát ra tín hiệu điều khiển và thông tin địa chỉ tiếp
theo



Đơn vị logic tuần tự tải địa chỉ mới vào trong thanh ghi địa chỉ điều khiển dựa vào thông tin địa
chỉ tiếp theo từ thanh ghi bộ đệm điều khiển và các cờ ALU. Tất cả xảy ra trong 1 xung đồng
hồ.

21 / 50

KTMM



×