Bài giảng Kiến trúc máy tính - Chương: CPU - Nguyễn Ngọc Hóa

Kiến trúc máy tính  
CPU  
NGUYỄN Ngọc Hoá  
Bộ môn Hệ thống thông tin, Khoa CNTT  
Trường Đại học Công nghệ,  
Đại học Quốc gia Hà Nội  
2 December 2015  
Tổ chức và chức năng của CPU  
Cấu trúc CPU  
Pipeline  
CISC & RISC  
Superscalar, VLIW  
Tham khảo chương 12, 13 của [1]  
Computer Architecture DepartmentofInformationSystems@NGUYNNgọc Hoá  
2
1. Cấu trúc của CPU  
Đơn vị tính toán (ALU, FPU)  
CPU đảm nhiệm  
Đơn vị điều khiển  
Tải lệnh  
Registers (data, address,  
Dịch lệnh  
Tải dữ liệu  
Xử dữ liệu  
Lưu dữ liệu  
instruction, control)  
Internal bus  
Computer Architecture DepartmentofInformationSystems@NGUYNNgọc Hoá  
3
Registers  
Bộ nhớ trong của CPU  
registers được sử dụng trong các chương trình (user visible regs)  
registers điều khiển và thể hiện trạng thái  
được sử dụng bởi CPU  
được sử dụng bởi OS  
Chú ý  
Ít thanh ghi tham chiếu MM nhiều hơn  
Quá nhiều registers cũng không làm giảm nhiều tham chiếu MM,  
giảm hiệu năng CPU  
Đủ rộng để chứa được trường địa chỉ  
Đủ rộng để chứa từ nhớ  
Có thể ghép nhiều registers tạo word lớn hơn  
Computer Architecture DepartmentofInformationSystems@NGUYNNgọc Hoá  
4
User Visible Registers  
Đa dụng - General Purpose  
Dữ liệu - Data  
Địa chỉ - Address: thường được sử dụng trong các mode  
đánh địa chỉ  
Segment based address (e.g., pentium)  
index  
pointer to memory stack  
Cờ nhớ - Condition codes (flags) :  
dãy các bits độc lập với nhau  
chương trình không thể thay đổi giá trị, chỉ có thể được đọc  
Computer Architecture DepartmentofInformationSystems@NGUYNNgọc Hoá  
5
Control & Status Registers  
Trao đổi dữ liệu với bộ nhớ chính  
Program Counter (PC) : địa chỉ của lệnh thi hành kế tiếp  
Instruction Decoding Register (IR) : lệnh đang thi hành  
Memory Address Register (MAR) : địa chỉ bộ nhớ, kết nối trực tiếp tới  
bus địa chỉ  
Memory Buffer Register (MBR) : từ dữ liệu, kết nối trực tiếp đến bus  
dữ liệu  
Những registers trung gian  
Computer Architecture DepartmentofInformationSystems@NGUYNNgọc Hoá  
6
Program Status Word  
Tập các bits thể hiện trạng thái phép tính vừa thực hiện  
trong CPU - Condition Codes  
Sign of last result  
Zero  
Carry  
Equal  
Overflow  
Interrupt enable/disable  
Supervisor  
Supervisor/Kernel mode  
Cho phép thi hành những lệnh đặc quyền (system calls)  
Được sử dụng bởi hệ điều hành và người sử dụng/programers  
không được cấp phép sử dụng chế độ này  
Computer Architecture DepartmentofInformationSystems@NGUYNNgọc Hoá  
7
Ví dụ tổ chức thanh ghi  
Computer Architecture DepartmentofInformationSystems@NGUYNNgọc Hoá  
8
Thi hành một chương trình  
Luồng dữ liệu – data flow  
Tải lệnh: (phụ thuộc vào thiết kế CPU)  
Copy nội dung PC vào MAR xác lập địa chỉ MM trên bus địa chỉ  
CU gửi yêu cầu đọc MM  
Kết quả sẽ có trên bus dữ liệu copy vào MBR copy đến IR  
PC được tăng thêm 1 (von Neuman)  
Data fetch: IR được phân tích, tuỳ thuộc vào mỗi kiểu đánh  
địa chỉ để tiến hành tải toán hạng.  
Địa chỉ trực tiếp: tải giống tải lệnh (chu trình trực tiếp)  
Địa chỉ gián tiếp: (chu trình gián tiếp)  
N bits phải nhất của MBR được chuyển đến MAR  
CU yêu cầu đọc MM  
Kết quả được chuyển đến MBR  
Computer Architecture DepartmentofInformationSystems@NGUYNNgọc Hoá  
10  
Data Flow : Fetch Diagram  
Computer Architecture DepartmentofInformationSystems@NGUYNNgọc Hoá  
11  
Data Flow : Indirect Diagram  
Computer Architecture DepartmentofInformationSystems@NGUYNNgọc Hoá  
12  
Data Flow : Execute  
Có thể thể hiện dưới nhiều hình thức khác nhau  
Phụ thuộc vào lệnh thi hành  
Có thể kèm theo  
Memory-I/O read/write  
ALU operations  
Computer Architecture DepartmentofInformationSystems@NGUYNNgọc Hoá  
13  
Data Flow : Interrupt  
Lưu PC hiện thời để có thể tiế
Contents of PC copied to MBR  
Special memory location (e.g. st
MBR written to memory  
PC địa chỉ của hàm xử lý
Next instruction (first of interrupt
Computer Architecture DepartmentofInformationSystems@NGUYNNgọc Hoá  
14  
2. Pipeline  
Idea:  
Fetching: thường truy cập bộ nhớ chính  
Execution: thường không truy cập bộ nhớ chính  
Liệu thể tải lệnh kế tiếp trong quá trình thi hành lệnh hiện thời ?  
Tải trước lệnh - instruction prefetch: thêm các tầng để cải  
thiện hiệu năng  
Fetch thường thời gian thực thi ngắn hơn so với Execute  
Prefetch more than one instruction?  
Tuy nhiên, với các lệnh rẽ nhánh/nhảy: tải trước thể không cải  
thiện được hiệu năng!  
Computer Architecture DepartmentofInformationSystems@NGUYNNgọc Hoá  
15  
Pipeline lệnh hai tầng  
Computer Architecture DepartmentofInformationSystems@NGUYNNgọc Hoá  
16  
Pipelining  
Chia việc thi hành một lệnh thành nhiều bước con:  
Fetch instruction  
Decode instruction  
Calculate operands (i.e. EAs)  
Fetch operands  
Execute instruction  
Write operands  
Thi hành gối đầu nhau (overlap) các thao tác con trên  
Computer Architecture DepartmentofInformationSystems@NGUYNNgọc Hoá  
17  
Biểu đồ thờgian thao tác trong  
pipeline lệnh  
Computer Architecture DepartmentofInformationSystems@NGUYNNgọc Hoá  
18  
Ảnh hưởng của rẽ nhánh có điều kiện  
trong các bộ pipeline  
Computer Architecture DepartmentofInformationSystems@NGUYNNgọc Hoá  
19  
Pipeline lệnh sáu tầng  
Computer Architecture DepartmentofInformationSystems@NGUYNNgọc Hoá  
20  
pdf 20 trang yennguyen 09/04/2022 6820
Bạn đang xem tài liệu "Bài giảng Kiến trúc máy tính - Chương: CPU - Nguyễn Ngọc Hóa", để 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_chuong_cpu_nguyen_ngoc_hoa.pdf