Bài giảng Kiến trúc máy tính 1 - Chương 7: Tổ chức bộ xử lý - Vũ Đức Lung

Chƣơng 7 – Tổ chức bộ xử lý  
7.1. Tổ chức bộ xử lý trung tâm  
7.2. Bộ điều khiển  
7.3. Bộ thanh ghi  
7.4. Đường đi dữ liệu (Datapath)  
7.4.1. Tổ chức One-Bus  
7.4.2. Tổ chức Two-Bus, Three-Bus  
7.5. Diễn tiến thi hành lệnh mã máy  
7.6. Xử lý ngắt (Interrupt Handling)  
7.7. Kỹ thuật ống dẫn (Pipeline)  
Khoa KTMT  
Vũ Đức Lung  
1
7.1. Tổ chức bộ xử lý trung tâm  
đòi hỏi ở bên trong CPU:  
– Tìm nạp lệnh (Fetch Instruction)  
– Diễn giải lệnh (Interpret Instruc
– Tìm nạp dữ liệu (Fetch data)  
– Xử lý dữ liệu (Process data)  
– Ghi dữ liệu (W
Khoa KTMT  
Vũ Đức Lung  
2
Cấu trúc bên trong của CPU  
Khoa KTMT  
Vũ Đức Lung  
3
7.2. Bộ điều khiển  
Bộ điều khiển mạch điện tử  
– nguyên lý hoạt động như một mạch tuần tự hay Automate (mạch tự  
động hóa) trạng thái hữu hạn  
Ưu điểm :  
• chỉ có một số hữu hạn các trạng thái  
• tối ưu để tạo ra chế độ nhanh cho tác vụ  
Bộ điều khiển vi chương trình  
– dùng một vi chương trình lập sẵn nằm trong bộ nhớ điều khiển để khởi  
động dãy vi tac vụ theo yêu cầu.  
– dùng rộng rãi trong các bộ xử lý CISC  
Khoa KTMT  
Vũ Đức Lung  
4
7.2. Bộ điều khiển  
sơ đồ khối một bộ điều khiển cơ bản  
Khoa KTMT  
Vũ Đức Lung  
5
7.3. Bộ thanh ghi  
Thanh ghi muc đích chung  
Thanh ghi có mục đích đặc biệt  
Chiều dài của thanh ghi  
Số lượng thanh ghi  
Thanh ghi truy cập bộ nhớ  
– Thanh ghi dữ liệu bộ nhớ (memory data register - MDR)  
– Thanh ghi địa chỉ bộ nhớ (memory address regiater MAR)  
Thanh ghi chuyển tải lệnh  
Bộ đếm chương trình (program counter – PC)  
Thanh ghi lệnh (instruction register – IR)  
Thanh ghi từ trạng thái của chương trình (program stature  
word PSW).  
Khoa KTMT  
Vũ Đức Lung  
6
Các thanh ghi họ 80x86  
– Thanh ghi mục đích chung  
Thanh ghi segment  
– Thanh ghi đếm chương trình PC và thanh ghi cờ trạng thái  
Khoa KTMT  
Vũ Đức Lung  
7
7.4. Đƣờng đi dữ liệu (Datapath)  
Đường đi dữ liệu gồm có  
– bộ logic-số học (ALU: Arithmetic and Logic Unit),  
– các mạch dịch,  
các thanh ghi  
– các đường nối kết các bộ phận trên  
Nhiệm vụ chín
– đọc các toán hạng từ các thanh ghi tổng quát  
– thực hiện các phép tính trên toán hạng này trong ALU  
– lưu trữ kết quả trong các thanh ghi tổng quát  
Khoa KTMT  
Vũ Đức Lung  
8
7.4.1. Tổ chức One-Bus  
Khoa KTMT  
Vũ Đức Lung  
9
7.4.2. Tổ chức Two-Bus  
Khoa KTMT  
Vũ Đức Lung  
10  
Three-Bus  
. Tổ chức đường truyền dữ liệu dạng three-bus  
Khoa KTMT  
Vũ Đức Lung  
11  
7.5. Diễn tiến thi hành lệnh mã máy(CPU instruction  
cycle)  
Việc thi hành một lệnh mã máy có thể chia thành 5 giai đoạn  
– Đọc lệnh (IF: Instruction Fetch)  
– Giải mã lệnh (ID: Instruction Decode)  
– Thi hành lệnh (EX: Execute)  
– Thâm nhập bộ nhớ trong hoặc nhảy (MEM: Memory access)  
– Lưu trữ kết q
Khoa KTMT  
12  
Đọc lệnh (fetch instruction):  
– Dữ liệu trong PC được load vào MAR:  
– Giá trị trong thanh ghi PC tăng lên 1:  
MAR ← PC  
PCfPC+1  
– Kết quả của lệnh đọc từ bộ nhớ, dữ liệu được load vào MDR:  
MDRM[MAR]  
– Dữ liệu trong MDR được load vào IR: IR ← M[MAR]  
Thứ tự thực hiện lệnh theo thời gian đối với loại one-bus:  
Khoa KTMT  
Vũ Đức Lung  
13  
Thứ tự thực hiện lệnh theo thời gian đối với loại three-bus:  
Giải mã lệnh và đọc các thanh ghi nguồn:  
– A ← Rs1  
– B ← Rs2  
– PC ← PC + 4  
Khoa KTMT  
Vũ Đức Lung  
14  
Thi hành lệnh:  
Liên hệ tới bộ nhớ  
MAR ← Địa chỉ do ALU tính tuỳ theo kiểu định vị (Rs2).  
MDR ← Rs1  
Một lệnh của ALU  
Ngã ra ALU ← Kết quả của phép tính  
Một phép nhảy  
Ngã ra ALU ← Địa chỉ lệnh tiếp theo do ALU tính.  
Khoa KTMT  
Vũ Đức Lung  
15  
Thâm nhập bộ nhớ trong hoặc nhảy lần cuối  
– Tham khảo đến bộ nhớ:  
MDR ← M[MAR] hoặc M[MAR] ← MDR  
– Nhảy:  
If (điều kiện), PC ← ngả ra ALU  
Lưu trữ kết q
Rd ← Ngã ra ALU hoặc Rd ← MDR  
Khoa KTMT  
Vũ Đức Lung  
16  
7.6. Xử lý ngắt (Interrupt Handling)  
Ngắt là một sự kiện xảy ra một cách ngẫu nhiên trong máy tính  
và làm ngưng tính tuần tự của chương trình (nghĩa là tạo ra  
một lệnh nhảy)  
ngắt quãng được dùng cho các công việc:  
– Ngoại vi đòi hỏi nhập hoặc xuất số liệu.  
– Người lập trìnnh.  
– Cho một chương trình chạy từng lệnh.  
– Làm điểm dừng của một chương trình.  
– Báo tràn số liệu trong tính toán số học.  
– Trang bộ nhớ thực sự không có trong bộ nhớ.  
– Báo vi phạm vùng cấm của bộ nhớ.  
– Báo dùng một lệnh không có trong tập lệnh.  
– Báo phần cứng máy tính bị hư.  
Khoa KTMBTáo điện bị cắt.  
Vũ Đức Lung  
17  
Khi một ngắt xảy ra, bộ xử lý thi hành các bước:  
1. Thực hiện xong lệnh đang làm.  
2. Lưu trữ trạng thái hiện tại.  
3. Nhảy đến chương trình phục vụ ngắt  
4. Khi chương trình phục vụ chấm dứt, bộ xử lý khôi phục lại trạng thái  
cũ của nó và tiếp tục thực hiện chương trình mà nó đang thực hiện khi  
bị ngắt.  
Thực hiện các vi tác vụ khi ngắt  
Khoa KTMT  
Vũ Đức Lung  
18  
7.7. Kỹ thuật ống dẫn (PIPELINE)  
Thực hiện lệnh trong kỹ thuật pipeline:  
Một số ràng buộc trong pipeline  
– Cần phải có một mạch điện tử để thi hành mỗi giai đoạn của lệnh  
– Phải có nhiều thanh ghi khác nhau dùng cho các tác vụ đọc và viết  
– Cần phải giải mã các lệnh một cách đơn giản  
– Cần phải có các bộ làm tính ALU hữu hiệu để có thể thi hành lệnh số  
học dài nhất  
Khoa KTMT  
Vũ Đức Lung  
19  
Những khó khăn trong kỹ thuật ống dẫn  
Khó khăn do cấu trúc  
Khó khăn do điều khiển  
Khó khăn do số liệu  
– ví dụ trường hợp các lệnh liên tiếp sau:  
Lệnh 1: ADD R1, R2, R3  
Lệnh 2: SUB R4, R1, R5  
Lệnh 3: AND R6, R1, R7  
Lệnh 4: OR R8, R1, R9  
Khoa KTMT  
Vũ Đức Lung  
20  
Tải về để xem bản đầy đủ
pdf 21 trang yennguyen 12/04/2022 6820
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính 1 - Chương 7: Tổ chức bộ xử lý - Vũ Đức Lung", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_1_chuong_7_to_chuc_bo_xu_ly_vu.pdf