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 và tổ chức máy tính: Chương 3 - ThS. Trần Quang Hải Bằng

Chia sẻ: Estupendo Estupendo | Ngày: | Loại File: PDF | Số trang:44

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

Bài giảng Kiến trúc và tổ chức máy tính - Chương 3: Bộ xử lý trung tâm. Nội dung chương này gồm có: Nhiệm vụ và cấu trúc cơ bản của CPU, hoạt động của CPU, kiến trúc các bộ xử lý tiên tiến. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Kiến trúc và tổ chức máy tính: Chương 3 - ThS. Trần Quang Hải Bằng

  1. KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH (Computer Organization and Architecture) Chương 3 Bộ xử lý trung tâm bangtqh@utc2.edu.vn Nội dung 1. Nhiệm vụ và cấu trúc cơ bản của CPU – Nhiệm vụ của CPU – Cấu trúc cơ bản của CPU 2. Hoạt động của CPU 3. Kiến trúc các bộ xử lý tiên tiến bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 2
  2. 3.1. Nhiệm vụ - Cấu trúc cơ bản của CPU Mô hình máy tính bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 3 Các mô hình máy tính Mô hình Havard – Lệnh và dữ liệu được lưu trữ trên hệ thống nhớ riêng biệt Mô hình Von-Newmann – Lệnh và dữ liệu được lưu trữ trên cùng một hệ thống nhớ là mô hình của máy tính cá nhân hiện nay bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 4
  3. CPU họ Intel 8080 – Bộ xử lý đa năng đầu tiên – Đường dẫn dữ liệu 8 bit – Được dùng như là một PC đầu tiên 8086 – Có khả năng cao hơn – 16 bit – Có cache lệnh, nhận trước được ít lệnh – 8088 (bus mở rộng 8 bit), được dùng lần đầu ở máy IBM PC 80286 – Bộ nhớ RAM: 1M – Có thể quản lý được bộ nhớ đến 16MB bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 5 CPU họ Intel 80386 – 32 bit – Hỗ trợ đa nhiệm 80486 – Chứa cache và pipeline lệnh phức tạp – Thêm bộ đồng xử lý toán học Petium – Siêu vô hướng – Nhiều lệnh thực hiện song song Pentium Pro – Tăng tổ chức siêu vô hướng – Chức năng các thanh ghi linh hoạt – Tiên đoán rẽ nhánh – Phân tích luồng dữ liệu – Thực hiện suy đoán (speculative execution) bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 6
  4. CPU họ Intel Pentium II – Công nghệ MMX (MultiMedia eXtension) – Xử lý đồ họa, âm thanh, hình ảnh tốt Pentium III – Thêm các lệnh dấu chấm động cho đồ họa 3D Pentium !V – Chú ý tới các số ả Rập hơn các số La Mã – Tăng cường xử lý multimedia và dấu chấm động hơn. Itanium – 64 bit – Nhận trước lệnh động, có thể pipeline bằng phần mềm – ..... bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 7 Sự phát triển của BXL họ Intel Year Chip L Transistors Clock rate MIPS 1971 4004 10µm 2.3K 740kHz 0.07 1972 8008 10µm 3.5K 500kHz 0.05 1974 8080 6µm 4.5K 2MHz 0.29 1978 8086 3µm 29K 5/8/10 MHz 0.33/0.66/0.75 1979 8088 3µm 29K 4.7/8 MHz 0.33/0.66 1982 80286 1.5µm 134K 6/8/16MHz 1.5 1985 80386 1µm 275K 33 9.9 1989 80486 0.8µm 1.2M 50MHz 41 1993 Pentium ® 0.6µm 3.1M 66MHz 126.5 1995 Pentium ® Pro 0.35µm 5.5M 200MHz 200 1998 Pentium ® !! 0.25µm 7.5M 333MHz >300 1998 Pentium 2 Xeon 0.25µm 7.5M 400MHz 400 bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 8
  5. Sự phát triển của BXL họ Intel Year Chip L Transistors Clock rate MIPS 1999 Pentium ® !!! 0.25µm 9.9M 500MHz >500 2000 Pentium ® !V 0.18µm 42M 1.5GHz 1.5K 2002 P4 Northwood 0.13µm 55M 2.4GHz 6.5K-10K 2003 Itanium ® 2 0.13µm 410M 3.0GHz 9.726K 2008 Core i3 32nm 3.33GHz 2009 Core i5 32nm 3.6GHz 2011- Core i7 32nm 4GHz nay bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 9 Minh họa một số CPU của intel Intel 8088 Intel 4004 - 1970s (LSI Microprocessor) (First Microprocessor) bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 10
  6. Minh họa một số CPU của intel Pentium® III PowerPC 7400 (G4) 28M transistors / 733MHz-1Gz / 13-26W 6.5M transistors / 450MHz / 8-10W L=0.25µm shrunk to L=0.18µm L=0.15µm bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 11 Minh họa một số CPU của intel Co l¹i Pentium® 4 Pentium® 4 “Northwood” 42M transistors / 1.3-1.8GHz / 49-55W 55M transistors / 2-2.5GHz L=0.18µm L=0.13µm Area=131mm2 bangtqh@utc2.edu.vn Chương 3 - Bộ12xử lý trung tâm
  7. Chức năng của CPU Chức năng – Điều khiển toàn bộ hoạt động của hệ thống – Xử lý dữ liệu Nguyên tắc hoạt động – BXL hoạt động dựa theo chương trình nằm sẵn trong bộ nhớ Cấu trúc cơ bản – Khối điều khiển (Control Unit - CU) – Khối số học - logic (Arithmetic - Logic Unit: ALU) – Các thanh ghi (Register File - RF) – Đơn vị ghép nối BUS (Bus Interface Unit – BIU) – Bus bên trong (Internal Bus) bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 13 Nhiệm vụ của CPU Nhận lệnh (Fetch Instructions): nhận lệnh từ bộ nhớ Giải mã lệnh (Decode instructions): Giải mã lệnh được nhận vào để biết lệnh làm gì Nhận dữ liệu (Fetch Data): Lệnh có thể yêu cầu nhận dữ liệu từ bên ngoài vào Xử lý dữ liệu (Process Data): Lệnh có thể yêu cầu thực hiện một phép toán nào đó Ghi dữ liệu (Write Data): Lệnh có thể yêu cầu cất kết quả ra ngoài Ngoài ra, trong quá trình thực hiện chương trình CPU còn nhận các yêu cầu từ bên ngoài (interrupt) và xử lý các yêu cầu đó bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 14
  8. Chi tiết nhiệm vụ của CPU Fetch Instructions - FI – Đia chỉ của lệnh cần thực hiện nằm trong bộ đếm chương trình (PC - Program Counter), được đưa qua bộ đệm địa chỉ, qua bus địa chỉ để tìm ra ô nhớ chứa lệnh – Tiếp theo, CPU phát ra tín hiệu đọc ô nhớ vừa tìm được – Nội dung của ngăn nhớ được chuyển qua data bus và đưa đến thanh ghi lệnh (Instruction Reg.) bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 15 Chi tiết nhiệm vụ của CPU (tt) Giải mã lệnh (Interpret Instructions) – Lệnh từ thanh ghi lệnh được đưa đến khối điều khiển – Tại đây, lệnh được giải mã để xác định thao tác mà lệnh yêu cầu – Khi đó, khối điều khiển sẽ phát ra tín hiệu điều khiển tương ứng với lệnh đó. bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 16
  9. Chi tiết nhiệm vụ của CPU (tt) Fetch Data – BXL phát ra địa chỉ của ô nhớ/cổng vào ra chứa dữ liệu cần nhận – BXL phát ra tín hiệu điều khiển đọc ô nhớ/cổng vào ra tương ứng – Dữ liệu được chuyển qua bus dữ liệu đưa vào tập thanh ghi bên trong bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 17 Chi tiết nhiệm vụ của CPU (tt) Xử lý dữ liệu (Process Data - PD) – Dữ liệu được chuyển từ các thanh ghi vào ALU – ALU sẽ thực hiện các phép toán dưới sự điều khiển của khối điều khiển – Kết quả phép toán được cất tạm thời vào thanh ghi dữ liệu bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 18
  10. Chi tiết nhiệm vụ của CPU (tt) Ghi dữ liệu (Write Data - WD) – BXL phát ra địa chỉ của ô nhớ/cổng vào ra cần ghi dữ liệu – BXL phát ra tín hiệu điều khiển ghi ô nhớ/cổng vào ra – Dữ liệu từ thanh ghi dữ liệu được chuyển ra ngoài bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 19 Cấu trúc cơ bản của CPU bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 20
  11. ALU Chức năng: Thực hiện các phép toán số học và phép toán logic – Số học: cộng, trừ, nhân, chia, đảo dấu, tăng/giảm – Logic: AND, OR, NOT, XOR, SHR, SHL Mô hình kết nối ALU bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 21 Control Unit - CU Điều khiển nhận lệnh từ bộ nhớ vào thanh ghi lệnh Tăng bộ đếm chương trình (Program Counter) để trỏ san lệnh kế tiếp Giải mã lệnh để xác định các thao tác mà lệnh yêu cầu Phát ra tín hiệu điều khiển thực hiện lệnh Nhận các tín hiệu yêu cầu từ bus hệ thống và đáp ứng các yêu cầu đó bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 22
  12. Mô hình kết nối CU bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 23 Control Unit – CU (tt) Tín hiệu đến CU – Clock: Tín hiệu từ mạch tạo dao động bên ngoài T0 • T0 là chu kỳ của xung nhịp • Mỗi thao tác của BXL cần k*T0 , k ∈ N • Tần số xung đồng hồ: f0 = 1/T0 • Ví dụ: máy tính dùng BXL có tốc độ 5GHz f0 = 5GHz = 5*109 Hz ⇒ T0 = 1/f0 = 1/(5*109) = 0.2 ns – Mã lệnh: từ thanh ghi lệnh đưa đến để giải mã – Các cờ (flags) từ thanh ghi cờ cho biết trạng thái của CPU – Các tín hiệu yêu cầu khác từ bus điều khiển bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 24
  13. Control Unit – CU (tt) Tín hiệu điều khiển của CU – Điều khiển các thanh ghi – Điều khiển ALU Tín hiệu điều khiển bên ngoài CPU – Điều khiển bộ nhớ – Điều khiển modle vào/ra bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 25 Tập các thanh ghi (Registers) Các thanh ghi nằm trong CPU, được coi là mức đầu tiên của hệ thống nhớ Chứa các thông tin tạm thời phục vụ cho hoạt động của CPU tại một thời điểm nhất định. Mỗi thế hệ (hãng sản xuất) CPU có tập các thanh ghi khác nhau Số lượng thanh ghi nhiều hiệu năng của CPU tăng Có 2 loại thanh ghi: – Lập trình được – Không lập trình được bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 26
  14. Tập các thanh ghi (tt) Phân loại thanh ghi theo chức năng – Thanh ghi địa chỉ: quản lý địa chỉ của các ngăn nhớ hay của các cổng vào/ra – Thanh ghi dữ liệu: chứa các dữ liệu tạm thời trong quá trình tính toán – Thanh ghi điều khiển/trạng thái: Chứa các thông tin điều khiển và trạng thái của CPU – Thanh ghi lệnh: Chứa lệnh đang được thực hiện bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 27 Tập các thanh ghi (tt) Các thanh thi điển hình – Các thanh ghi địa chỉ – Bộ đếm chương trình (PC – Program Counter) – Thanh ghi con trỏ dữ liệu (DP – Data Pointer) – Thanh ghi con trỏ ngăn xếp (SP – Stack Pointer) – Thanh ghi cơ sở và thanh ghi chỉ số (Base Register & Index Register) – Các thanh ghi dữ liệu – Các thanh ghi trạng thái bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 28
  15. Bộ đếm chương trình Còn được gọi là con trỏ lệnh IP (Instruction Pointer) Chứa địa chỉ của lệnh tiếp theo sẽ được nhận vào Sau khi một lệnh được nhận vào, nội dung PC tự động tăng để trỏ sang lệnh kế tiếp …….. lệnh lệnh PC lệnh sẽ nhận Lệnh kế tiếp lệnh …….. bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 29 Thanh ghi địa chỉ Vùng lệnh: chứa các lệnh củă chương trình, do Thanh . . . ghi bộ đếm chương trình Vùng nhớ lệnh quản lý. CPU . . . Vùng dữ liệu: chứa dữ liệu, Vựng nhớ lệnh do thanh ghi con trỏ dữ liệu quản lý . . . Vùng ngăn xếp (stack) Vùng ngăn xếp: chứa địa chỉ chương trình chính, ngắt, . . . Bộ nhớ phục vụ thực hiện rẽ nhánh, do thanh ghi con trỏ ngăn xếp quản lý bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 30
  16. Thanh ghi con trỏ dữ liệu Chứa địa chỉ của ngăn nhớ dữ liệu mà BXL cần truy cập . . . Có một số thanh ghi con trỏ dữ liệu Dữ liệu –CS, DS, ES, SS… Dữ liệu Dữ liệu DP DL cần đọc/ghi Data pointer Dữ liệu Dữ liệu . . . bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 31 Con trỏ ngăn xếp Ngăn xếp (Stack): – Là vùng nhớ có cấu trúc LIFO (Last-In-First-Out) – Đáy ngăn xếp là một ngăn nhớ xác định – Đỉnh ngăn xếp có thể bị thay đổi Con trỏ ngăn xếp SP: – SP trỏ vào ngăn nhớ đỉnh ngăn xếp – Cất thêm thông tin vào ngăn xếp → SP giảm – Lấy thông tin từ ngăn xếp → SP tăng – Khi ngăn xếp rỗng → SP trỏ vào đáy bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 32
  17. Minh họa con trỏ ngăn xếp Thao tác trên ngăn xếp – Cất vào (PUSH) – Lấy ra (POP) SP Đỉnh Stack Chiều tăng của địa chỉ Đáy Stack bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 33 Thanh ghi cơ sở và thanh ghi chỉ số Thanh ghi cơ sở: chứa địa chỉ của ngăn nhớ cơ sở (ngăn nhớ gốc tương đối), còn goi: địa chỉ đoạn (segment) Thanh ghi chỉ số: chứa độ lệch của địa chỉ giữa ngăn nhớ mà BXL cần truy nhập so với ngăn nhớ cơ sở, còn gọi: địa chỉ offset Địa chỉ ngăn nhớ cần truy nhập = segment + offset bangtqh@utc2.edu.vn Chương 3 - Bộ34xử lý trung tâm
  18. Thanh ghi cơ sở và thanh ghi chỉ số . . . Thanh ghi cơ sở Ngăn nhớ cơ sở Gốc tương đối Thanh ghi chỉ số Ng/nhớ cần truy nhập . . . bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 35 Các thanh ghi dữ liệu Chứa các dữ liệu tạm thời hoặc kết quả trung gian Cần có nhiều thanh ghi dữ liệu – AX: dùng để lưu giữ kết quả tính toán – BX: Thanh ghi cơ sở, thường dùng để chứa địa chỉ cơ sở của một vùng nhớ – CX: Dùng để chứa số lần lặp – DX: Thường sử dụng cùng thanh ghi AX để thực hiện các phép nhân hoặc chia 16 bit. Các thanh ghi số nguyên: 8, 16, 32, 64, ... Bit Các thanh ghi số thực (dấu phẩy động) bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 36
  19. Thanh ghi trạng thái Còn gọi là thanh ghi cờ (Flag Register) Chứa các thông tin trạng thái của BXL – Các cờ phép toán: báo hiệu trạng thái của phép toán – Các cờ điều khiển: biểu thị trnạg thái điều khiển của BXL Ví dụ cờ điều khiển: Cờ cho phép ngắt Interrupt (IF) – Nếu IF = 1 → BXL ở trạng thái cho phép ngắt với tín hiệu yêu cầu từ bên ngoài – Nếu IF = 0 → BXL ở trạng thái cấm ngắt với tín hiệu yêu cầu từ bên ngoài bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 37 Ví dụ cờ phép toán Cờ zero (ZF): được thiết lập khi kết quả của phép toán bằng 0 Cờ Sign (SF): được thiết lập khi kết quả của phép toán là giá trị âm Cờ Carry (CF): được thiết lập khi phép toán có nhớ hoặc có mượn ra khỏi bit cao nhất → tác dụng báo tràn với số không dấu Cờ Overflow (OF): được thiết lập khi cộng hai số nguyên cùng dấu mà kết quả có dấu ngược lại → tác dụng báo tràn với số có dấu bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 38
  20. Tập thanh ghi của 1 số CPU bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 39 Ngắt (interrupt) Ngắt là cơ chế cho phép CPU tạm dừng chương trình đang thực hiện để chuyển sang thực hiện 1 chương trình khác Các loại ngắt – Ngắt do lỗi khi thực hiện chương trình – Ngắt do lỗi phần cứng – Ngắt do thiết bị ngoại vi phát tín hiệu yêu cầu trao đổi dữ liệu bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 40
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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