Tài liệu giảng dạy môn kiến trúc máy tính phần 2 trường đh an giang

60 0 0
Tài liệu giảng dạy môn kiến trúc máy tính phần 2   trường đh an giang

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CHƢƠNG TỔ CHỨC BỘ XỬ LÝ Mục đích: Giới thiệu tổng quan nguyên lý hoạt động vi xử lý MIPS Đường dẫn liệu loại lệnh, tổ chức tính tốn luận lý (ALU) Nguyên lý hoạt động điều khiển trình bày đặc điểm kỹ thuật ống dẫn 3.1 GIỚI THIỆU Trong chương giới thiệu nguyên lý kỹ thuật tổ chức xử lý Cách xây dựng đường dẫn liệu (datapath) với tập lệnh MIPS Sau trình bày khái niệm kỹ thuật ống dẫn (pipelining) Các lệnh xem xét bao gồm:  Các lệnh tham chiếu nhớ như: load word (lw) store word (sw)  Các lệnh số học luận lý: add, sub, AND, OR slt  Lệnh so sánh beq lệnh nhảy j Sơ đồ tổ chức tổng quát MIPS sau: Hình 3.1: Sơ đồ tổ chức tổng quát MIPS1 Các lệnh bắt đầu cách dùng ghi PC (program counter) để xác định địa lệnh nhớ lệnh Sau lệnh duyệt, toán hạng lệnh xác định trường lệnh Dựa vào toán hạng để tính địa nhớ (đối với lệnh load store), tính kết phép tốn số học (đối với lệnh số học – luận lý) phép toán so sánh (đối với lệnh nhảy) Nếu lệnh thực lệnh số học – luận lý, kết phép tính từ ALU phải ghi vào ghi Nếu lệnh thực lệnh load store, kết phép tính từ ALU dùng để xác định địa nhớ để lưu giá trị ghi vào nhớ (store) lấy giá trị từ nhớ đưa vào ghi (load) Các hình chương trích từ sách “Computer organization and Design: The hardware/software interface” (fourth edition), tác giả: David A.Patterson & John L.Hennessy 31 3.2 ĐƢỜNG DẪN DỮ LIỆU Đường dẫn liệu gồm có tính tốn luận lý, mạch dịch, ghi đường nối kết phận Nhiệm vụ đường dẫn liệu đọc toán hạng từ ghi, thực phép tính tốn hạng tính tốn luận lý lưu trữ kết vào ghi Đường dẫn liệu lệnh số học – luận lý lệnh nhớ tương đối giống Những điểm khác biệt chúng là:  Các lệnh số học – luận lý dùng ALU với hai toán hạng nhập vào hai ghi Trong lệnh nhớ dùng ALU để tính địa với giá trị nhập vào thứ ghi giá trị nhập vào thứ hai giá trị độ dời (offset) 16 bit cần mở rộng dấu sang 32 bit  Kết ALU lưu vào ghi đích (đối với lệnh số học – luận lý) kết lưu vào ghi đích lấy từ nhớ (đối với lệnh load) Đường dẫn liệu lệnh số học – luận lý, lệnh nhớ lệnh so sánh thể hình 3.2 Để thực lệnh, lệnh duyệt từ nhớ, lệnh thực cách tăng ghi đếm chương trình (program counter – PC) thêm độ dài lệnh byte (trong trường hợp thực lệnh) Trong định dạng R-format (các lệnh số học – luận lý), nội dung hai ghi đọc, sau thực phép tốn tương ứng hai ghi ghi kết vào ghi thứ ba Thí dụ: add $t1, $t2, $t3 đọc nội dung $t2 $t3 thực phép tính cộng ALU lưu kết vào $t1 Các lệnh thuộc nhóm gồm có: add, sub, AND, OR slt Trong tổ chức ALU có hai đầu vào độ dài 32 bit, đầu có độ dài 32 bit Ngồi ra, ALU cịn có tín hiệu bit thể kết đầu tín hiệu điều khiển bit mà trình bày phần Tiếp theo, xem xét lệnh nhớ bao gồm lệnh load lệnh store có định dạng sau: lw $t1, offset_value($t2) sw $t1, offset_value($t2) Các lệnh tính địa nhớ cách cộng nội dung ghi sở (base register) $t2 với độ dời (offset) có dấu 16 bit Đối với lệnh store giá trị lưu trữ vào nhớ đọc từ ghi $t1 Trong lệnh load giá trị đọc từ nhớ ghi vào ghi $t1 Ngồi cần có chuyển đổi mở rộng có dấu từ 16 bit độ dời thành 32 bit tương ứng Đối với nhớ có tín hiệu đầu vào tín hiệu đọc (MemRead) dùng để đọc liệu tín hiệu ghi (MemWrite) để ghi liệu vào nhớ Đối với lệnh beq có ba tốn hạng với định dạng beq $t1, $t2, offset, hai ghi so sánh có cách thực phép trừ ALU Kết so sánh xác định tín hiệu Zero ALU Nếu điều kiện so sánh khơng thỏa mãn lệnh thực (PC + 4) Nếu điều kiện so sánh thỏa mãn độ dời 16 bit (mở rộng dấu thành 32 bit ) dịch sang trái bit (tương ứng nhân với 4) cộng với (PC + 4) để thực nhảy đến địa đích 32 Hình 3.2: Đường dẫn liệu ba loại lệnh Đối với lệnh jump (j) thực cách thay 28 bit PC 26 bit lệnh dịch sang trái bit 3.3 TỔ CHỨC BỘ TÍNH TỐN VÀ LUẬN LÝ (ALU) Bộ tính tốn luận lý (ALU) xử lý MIPS xác định phép tốn thực dựa vào tín hiệu điều khiển 4-bit: 33 Tùy thuộc vào loại lệnh, ALU thực hàm Đối với lệnh load word store word, ALU thực phép cộng để xác định địa nhớ Đối với dạng lệnh R-type, ALU thực năm lệnh (AND, OR, subtract, add slt) phụ thuộc vào 6-bit thấp trường funct (function) định dạng lệnh Với lệnh beq, ALU thực phép toán trừ Các tín hiệu điều khiển 4-bit ALU tạo mạch điều khiển đơn giản có tín hiệu nhập bit trường funct với 2-bit điều khiển đặc biệt (được gọi ALUOp) ALUOp xác định phép toán thực hiện: giá trị 00 thực phép cộng cho lệnh load store, 01 thực phép trừ cho lệnh beq, giá trị 10 phép tốn thực phụ thuộc vào trường funct định dạng lệnh Đối với giá trị 00 01 ALUOp phép tốn thực không phụ thuộc vào giá trị trường funct (trong trường hợp giá trị trường funct ghi X) Các giá trị ALUOp tạo đơn vị điều khiển (CU – Control Unit) Bảng 3.1: Thiết lập bit điều khiển ALU dựa vào ALUOp trường funct Dạng lệnh ALUOp Lệnh LW 00 load word SW 00 store word Branch equal 01 branch equal R-type R-type R-type R-type 10 10 10 10 R-type 10 add subtract AND OR set on less than Mã hàm (funct) Phép toán ALU Tín hiệu điều khiển ALU (tín hiệu nhập) ×××××× ×××××× ×××××× add 0010 add 0010 subtract 0110 add subtract AND OR set on less than 0010 0110 0000 0001 100000 100010 100100 100101 101010 0111 3.4 BỘ ĐIỀU KHIỂN CHÍNH (main control unit) Để thiết kế mạch điều khiển, xét ba định dạng lệnh bản: định dạng lệnh số học logic (R-format) có opcode = 0, lệnh có ba ghi tốn hạng rs, rt rd Hai ghi rs rt ghi nguồn, cịn rd ghi đích Phép toán thực ALU xác định trường funct Định dạng 34 thực lệnh add, sub, AND, OR slt Trường shamt dùng cho lệnh dịch (shifts) Định dạng lệnh thứ định dạng cho lệnh load (opcode = 35ten) lệnh store (opcode = 43ten) Thanh ghi rs ghi nền, nội dung ghi cộng với địa offset 16 bit để xác định địa nhớ Đối với lệnh load, nội dung từ nhớ chép vào ghi rt Còn với lệnh store, nội dung từ ghi rt lưu vào nhớ Định dạng lệnh thứ định dạng lệnh nhảy theo điều kiện so sánh (branch equal) có opcode = Trong định dạng hai ghi rs rt ghi nguồn dùng để thực phép so sánh Dựa vào kết so sánh để định: thực lệnh (PC+4) cộng nội dung (PC+4) với địa 16 bit để nhảy đến địa đích Hình 3.3: Ba định dạng lệnh R-type, load store, branch Từ ba định dạng trên, rút số nhận xét sau:  Trường opcode vị trí bit 31:26  Cả ba định dạng đọc hai ghi rs rt định vị vị trí 25:21 20:16  Thanh ghi (base register) cho định dạng lệnh load store ln ln vị trí 25:21 (rs)  Địa offset 16 bit cho lệnh nhảy theo điều kiện so sánh bằng, lệnh load store ln vị trí 15:0  Thanh ghi đích hai vị trí: lệnh load vị trí 20:16 (rt), cịn lệnh R-format vị trí 15:11 (rd) Các tín hiệu điều khiển thể hình 3.4 Trong hình thể bảy đường điều khiển 1-bit đường điều khiển ALUOp 2-bit Ngồi ra, cịn có thiết bị điều hợp (multiplexor – viết tắt Mux: thiết bị có hai tín hiệu đầu vào, tín hiệu đầu tín hiệu điều khiển Dựa vào tín hiệu điều khiển mà tín hiệu đầu chọn hai tín hiệu đầu vào) dùng kết hợp hệ thống 35 Hình 3.4: Các tín hiệu điều khiển hệ thống Các tín hiệu điều khiển có ý nghĩa sau: − RegDst: giá trị xác định ghi để ghi xác định toán hạng rt (bit 20:16) Ngược lại giá trị ghi để ghi xác định toán hạng rd (bit 15:11) − RegWrite: giá trị không ảnh hưởng Giá trị thể ghi liệu vào ghi 36 − ALUSrc: giá trị xác định toán hạng thứ hai ALU lấy từ ghi thứ hai (Read data 2) Ngược lại, giá trị tốn hạng thứ hai ALU lấy giá trị mở rộng dấu 16 bit thấp lệnh − PCSrc: giá trị PC thay PC+4 Ngược lại, giá trị PC thay kết tính tổng ALU để nhảy đến địa đích − MemRead: giá trị khơng ảnh hưởng Giá trị liệu đọc từ nhớ − MemWrite: giá trị khơng ảnh hưởng Giá trị liệu ghi vào nhớ − MemtoReg: giá trị xác định liệu để ghi vào ghi lấy từ kết ALU Ngược lại, giá trị xác định liệu để ghi vào ghi đọc từ nhớ Trong hình 3.5 thể giá trị đường điều khiển dạng lệnh khác Dòng thể định dạng lệnh R-format (add, sub, AND, OR slt) Đối với lệnh ghi nguồn rs rt, cịn ghi đích rd Hơn dạng lệnh ghi kết vào ghi đích (RegWrite = 1) khơng đọc nhớ (MemRead = 0) không ghi vào nhớ (MemWrite = 0) Khi tín hiệu điều khiển Branch = giá trị PC thay PC + 4, ngược lại giá trị PC thay địa đích đến tín hiệu Zero ALU thiết lập Trường ALUOp thiết lập 10 để xác định định dạng lệnh (R-format) Dòng thứ thứ tương ứng với thiết lập lw sw Giá trị MemRead MemWrite thiết lập để truy cập đến nhớ Các trường ALUSrc ALUOp thiết lập để tính tốn địa Đối với lệnh lw tín hiệu RegDst RegWrite thiết lập để kết lưu vào ghi rt Lệnh beq tương tự định dạng R-format, giá trị ghi rs rt gửi tới ALU Giá trị ALUOp = 01 để ALU thực phép trừ để kiểm tra hai ghi có khơng Chú ý RegWrite = giá trị MemtoReg (X) RegDst (X) khơng xác định Hình 3.5: Các tín hiệu điều khiển dạng lệnh Hình 3.6 thể đường liệu cho dạng lệnh R-format, ví dụ lệnh add $t1,$t2,$t3 Các tín hiệu hoạt động vẽ lên cịn tín hiệu khơng hoạt động mờ Lệnh thực theo thứ tự sau: − Lệnh duyệt, sau giá trị PC tăng để đến lệnh − Hai ghi $t2, $t3 đọc, phận điều khiển (control unit - CU) thiết lập tín hiệu điều khiển tương ứng 37 − ALU thực phép toán tương ứng xác định bit 5:0 giá trị hai ghi đọc − Kết phép toán ALU ghi vào ghi đích xác định bit 15:11 (trong trường hợp ghi $t1) Hình 3.6: Đường liệu dạng lệnh R-format Đối với lệnh load store thực tương tự R-format Hình 3.7 thể đường liệu dạng lệnh load, xét lệnh: lw $t1, offset($t2) thực theo bước sau: − Lệnh duyệt từ nhớ, giá trị PC tăng để đến lệnh − Đọc giá trị ghi $t2 − Giá trị offset (16 bit) chuyển sang 32 bit tương ứng Sau ALU tính tổng giá trị với giá trị ghi $t2 − Giá trị tổng ALU dùng để xác định địa nhớ − Dữ liệu từ nhớ đọc ghi vào ghi đích $t1 xác định bit 20:16 38 Hình 3.7: Đường liệu lệnh load Trong trường hợp định dạng lệnh nhảy có điều kiện beq thực tương tự dạng R-format giá trị đầu ALU dùng để xác định PC thay PC+4 nhảy đến địa đích Ví dụ xét lệnh: beq $t1,$t2,offset Hình 3.8 thể bước để thực thi lệnh này: − Lệnh duyệt từ nhớ, giá trị PC tăng thêm − Đọc giá trị hai ghi $t1 $t2 − ALU thực phép trừ với hai ghi Giá trị offset (16 bit) chuyển sang 32 bit tương ứng dịch sang trái bit cộng với PC+4 để xác định địa đích − Kết tín hiệu Zero ALU định kết đưa vào PC 39 Hình 3.8: Đường liệu lệnh beq Cuối lệnh nhảy không điều kiện j address, lệnh có định dạng (opcode=2) sau: Hình 3.9 thể đường liệu lệnh Một multiplexor bổ sung vào hệ thống, multiplexor điều kiển tín hiệu jump Giá trị ghi vào PC xác định sau: địa 26 bit lệnh jump dịch sang trái bit ghép nối với bit cao PC+4 để địa đích 32 bit cần nhảy đến 40 Trong trường hợp ta có bốn thất bại cache thành cơng cache, giảm thất bại cache so với mơ hình ánh xạ trực tiếp − Trường hợp cache tổ chức theo mơ hình kết hợp đầy đủ: tập hợp đơn có bốn phần tử (khối), đặt vào vị trí bốn vị trí khối Trong trường hợp cache có hiệu suất tốt với có ba thất bại cache hai thành công cache Nội dung khối cache sau tham khảo Địa nhớ khối truy cập Thành công / Thất bại Thất bại Memory[0] Thất bại Memory[0] Memory[8] Thành công Memory[0] Memory[8] Thất bại Memory[0] Memory[8] Memory[6] Thành công Memory[0] Memory[8] Memory[6] Khối Khối Khối Khối 4.3.2 Xác định khối cache Để xác định khối cache, ta dựa vào mơ hình thực nhớ cache: − Kết hợp theo tập hợp: khối cache theo mơ hình bao gồm ba thành phần: thẻ (tag), số (index) độ dời khối (block offset) Chỉ số dùng để lựa chọn tập hợp xác định, thẻ so sánh với khối tập hợp xác định Độ dời khối địa liệu cần truy cập khối Khi CPU đưa địa khối cần truy cập địa phân tích thành ba thành phần trên, dựa vào số để xác định tập hợp xác định có chứa khối cần truy cập Sau thẻ khối tập hợp so sánh để xác định khối cần truy cập Sự so sánh thực song song để đảm bảo tốc độ Thẻ Chỉ số Độ dời khối − Ánh xạ trực tiếp: giống kiểu kết hợp theo tập hợp, khối nhớ cache bao gồm ba phần: thẻ, số độ dời khối Khi CPU đưa địa khối để truy cập dựa vào số để xác định tập hợp, tập hợp có phần tử Do có so sánh đơn thẻ thực Thẻ Chỉ số Độ dời khối − Kết hợp đầy đủ: trường hợp có tập hợp khơng có phần số Do khối cache có hai thành phần: thẻ độ dời khối Khi CPU đưa địa khối để truy cập tất thẻ khối phải so sánh song song để xác định khối cần truy cập có cache hay không Thẻ 76 Độ dời khối Để hiểu rõ cách xác định khối nhớ cache, xét ví dụ nhớ cache theo mơ hình kết hợp theo tập hợp, tập hợp có bốn phần tử hình 4.8 Tập hợp xác định dựa vào số Sau có bốn so sánh thẻ thực song song kết hợp với điều hợp (4-to-1 multiplexor) để chọn bốn khối tập hợp xác định Hình 4.8: Mơ hình kết hợp theo tập hợp với tập hợp có bốn phần tử 4.3.3 Thay khối Khi thất bại cache xảy phải tìm khối nhớ sau thực thay khối vào nhớ cache Đối với mơ hình ánh xạ trực tiếp có lựa chọn ứng với khối có số xác định thay Trong mơ hình kết hợp đầy đủ lựa chọn tất khối để thay Cịn mơ hình kết hợp theo tập hợp lựa chọn khối tập hợp tương ứng với số để thay Chiến thuật thay thường sử dụng thay khối sử dụng gần (least recently used – LRU) Theo LRU khối thay khối khơng sử dụng thời gian dài Chiến thuật LRU cài đặt cách theo dõi lần tham khảo đến phần tử tập hợp Như với tập hợp có hai phần tử dùng bit để theo dõi tham khảo đến phần tử tập hợp Bit thiết lập để xác định có tham khảo đến phần tử Khi số phần tử tập hợp tăng lên cài đặt LRU phức tạp 77 Xét ví dụ sau: giả sử nhớ cache gồm có 4K khối, khối từ địa có kích thước 32 bit Hãy tìm tổng số tập hợp tổng số bit thẻ (tags) nhớ cache với mơ hình ánh xạ trực tiếp, kết hợp theo tập hợp có có phần tử kết hợp đầy đủ Do khối có từ nên khối có 16 (=24) byte, địa offet có bit Cịn lại 32 – = 28 bit dùng cho thẻ (tag) số (index) Bộ nhớ cache theo mơ hình ánh xạ trực tiếp có số tập hợp số khối nên trường số dùng 12 bit (log2(4K) = 12) Tổng số bit thẻ (28 – 12) × 4K = 16 × 4K = 64Kbit Khi tăng số phần tử tập hợp lên gấp đôi trường số giảm bit đồng thời tăng trường thẻ lên bit Do đó, kết hợp theo tập hợp có phần tử có 2K tập hợp tổng số bit thẻ (28 – 11) × × 2K = 34 × 2K = 68Kbit Nếu kết hợp theo tập hợp có phần tử có 1K tập hợp tổng số bit thẻ (28 – 10) × × 1K = 72 × 1K = 72Kbit Đối với mơ hình kết hợp đầy đủ có tập hợp với 4K khối, trường thẻ 28 bit tổng số bit thẻ 28 × 4K × = 112Kbit Như tăng số phần tử tập hợp làm tăng số lượng phép tốn so sánh tăng dung lượng để lưu trữ thẻ 4.3.4 Cache nhiều mức (Multilevel Caches) Để giảm trừng phạt thất bại khuynh hướng sử dụng dùng nhiều mức cache Hầu hết xử lý bổ sung thêm cache mức (còn gọi cache thứ cấp – secondary cache) Cache mức nằm xử lý truy cập thất bại xảy cache mức (còn gọi cache sơ cấp - primary cache) Nếu cache mức có chứa khối liệu cần truy cập trừng phạt thất bại cache mức thời gian truy cập cache mức Thời gian nhỏ thời gian truy cập vào nhớ Nếu hai cache mức cache mức không chứa khối liệu cần truy cập trừng phạt thất bại thời gian truy cập vào nhớ Trừng phạt thất bại trường hợp lớn so với trừng phạt thất bại hai mức cache Để hiểu rõ hiệu việc sử dụng thêm cache mức 2, xét ví dụ sau: Giả sử có xử lý với CPI sở (base CPI) 1.0, giả sử tất truy cập thành cơng cache sơ cấp có tỷ lệ xung nhịp (clock rate) 4GHz Giả sử thời gian truy cập nhớ 100 ns, bao gồm tất xử lý thất bại Giả sử tỷ lệ thất bại lệnh cache sơ cấp 2% Hỏi xử lý nhanh lần bổ sung thêm cache mức có thời gian truy cập ns cho trường hợp thành công thất bại cache đủ lớn để giảm tỷ lệ thất bại nhớ 0.5%? Ta có trừng phạt thất bại nhớ là: Tổng CPI (total CPI) trường hợp có mức cache là: Tổng CPI = CPI sở + số chu kỳ trì hoãn nhớ lệnh 78 hay: Tổng CPI = 1.0 + 2% × 400 = Trong trường hợp có hai mức cache, thất bại cache mức 1(cache sơ cấp) tìm khối cache mức (cache thứ cấp) nhớ Trừng phạt thất bại truy cập cache mức là: Nếu thất bại tìm thấy cache mức tổng trừng phạt thất bại trừng phạt thất bại cache mức Nếu thất bại phải cần tìm đến nhớ tổng trừng phạt thất bại tổng thời gian truy cập cache mức thời gian truy cập nhớ Do đó, trường hợp có hai mức cache tổng CPI tổng số chu kỳ trì hỗn (stall cycles) hai mức cache CPI sở: Tổng CPI = + số chu kỳ trì hỗn sơ cấp + số chu kỳ trì hỗn thứ cấp = + 2% × 20 + 0.5% × 400 = + 0.4 + 2.0 = 3.4 Vì thế, CPU với cache thứ cấp nhanh hơn: Như với cấu trúc tổ chức cache hai mức cache mức sơ cấp có tác dụng làm tối thiểu hóa thời gian truy cập thành cơng cache thứ cấp tập trung đến tỷ lệ thất bại để giảm trừng phạt thời gian truy cập nhớ lâu 4.4 TÓM TẮT Chương giới thiệu nguyên tắc thời gian nguyên tắc không gian truy cập nhớ Trình bày đặc điểm cấp bậc nhớ Sau giới thiệu tổng quan nhớ cache, truy cập liệu nhớ cache, trường hợp để xử lý thất bại cache Thao tác ghi liệu vào nhớ cache: ghi đồng thời, ghi đệm, ghi lại Thiết kế nhớ để vận hành cache tốt Giới thiệu ba mơ hình để thay khối: ánh xạ trực tiếp, kết hợp hoàn toàn kết hợp theo tập hợp Cách để xác định khối nhớ cache dựa vào mô hình thực cache Cuối trình bày cache nhiều mức: cache mức (cache sơ cấp) cache mức (cache thứ cấp) để đảm bảo hiệu suất vận hành cache tốt 79 CÂU HỎI VÀ BÀI TẬP CHƢƠNG 4 Ngun tắc thời gian gì? Ngun tắc khơng gian gì? Các cấp nhớ hiểu nào? Mơ hình ánh xạ trực tiếp gì? Mơ hình kết hợp theo tập hợp gì? Cách xác định khối nhớ Cache? Chiến thuật LRU gì? Cho nhớ cache có khối (mỗi khối từ) theo kiểu ánh xạ trực tiếp Hãy cho biết nội dụng nhớ cache số lần thành công thất bại truy cập địa 0, 15, 6, 0, 6, 20 với giả sử nhớ cache khởi tạo ban đầu rỗng (không chứa nội dung nào) Cho nhớ cache có khối (mỗi khối từ) theo kiểu kết hợp theo tập hợp (mỗi tập hợp có hai phần tử) với chiến lược thay khối sử dụng gần (least recently used – LRU) Hãy cho biết nội dụng nhớ cache số lần thành công thất bại truy cập địa 2, 5, 12, 2, 8, với giả sử nhớ cache khởi tạo ban đầu rỗng (không chứa nội dung nào) Cho nhớ cache có khối (mỗi khối từ) theo kết hợp đầy đủ Hãy cho biết nội dụng nhớ cache số lần thành công thất bại truy cập địa 0, 5, 8, 5, 6, với giả sử nhớ cache khởi tạo ban đầu rỗng (không chứa nội dung nào) 10 Xét ví dụ sau: giả sử nhớ cache gồm có 512 khối, khối từ địa có kích thước 32 bit Hãy tìm tổng số tập hợp tổng số bit thẻ (tags) nhớ cache với mơ hình ánh xạ trực tiếp 11 Xét ví dụ sau: giả sử nhớ cache gồm có 2K khối, khối từ địa có kích thước 32 bit Hãy tìm tổng số tập hợp tổng số bit thẻ (tags) nhớ cache với mơ hình kết hợp theo tập hợp có phần tử 12 Xét ví dụ sau: giả sử nhớ cache gồm có 4K khối, khối từ địa có kích thước 32 bit Hãy tìm tổng số tập hợp tổng số bit thẻ (tags) nhớ cache với mơ hình kết hợp đầy đủ 80 CHƢƠNG HỆ THỐNG LƢU TRỮ VÀ NHẬP – XUẤT Mục đích: Giới thiệu tổng quan hệ thống lưu trữ nhập – xuất máy tính Cấu tạo nguyên lý hoạt động đĩa từ nhớ flash Cách kết nối xử lý, nhớ thiết bị nhập – xuất Giao tiếp thiết bị nhập – xuất với xử lý, nhớ hệ điều hành 5.1 GIỚI THIỆU Một hệ thống nhập xuất điển hình thể hình 5.1 Đường kết nối thiết bị nhập/xuất (I/O), xử lý nhớ gọi bus Kết nối thiết bị nhập/xuất thông qua đường kết nối ngắt (interrupts) đường kết nối bên (interconnect) Các tiêu chí độ tin khả mở rộng quan tâm thiết kế hệ thống nhập/xuất Hình 5.1: Hệ thống nhập/xuất điển hình 5.2 ĐĨA TỪ Đĩa từ bao gồm nhiều đĩa (1 – 4) đầu đọc/ghi di chuyển để truy cập đĩa Mỗi đĩa có hai mặt dùng để ghi liệu Tốc độ quay đĩa từ 5400 đến 15000 rpm có đường kính từ inch đến 3.5 inch Mỗi bề mặt đĩa chia thành hình trịn đồng tâm, gọi rãnh (track) Có khoảng 10000 đến 50000 rãnh bề mặt Mỗi rãnh chia thành cung (sector) dùng để lưu liệu Mỗi rãnh chứa từ 100 đến 500 cung Thơng thường cung có kích thước 512 byte Tập hợp rãnh có kích thước gọi cylinder 81 Để truy cập liệu, phải di chuyển đầu đọc/ghi đến rãnh có chứa cung mong muốn Thao tác gọi tìm kiếm (seek), thời gian để đầu đọc/ghi di chuyển đến rãnh đọc gọi thời gian tìm kiếm (seek time) Thông thường thời gian khoảng từ 3ms đến 13ms Sau di chuyển đến rãnh thích hợp, đầu đọc/ghi phải đợi đĩa quay đến cung chứa liệu cần truy suất Thời gian gọi độ trễ quay (rotational delay hay rotational latency) Giá trị trung bình nửa vịng quay đĩa Tức tốc độ quay đĩa từ 5400 rpm đến 15000 rpm thì: Thời gian để truy cập đĩa, thời gian truyền (transfer time) Đây thời gian dùng để truyền liệu Thời gian phụ thuộc vào kích thước cung, tốc độ quay mật độ ghi liệu rãnh Tốc độ truyền khoảng từ 70 đến 125 MB/s Ngày này, trình điều khiển đĩa có xây dựng sẳn nhớ đệm (cache) để lưu tạm thời cung Do tốc độ truyền từ nhớ đệm tăng lên đến 375 MB/s Ngồi ra, trình điều khiển đĩa (disk controller) xử lý điều khiển chi tiết đĩa truyền liệu đĩa nhớ Thời gian gọi thời gian điều khiển (controller time) Đây thành phần cuối thời gian truy cập đĩa Như vậy, thời gian truy cập đĩa bao gồm thời gian tìm kiếm, độ trễ quay, thời gian truyền thời gian điều khiển Ví dụ: tính thời gian truy cập đĩa để đọc ghi cung (512 byte) đĩa có tốc độ quay 15000 rpm Cho biết thời gian tìm kiếm ms, tốc độ truyền 100 MB/s thời gian điều khiển 0.2 ms Ta có: thời gian truy cập = thời gian tìm kiếm + độ trễ quay + thời gian truyền + thời gian điều khiển Như vậy, giá trị bằng: 5.3 BỘ NHỚ FLASH Bộ nhớ flash loại nhớ bán dẫn giống đĩa từ có độ trễ (latency) nhanh 100 đến 1000 lần so với đĩa Đây nhớ nhỏ gọn, tiêu thụ lượng có sức chống va chạm cao Bộ nhớ sử dụng phổ biến điện thoại, thiết bị số, máy quay phim,…Về giá thành gigabyte cao từ đến 40 lần so với đĩa cứng thấp đến 10 lần so với DRAM 82 Bộ nhớ flash có nguyên lý hoạt động dựa EEPROM phân thành hai loại: NOR flash có nhớ dùng cổng NOR tương tự NAND flash NOR flash dùng để chứa chương trình khởi động thiết bị NAND flash dùng thẻ nhớ usb có giá thành rẽ NOR flash Với phát triển nhanh dung lượng giá thành ngày thấp làm cho nhớ flash ngày sử dụng rộng rãi nhiều loại thiết bị ngày 5.4 KẾT NỐI GIỮA BỘ XỬ LÝ, BỘ NHỚ VÀ THIẾT BỊ NHẬP/XUẤT Trong hệ thống máy tính, thiết bị xử lý nhớ cần kết nối với xử lý thiết bị nhập/xuất Bộ phận đảm nhận vai trò bus Bus bao gồm tập hợp sợi dây để kết nối hệ thống bên Có hai thuận lợi bus tính linh hoạt có chi phí thấp Với đường kết nối đơn thiết bị gắn thêm vào Các thiết bị ngoại vi dễ dàng gắn vào máy tính hay máy tính khác có loại bus Điểm bất lợi bus tạo tượng thất cổ chai (bottleneck) Vấn đề làm hạn chế lưu lượng nhập/xuất Khi lưu lượng nhập/xuất truyền bus, băng thông bus giới hạn mức độ tối đa lưu lượng nhập/xuất Thiết kế hệ thống bus đáp ứng nhu cầu xử lý khả kết nối với nhiều loại thiết bị nhập/xuất vấn đề khó khăn nhà thiết kế máy tính Bus chia thành hai loại: loại thứ bus hệ thống dùng để kết nối xử lý nhớ, bus thường ngắn có tốc độ cao Loại thứ hai bus nhập/xuất, loại thường dài kết nối với nhiều loại thiết bị thông thường băng thông liệu (data bandwidth) với thiết bị gắn vào bus Hơn nữa, tốc độ bus ngoại vi bị giới hạn yếu tố vật lý: chiều dài bus số thiết bị gắn vào Một giao dịch nhập/xuất (I/O transaction) bao gồm có hai phần: gửi địa nhận gửi liệu Thao tác thực dựa nhớ, tức thao tác nhập (input) nhập liệu từ thiết bị nhập/xuất vào nhớ (bộ xử lý đọc liệu này) Trong thao tác xuất (output) xuất liệu tới thiết bị nhập/xuất từ nhớ (bộ xử lý ghi liệu này) Để thống nhà sản xuất máy tính nhà sản xuất thiết bị ngoại vi, ngành cơng nghiệp máy tính đưa tiêu chuẩn Một tiêu chuẩn đưa đặc tả để thiết bị ngoại vi nhà sản xuất khác gắn vào máy tính theo chuẩn Một số tiêu chuẩn thiết bị nhập/xuất phổ biến như: USB, PCI Express (PCIe), Serial ATA (SATA), SCSI,… Bus đồng (synchronous) tức bus gồm có tín hiệu xung nhịp (clock) đường điều khiển giao thức (protocol) cố định để giao tiếp dựa tín hiệu xung nhịp Ví dụ để thực thao tác đọc từ nhớ, có nghi thức để truyền địa lệnh đọc chu kỳ Dùng đường điều khiển để định loại yêu cầu Sau đó, nhớ đáp ứng yêu cầu môt từ (word) liệu chu kỳ thứ Loại giao thức thực thi máy trạng thái hữu hạn (finitestate machine) nhỏ Tuy nhiên, bus đồng có hai bất lợi Thứ nhất, thiết bị bus phải chạy tần số xung nhịp (clock rate) Thứ hai, vấn đề lệch xung 83 nhịp, bus đồng dài bus có tốc độ nhanh Do bất lợi nên dẫn đến hình thành bus khơng đồng (asynchronous) Loại bus khơng có tín hiệu xung nhịp Điều thích hợp để kết nối với nhiều loại thiết bị khác bus dài mà không lo lắng vấn đề lệnh xung nhịp đồng Để thực việc truyền liệu, bus không đồng dùng giao thức bắt tay (handshaking protocol) Giao thức bao gồm tập hợp nhiều bước để bên gửi bên nhận xử lý bước hai bên đồng ý với Các đường điều khiển bổ sung giao thức 5.5 GIAO TIẾP THIẾT BỊ NHẬP/XUẤT VỚI BỘ XỬ LÝ, BỘ NHỚ VÀ HỆ ĐIỀU HÀNH Hệ điều hành đóng vai trị quan trọng xử lý u cầu nhập/xuất, giao diện phần cứng chương trình u cầu nhập/xuất Vai trị hệ điều hành liên quan đến đặc điểm hệ thống nhập/xuất: Nhiều chương trình dùng xử lý để chia sẻ hệ thống nhập/xuất Hệ thống nhập/xuất thường dùng ngắt (interrupt) để giao tiếp thông tin thao tác nhập/xuất Ngắt truyền tới nhân (kernel) xử lý hệ điều hành Điều khiển cấp thấp thiết bị nhập/xuất phức tạp, phải quản lý tập hợp kiện đồng thời yều cầu cần thực xác thường chi tiết Dựa vào đặc điểm trên, hệ điều hành cung cấp số chức sau:  Hệ điều hành phải đảm bảo chương trình người dùng phép truy cập vào phần thiết bị nhập/xuất mà người dùng phép Ví dụ hệ điều hành khơng cho phép chương trình đọc ghi tập tin đĩa chương trình khơng phép để truy cập tập tin  Hệ điều hành cung cấp hàm (routine) để xử lý thao tác cấp thấp thiết bị nhập/xuất  Hệ điều hành phải xử lý ngắt tạo thiết bị nhập/xuất, xử lý ngoại lệ (exception) tạo chương trình  Đối với tài nguyên nhập/xuất chia sẻ, hệ điều hành cần cung cấp quyền truy cập như lập thời biểu truy cập để đảm bảo nâng cao thông lượng (throughput) hệ thống Để thực chức này, hệ điều hành phải giao tiếp với thiết bị nhập/xuất ngăn chương trình người dùng giao tiếp trực tiếp với thiết bị nhập/xuất Có ba loại giao tiếp: Hệ điều hành lệnh cho thiết bị ngoại vi Những lệnh không thao tác đọc ghi mà thao tác khác thực thiết bị thao tác dịch chuyển đầu đọc/ghi đến vị trí thích hợp (seek) đĩa Thiết bị nhập/xuất thông báo cho hệ điều hành thực xong thao tác có lỗi xảy Dữ liệu truyền nhớ thiết bị nhập/xuất 84 Trong phần tiếp theo, tìm hiểu kỹ giao tiếp với thiết bị nhập/xuất 5.5.1 Ra lệnh cho thiết bị nhập xuất Để điều khiển thiết bị nhập/xuất, xử lý phải xác định địa thiết bị đưa nhiều từ lệnh Hai phương pháp dùng để xác định địa chỉ: thiết bị nhập/xuất ánh xạ vào nhớ (memory-mapped I/O) tập lệnh nhập/xuất riêng (special I/O instructions)  Thiết bị nhập/xuất ánh xạ vào nhớ: vùng không gian địa gắn cho thiết bị nhập/xuất Đọc ghi vào vùng địa tương ứng với giao tiếp với thiết bị nhập/xuất Ví dụ thao tác ghi liệu vào thiết bị nhập/xuất, xử lý đặt địa liệu vào bus Hệ thống nhớ bỏ qua thao tác địa chỉ định phần không gian nhớ dành cho thiết bị nhập/xuất trình điều khiển thiết bị thực thao tác cách truyền liệu tới thiết bị nhập/xuất xem lệnh Đọc ghi liệu chương trình thường yêu cầu vài thao tác nhập/xuất riêng biệt Hơn nữa, xử lý phải tham dò trạng thái thiết bị để xem lệnh đưa có thực xong hay chưa Ví dụ, máy in đơn giản có hai ghi nhập/xuất: ghi trạng thái lưu trạng thái thiết bị ghi liệu lưu liệu in Thanh ghi trạng thái chứa bit thực (done bit) thiết lập máy in thực in xong ký tự bit lỗi (error bit) Bit lỗi xác định máy in kẹt giấy hết giấy Mỗi byte liệu cần in đặt vào ghi liệu Bộ xử lý phải đợi máy in thiết lập bit thực đưa ký tự để in Bộ xử lý cần kiểm tra bit lỗi để xem lỗi xảy hay không  Tập lệnh nhập/xuất riêng: lệnh nhập/xuất xác định số thiết bị từ lệnh Bộ xử lý giao tiếp với thiết bị thông qua sợi dây bus nhập/xuất Lệnh truyền đường liệu bus Điển hình máy tính theo kiểu Intel ×86 IBM 370 5.5.2 Giao tiếp với xử lý Thiết bị nhập/xuất ghi thông tin vào ghi trạng thái (status register) Bộ xử lý định kỳ kiểm tra thông tin ghi trạng thái để biết thiết bị có sẳn sàng hay khơng Q trình gọi thăm dị (polling) Q trình có điểm bất lợi tiêu tốn nhiều thời gian xử lý phải thường xuyên thăm dò trạng thái thiết bị Hơn nữa, tốc độ xử lý nhanh nhiều so với thiết bị nhập/xuất Do hạn chế q trình thăm dị nên người ta sử dụng ngắt (interrupt) để thiết bị nhập/xuất thông báo với xử lý Một ngắt nhập/xuất (I/O interrupt) giống ngoại lệ (exception) với hai khác biệt quan trọng: Ngắt nhập/xuất khơng đồng với thực thi lệnh Nghĩa là, ngắt không kết hợp với lệnh không cản trở thực thi hoàn thành lệnh Điều khác với ngoại lệ lỗi trang (page fault exception) hay ngoại lệ tràn số 85 học (arithmetic overflow) Đơn vị điều khiển kiểm tra ngắt nhập/xuất chưa giải lúc bắt đầu lệnh Khi ngắt xảy ra, thích truyền thơng tin Như định danh (identity) thiết bị tạo ngắt Hơn nữa, ngắt thiết bị nhập/xuất có độ ưu tiên khác Do mức độ khẩn cấp kết hợp với ngắt thiết bị khác Để giao tiếp thông tin với xử lý, định danh thiết bị, hệ thống dụng vector ngắt (vectored interrupt) ghi nguyên nhân (Cause register) Khi xử lý nhận ngắt, thiết bị nhập/xuất gửi địa vector trường trạng thái (status field) đặt vào ghi nguyên nhân Hệ điều hành biết định danh thiết bị gây ngắt xem xét tức đến thiết bị Mơ hình ngắt loại bỏ u cầu xử lý để thăm dò thiết bị thay vào xử lý tập trung để thực thi chương trình 5.5.3 Độ ƣu tiên ngắt Để giải với độ ưu tiên khác thiết bị nhập/xuất, mơ hình ngắt đưa nhiều mức ưu tiên Thí dụ, hệ điều hành UNIX dùng từ đến mức ưu tiên ngắt Bộ xử lý xử lý ngắt dựa theo thứ tự độ ưu tiên ngắt Các ngoại lệ tạo bên ngắt nhập/xuất có độ ưu tiên Các ngoại lệ có độ ưu tiên cao ngắt nhập/xuất bên ngoại Đối với độ ưu tiên ngắt nhập/xuất có nhiều độ ưu tiên, thiết bị có tốc độ cao thường kết hợp với độ ưu tiên cao Thanh ghi trạng thái xác định tác nhân gây ngắt máy tính (hình 5.2) Nếu bit ngắt gắn giá trị ngắt không cho phép Mỗi bit mặt nạ ngắt (interrupt mask) tương ứng với bit của trường ngắt chờ xử lý (pending interrupt) ghi nguyên nhân Để thiết lập ngắt, phải gắn giá trị vị trí bit tương ứng mặt nạ ngắt Hệ điều hành đọc trường mã ngoại lệ (exception code) ghi trạng thái: tương ứng với ngắt xảy ra, với giá trị khác cho trường hợp ngoại lệ Các bước để xử lý ngắt: Thực phép toán AND mặt nạ ngắt trường ngắt chờ xử lý để xác định tác nhân gây ngắt Lựa chọn ngắt có độ ưu tiên cao Theo quy ước bên trái có độ ưu tiên cao Lưu mặt nạ ngắt ghi trạng thái Thay đổi mặt nạ ngắt để vơ hiệu hóa tất ngắt có độ ưu tiên nhỏ Lưu lại trạng thái xử lý cần thiết để xử lý ngắt Để cho phép ngắt có độ ưu tiên cao hơn, thiết lập bit ngắt ghi nguyên nhân Gọi hàm xử lý ngắt tương ứng Trước khôi phục lại trạng thái, thiết lập bit ngắt ghi nguyên nhân Điều cho phép khôi phục lại mặt nạ ngắt 86 Hình 5.2: Thanh ghi trạng thái ghi nguyên nhân 5.5.4 Truyền liệu thiết bị nhớ Chúng ta có hai phương pháp khác để thiết bị nhập/xuất giao tiếp với xử lý Đó phương pháp thăm dị ngắt nhập/xuất Cả hai phương pháp thích hợp với thiết bị nhập/xuất có băng thơng thấp Các thiết bị thường có giá rẻ với trình điều khiển thiết bị giao tiếp đơn giản so với thiết bị nhập/xuất có băng thơng cao Trong hai phương pháp, xử lý có vai trị quan trọng để quản lý việc truyền liệu Cơ chế luân phiên sử dụng phương pháp dùng ngắt nhập/xuất Trong trường hợp hệ điều hành truyền liệu nhỏ (số byte ít) từ thiết bị đến thiết bị Do thao tác nhập/xuất sử dụng ngắt nên hệ điều hành thực cơng việc khác liệu đọc từ thiết bị ghi vào thiết bị Khi hệ điều hành nhận ngắt từ thiết bị, hệ điều hành đọc trạng thái để kiểm tra lỗi Nếu khơng có lỗi hệ điều hành tiếp tục truyền liệu Khi byte cuối yêu cầu nhập/xuất truyền thao tác nhập xuất hoàn thành, hệ điều hành thơng báo chương trình Bộ xử lý hệ điều hành làm tất cơng việc q trình này: truy cập nhớ thiết bị liệu truyền Ngắt nhập/xuất làm giảm thời gian xử lý chờ đợi kiện nhập/xuất, dùng phương pháp để truyền liệu với đĩa cứng đầu đọc đĩa cứng khơng thể chấp nhận dùng phần lớn thời gian xử lý đĩa truyền Đối với thiết bị băng thơng lớn đĩa cứng, q trình truyền bao gồm khối liệu lớn (hàng trăm đến hàng ngàn byte) Vì vậy, nhà thiết kế máy tính phát triển mơ hình để giảm tải cho xử lý dùng trình điều khiển thiết bị để truyền liệu trực tiếp với nhớ mà khơng có tham gia xử lý Mơ hình gọi truy cập nhớ trực tiếp (DMA - direct memory access) 87 Mô hình ngắt sử dụng để thiết bị giao tiếp với xử lý trình truyền nhập/xuất hồn thành có lỗi xảy DMA thực trình điều khiển đặc biệt để truyền liệu thiết bị nhập/xuất nhớ mà khơng cần đến xử lý Trình điều khiển DMA trở thành chủ nhân bus (master – đơn vị chiếm giữ bus để thực thao tác truyền liệu) để điều khiển thao tác đọc ghi thiết bị nhớ Một trình truyền liệu với DMA bao gồm ba bước: Bộ xử lý thiết lập DMA cách cung cấp định danh (identity) thiết bị, thao tác thực với thiết bị, địa nhớ để truyền liệu số byte liệu cần truyền DMA bắt đầu thực thao tác thiết bị điều khiển hệ thống bus Khi liệu sẳn sàng (từ thiết bị nhớ), thao tác truyền liệu thực DMA cung cấp địa nhớ để đọc ghi liệu Nếu yêu cầu nhiều trình truyền liệu, DMA cung cấp địa nhớ khởi tạo q trình truyền Như vậy, theo mơ hình DMA thực tồn q trình truyền liệu (dung lượng hàng ngàn byte) mà khơng có tham gia xử lý Khi q trình truyền liệu DMA hồn thành, trình điều khiển DMA gửi tín hiệu ngắt tới xử lý Sau đó, xử lý kiểm tra trình điều khiển DMA nhớ để xem tồn thao tác có thực thành cơng hay khơng Một hệ thống có nhiều thiết bị DMA Xem hệ thống có bus nhớ - xử lý nhiều bus nhập/xuất Mỗi trình điều khiển bus nhập/xuất thường bao gồm vi xử lý DMA để điều khiển trình truyền liệu nhớ thiết bị bus nhập/xuất Không giống phương pháp thăm dò hay phương pháp ngắt nhập/xuất, DMA giao tiếp với nhớ mà không dùng thời gian xử lý thực thao tác truyền liệu bus nhập/xuất Bộ xử lý trì hỗn muốn truy cập nhớ nhớ thực thao tác DMA Do xử lý sử dụng nhớ cache nên truy cập vào nhớ Vì vậy, băng thơng nhớ giải phóng để thực thao tác truyền liệu với thiết bị nhập/xuất 5.5.5 Truy cập nhớ trực tiếp DMA hệ thống nhớ Khi DMA kết hợp vào hệ thống nhập/xuất, mối quan hệ hệ thống nhớ xử lý thay đổi Khi khơng có DMA, tất truy cập vào nhớ đến từ xử lý xử lý thông qua chế dịch địa truy cập nhớ cache Khi có DMA, truy cập vào nhớ không thông qua chế dịch địa cấp bậc nhớ cache Điều gây khó khăn cho hệ thống nhớ ảo hệ thống nhớ với cache Vấn đề giải kết hợp kỹ thuật phần cứng hỗ trợ phần mềm Kỹ thuật DMA gây khó khăn cho hệ thống nhớ ảo trang có địa vật lý địa ảo Kỹ thuật tạo khó khăn cho hệ thống với nhớ cache có hai thành phần liệu: cache nhớ Bởi vì, DMA yêu cầu truy cập trực tiếp nhớ mà không thông qua nhớ 88 cache xử lý nên nội dung nhớ thấy DMA xử lý khác Xem thao tác đọc đĩa mà DMA lưu trực tiếp vào nhớ Nếu số vị trí nhớ DMA ghi vào mà vị trí cache, xử lý nhận giá trị cũ thực thao tác đọc Tương tự, thao tác ghi lại nhớ cache DMA đọc giá trị cũ trực tiếp từ nhớ giá trị cache chưa ghi lại 5.6 TÓM TẮT Trong chương giới thiệu tổng quan hệ thống lưu trữ nhập/xuất máy tính Cấu tạo đĩa từ bao gồm nhiều đĩa, đại lượng đặc trưng đĩa từ tốc độ quay, thời gian truy cập Bộ nhớ flash có nguyên lý hoạt động dựa EEPROM Ưu điểm nhỏ gọn, tiêu thụ điện năng… nên sử dụng ngày phổ biến Hệ thống bus dùng để kết nối thành phần bên máy tính Có hai loại bus: bus hệ thống bus nhập/xuất Hệ điều hành đóng vai trị quan trọng việc xử lý yêu cầu nhập/xuất như: lệnh cho thiết bị nhập/xuất, giao tiếp với xử lý, độ ưu tiên ngắt thiết bị nhập/xuất điều khiển truyền liệu thiết bị nhập/xuất nhớ kỹ thuật DMA 89 CÂU HỎI ÔN TẬP CHƢƠNG Cấu tạo nguyên lý hoạt động đĩa từ? Cấu tạo nguyên lý hoạt động nhớ flash? Bus chia thành loại? Đặc điểm bus đồng bộ? Đặc điểm bus khơng đồng bộ? Mơ hình thiết bị nhập/xuất ánh xạ vào nhớ gì? Mơ hình dùng tập lệnh nhập/xuất riêng gì? Kỹ thuật thăm dò hoạt động nào? Các bước để xử lý ngắt? 10 Kỹ thuật DMA hoạt động nào? TÀI LIỆU THAM KHẢO David A.Patterson., & John L.Hennessy (2007) Computer Architecture: A Quantitative Approach (fourth edition) San Francisco: Morgan Kaufmann David A.Patterson., & John L.Hennessy (2012) Computer organization and Design: The hardware/software interface (fourth edition) Waltham: Morgan Kaufmann Miles Murdocca., & Vincent Heuring (k.n.) Principles of Computer Architecture Retrieved from http://iiusaedu.com Võ Văn Chín., Nguyễn Hồng Vân., & Phạm Hữu Tài (2003) Giáo trình Kiến trúc máy tính Cần Thơ: Đại học Cần Thơ William Stallings (2010) Computer organization and Architecture: Designing for Performance (eighth edition) New Jersey: Prentice Hall 90

Ngày đăng: 10/10/2023, 18:34

Tài liệu cùng người dùng

Tài liệu liên quan