Thực hiện chương trình thông qua xử lý một tập lệnh do người lập trình cung cấp. Chương trình là tập hợp các lệnh được người lập trình chọn lọc và sắp xếp theo một tuần tự chặt chẽ thông qua nguyên tắc xử lý, giải quyết một vấn đề cụ thể (hay còn gọi là thuật giải).
89 trang |
Chia sẻ: lylyngoc | Lượt xem: 2118 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Kiến trúc máy tính & Hệ điều hành - Nguyễn Trung Đồng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Click to edit Master text styles Second level Third level Fourth level Fifth level 31/07/2013 Nguyễn Trung Đồng Computer Architecture ‹#› Click to edit Master title style 31/07/2013 Nguyễn Trung Đồng Computer Architecture 1 Phương thức điểm danh Không được thi hết học phần nếu: Quá số buổi nghỉ học Thiếu điểm thành phần Chú ý nghe giảng và ghi chép bài Lịch học: Số buổi lên lớp giảng bài: 12 Thảo luận và trả lời câu hỏi: 1 Kiểm tra viết: 2 31/07/2013 Nguyễn Trung Đồng Computer Architecture 2 Tài liệu tham khảo [ 1 ] Nguyễn Trung Đồng Giáo trình Kiến trúc máy tính – trang web [ 2 ] Hoàng Xuân Dậu Bài giảng Kiến trúc máy tính 3 Nguyễn Trung Đồng Giáo trình Kỹ thuật Vi xử lý – NXB KHKT Hà Nội 2010 [ 4 ] Slide Nguyên lý Hệ điều hành Trang web học liệu HVCNBCVT 5 James M. Feldman, Charles T. Retter Computer Architecture – MITPress & McGraw Hill, Singapore 1994 6 David Hergert, Nancy Thibeault PC Architecture from Assembly langueage to C – Prentice-Hall, Inc. New Jersey 1997 7 Kai Hwang Advanced Computer Architecture. Parallelism Scalability Programmability – McGraw-Hill International Editions – 1993 Kiến trúc máy tính & Hệ điều hành Phần I – Kiến trúc máy tính Chương 1: Giới thiệu chung Chương 2: Khối xử lý trung tâm và tập lệnh Chương 3: Kiến trúc, tổ chức và quản lý bộ nhớ Chương 4: Hệ thống BUS và thiết bị ngoại vi 31/07/2013 3 Nguyễn Trung Đồng Computer Architecture 31/07/2013 Nguyễn Trung Đồng Computer Architecture 4 Phần II. Hệ điều hành Chương 1: Tổng quan về hệ điều hành Chương 2: Một số dịch vụ cơ bản của hệ điều hành 0. Một số kiến thức cơ sở 31/07/2013 5 Nguyễn Trung Đồng Computer Architecture 31/07/2013 6 Nguyễn Trung Đồng Computer Architecture 31/07/2013 7 Nguyễn Trung Đồng Computer Architecture 31/07/2013 8 Nguyễn Trung Đồng Computer Architecture 31/07/2013 9 Nguyễn Trung Đồng Computer Architecture 31/07/2013 10 Nguyễn Trung Đồng Computer Architecture 31/07/2013 11 Nguyễn Trung Đồng Computer Architecture 31/07/2013 Nguyễn Trung Đồng Computer Architecture 12 31/07/2013 Nguyễn Trung Đồng Computer Architecture 13 Chức năng của máy tính Thực hiện chương trình thông qua xử lý một tập lệnh do người lập trình cung cấp. Chương trình là tập hợp các lệnh được người lập trình chọn lọc và sắp xếp theo một tuần tự chặt chẽ thông qua nguyên tắc xử lý, giải quyết một vấn đề cụ thể (hay còn gọi là thuật giải). Xử lý dữ liệu: Xử lý các yêu cầu của con người/thiết bị trên cơ sở các dữ liệu được nhập vào. Đây là chức năng quan trọng nhất. Lưu trữ dữ liệu: Muốn công việc xử lý dữ liệu đạt hiệu quả cao, máy tính phải có khả năng lưu trữ tạm thời dữ liệu và lưu trữ dữ liệu dài hạn Di chuyển dữ liệu: Để phục vụ việc xử lý, dữ liệu phải có thể di chuyển từ điểm này tới điểm khác bên trong máy tính, phải có khả năng trao đổi dữ liệu với môi trường bên ngoài. Điều khiển: Các tác vụ máy tính thực hiện phải được điều khiển … 31/07/2013 Nguyễn Trung Đồng Computer Architecture 14 Kiến trúc máy tính nghiên cứu những thuộc tính của một hệ thống mà người lập trình có thể nhìn thấy được, những thuộc tính quyết định trực tiếp đến việc thực thi một chương trình tính toán, xử lý dữ liệu. Cấu trúc và tổ chức máy tính nghiên cứu về các thành phần chức năng và sự kết nối giữa chúng để tạo nên một máy tính, nhằm thực hiện những chức năng và tính năng kỹ thuật của kiến trúc. I. Kiến trúc và Tổ chức máy tính 31/07/2013 Nguyễn Trung Đồng Computer Architecture 15 31/07/2013 Nguyễn Trung Đồng Computer Architecture 16 31/07/2013 Nguyễn Trung Đồng Computer Architecture 17 Biểu diễn trên 4 bytes, giá trị tương ứng là: N = (-1)S * (1,F1 F2 ..... F23) * 2(E - 127) Double Precission, biểu diễn trên 8 bytes, giá trị tương ứng là: N = (-1)S * (1,F1 F2 ..... F52) * 2(E - 1023) 31/07/2013 Nguyễn Trung Đồng Computer Architecture 18 Tham số theo IEEE 754 Chính xác đơn Mở rộng chính xác đơn Chính xác kép Mở rộng chính xác kép Biểu diễn (bit) 32 43 64 80 Trường mũ (E) 8 10 10 16 Số lũy thừa 127 1023 E lớn nhất 127 1023 1023 16383 E nhỏ nhất -126 - 1022 -1022 -16382 Trường F (bit) 23 31 52 63 31/07/2013 Nguyễn Trung Đồng Computer Architecture 19 31/07/2013 20 Nguyễn Trung Đồng Computer Architecture 31/07/2013 21 Nguyễn Trung Đồng Computer Architecture 31/07/2013 22 Nguyễn Trung Đồng Computer Architecture 31/07/2013 23 Nguyễn Trung Đồng Computer Architecture 1. Lệnh (Instruction) và dữ liệu (Data) phải được lưu giữ trong một bộ nhớ ghi/đọc được. 2. Từng ô nhớ trong bộ nhớ phải được định vị bằng địa chỉ. Sự định vị bằng địa chỉ là tuần tự và không phụ thuộc vào nội dung của ô nhớ. 3. Chương trình xử lý, giải bài toán phải thực hiện tuần tự từ lệnh này đến lệnh tiếp theo, từ lệnh bắt đầu đến lệnh cuối cùng. Nguyên lý kiến trúc Von Neumann 31/07/2013 24 Nguyễn Trung Đồng Computer Architecture Kiến trúc Harward Kiến trúc máy tính Harvard chia bộ nhớ trong thành hai phần riêng rẽ: Bộ nhớ lưu chương trình (Program Memory) và Bộ nhớ lưu dữ liệu (Data Memory). Hai hệ thống bus riêng được sử dụng để kết nối CPU với bộ nhớ lưu chương trình và bộ nhớ lưu dữ liệu. Mỗi hệ thống bus đều có đầy đủ ba thành phần để truyền dẫn các tín hiệu địa chỉ, dữ liệu và điều khiển. 31/07/2013 25 Nguyễn Trung Đồng Computer Architecture Kiến trúc ALU (Arithmethic & Logic Unit) 31/07/2013 26 Nguyễn Trung Đồng Computer Architecture II. Khối xử lý trung tâm và tập lệnh 31/07/2013 Nguyễn Trung Đồng Computer Architecture 27 Đơn vị xử lý trung tâm (CPU) ALU MAR MBR PC IR CU ACC TMP FR Z(tmp) 31/07/2013 Nguyễn Trung Đồng Computer Architecture 28 Kết nối các thành phần chức năng máy tính qua hệ thống BUS 31/07/2013 29 Nguyễn Trung Đồng Computer Architecture 31/07/2013 30 Nguyễn Trung Đồng Computer Architecture 31/07/2013 31 Nguyễn Trung Đồng Computer Architecture Thanh ghi trong CPU 31/07/2013 32 Nguyễn Trung Đồng Computer Architecture Đơn vị điều khiển (CU) và phương thức hoạt động 31/07/2013 Nguyễn Trung Đồng Computer Architecture 33 31/07/2013 34 Nguyễn Trung Đồng Computer Architecture BUS trong CPU 31/07/2013 35 Nguyễn Trung Đồng Computer Architecture Hệ thống 31/07/2013 36 Nguyễn Trung Đồng Computer Architecture 31/07/2013 37 Nguyễn Trung Đồng Computer Architecture Kiến trúc & Tổ chức Tập lệnh (Instruction Set) 31/07/2013 38 Nguyễn Trung Đồng Computer Architecture Lệnh (Instruction) là một từ nhị phân (binary word) được gán một nhiệm vụ cụ thể. Các lệnh được lưu trong bộ nhớ và lần lượt được CPU đọc, giải mã và thực hiện. Tập lệnh gồm nhiều lệnh được chia thành một số nhóm theo chức năng: nhóm các lệnh chuyển dữ liệu (data movement), nhóm các lệnh tính toán (computational), nhóm các lệnh điều kiện và rẽ nhánh (conditonal and branching) và một số lệnh chức năng khác. Các thành phần của lệnh gồm: Mã lệnh Địa chỉ toán hạng Mã lệnh Địa chỉ toán hạng đích Địa chỉ toán hạng nguồn 31/07/2013 Nguyễn Trung Đồng Computer Architecture 39 Dạng thức lệnh : a) opcode addr1, addr2, addr3 Mỗi địa chỉ addr1, addr2, addr3 tham chiếu đến một ô nhớ hoặc một thanh ghi b) opcode addr1, addr2 Mỗi địa chỉ addr1, addr2 tham chiếu đến một ô nhớ hoặc một thanh ghi c) opcode addr2 Địa chỉ addr2 tham chiếu đến một ô nhớ hoặc một thanh ghi. Thanh ghi tích luỹ Acc được sử dụng với vai trò như addr1 trong toán hạng dạng 2 địa chỉ d) opcode addr1, addr2 Một địa chỉ tham chiếu đến một ô nhớ và địa chỉ còn lại tham chiếu đến một thanh ghi e) Toán hạng dạng 0 địa chỉ thường được sử dụng trong các lệnh thao tác với ngăn xếp: PUSH và POP 31/07/2013 Nguyễn Trung Đồng Computer Architecture 40 Các phương thức định vị toán hạng (Mode địa chỉ) Toán hạng dạng 0 địa chỉ Mode địa chỉ trực tiếp Định vị thanh ghi (register addressing): Toán hạng được truy xuất là nội dung thanh ghi của CPU. Định vị tức thời (immediate addressing): Toán hạng tức thời là dữ liệu 8 hay 16 bits nằm ngay trong lệnh, có thể dùng làm toán hạng nguồn hay hằng số. Mode định vị gián tiếp Định vị trực tiếp (direct addressing): Toán hạng chứa địa chỉ là một số nằm ngay trong lệnh. Định vị gián tiếp thanh ghi (register indirect): địa chỉ hiệu dụng EA là nội dung của một trong các thanh ghi BX, BP, SI hoặc DI 31/07/2013 Nguyễn Trung Đồng Computer Architecture 41 Định vị cơ sở (based addressing): EA là tổng của nội dung thanh ghi BX hoặc BP và giá trị dịch chuyển nếu có Định vị gián tiếp thanh ghi (register indirect): địa chỉ hiệu dụng EA là nội dung của một trong các thanh ghi BX, BP, SI hoặc DI Định vị cơ sở (based addressing): EA là tổng của nội dung thanh ghi BX hoặc BP và giá trị dịch chuyển dp nếu có Định vị chỉ số và cơ sở (indexed addressing): EA là tổng của nội dung các thanh ghi cơ sở, thanh ghi chỉ số và giá trị dịch chuyển dp nếu có Định vị chuỗi (string addressing): dùng riêng cho xử lý chuỗi. CPU sẽ tự động sử dụng các thanh ghi chỉ số nguồn SI và thanh ghi chỉ số đích DI 31/07/2013 Nguyễn Trung Đồng Computer Architecture 42 31/07/2013 Nguyễn Trung Đồng Computer Architecture 43 Quá trình thực hiện lệnh trong CPU Các pha trong thực hiện lệnh Nhận lệnh IF-Instruction Fetch Giải mã lệnh ID-Instruction Decoder Tạo địa chỉ toán hạng GOA-Generate Operand Address Nhận toán hạng OF-Operand Fetch Xử lý lệnh EX-Execute Lưu kết quả WB-Write Back Instruction Fetch Instruction Decode Generate Operand Address Operand Fetch Execute Write Back IF ID GOA OF EX WB 31/07/2013 Nguyễn Trung Đồng Computer Architecture 44 31/07/2013 Nguyễn Trung Đồng Computer Architecture 45 Quá trình thực hiện lệnh gồm các chu kỳ sau u: đọc lệnh đọc bộ nhớ (dữ liệu) ghi bộ nhớ (dữ liệu) đọc thiết bị ngoại vi ghi thiết bị ngoại vi bus rỗi. Các dạng lệnh thông dụng (các nhóm lệnh): Chuyển dữ liệu Số học và logic Điều khiển và rẽ nhánh Vào / Ra dữ liệu 31/07/2013 Nguyễn Trung Đồng Computer Architecture 46 Một cách chi tiết hơn, quá trình thực hiện lệnh sẽ diễn ra như sau: 1. Đơn vị điều khiển điều khiển con trỏ lệnh cung cấp dữ liệu để tạo địa chỉ của ô nhớ chứa lệnh cần thực hiện. 2. Địa chỉ ô nhớ vừa được tạo ra được nạp vào thanh ghi địa chỉ bộ nhớ (MAR). 3. Đơn vị điều khiển CU ra tín hiệu RD yêu cầu đọc dữ liệu ô nhớ ở địa chỉ lưu trong thanh ghi địa chỉ bộ nhớ MAR. 4. Nội dung của ô nhớ có địa chỉ tương ứng được nạp vào thanh ghi đệm bộ nhớ (MBR). 5. Nội dung của con trỏ lệnh tăng lên một giá trị tuỳ thuộc vào độ dài từ lệnh vừa đọc để chuẩn bị lấy lệnh theo tuần tự ở địa chỉ tiếp theo trong bộ nhớ chương trình. 6. Nội dung của thanh ghi đệm bộ nhớ (MBR) được ghi vào thanh ghi lệnh (IR). 7. Giải mã lệnh 8. Tạo địa chỉ toán hạng 9. Nhập toán hạng 10. Thực hiện xử lý lệnh 11.Lưu kết quả 31/07/2013 Nguyễn Trung Đồng Computer Architecture 47 Cơ chế đường ống 31/07/2013 Nguyễn Trung Đồng Computer Architecture 48 31/07/2013 Nguyễn Trung Đồng Computer Architecture 49 Tổ chức và quản lý bộ nhớ Phân loại: Có ba tiêu chí phân loại: (1) kiểu truy cập, (2) khả năng duy trì dữ liệu và (3) công nghệ chế tạo: Theo (1): Bộ nhớ truy cập tuần tự (Serial Access Memory - SAM), bộ nhớ truy cập ngẫu nhiên (Random Access Memory - RAM), và bộ nhớ chỉ đọc (Read Only Memory - ROM). Theo (2): bộ nhớ ổn định (Non-volatile memory – ví dụ bộ nhớ ROM) và bộ nhớ không ổn định (Volatile memory – ví dụ bộ nhớ RAM) Theo (3): bộ nhớ bán dẫn (Semiconductor memory – ROM, RAM), bộ nhớ từ tính (Magnetic memory - các loại đĩa từ (đĩa mềm, đĩa cứng) và băng từ), bộ nhớ quang học (Optical memory - các loại đĩa quang,như đĩa CD, DVD,...). Tổ chức: Tổ chức một chip nhớ: Một mạch nhớ (memory chip) thường gồm nhiều ô nhớ (memory cells) được tổ chức thành một ma trận nhớ gồm một số hàng và một số cột. Ngoài ma trận nhớ gồm các ô nhớ, mạch nhớ còn gồm các đường địa chỉ (Address lines), bộ giải mã địa chỉ (Address decoder), các đường dữ liệu (Data lines) và các tín hiệu điều khiển như tín hiệu chọn mạch (Chip select - CS), tín hiệu cho phép đọc (Read enable RE) và tín hiệu cho phép ghi (Write enable – WE) 31/07/2013 Nguyễn Trung Đồng Computer Architecture 50 Phân cấp bộ nhớ: Cấu trúc phân cấp hệ thống nhớ gồm các phần chính: các thanh ghi của CPU (CPU Registers), bộ nhớ cache (Cache), bộ nhớ chính (Main Memory) và bộ nhớ ngoài (Secondary / Tertiary Storage) 31/07/2013 Nguyễn Trung Đồng Computer Architecture 51 31/07/2013 Nguyễn Trung Đồng Computer Architecture 52 31/07/2013 Nguyễn Trung Đồng Computer Architecture 53 Các chip nhớ ROM (Read Only Memory) được phân loại theo khả năng ghi đọc như sau: • ROM, nhớ chỉ đọc, dữ liệu trong chip nhớ loại này được ghi ngay tại hãng sản xuất chip nhớ theo đơn đặt hàng của các nhà sản xuất thiết bị cần sử dụng nó. • EPROM, chip nhớ ROM có khả năng xoá nội dung và ghi lại nội dung. Nội dung được xoá bằng tia cực tím nhờ một thiết bị chuyên dùng. • EEPROM, chip nhớ ROM có khả năng xoá, ghi lại nhờ sử dụng xung điện Các chip nhớ RAM chủ yếu được chia thành 2 loại chủ yếu sau: RAM tĩnh (SRAM), mỗi phần tử nhớ là một mạch flip-flop, trong quá trình sử dụng không cần quan tâm đến việc dữ liệu được lưu giữ nếu không bị mất nguồn nuôi RAM động (DRAM), phần tử nhớ dùng công nghệ nạp điện tích lên tụ điện. Trong quá trình sử dụng cần thiết một chế độ làm tươi. 31/07/2013 Nguyễn Trung Đồng Computer Architecture 54 Tổ chức và quản lý bộ nhớ chính 1. Quản lý bộ nhớ theo phân đoạn 31/07/2013 Nguyễn Trung Đồng Computer Architecture 55 31/07/2013 Nguyễn Trung Đồng Computer Architecture 56 Chiến lược phân trang Các nội dung trong vùng 0800 đến 0FFF đang ở trong bộ nhớ phụ được nạp vào bộ nhớ chính. Ánh xạ địa chỉ sẽ thay đổi để ánh xạ các địa chỉ từ 0800 tới 0FFF vào các vị trí nhớ thừ 0000 đến 07FF. 31/07/2013 Nguyễn Trung Đồng Computer Architecture 57 Không gian bộ nhớ ảo được chia thành các trang có kích thước bằng nhau ( thông thường là trong khoảng 512 bytes đến 4096 bytes (luỹ thừa của 2).Tương tự, không gian địa chỉ vật lý cũng được chia thành các mảnh, mỗi mảnh có kích thước bằng kích thước một trang. Các mảnh của bộ nhớ chính mà các trang sẽ được chuyển vào gọi là khung trang – page frame. Bộ nhớ chính của máy tính thường có rất nhiều khung trang. 31/07/2013 Nguyễn Trung Đồng Computer Architecture 58 Chế độ bảo vệ (Protected Mode) và quản lý bộ nhớ trong chế độ bảo vệ: Chế độ bảo vệ được thiết kế để hỗ trợ hệ điều hành đa nhiệm, cách ly và bảo vệ hệ điều hành khỏi những truy nhập trái phép của các chương trình ứng dụng, cách ly và bảo vệ chương trình ứng dụng này khỏi sự truy nhập trái phép của chương trình ứng dụng khác Các mức đặc quyền được thiết kế để hỗ trợ hoạt động của hệ điều hành đa nhiệm nhằm : Cách ly và bảo vệ hệ điều hành khỏi các truy nhập trái phép của chương trình ứng dụng. Cách ly và bảo vệ chương trình ứng dụng này khỏi sự truy nhập trái phép của chương trình ứng dụng khác. 31/07/2013 Nguyễn Trung Đồng Computer Architecture 59 Đặc quyền mức PL = 0, mức đặc quyền cao nhất: các chương trình quản lý thiết bị và quản lý bộ nhớ có mức đặc quyền PL = 0 Đặc quyền mức PL = 1: các chương trình thiết lập mức ưu tiên giữa các nhiệm vụ, chương trình hoán đổi dữ liệu giữa các bộ nhớ chính và bộ nhớ thứ cấp (đĩa từ), chương trình quản lý các cổng vào/ra và các dịch vụ hệ thống khác có mức đặc quyền PL = 1. Đặc quyền mức PL = 2: các chương trình quản lý tệp, thư mục và các chức năng mở rộng của hệ điều hành có mức đặc quyền PL = 2. Đặc quyền mức PL = 3, mức thấp nhất: các chương trình ứng dụng có mức đặc quyền PL = 3. Có 2 luật đặc quyền: Luật1: Dữ liệu được lưu trữ trong đoạn nhớ có mức đặc quyền PL = P chỉ có thể bị truy nhập bởi mã lệnh có mức đặc quyền bằng hoặc cao hơn P Luật2: Đoạn mã lệnh có mức đặc quyền PL = P có thể bị gọi hoặc truy nhập bởi nhiệm vụ có mức đặc quyền bằng hoặc thấp hơn P 31/07/2013 Nguyễn Trung Đồng Computer Architecture 60 Các đoạn nhớ trong chế độ bảo vệ được quản lý theo 3 thông số: Địa chỉ nền Giới hạn đoạn Quyền truy nhập 31/07/2013 Nguyễn Trung Đồng Computer Architecture Tổ chức và quản lý bộ nhớ Cache Vai trò và nguyên lý hoạt động: Bộ nhớ cache thường được tích hợp vào trong CPU nhằm nâng cao tốc độ và băng thông trao đổi dữ liệu Cache đóng vai trung gian, trung chuyển dữ liệu từ bộ nhớ chính về CPU và ngược lại. Dung lượng của bộ nhớ cache thường nhỏ so với dung lượng của bộ nhớ chính và bộ nhớ ngoài Vai trò của cache tương tự như vai trò của cấu trúc phân cấp hệ thống nhớ: tăng hiệu năng hệ thống và giảm giá thành sản xuất. Thông qua MMU, Cache là một loại bộ nhớ “thông minh” có khả năng đoán và chuẩn bị trước các dữ liệu cần thiết cho CPU xử lý. Cache hoạt động dựa trên hai nguyên lý cơ bản: nguyên lý lân cận không gian (Spatial locality) và nguyên lý lân cận thời gian (Temporal locality). CPU CACHE Main M 31/07/2013 Nguyễn Trung Đồng Computer Architecture 62 CPU Đơn vị nhớ cơ sở Cache Khối nhớ Bộ nhớ chính Minh họa trao đổi dữ liệu giữa CPU với cache và bộ nhớ chính Các hệ số Hit và Miss Hit (trúng) là một sự kiện mà CPU truy nhập một mục tin và mục tin ấy có ở trong cache. Xác suất để có một hit gọi là hệ số hit, hoặc H. Dễ thấy hệ số hit H thuộc khoảng (0, 1). Hệ số hit càng cao thì hiệu quả của cache càng cao. Ngược lại, Miss (trượt) là một sự kiện mà CPU truy nhập một mục tin và mục tin ấy không có ở trong cache. Xác suất trượt khi CPU truy xuất mục tin trong Cache gọi là hệ số miss, hoặc 1-H 31/07/2013 Nguyễn Trung Đồng Computer Architecture 63 Kiến trúc cache Kiến trúc cache đề cập đến việc cache được bố trí vào vị trí nào trong quan hệ với CPU và bộ nhớ chính. Có hai loại kiến trúc cache chính: kiến trúc Look Aside (cache được đặt ngang hàng với bộ nhớ chính) và kiến trúc Look Through (cache được đặt giữa CPU và bộ nhớ chính). Mỗi kiến trúc cache kể trên có ưu điểm và nhược điểm riêng. 31/07/2013 Nguyễn Trung Đồng Computer Architecture 64 CPU SRAM Cache Controller Tag RAM Main Memory Kiến trúc Look Aside CPU SRAM Tag RAM Cache Controller Main Memory Kiến trúc Look Throught 31/07/2013 Nguyễn Trung Đồng Computer Architecture 65 31/07/2013 Nguyễn Trung Đồng Computer Architecture 66 có ba phương pháp tổ chức ánh xạ cache được sử dụng: Ánh xạ trực tiếp (Direct mapping), Ánh xạ kết hợp đầy đủ (Fully associative mapping) Ánh xạ tập kết hợp (Set associative mapping). 31/07/2013 Nguyễn Trung Đồng Computer Architecture 67 Line0 Line1 Line(n-1) Page0 Page1 Page(m-1) Line0 Line1 Line(n-1) Memory Cache Mô tả phương pháp ánh xạ trực tiếp bộ nhớ - cache Tag Line Word Địa chỉ ô nhớ trong phương pháp ánh xạ trực tiếp 31/07/2013 Nguyễn Trung Đồng Computer Architecture 68 31/07/2013 Nguyễn Trung Đồng Computer Architecture 69 Ánh xạ trực tiếp 31/07/2013 Nguyễn Trung Đồng Computer Architecture 70 Line0 Line1 Line(m-1) Line0 Line1 Line(n-1) MEMORY CACHE Trong phương pháp ánh xạ kết hợp đầy đủ, Ánh xạ từ bộ nhớ chính vào cache được thực hiện theo quy tắc sau: Một dòng trong bộ nhớ chính có thể ánh xạ đến một dòng bất kỳ trong cache, hay Linei (i = 0 ÷ m-1) của bộ nhớ chính ánh xạ đến Linej (j = 0 ÷ n-1) của cache; Tag Word Địa chỉ ô nhớ trong phương pháp ánh xạ kết hợp đầy đủ 31/07/2013 Nguyễn Trung Đồng Computer Architecture 71 Ánh xạ kết hợp đầy đủ 31/07/2013 Nguyễn Trung Đồng Computer Architecture 72 31/07/2013 Nguyễn Trung Đồng Computer Architecture 73 Page0 Page1 Page(m-1) Line0 Line1 Line(n-1) Line0 Line0 Line1 Line1 Line(n-1) Line(n-1) Way0 Way1 Ánh xạ trang bộ nhớ đến đường cache (ánh xạ không cố định): Một trang của bộ nhớ có thể ánh xạ đến một đường bất kỳ của cache. Ánh xạ dòng của trang đến dòng của đường (ánh xạ cố định): Line0 của pagei của bộ nhớ ánh xạ đến Line0 của wayj của cache; Line1 của pagei của bộ nhớ ánh xạ đến Line1 của wayj của cache; .... Line(n-1) của pagei của bộ nhớ ánh xạ đến Line(n-1) của wayj của cache Tag Set Word 31/07/2013 Nguyễn Trung Đồng Computer Architecture 74 Ánh xạ tập kết hợp 31/07/2013 Nguyễn Trung Đồng Computer Architecture 75 31/07/2013 Nguyễn Trung Đồng Computer Architecture 76 31/07/2013 Nguyễn Trung Đồng Computer Architecture 77 Hệ thống BUS 31/07/2013 Nguyễn Trung Đồng Computer Architecture 78 31/07/2013 Nguyễn Trung Đồng Computer Architecture 79 31/07/2013 Nguyễn Trung Đồng Computer Architecture 80 31/07/2013 Nguyễn Trung Đồng Computer Architecture 81 31/07/2013 Nguyễn Trung Đồng Computer Architecture 82 31/07/2013 Nguyễn Trung Đồng Computer Architecture 83 31