intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Kiến trúc máy tính: Tuần 10 - ĐH Công nghệ thông tin

Chia sẻ: Phong Phong | Ngày: | Loại File: PPTX | Số trang:53

50
lượt xem
9
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Sau khi học xong chương này người học có thể hiểu về: Cơ chế thực thi lệnh và các quy ước về thiết kế logic, thiết kế Datapath với 8 lệnh cơ bản cho một bộ xử lý và cách hiện thực thiết kế này.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Kiến trúc máy tính: Tuần 10 - ĐH Công nghệ thông tin

  1. KIẾN TRÚC MÁY TÍNH Tuần 10 BỘ XỬ LÝ  PROCESSOR 03/2017 Copyrights 2017 CE­UIT. All Rights Reserved. 1
  2. BỘ XỬ LÝ Mục đích:  ü Hiểu cơ chế thực thi lệnh và các quy  ước về thiết kế  logic ü Thiết kế Datapath với 8 lệnh cơ bản cho một bộ xử  lý và cách hiện thực thiết kế này. Slide tham khảo từ: 1. Computer Organization and Design: The Hardware/Software Interface, Patterson,  D. A., and J. L. Hennessy, Morgan Kaufman,  Revised Fourth Edition, 2011. 2. NUS, Singapore 03/2017 Copyrights 2017 CE­UIT. All Rights Reserved. 2
  3. BỘ XỬ LÝ 1. Giới thiệu 2. Nhắc lại các quy ước thiết kế logic 3. Xây dựng đường dữ liệu (datapath) đơn giản 4. Hiện thực datapath đơn chu kỳ 03/2017 Copyrights 2017 CE­UIT. All Rights Reserved. 3
  4. Giới thiệu v Hiệu suất của một máy tính được xác định bởi ba yếu tố: p Tổng số câu lệnh     Được xác định bởi trình biên dịch                                                                                    và kiến trúc tập lệnh p Chu kỳ xung clock Được xác định bởi quá  p Số chu kỳ xung clock trên một lệnh trình hiện thực bộ xử lý              (Clock cycles per instruction − CPI) v Mục đích chính của chương này: - Giải  thích  quy  tắc  hoạt  động  và  hướng  dẫn  xây  dựng  datapath  cho  một  bộ  xử  lý  chứa một số lệnh đơn giản (giống kiến trúc tập lệnh dạng MIPS), gồm hai ý chính: • Thiết kế datapath • Hiện thực datapath đã thiết kế MIPS (bắt nguồn từ chữ viết tắt của ‘Microprocessor without Interlocked Pipeline Stages’)   là một kiến trúc tập tập lệnh dạng RISC, được phát triển bởi MIPS Technologies (trước  đây là MIPS Computer Systems, Inc.) 03/2017 Copyrights 2017 CE­UIT. All Rights Reserved. 4
  5. Giới thiệu Chương  này  chỉ  xem  xét  8  lệnh  trong  3  nhóm  chính  của  tập  lệnh  MIPS:  § Nhóm lệnh tham khảo bộ nhớ (lw và sw) § Nhóm lệnh liên quan đến logic và số học (add, sub, AND, OR, và slt) § Nhóm lệnh nhảy (Lệnh nhảy với điều kiện bằng beq) 03/2017 Copyrights 2017 CE­UIT. All Rights Reserved. 5
  6. Giới thiệu Tổng quan các lệnh cần xem xét: Nhóm lệnh tham khảo bộ nhớ: Nạp  lệnh    Đọc  một/hai  thanh  ghi    Sử  dụng  ALU    Truy  xuất  bộ  nhớ  để  đọc/ghi dữ liệu Nhóm lệnh logic và số học:  Nạp lệnh  Đọc một/hai thanh ghi  Sử dụng ALU  Ghi dữ liệu vào thanh ghi Nhóm lệnh nhảy:  Nạp lệnh   Đọc một/hai thanh ghi   Sử dụng ALU   Chuyển đến địa chỉ lệnh  tiếp theo dựa trên kết quả so sánh 03/2017 Copyrights 2017 CE­UIT. All Rights Reserved. 6
  7. Giới thiệu Hình ảnh datapath của một bộ xử lý với 8 lệnh MIPS: add, sub, AND, OR,  slt, lw, sw và beq 03/2017 7
  8. BỘ XỬ LÝ 1. Giới thiệu 2. Nhắc lại các quy ước thiết kế logic 3. Xây dựng đường dữ liệu (datapath) đơn giản 4. Hiện thực datapath đơn chu kỳ 03/2017 Copyrights 2017 CE­UIT. All Rights Reserved. 8
  9. Quy ước thiết kế Phần này nhắc lại các khái niệm: v Mạch tổ hợp (Combinational): ALU v Mạch tuần tự (Sequential): instruction/data memories và thanh ghi v Tín hiệu điều khiển (Control signal) v Tín hiệu dữ liệu (Data signal) § Asserted (assert): Khi tín hiệu ở mức cao hoặc ‘true’ § Deasserted (deassert): Khi tín hiệu ở mức thấp hoặc ‘false’ § Edge­triggered clocking (Rising/Falling)  Bus v 03/2017 Copyrights 2017 CE­UIT. All Rights Reserved. 9
  10. BỘ XỬ LÝ 1. Giới thiệu 2. Nhắc lại các quy ước thiết kế logic 3. Xây dựng đường dữ liệu (datapath) đơn giản 4. Hiện thực datapath đơn chu kỳ 03/2017 Copyrights 2017 CE­UIT. All Rights Reserved. 10
  11. Quy trình thực thi lệnh n Instruction Fetch (tìm nạp lệnh): Instruct ion p Nạp lệnh từ bộ nhớ (memory) Fetch p Địa chỉ của lệnh lưu trong thanh ghi  Instruct Program Counter (PC) ion Instruction Decode n Instruction Decode (giải mã lệnh): Next  Operan d p Tìm ra lệnh thực hiện Fetch n Operand Fetch (tìm nạp toán  Execut e hạng): Result p Lấy các toán hạng cần thiết cho lệnh Write n Execute (thực thi): p Thực hiện câu lệnh 03/2017 n Result Write (lưu trữ): Copyrights 2017 CE­UIT. All Rights Reserved. 11
  12. Quy trình thực thi lệnh n Bảng sau mô tả ba giai đoạn thực thi lệnh trong ba nhóm lệnh cơ bản  của MIPS (Giai đoạn Fetch and Decode không được hiển thị) add $3, $1, $2 lw $3, 20( $1 ) beq $1, $2, label Fetch &  standard standard standard Decode o Đọc thanh ghi $1, xem  o Đọc thanh ghi $1, xem  o Đọc thanh ghi $1, xem  như toán hạng opr1 Operand  như toán hạng opr1 như toán hạng opr1 o Đọc thanh ghi $2,  Fetch o Sử dụng 20 như toán  o Đọc thanh ghi $2, xem  xem như toán hạng  hạng opr2 như toán hạng opr2 opr2 o MemAddr = opr1 + opr2 Taken =  (opr1 == opr2 )? Execute Result = opr1 + opr2 o Sử dụng MemAddr để  Target = PC + Label* đọc dữ liệu từ bộ nhớ Dữ liệu của từ nhớ có địa  Result  Result được lưu trữ vào  if (Taken) chỉ MemAddr được được  Write $3     PC = Target lưu trữ vào $3 n opr = Operand n * = simplification, not exact n MemAddr = Memory Address 03/2017 Copyrights 2017 CE­UIT. All Rights Reserved. 12
  13. Quy trình thực thi lệnh của MIPS (5 công  đoạn) n Thay đổi thiết kế các giai đoạn thực hiện lệnh: ü Gộp giai đoạn Decode và Operand Fetch – Giai đoạn Decode của MIPS khá đơn giản ü Tách giai đoạn Execute thành ALU (Calculation) và Memory Access add $3, $1, $2 lw $3, 20( $1 ) beq $1, $2, label Đọc lệnh (địa chỉ của  Đọc lệnh (địa chỉ của  Đọc lệnh (địa chỉ của lệnh  Fetch lệnh lưu trong thanh ghi  lệnh lưu trong thanh ghi  lưu trong thanh ghi PC) PC) PC) Decode & o Đọc thanh ghi $1, xem  o Đọc thanh ghi $1, xem  o Đọc thanh ghi $1, xem như  như toán hạng opr1 như toán hạng opr1 toán hạng opr1 Operand  o Đọc thanh ghi $2, xem  o Sử dụng 20 như toán  o Đọc thanh ghi $2, xem như  Fetch như toán hạng opr2 hạng opr2 toán hạng opr2 Taken =  (opr1 == opr2 )? ALU Result = opr1 + opr2 MemAddr = opr1 + opr2 Target = PC + Label* Memory Sử dụng MemAddr để đọc  Access dữ liệu từ bộ nhớ Dữ liệu của từ nhớ có địa  Result  Result được lưu trữ vào  if (Taken) chỉ MemAddr được được  Write $3     PC = Target lưu trữ vào  $3 03/2017 Copyrights 2017 CE­UIT. All Rights Reserved. 13
  14. Quy trình thực thi lệnh của MIPS (5 công  đoạn) Fetch n Instruction Fetch (Nạp lệnh) Instruct n Instruction Decode & Operand  ion Decode Fetch Instruction ALU (Giải mã và lấy các toán hạng cần thiết,  Next  Gọi tắt là “Instruction Decode”) Memor y Access n ALU (Giai đoạn sử dụng ALU hay giai đoạn  Result thực thi) Write n Memory Access (Giai đoạn truy xuất vùng  nhớ) n Result Write (Giai đoạn ghi lại kết quả/lưu  trữ) 03/2017 Copyrights 2017 CE­UIT. All Rights Reserved. 14
  15. Quy trình thực thi lệnh của MIPS (5 công đoạn) Fetch n Instruction Fetch (Nạp lệnh) Instruct n Instruction Decode & Operand  ion Decode Fetch Instruction ALU (Giải mã và lấy các toán hạng cần thiết,  Next  Gọi tắt là “Instruction Decode”) Memor y Access n ALU (Giai đoạn sử dụng ALU hay giai đoạn  Result thực thi) Write n Memory Access (Giai đoạn truy xuất vùng  nhớ) n Result Write (Giai đoạn ghi lại kết quả/lưu  trữ) 03/2017 Copyrights 2017 CE­UIT. All Rights Reserved. 15
  16. Giai đoạn tìm nạp lệnh (Instruction Fetch) n Giai đoạn nạp lệnh: 1. Sử dụng thanh ghi Program Counter (PC) để tìm nạp  lệnh từ bộ nhớ n Thanh ghi PC là một thanh ghi đặc biệt trong bộ vi xử lý 2. Tăng giá trị trong thanh ghi PC lên 4 đơn vị để lấy địa  chỉ của lệnh tiếp theo n Tại sao địa chỉ lệnh tiếp theo là PC + 4? n Chú ý, lệnh rẽ nhánh (branch) và lệnh nhảy (jump) là một  trường hợp ngoại lệ n Kết quả của giai đoạn này là đầu vào cho giai  đoạn tiếp theo (Decode): Kết quả của giai đoạn này là 32 bit mã máy của lệnh cần thực thi. Chuỗi 32  bits này sẽ sử dụng như đầu vào (input) cho giai đoạn tiếp theo là Decode 03/2017 Copyrights 2017 CE­UIT. All Rights Reserved. 16
  17. Giai đoạn tìm nạp lệnh (Instruction Fetch) Bộ cộng Add 4 PC Read Decode Stage address Instruction Instruction Instruction memory Thanh ghi  PC Vùng nhớ lưu trữ  lệnh 03/2017 Copyrights 2017 CE­UIT. All Rights Reserved. 17
  18. Khối Instruction Memory n Vùng nhớ lưu trữ lệnh  n Đầu vào: là địa chỉ của lệnh Instruction Address n Đầu ra: là nội dung lệnh tương  Instruction ứng với địa chỉ được cung cấp Instruction Memory Instruction Memory ……….. 2048 add $3, $1, $2 2052 sll $4, $3, 2 Cách sắp xếp của bộ nhớ giống như  2056 andi $1, $4, 0xF hình bên phải …… ……….. 03/2017 Copyrights 2017 CE­UIT. All Rights Reserved. 18
  19. Bộ cộng n Mạch logic kết hợp để cộng 2 số ­ bộ cộng A n Đầu vào:  A+B p Hai số 32­bit A, B Add Sum n Đầu ra:  B p A + B  03/2017 Copyrights 2017 CE­UIT. All Rights Reserved. 19
  20. Ý niệm về việc sử dụng xung clock n Dường như thanh ghi PC được đọc và cập nhật  cùng lúc: p PC hoạt động chính xác như thế nào? n Magic of clock:  p PC được đọc trong nửa clock đầu và cập nhật thành PC+4  trong lần kích cạnh lên tiếp theo Add 4 Time PC Read In address Clk Instruction PC 100 104 108 112 Instruction memory In 104 108 112 116 03/2017 Copyrights 2017 CE­UIT. All Rights Reserved. 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2