NHIỆM VỤ CỦA CPU Nhiệm vụ cơ bản của CPU, như đã nói ở trên, CPU được ví như bộ não củamáy vi tính, toàn bộ quá trình xử lý, tính toán và điều khiển đều được thực hiện tạiđây : • Nhận lệ
Trang 1MÔN KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH
TÌM HIỂU VỀ CÁC KĨ THUẬT TIÊN TIẾN CỦA BỘ XỬ LÝ
Nhóm sinh viên thực hiện: Nhóm 3.
Nguyễn Hoàng Anh (MSV: 1000321) Nguyễn Thị Ngọc Ánh (MSV: 1000647) Nguyễn Thị Giang (MSV: 1003402) Nguyễn Thị Lợi (MSV: 1021089) Nguyễn Tuấn Thành (MSV: 1011270)
Giáo viên hướng dẫn: Tiêu Thị Ngọc Dung
Hà Nội, 11-2011
Trang 2MỤC LỤC
CÁC HÌNH ẢNH, BẢNG BIỂU 3
SỬ DỤNG TRONG TÀI LIỆU NÀY 3
CHƯƠNG I 3
CẤU TRÚC CƠ BẢN CỦA BỘ VI XỬ LÝ CPU 3
I.NHIỆM VỤ CỦA CPU 3 II.CÁC THÀNH PHẦN CƠ BẢN 3 1.Đơn vị số học và logic (ALU – Arithmetic and Logic Unit) 4
2.Đơn vị điều khiển (CU – Control Unit) 4
3.Tập các thanh ghi (RF – Register File) 5
4.Đơn vị nối ghép Bus (BIU – Bus Interface Unit) 5
CẤU TRÚC CHUNG CỦA CÁC BỘ XỬ LÝ TIÊN TIẾN 6
I.CÁC ĐƠN VỊ XỬ LÝ DỮ LIỆU 6 II.BỘ NHỚ CACHE 7 1.Định nghĩa 7
2.Hai mức Cache 7
III.ĐƠN VỊ QUẢN LÝ BỘ NHỚ 8 1.Tổng quan về quản lý bộ nhớ 8
2.Nhiệm vụ, chức năng của đơn vị quản lý bộ nhớ 10
CÁC KIẾN TRÚC SONG SONG MỨC LỆNH 13
I.TỔNG QUAN VỀ KỸ THUẬT ỐNG DẪN 13 1.Khái niệm 13
2.Những khó khăn trong kỹ thuật ống dẫn 13
II.SIÊU ỐNG DẪN (SUPERPIPELINE & HYPERPIPELINE) 16 1.Khái niệm 16
2.Nhận xét 16
III.SIÊU VÔ HƯỚNG (SUPERSCALAR) 17 1.Khái niệm 17
2.Nhận xét 18
3.Kỹ thuật siêu luồng (Hyper Threading) 18
4.Máy tính có lệnh rất dài (VLIW – Very long instruction word) 19
5.Kiến trúc IA – 64 19
KIẾN TRÚC RISC 21
I.SƠ LƯỢC VỀ CISC 21 II.CÁC ĐẶC TRƯNG CỦA RISC 21 1.Khái niệm và lịch sử ra đời 21
2.Các đặc trưng của RISC 22
3.Các kiểu định vị trong các bộ xử lí RISC 24
III.SO SÁNH GIỮA CISC VÀ RISC 26 TÀI LIỆU THAM KHẢO 27
Trang 3CÁC HÌNH ẢNH, BẢNG BIỂU
SỬ DỤNG TRONG TÀI LIỆU NÀY
CÁC HÌNH ẢNH, BẢNG BIỂU 3
SỬ DỤNG TRONG TÀI LIỆU NÀY 3
CHƯƠNG I 3
CẤU TRÚC CƠ BẢN CỦA BỘ VI XỬ LÝ CPU 3
I.NHIỆM VỤ CỦA CPU 3 II.CÁC THÀNH PHẦN CƠ BẢN 3 1.Đơn vị số học và logic (ALU – Arithmetic and Logic Unit) 4
Hình 1.2: Mô hình kết nối ALU 4
2.Đơn vị điều khiển (CU – Control Unit) 4
Hình 1.3: Mô hình kết nối đơn vị điều khiển 4
3.Tập các thanh ghi (RF – Register File) 5
4.Đơn vị nối ghép Bus (BIU – Bus Interface Unit) 5
CẤU TRÚC CHUNG CỦA CÁC BỘ XỬ LÝ TIÊN TIẾN 6
Hình 2.1 : Cấu trúc chung của bộ xử lý tiên tiến 6
I.CÁC ĐƠN VỊ XỬ LÝ DỮ LIỆU 6 II.BỘ NHỚ CACHE 7 1.Định nghĩa 7
Hình 2.2 : Trao đổi dữ liệu giữa các thành phần CPU - Cache- RAM 7
2.Hai mức Cache 7
Hình 2.3 : Hoạt động của 2 mức Cache 8
III.ĐƠN VỊ QUẢN LÝ BỘ NHỚ 8 1.Tổng quan về quản lý bộ nhớ 8
Hình 2.4 : Đơn vị quản lý bộ nhớ 10
2.Nhiệm vụ, chức năng của đơn vị quản lý bộ nhớ 10
a)Chuyển đổi địa chỉ ảo thành địa chỉ vật lý 10
Hình 2.5 : Chuyển đổi địa chỉ ảo thành địa chỉ 32bit 10
Hình 2.6 : Chuyển đổi địa chỉ 32 bit thành địa chỉ thật 11
b)Cung cấp cơ chế phân trang/phân đoạn 11
c)Cung cấp chế độ bảo vệ bộ nhớ 12
CÁC KIẾN TRÚC SONG SONG MỨC LỆNH 13
I.TỔNG QUAN VỀ KỸ THUẬT ỐNG DẪN 13 1.Khái niệm 13
Hình 3.1: Các giai đoạn khác nhau của kỹ thuật ống dẫn 13
2.Những khó khăn trong kỹ thuật ống dẫn 13
Hình 3.2: Khó khăn do số liệu 14
Hình 3.4: Khó khăn do điều khiển 16
II.SIÊU ỐNG DẪN (SUPERPIPELINE & HYPERPIPELINE) 16 1.Khái niệm 16
2.Nhận xét 16
a)Ưu điểm 16
b)Nhược điểm 17
Hình 3.5: Siêu ống dẫn bậc 2 so với ống dẫn đơn giản 17
III.SIÊU VÔ HƯỚNG (SUPERSCALAR) 17 1.Khái niệm 17
Hình 3.6: Siêu vô hướng so với kỹ thuật ống dẫn 18
2.Nhận xét 18
3.Kỹ thuật siêu luồng (Hyper Threading) 18
4.Máy tính có lệnh rất dài (VLIW – Very long instruction word) 19
5.Kiến trúc IA – 64 19
KIẾN TRÚC RISC 21
Trang 4II.CÁC ĐẶC TRƯNG CỦA RISC 21
1.Khái niệm và lịch sử ra đời 21
2.Các đặc trưng của RISC 22
Hình 4.2: Đặc tính của ba mẫu đầu tiên máy RISC 23
3.Các kiểu định vị trong các bộ xử lí RISC 24
Hình 4.3: Dạng lệnh trong kiểu định vị thanh ghi cho vài CPU RISC 24
Hình 4.5: Dạng lệnh kiểu định vị tức thì cho vài CPU RISC 25
Hình 4.6: Định vị tức thì trong CPU Power PC 25
Hình 4.7: Dạng lệnh kiểu định vị trực tiếp của vài CPU RISC 25
III.SO SÁNH GIỮA CISC VÀ RISC 26 Bảng 4.1: Bảng so sánh giữa CISC và RISC 26
TÀI LIỆU THAM KHẢO 27
Trang 5CHƯƠNG I CẤU TRÚC CƠ BẢN CỦA BỘ VI XỬ LÝ CPU
Bộ xử lý trung tâm (CPU – Central Proccesing Unit) là thành phần cốt lõi của mộtchiếc máy vi tính Nhiệm vụ của CPU là xử lý những hoạt động, chẳng hạn như tínhtoán, lưu trữ thông tin và truy tìm Vì thế CPU biểu thị cho “trí thông minh” của mỗimáy tính Sự tiến bộ của công nghệ máy tính luôn gắn bó với sự phát triển của CPU
I NHIỆM VỤ CỦA CPU
Nhiệm vụ cơ bản của CPU, như đã nói ở trên, CPU được ví như bộ não củamáy vi tính, toàn bộ quá trình xử lý, tính toán và điều khiển đều được thực hiện tạiđây :
• Nhận lệnh (Fetch Instruction) : CPU đọc lệnh từ bộ nhớ
• Giải mã lệnh (Decode Instruction): xác định thao tác mà lệnh yêu cầu
• Nhận dữ liệu (Fetch Data): CPU nhận dữ liệu từ bộ nhớ hoặc các cổngvào – ra
• Xử lý dữ liệu (Process Data): Thực hiện phép toán số học hay phép toánlogic với các dữ liệu
• Ghi dữ liệu (Write Data): ghi dữ liệu ra bộ nhớ hay các cổng vào – ra
II CÁC THÀNH PHẦN CƠ BẢN
Hình 1.1 : Sơ đồ cấu trúc cơ bản của CPU
Trang 61 Đơn vị số học và logic (ALU – Arithmetic and Logic Unit)
Có chức năng thực hiện các lệnh của đơn vị điều khiển và xử lý tín hiệu Theotên gọi, đơn vị này dùng để thực hiện các phép tính số học(+,-,*,/,…)hay các phéptính logic (AND, OR, XOR, NOT, phép dịch bit…)
Hình 1.2: Mô hình kết nối ALU
2 Đơn vị điều khiển (CU – Control Unit)
Là các vi xử lí có nhiệm vụ thông dịch các lệnh của chương trình và điều khiểnhoạt động xử lí,được điều tiết chính xác bởi xung nhịp đồng hồ hệ thống Bên cạnh
đó, CU còn có chức năng tăng nội dung của bộ đếm chương trình để trỏ sang lệnh
kế tiếp; giải mã lệnh được nhận để xác định thao tác mã yêu cầu; phát ra các tínhiệ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 với các yêu cầu đó
Hình 1.3: Mô hình kết nối đơn vị điều khiển
Trang 73 Tập các thanh ghi (RF – Register File)
• Thanh ghi là thành phần lưu trữ dữ liệu bên trong CPU, là nơi chứa cácthông tin tạm thời phục vụ cho hoạt động ở thời điểm hiện tại của CPU Mỗithanh ghi có độ dài nhất định (16 bit hoặc 8 bit) và được nhận biết bằng mộttên riêng Tùy vào độ dài và chức năng mà thanh ghi có công dụng chứa dữliệu hoặc kết quả của phép toán, hoặc là các địa chỉ dùng để định vị bộ nhớkhi cần thiết Nội dung của thanh ghi được truy xuất thông qua tên riêng củanó
- Các thanh ghi địa chỉ, bao gồm:
Bộ đếm chương trình (PC – Program Counter)
Con trỏ dữ liệu (DT – Data Pointer)
Con trỏ ngăn xếp (SP – Stack Pointer)
Thanh ghi cơ sở và thanh ghi chỉ số (Base Register & IndexRegister)
- Các thanh ghi dữ liệu
- Thanh ghi trạng thái
4 Đơn vị nối ghép Bus (BIU – Bus Interface Unit)
• Là tập các dây kết nối các thành phần của máy tính
• Các loại Bus:
- Bus địa chỉ: xác định vùng nhớ hay thiết bị ngoại vi mà CPU cần truyxuất, luôn nhận dữ liệu từ CPU
- Bus dữ liệu: tải dữ liệu từ CPU đên bộ nhớ và ngược lại
- Bus điều khiển: truyền tải các câu lệnh điều khiển
CHƯƠNG II
Trang 8CẤU TRÚC CHUNG CỦA CÁC BỘ XỬ LÝ TIÊN TIẾN
Cùng với sự phát triển của khoa học công nghệ, các bộ xử lý với những kĩ thuậttiên tiến đã lần lượt ra đời nhằm đáp ứng nhu cầu ngày càng cao của người sử dụngmáy vi tính Những bộ vi xử lý đời mới có tốc độ làm việc nhanh, hiệu suất cao trởthành sự lựa chọn hàng đầu của người sử dụng
Hình 2.1 : Cấu trúc chung của bộ xử lý tiên tiến
I CÁC ĐƠN VỊ XỬ LÝ DỮ LIỆU
Dữ liệu mà CPU nhận được từ bên ngoài (thông qua bus bên ngoài) được tínhtoán, xử lý bởi các đơn vị xử lý dữ liệu Sau đó, kết quả cuối cùng được đưa rangoài bằng bus tương ứng Giữa các đơn vị này cũng có sự trao đổi dữ liệu thôngqua bus bên trong
Các đơn vị xử lý dữ liệu bao gồm :
• Các đơn vị số nguyên : xử lý các thao tác về số nguyên
Trang 9• Các đơn vị số dấu phẩy động : xử lý các thao tác về các phép toán trên sốthực.
• Các đơn vị chức năng đặc biệt như đơn vị xử lý dữ liệu âm thanh, đơn vị
xử lý dữ liệu hình ảnh, dữ liệu vector…
Hình 2.2 : Trao đổi dữ liệu giữa các thành phần CPU - Cache- RAM
2 Hai mức Cache
Nói chung ở các CPU hiện đại hiện nay đều có đến ba Cache nhớ: L2 là Cachenhớ lớn hơn và có thể tìm thấy ở giữa bộ nhớ RAM và Cache chỉ lệnh L1, nó nắmgiữ cả các chỉ lệnh và dữ liệu; Cache chỉ lệnh L1 được sử dụng để lưu các chỉ lệnh
đã được thực thi bởi CPU và lưu dữ liệu để có thể được ghi ngược trở lại bộ nhớ và
Trang 10Cache nhớ dữ liệu L1 L1 và L2 có nghĩa là “Level 1” và “Level 2”, ám chỉ khoảngcách từ chúng đến lõi CPU.
Hình 2.3 : Hoạt động của 2 mức Cache
• Cache mức một (L1 cache): thường là cache trong (on-chip cache; nằm
bên trong CPU)
• Cache mức hai (L2 cache) thường là cache ngoài (off-chip cache;
cache này nằm bên ngoài CPU)
• Ngoài ra, trong một số hệ thống (PowerPC G4, IBM S/390 G4,
Itanium của Intel) còn có tổ chức cache mức ba (L3 cache), đây là mức
cache trung gian giữa cache L2 và một thẻ bộ nhớ
III ĐƠN VỊ QUẢN LÝ BỘ NHỚ
1 Tổng quan về quản lý bộ nhớ
Quản lý bộ nhớ là một công việc quan trọng và phức tạp nhất của hệ điều hành(HĐH) Bộ phận quản lý bộ nhớ chính như là một tài nguyên của hệ thống dùng đểcấp phát và chia sẻ cho nhiều tiến trình đang ở trạng thái hoạt động Công cụ cơbản của quản lý bộ nhớ là sự phân trang và phân đoạn (quản lý bộ nhớ thật) Với sự
Trang 11phân trang mỗi tiến trình được chia thành nhiều phần nhỏ có quan hệ với nhau, vớikích thước mỗi trang là cố định Sự phân đoạn cung cấp cho HĐH các khối nhớ,đoạn nhớ có kích thước khác nhau HĐH có thể kết hợp giữa phân trang và phânđoạn để có chiến lược quản lý bộ nhớ linh hoạt hơn
Tuy nhiên các phương pháp quản lý bộ nhớ thật có chung một nhược điểm làcần phải nạp toàn bộ file phần mềm vào bộ nhớ trước khi khởi chạy ứng dụngtương ứng Hiện nay, máy chỉ có RAM kích thước vừa phải (≤ 4GB), nhưng phảichạy đồng thời nhiều ứng dụng, mỗi ứng dụng lại có nhu cầu bộ nhớ rất lớn, nhiềukhi lớn hơn cả kích thước của RAM Như vậy, các phương pháp trước đây đều thấtbại không giải quyết nổi yêu cầu mới này
Người ta đã tìm được phương pháp quản lý bộ nhớ đáp ứng được yêu cầu mới,
đó là phương pháp quản lý bộ nhớ ảo Bộ nhớ ảo là bộ đệm trong máy tính giúpmáy tính chạy nhanh hơn giống như bộ nhớ đệm cache Ý tưởng nền tảng củaphương pháp này là : không cần nạp hết chương trình vào bộ nhớ trước khi chạy
mà khi ứng dụng chạy tới lệnh nào và truy xuất dữ liệu nào thì HĐH mới nạp phầnchương trình chứa lệnh và dữ liệu cần chạy, sau đó khi cần thì giải phóng vùng nhớ
để chứa phần code và dữ liệu khác.
Có 3 phương pháp quản lý bộ nhớ ảo khác nhau:
• Quản lý bộ nhớ phân trang
• Quản lý bộ nhớ phân đoạn
• Kết hợp quản lý bộ nhớ phân trang và phân đoạn
Để đạt được hiệu quả cần thiết, người ta phải thực hiện các phương pháp quản
lý bộ nhớ ảo bằng phần cứng Đơn vị phần cứng quản lý bộ nhớ ảo được gọi làMMU (Memory Management Unit) thường ở bên trong CPU (hình 2.4)
Trang 12Hình 2.4 : Đơn vị quản lý bộ nhớ
2 Nhiệm vụ, chức năng của đơn vị quản lý bộ nhớ
a) Chuyển đổi địa chỉ ảo thành địa chỉ vật lý
Địa chỉ vật lý có dạng segment ( một nhóm các ô nhớ liên tục), địa chỉ thậttương ứng là địa chỉ 32 bit, là kết quả của phép cộng số học trong hình 2.5
Hình 2.5 : Chuyển đổi địa chỉ ảo thành địa chỉ 32bit
Địa chỉ ảo tuyến tính 32 bit được đổi sang địa chỉ thật của RAM bằng cơ chếphân trang như hình 2.5
Trang 13Hình 2.6 : Chuyển đổi địa chỉ 32 bit thành địa chỉ thật b) Cung cấp cơ chế phân trang/phân đoạn
địa chỉ vật lý của quá trình chuyển đổi là không kề nhau Phân trang có
ý tưởng khá đơn giản: Khởi tạo vùng nhớ trên bộ nhớ vật lý để xử lý,lưu giữ thông tin trong 1 bảng Mỗi tiến trình đều có 1 bảng riêng gồm
N dòng, N là số trang ảo mà tiến trình cần Mỗi trang có 2 thuộc tính :bit và số trang Trang ảo cùng kích cỡ với trang vật lý Bộ nhớ tiếntrình được chia thành những trang cùng kích cỡ cố định lưu giữ thôngtin tiến trình để xử lý
nhưng vẫn còn các cách khác, tiêu biểu là phân đoạn Thay vì chia địachỉ ảo thành những trang kích thước bằng nhau, địa chỉ thật thànhnhững khung trang, địa chỉ ảo được chia thành địa chỉ luận lý, đơn vị
độ dài hoặc các đoạn
những vùng nhớ phân mảnh Phân trang tạo ra những vùng nhớ đó vìkhung trang có thể khởi tạo 1 tiến trình mà không cần những thuộc tínhcủa khung trang Phân đoạn lại khác, chứa những phân mảnh ở ngoài.Những phân đoạn được tạo và hủy, những vùng nhớ được giải phóng
và chuẩn hóa lại dẫn đến lỗi trong bộ nhớ Thực tế có rất nhiều vùngnhớ nhỏ nhưng không đủ lớn để lưu các thuộc tính của phân đoạn
Trang 14c) Cung cấp chế độ bảo vệ bộ nhớ
Cơ chế bảo vệ trong hệ thống phân trang được thực hiện với các bit bảo vệđược gắn với mỗi khung trang Thông thường, các bit này được lưu trong bảngtrang, vì mỗi truy xuất đến bộ nhớ đều phải tham khảo đến bảng trang để phát sinhđịa chỉ vật lý, khi đó, hệ thống có thể kiểm tra các thao tác truy xuất trên khungtrang tương ứng có hợp lệ với thuộc tính bảo vệ của nó không Ngoài ra, một bitphụ trội được thêm vào trong cấu trúc một phần tử của bảng trang : bit hợp lệ - bitkhông hợp lệ (valid – invalid)
• Bit hợp lệ : trang tương ứng thuộc về không gian địa chỉ của tiến trình
• Bit không hợp lệ : trang tương ứng không nằm trong không gian địa chỉcủa tiến trình, điều này có nghĩa tiến trình đã truy xuất đến một địa chỉkhông được phép
Một ưu điểm đặc biệt của cơ chế phân đoạn là khả năng đặc tả thuộc tính bảo
vệ cho mỗi phân đoạn Vì mỗi phân đoạn biểu diễn cho một phần chương trìnhvới ngữ nghĩa được người dùng xác định, người sử dụng có thể biết được một phânđoạn chứa đựng những gì bên trong, do vậy họ có thể đặc tả các thuộc tính bảo vệthích hợp cho từng phân đoạn Cơ chế phần cứng phụ trách chuyển đổi địa chỉ bộnhớ sẽ kiểm tra các bit bảo vệ được gán với mỗi phần tử trong bảng phân đoạn đểngăn chặn các thao tác truy xuất không hợp lệ đến phân đoạn tương ứng
Trang 15CHƯƠNG III CÁC KIẾN TRÚC SONG SONG MỨC LỆNH
- Lấy lệnh (IF: Instruction Fetch)
- Giải mã (ID: Instruction Decode)
- Thi hành (EX : Execute)
- Thâm nhập bộ nhớ (MEM: Memory access)
- Lưu trữ kết quả (RS: Result Storing)
Hình 3.1: Các giai đoạn khác nhau của kỹ thuật ống dẫn
2 Những khó khăn trong kỹ thuật ống dẫn
Khi thi hành lệnh trong một máy tính dùng kỹ thuật ống dẫn, có nhiều trườnghợp làm cho việc thực hiện kỹ thuật ống dẫn không thực hiện được như là: thiếucác mạch chức năng, một lệnh dùng kết quả của lệnh trước, một lệnh nhảy
Có thể phân biệt 3 loại khó khăn: khó khăn do cấu trúc, khó khăn do số liệu
và khó khăn do điều khiển.
Trang 16nhiều thanh ghi lệnh IR… Các khó khăn này được giải quyết bằng cáchthêm các bộ phận chức năng cần thiết và hữu hiệu.
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
Hình 3.2 cho thấy R1, kết quả của lệnh 1 chỉ có thể được dùng cho lệnh
2 sau giai đoạn MEM của lệnh 1, nhưng R1 được dùng cho lệnh 2 vàogiai đoạn EX của lệnh 1 Chúng ta cũng thấy R1 được dùng cho các lệnh
3 và 4
Hình 3.2: Khó khăn do số liệu
Để khắc phục khó khăn này, một bộ phận phần cứng được dùng để đưa kếtquả từ ngã ra ALU trực tiếp vào một trong các thanh ghi ngã vào như tronghình 3.3
Hình 3.3: ALU đưa kết quả tính toán trở lại
Khi bộ phận phần cứng nêu trên phát hiện có dùng kết quả của ALUlàm toán hạng cho liệt kê, nó tác động vào mạch đa hợp để đưa ngã ra của