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

1. Cấu trúc của CPU

 CPU đảm nhiệm

 Tải lệnh

 Dịch lệnh

 Tải dữ liệu

 Xử lý dữ liệu

 Lưu dữ liệu

 Đơn vị tính toán (ALU, FPU)

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

 Registers (data, address,

instruction, control)

 Internal bus

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

Trang 1

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

Trang 2

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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

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

Trang 9

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

Trang 10

Tải về để xem bản đầy đủ

pdf 20 trang xuanhieu 16560
Bạn đang xem 10 trang mẫu của 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

Tóm tắt nội dung 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

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 Hoa.Nguyen@vnu.edu.vn
 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 –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọc Hoá 2
 1. Cấu trúc của CPU
  CPU đảm nhiệm  Đơn vị tính toán (ALU, FPU) 
  Tải lệnh  Đơn vị điều khiển
  Dịch lệnh  Registers (data, address, 
  Tải dữ liệu instruction, control) 
  Xử lý dữ liệu  Internal bus
  Lưu dữ liệu
Computer Architecture –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọ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 –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọ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 –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọ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 –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọ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 –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọc Hoá 7
 Ví dụ tổ chức thanh ghi
Computer Architecture –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọc Hoá 8
 Thi hành một chương trình
Computer Architecture –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọc Hoá 9
 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 –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọc Hoá 10
 Data Flow : Fetch Diagram
Computer Architecture –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọc Hoá 11
 Data Flow : Indirect Diagram
Computer Architecture –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọ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 –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọc Hoá 13
 Data Flow : Interrupt
  Lưu PC hiện thời để có thể tiếp tục sau khi interrupt
  Contents of PC copied to MBR
  Special memory location (e.g. stack pointer) loaded to MAR
  MBR written to memory
  PC địa chỉ của hàm xử lý ngắt
  Next instruction (first of interrupt handler) can be fetched
Computer Architecture –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọ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 có 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 có 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 có thể không cải
 thiện được hiệu năng!
Computer Architecture –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọc Hoá 15
 Pipeline lệnh hai tầng
Computer Architecture –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọ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 –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọc Hoá 17
 Biểu đồ thời gian thao tác trong
 pipeline lệnh 
Computer Architecture –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọc Hoá 18
 Ảnh hưởng của rẽ nhánh có điều kiện
 trong các bộ pipeline
Computer Architecture –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọc Hoá 19
 Pipeline lệnh sáu tầng
Computer Architecture –DepartmentDepartment ofof InformationInformation SystemsSystems @@ HoáNGUYỄN NGUYEN Ngọc Hoá 20

File đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_chuong_cpu_nguyen_ngoc_hoa.pdf