Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
1,86 MB
Nội dung
Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST Tài liệu tham khảo [1] William Stallings - Computer Organization and Architecture – Designing for Performance – 2009 (8th edition) Bài giảng tóm tắt KIẾN TRÚC MÁY TÍNH Computer Architecture [2] David A Patterson & John L Hennessy Computer Organization and Design: The Hardware/Software Interface – 2011 (4th revised edition) Nguyễn Kim Khánh Bộ môn Kỹ thuật máy tính Viện Cơng nghệ thơng tin Truyền thơng Trường Đại học Bách Khoa Hà Nội Department of Computer Engineering (DCE) School of Information and Communication Technology (SoICT) Hanoi University of Science and Technology (HUST) 25 Oct 2013 NKK-HUST Kiến trúc máy tính NKK-HUST Kiến trúc máy tính Nội dung 1. 2. 3. 4. 5. Máy tính hiệu Bộ xử lý trung tâm Bộ nhớ máy tính Hệ thống vào-ra Giới thiệu kiến trúc song song MÁY TÍNH VÀ HIỆU NĂNG Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội 25 Oct 2013 Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST 25 Oct 2013 Kiến trúc máy tính Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST Phân loại máy tính đại n Thiết bị di động cá nhân (Personal Mobile Device): n n n n Kiến trúc máy tính bao gồm: n Thực chất Máy phục vụ Dùng mạng theo mơ hình Client/Server n Máy tính cụm/máy tính qui mơ lớn (Clusters/Warehouse Scale Computers): n n n n Smartphone, Tablet,… Máy tính để bàn/xách tay (Desktop/Laptop) Máy chủ (Server) n n Kiến trúc máy tính [Hennessy/ Patterson] n Sử dụng trung tâm tính tốn lớn Siêu máy tính Máy tính nhúng (Embedded Computers) n n n Đặt ẩn thiết bị khác Thiết kế chuyên dụng 25 Oct 2013 Kiến trúc máy tính NKK-HUST Tổ chức máy tính (Computer Organization): nghiên cứu thiết kế máy tính mức cao,chẳng hạn hệ thống nhớ, cấu trúc bus, thiết kế bên CPU Phần cứng (Hardware): nghiên cứu thiết kế logic chi tiết cơng nghệ đóng gói máy tính Kiến trúc tập lệnh thay đổi chậm, tổ chức phần cứng máy tính thay đổi nhanh 25 Oct 2013 Kiến trúc máy tính NKK-HUST Cấu trúc máy tính n CPU Bộ nhớ n Bus liên kết hệ thống n Hệ thống vào-ra n 25 Oct 2013 Kiến trúc tập lệnh (Instruction Set Architecture): nghiên cứu máy tính theo cách nhìn người lập trình (hardware/software interface) Mơ hình phân lớp máy tính Bộ xử lý trung tâm (Central Processing Unit): Điều khiển hoạt động máy tính xử lý liệu Bộ nhớ (Main Memory): Chứa chương trình liệu sử dụng Hệ thống vào-ra (Input/Output System): Trao đổi thơng tin máy tính với bên Bus liên kết hệ thống (System Interconnection Bus): Kết nối vận chuyển thông tin thành phần với Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST Người sử dụng Phần mềm ứng dụng Người lập trình Phần mềm trung gian Hệ điều hành Các phần mềm ứng dụng Các phần mềm trung gian Người thiết kế HĐH Kiến trúc tập lênh Vi kiến trúc Hệ điều hành Logic-số Phần cứng n n 25 Oct 2013 Mạch điện tử Phần cứng (Hardware): hệ thống vật lý máy tính Phần mềm (Software): chương trình liệu Kiến trúc máy tính Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST Hiệu máy tính n n Xung nhịp CPU Định nghĩa hiệu P(Performance): P = 1/ t đó: t thời gian thực “Máy tính A nhanh máy B n lần” T0 Ví dụ: Thời gian chạy chương trình: n n n n 10s máy A, 15s máy B tB / tA = 15s / 10s = 1.5 Vậy máy A nhanh máy B 1.5 lần 25 Oct 2013 Kiến trúc máy tính Chu kỳ xung nhịp T0(Clock period): thời gian chu kỳ Tần số xung nhịp f0 (Clock rate): số chu kỳ giây n f0 = 1/T0 VD: Bộ xử lý có f0 = 4GHz = 4000MHz = 4×109Hz T0 = 1/(4x109) = 0.25x10–9s = 0.25ns n PA / PB = tB / tA = n n Hoạt động CPU điều khiển xung nhịp có tần số xác định n n NKK-HUST 25 Oct 2013 tCPU n 10 NKK-HUST Thời gian CPU (tCPU) n Kiến trúc máy tính Số lệnh số chu kỳ lệnh n n = n × T0 = f0 n = IC × CPI n - số chu kỳ, IC - số lệnh (Instruction Count), CPI - số chu kỳ lệnh (Cycles per Instruction) đó: n số chu kỳ xung nhịp Hiệu tăng lên cách: n n Số chu kỳ = Số lệnh x Số chu kỳ lệnh n Thời gian thực CPU: Giảm số chu kỳ xung nhịp n Tăng tần số xung nhịp f0 tCPU = IC × CPI × T0 = n 25 Oct 2013 Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST 11 25 Oct 2013 IC × CPI f0 Trong trường hợp lệnh khác có CPI khác nhau, cần tính CPI trung bình Kiến trúc máy tính 12 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST MIPS thước đo hiệu Tóm tắt Hiệu CPU Time = tCPU = IC × CPI × T0 = n MIPS: Millions of Instructions Per Second (Số triệu lệnh giây) Instructions Clock cycles Seconds × × Program Instruction Clock cycle n IC × CPI f0 MIPS = Hiệu phụ thuộc vào: n n n n Thuật toán Ngơn ngữ lập trình Chương trình dịch Kiến trúc tập lệnh 25 Oct 2013 Instructio n count Instructio n count Clock rate = = Execution time × 10 Instructio n count × CPI × 10 CPI × 10 Clock rate MIPS = Kiến trúc máy tính 13 NKK-HUST 25 Oct 2013 f0 CPI × 10 CPI = f0 MIPS × 10 Kiến trúc máy tính 14 NKK-HUST MFLOPS Kiến trúc máy tính Millions of Floating Point Operations per Second (Số triệu phép toán số dấu phẩy động giây) MFLOPS = Executed floating point operations Execution time × 10 BỘ XỬ LÝ TRUNG TÂM - CPU GFLOPS(109 ) TFLOPS(1012) 25 Oct 2013 Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST 15 25 Oct 2013 Kiến trúc máy tính 16 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST Bộ xử lý trung tâm n Chức năng: n n n Đơn vị số học logic (ALU) điều khiển hoạt động máy tính xử lý liệu n n Nguyên tắc hoạt động bản: CPU hoạt động theo chương trình nằm nhớ n Arithmetic and Logic Unit Thực phép toán số học phép toán logic: Số học: cộng, trừ, nhân, chia, tăng, giảm, đảo dấu n Logic: AND, OR, XOR, NOT, phép dịch bit n Cấu trúc Đơn vị điều khiển (CU) Đơn vị số học logic (ALU) Tập ghi (RF) n bus bên FPU (Floating Point Unit) – Đơn vị xử lý số dấu phẩy động Đơn vị nối ghép bus (BIU) bus điều khiển 25 Oct 2013 bus địa bus liệu Kiến trúc máy tính 17 NKK-HUST 25 Oct 2013 n n n 18 NKK-HUST Đơn vị điều khiển (Control Unit) n Kiến trúc máy tính Tập ghi (Register File) Điều khiển nhận lệnh từ nhớ đưa vào ghi lệnh Giải mã lệnh nhận để xác định thao tác mà lệnh yêu cầu Phát tín hiệu điều khiển thực lệnh Nhận tín hiệu yêu cầu từ bus hệ thống đáp ứng với yêu cầu 25 Oct 2013 Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST n n n Chứa thông tin (dữ liệu, địa chỉ, trạng thái) cho hoạt động điều khiển xử lý liệu CPU thời điểm Số lượng ghi nhiều à tăng hiệu CPU Có hai loại ghi: n n 19 25 Oct 2013 Các ghi lập trình Các ghi khơng lập trình Kiến trúc máy tính 20 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST Một số ghi điển hình n n n n n n Mơ hình lập trình máy tính Bộ đếm chương trình PC (Program Counter) trỏ lệnh IP (Instruction Pointer) Con trỏ liệu DP (Data Pointer) Con trỏ ngăn xếp SP (Stack Pointer) Thanh ghi sở Thanh ghi số (Base Register & Index Register) Các ghi liệu Thanh ghi trạng thái 25 Oct 2013 Kiến trúc máy tính 21 NKK-HUST PC: Program Counter IR: Instruction Register 25 Oct 2013 n n Ví dụ lưu trữ liệu 32-bit Bộ nhớ thường đánh địa theo byte Dữ liệu, lệnh đến nhiều byte Hai cách lưu trữ thông tin nhiều byte: 0001 1010 0010 1011 0011 1100 0100 1101 1A 4D 3C 2B 1A Đầu nhỏ (Little-endian): Byte có ý nghĩa thấp lưu trữ ngăn nhớ có địa nhỏ, byte có ý nghĩa cao lưu trữ ngăn nhớ có địa lớn n Đầu to (Big-endian): Byte có ý nghĩa cao lưu trữ ngăn nhớ có địa nhỏ, byte có ý nghĩa thấp lưu trữ ngăn nhớ có địa lớn n 25 Oct 2013 22 NKK-HUST Thứ tự lưu trữ byte nhớ n Kiến trúc máy tính Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST 2B 3C 1A 2B 3C 4D 3000 3001 3002 3003 little-endian 23 25 Oct 2013 4D 3000 3001 3002 3003 big-endian Kiến trúc máy tính 24 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST Tập lệnh n n n n 25 Oct 2013 Các thành phần lệnh máy Mỗi xử lý có tập lệnh xác định Tập lệnh thường có hàng chục đến hàng trăm lệnh Mỗi lệnh chuỗi số nhị phân mà xử lý hiểu để thực thao tác xác định Các lệnh mô tả ký hiệu gợi nhớ dạng text à lệnh hợp ngữ (assembly language) Kiến trúc máy tính Mã thao tác n n n NKK-HUST n n n Kiến trúc máy tính Số lượng địa tốn hạng lệnh Các lệnh chuyển liệu Các lệnh số học Các lệnh logic Các lệnh chuyển điều khiển (rẽ nhánh, nhảy) Các lệnh điều khiển hệ thống Ba địa toán hạng: n n n n n n n Nguyễn Kim Khánh - SoICT-HUST 27 25 Oct 2013 # R1 ß R1+R2 Ít sử dụng ADD R1 # Acc ß Acc+R1 địa toán hạng: n Kiến trúc máy tính Phổ biến trước ADD R1, R2 Một địa toán hạng: n n Các kiến trúc tiên tiến ADD R1, R2, R3 # R1 ß R2+R3 Hai địa toán hạng: n 25 Oct 2013 26 NKK-HUST n n Toán hạng nguồn (source operand): liệu vào thao tác Tốn hạng đích (destination operand): liệu thao tác 25 Oct 2013 Các kiểu lệnh thông dụng tập lệnh n Mã thao tác (operation code à opcode): mã hóa cho thao tác mà xử lý phải thực Địa toán hạng: nơi chứa toán hạng mà thao tác tác động n 25 Địa toán hạng Rất sử dụng Các tốn hạng ngầm định Stack Kiến trúc máy tính 28 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST Ví dụ lệnh máy cách thực CISC RISC n High-level language statement: a = b + c Assembly language instruction: add $t8, $s2, $s1 CISC: Complex Instruction Set Computer: n Machine language instruction: n 000000 10010 10001 11000 00000 100000 ALU-type Register Register Register Addition Unused opcode instruction 18 17 24 Instruction cache P C Register file Data cache (not used) n n ALU $17 $18 RISC: Reduced Instruction Set Computer: n Register file n $24 n Instruction fetch 25 Oct 2013 Register readout Operation Data read/store Kiến trúc máy tính 29 25 Oct 2013 n n n n n n n 25 Oct 2013 Kiến trúc máy tính 30 NKK-HUST Các đặc trưng RISC n Máy tính với tập lệnh thu gọn SunSPARC, Power PC, MIPS, ARM RISC đối nghịch với CISC Kiến trúc tập lệnh tiên tiến Register writeback NKK-HUST n Máy tính với tập lệnh phức tạp Các xử lý truyền thống: Intel x86, Motorola 680x0 Hoạt động CPU Số lượng lệnh Hầu hết lệnh truy nhập toán hạng ghi Truy nhập nhớ lệnh LOAD/STORE Thời gian thực lệnh chu kỳ máy Các lệnh có độ dài cố định (32 bit) Số lượng dạng lệnh CPU có tập ghi lớn Có phương pháp định địa toán hạng Hỗ trợ thao tác ngơn ngữ bậc cao Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST n Chu trình lệnh đầy dủ Nhận lệnh: CPU nhận lệnh từ nhớ Giải mã lệnh n Nhận toán hạng: nhận từ nhớ cổng vào-ra n Thực lệnh n Cất kết quả: cất nhớ cổng vào-ra n n n 31 Hoạt động 25 Oct 2013 Kiến trúc máy tính 32 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST Biểu đồ thời gian đường ống lệnh Kỹ thuật đường ống lệnh (Instruction Pipelining) n n Chia chu trình lệnh thành cơng đoạn cho phép thực gối lên (như dây chuyền lắp ráp) lệnh Chẳng hạn có công đoạn: lệnh lệnh n Nhận lệnh (Fetch Instruction - FI) lệnh n Giải mã lệnh (Decode Instruction - DI) lệnh n Tính địa tốn hạng (Calculate Operand Address-CO) n Nhận toán hạng (Fetch Operands - FO) n Thực lệnh (Execute Instruction - EI) n Ghi toán hạng (Write Operands - WO) 25 Oct 2013 Kiến trúc máy tính FI DI CO FO EI WO FI DI CO FO EI FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI FI DI CO FO EI WO FI DI CO FO EI lệnh 33 25 Oct 2013 10 11 12 13 t WO lệnh WO Kiến trúc máy tính WO 34 NKK-HUST Các kiến trúc song song mức lệnh Các Hazard (trở ngại) đường ống lệnh n Hazard: Tình ngăn cản bắt đầu lệnh chu kỳ n n n 25 Oct 2013 lệnh NKK-HUST n Lệnh Hazard điều khiển: rẽ nhánh gây 35 25 Oct 2013 CO DI FI Lệnh n DI FI Lệnh Hazard liệu: cần phải đợi để lệnh trước hoàn thành việc đọc/ghi liệu Nguyễn Kim Khánh - SoICT-HUST FI Lệnh Hazard cấu trúc: tài nguyên yêu cầu bận Kiến trúc máy tính Siêu đường ống (Superpipeline & Hyperpipeline) FO CO DI FI EI WO FO CO DI EI FO CO WO EI FO WO EI WO Siêu vô hướng (Superscalar) Lệnh FI DI CO FO EI WO Lệnh FI DI CO FO EI WO Lệnh FI DI CO FO EI WO Lệnh FI DI CO FO EI WO Lệnh FI DI CO FO EI WO Lệnh FI DI CO FO EI WO Kiến trúc máy tính 36 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST Bộ xử ly đa lõi (multicores) Kiến trúc máy tính Thay đổi xử lý: n n n n n n Tuần tự Pipeline Siêu vô hướng Đa luồng đan xen Đa lõi BỘ NHỚ MÁY TÍNH Bộ xử lý đa lõi xử lý có nhiều CPU chip à multiprocessors n 25 Oct 2013 Kiến trúc máy tính Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội 37 NKK-HUST 25 Oct 2013 n Bộ nhớ Chức năng: nhớ chương trình liệu Các thao tác với nhớ: n n n n n Chức đặc điểm: Chứa thơng tin mà CPU trao đổi trực tiếp n Tốc độ nhanh n Dung lượng không lớn n Sử dụng nhớ bán dẫn: ROM RAM n Thao tác ghi (Write) Thao tác đọc (Read) Các thành phần chính: n n Bộ nhớ (Internal Memory) Bộ nhớ (External Memory) Các loại nhớ trong: n n 25 Oct 2013 38 NKK-HUST Bộ nhớ máy tính n Kiến trúc máy tính Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST 39 25 Oct 2013 Bộ nhớ Bộ nhớ cache (bộ nhớ đệm) Kiến trúc máy tính 40 10 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST Bộ nhớ ngồi n Phân cấp hệ thống nhớ Chức đặc điểm Bộ vi xử lý Lưu giữ tài nguyên phần mềm máy tính n Được kết nối với hệ thống dạng thiết bị vào-ra n Dung lượng lớn CPU n n n Tập ghi Các loại thơng dụng 25 Oct 2013 Kiến trúc máy tính 41 25 Oct 2013 Kiến trúc máy tính 42 Bộ nhớ Static RAM (SRAM) n n 0.5ns – 2.5ns, $2000 – $5000 per GB Dynamic RAM (DRAM) n n n 50ns – 70ns, $20 – $75 per GB Ổ đĩa từ n n 5ms – 20ms, $0.20 – $2 per GB Bộ nhớ lý tưởng n n 25 Oct 2013 Bộ nhớ mạng NKK-HUST Công nghệ nhớ n Bộ nhớ ngồi • dung lượng tăng dần • tốc độ giảm dần • giá thành dung lượng giảm dần NKK-HUST n Bộ nhớ Từ trái sang phải: Ổ đĩa cứng (HDD) n Đĩa quang (CD, DVD) n Thẻ nhớ SD (Secure Digital), USB flash, SSD (Solid State Drive) n Cache L2 Tốc độ chậm n n Cahe L1 n Thời gian truy nhập SRAM Dung lượng giá thành ổ đĩa cứng Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST 43 25 Oct 2013 Chứa chương trình thực liệu sử dụng Tồn hệ thống máy tính Bao gồm ngăn nhớ đánh địa trực tiếp CPU Dung lượng nhớ nhỏ khơng gian địa nhớ mà CPU quản lý Việc quản lý logic nhớ tuỳ thuộc vào hệ điều hành Kiến trúc máy tính 44 11 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST m=8bit à băng nhớ tuyến tính Tổ chức nhớ đan xen (interleaved memory) Độ rộng bus liệu để trao đổi với nhớ: m = 8, 16, 32, 64,128 bit n Các ngăn nhớ tổ chức theo byte à tổ chức nhớ vật lý khác n AN-1 - A0 i D7 - D0 25 Oct 2013 Kiến trúc máy tính 45 NKK-HUST 25 Oct 2013 Kiến trúc máy tính 46 NKK-HUST m = 16bit à hai băng nhớ đan xen Băng A0 Bộ tạo tín hiệu chọn byte B W Băng BE0 m = 32bit à bốn băng nhớ đan xen băng băng 11 15 19 băng 10 14 18 băng 13 17 12 16 BE1 Các tín hiệu chọn byte CBE1 BE0 Chọn byte 0 Chọn hai byte Chọn byte cao Chọn byte thấp 1 không chọn 2i A1 B W BE1 Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST 4i+3 AN-1 - A2 A0 D15 - D8 25 Oct 2013 2i+1 AN-1 - A1 DW BE0 Bộ tạo tín hiệu chọn byte 47 25 Oct 2013 4i+1 4i BE0 BE1 BE2 BE3 BE3 D31-D24 D7 - D0 4i+2 BE2 D23-D16 Kiến trúc máy tính BE1 D15 - D8 BE0 D7 - D0 48 12 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST m = 64bit à tám băng nhớ đan xen băng băng 15 23 Bộ nhớ đệm nhanh (cache memory) Nguyên tắc chung cache băng 17 16 Cache có tốc độ nhanh nhớ Cache đặt CPU nhớ nhằm giảm thời gian CPU truy cập nhớ Cache đặt chip CPU n n 8i+7 AN-1 - A3 8i+1 n 8i CPU BE7 BE1 D63-D56 cache BE0 D15 - D8 D7 - D0 truyền theo từ nhớ 25 Oct 2013 Bộ nhớ Kiến trúc máy tính 49 NKK-HUST 25 Oct 2013 truyền theo block nhớ Kiến trúc máy tính 50 NKK-HUST Cấu trúc chung cache / nhớ Tag CPU Cache L0 L1 L2 L3 Cấu trúc chung cache / nhớ (tiếp) Bộ nhớ B0 B1 B2 B3 n n Bj Li Bộ nhớ có 2N byte nhớ Bộ nhớ cache chia thành khối có kích thước n Bộ nhớ chính: B0, B1, B2, , Bp-1 (p Blocks) n Bộ nhớ cache: L0, L1, L2, , Lm-1 (m Lines) n Kích thước Block = 8,16,32,64,128 byte Lm-1 BP-1 25 Oct 2013 Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST 51 25 Oct 2013 Kiến trúc máy tính 52 13 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST Các phương pháp ánh xạ Cấu trúc chung cache / nhớ (tiếp) n n n Một số Block nhớ nạp vào Line cache Nội dung Tag (thẻ nhớ) cho biết Block nhớ chứa Line Khi CPU truy nhập (đọc/ghi) từ nhớ, có hai khả xảy ra: n n n n n Từ nhớ có cache (cache hit) Từ nhớ khơng có cache (cache miss) 25 Oct 2013 Kiến trúc máy tính 53 NKK-HUST 25 Oct 2013 n n n n n n Tag Nbit địa nhớ B0 à L0 B1 à L1 Bm-1 à Lm-1 Bm à L0 Bm+1 à L1 Tag Line Word T bit L bit W bit Bộ nhớ Cache L0 B0 L1 B1 Li X So sánh cache hit Bj X Lm-1 Bm-1 Tổng quát n n 25 Oct 2013 54 Minh hoạ ánh xạ trực tiếp Mỗi Block nhớ nạp vào Line cache: n n Kiến trúc máy tính NKK-HUST Ánh xạ trực tiếp n Ánh xạ trực tiếp (Direct mapping) Ánh xạ liên kết toàn phần (Fully associative mapping) Ánh xạ liên kết tập hợp (Set associative mapping) Bj nạp vào L j mod m m số Line cache Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST cache miss 55 25 Oct 2013 Kiến trúc máy tính 56 14 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST Đặc điểm ánh xạ trực tiếp n Mỗi địa N bit nhớ gồm ba trường: n n n n n Ánh xạ liên kết toàn phần n Trường Word gồm W bit xác định từ nhớ Block hay Line: 2W = kích thước Block hay Line Trường Line gồm L bit xác định số Line cache: 2L = số Line cache = m Trường Tag gồm T bit: T = N - (W+L) n Trường Word giống trường hợp n Trường Tag dùng để xác định Block nhớ n n Bộ so sánh đơn giản Xác suất cache hit thấp 25 Oct 2013 Kiến trúc máy tính Mỗi Block nạp vào Line cache Địa nhớ bao gồm hai trường: 57 NKK-HUST 25 Oct 2013 Tag xác định Block nằm Line Kiến trúc máy tính 58 NKK-HUST Minh hoạ ánh xạ liên kết toàn phần Tag N bit địa nhớ Tag Word T bit W bit Đặc điểm ánh xạ liên kết tồn phần Bộ nhớ Cache L0 B0 L1 B1 n n X Li So sánh Bj X n n cache hit Lm-1 So sánh đồng thời với tất Tag à nhiều thời gian Xác suất cache hit cao Bộ so sánh phức tạp Ít sử dụng Bm-1 cache miss 25 Oct 2013 Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST 59 25 Oct 2013 Kiến trúc máy tính 60 15 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST Ánh xạ liên kết tập hợp n n n Cache đươc chia thành Tập (Set) Mỗi Set chứa số Line Ví dụ: n n n n n n n n 25 Oct 2013 L0 Tag Set Word T bit S bit W bit L1 L2 B0 S0 L3 Line/Set à 4-way associative mapping B1 B2 B3 L4 L6 B4 S1 L7 B5 So sánh B0 à S0 B1 à S1 B2 à S2 Sk X X cache hit Sv-1 cache miss Kiến trúc máy tính 61 25 Oct 2013 Kiến trúc máy tính 62 NKK-HUST Đặc điểm ánh xạ liên kết tập hợp n Bộ nhớ Cache L5 NKK-HUST n Tag Nbit địa nhớ Ánh xạ theo nguyên tắc sau: n 25 Oct 2013 Minh hoạ ánh xạ liên kết tập hợp Thay block cache (1) Kích thước Block = 2W Word Trường Set có S bit dùng để xác định số V = 2S Set Trường Tag có T bit: T = N - (W+S) Tổng quát cho hai phương pháp Thơng thường 2,4,8,16Lines/Set Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST Ánh xạ trực tiếp: n Không phải lựa chọn n Mỗi Block ánh xạ vào Line xác định n Thay Block Line 63 25 Oct 2013 Kiến trúc máy tính 64 16 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST Thay block cache (2) Phương pháp ghi liệu cache hit Ánh xạ liên kết – cần có thuật giải thay thế: n Random: Thay ngẫu nhiên n FIFO (First In First Out): Thay Block nằm lâu Set n LFU (Least Frequently Used): Thay Block Set có số lần truy nhập khoảng thời gian n n LRU (Least Recently Used): Thay Block Set tương ứng có thời gian lâu không tham chiếu tới n Ghi xuyên qua (Write-through): n ghi cache nhớ n tốc độ chậm Ghi trả sau (Write-back): n ghi cache n tốc độ nhanh n Block cache bị thay cần phải ghi trả Block nhớ Tối ưu nhất: LRU n 25 Oct 2013 Kiến trúc máy tính 65 NKK-HUST 25 Oct 2013 n n n n n 25 Oct 2013 66 Kiến trúc máy tính 68 NKK-HUST Hệ thống lưu trữ dung lượng lớn - RAID n Kiến trúc máy tính RAID 0, 1, Redundant Array of Inexpensive Disks Redundant Array of Independent Disks Tập ổ đĩa cứng vật lý OS coi ổ logic à dung lượng lớn Dữ liệu lưu trữ phân tán ổ đĩa vật lý à truy cập song song (nhanh) Lưu trữ thêm thông tin dư thừa, cho phép khôi phục lại thông tin trường hợp đĩa bị hỏng à an toàn thông tin loại phổ biến (RAID – 6) Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST 67 25 Oct 2013 17 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST RAID & 25 Oct 2013 RAID & Kiến trúc máy tính 69 NKK-HUST 25 Oct 2013 n Phân trang Khái niệm nhớ ảo: gồm nhớ nhớ mà CPU coi nhớ (bộ nhớ chính) Các kỹ thuật thực nhớ ảo: n n n Kỹ thuật phân trang: Chia không gian địa nhớ thành trang nhớ có kích thước nằm liền kề Thơng dụng: kích thước trang = 4KBytes n Kỹ thuật phân đoạn: Chia không gian nhớ thành đoạn nhớ có kích thước thay đổi, đoạn nhớ gối lên n 25 Oct 2013 70 NKK-HUST Bộ nhớ ảo (Virtual Memory) n Kiến trúc máy tính Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST n n n 71 25 Oct 2013 Phân chia nhớ thành phần có kích thước gọi khung trang Chia chương trình (tiến trình) thành trang Cấp phát số hiệu khung trang yêu cầu cho tiến trình HĐH trì danh sách khung trang nhớ trống Tiến trình khơng u cầu khung trang liên tiếp Sử dụng bảng trang để quản lý Kiến trúc máy tính 72 18 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST Cấp phát khung trang 25 Oct 2013 Kiến trúc máy tính Địa logic địa vật lý phân trang 73 NKK-HUST 25 Oct 2013 Thất bại Phân trang theo yêu cầu n n n n Không yêu cầu tất trang tiến trình nằm nhớ Chỉ nạp vào nhớ trang yêu cầu n n Lỗi trang n n n n Trang u cầu khơng có nhớ HĐH cần hốn đổi trang u cầu vào Có thể cần hốn đổi trang để lấy chỗ Cần chọn trang để đưa n n Quá nhiều tiến trình nhớ nhỏ HĐH tiêu tốn tồn thời gian cho việc hốn đổi Có khơng có cơng việc thực Đĩa luôn sáng Giải pháp: n n n 25 Oct 2013 74 NKK-HUST Nguyên tắc làm việc nhớ ảo phân trang n Kiến trúc máy tính Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST 75 25 Oct 2013 Thuật toán thay trang Giảm bớt số tiến trình chạy Thêm nhớ Kiến trúc máy tính 76 19 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST Lợi ích n n n n n Kiến trúc máy tính Khơng cần tồn tiến trình nằm nhớ để chạy Có thể hốn đổi trang u cầu Như chạy tiến trình lớn tổng nhớ sẵn dùng Bộ nhớ gọi nhớ thực Người dùng cảm giác nhớ lớn nhớ thực 25 Oct 2013 Kiến trúc máy tính HỆ THỐNG VÀO-RA Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội 77 NKK-HUST 25 Oct 2013 7878 NKK-HUST Tổng quan vào-ra n n n n Cấu trúc hệ thống vào-ra Chức vào-ra: Trao đổi thơng tin máy tính với giới bên ngồi Các thao tác bản: n bus hệ thống Vào liệu (Input) Ra liệu (Output) n Các thiết bị ngoại vi Các mơ-đun vào-ra Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST Mô-đun vào-ra 79 25 Oct 2013 Cổng vàora Thiết bị ngoại vi Cổng vàora Thiết bị ngoại vi Cổng vàora Thiết bị ngoại vi Mô-đun vào-ra nối ghép với CPU nhớ Các thành phần chính: n 25 Oct 2013 Kiến trúc máy tính Kiến trúc máy tính 80 20 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST Kết nối memory-I/O Địa hoá cổng vào-ra n n 25 Oct 2013 Kiến trúc máy tính 81 NKK-HUST 25 Oct 2013 n n n 25 Oct 2013 Kiến trúc máy tính 82 NKK-HUST Các phương pháp điều khiển vào-ra n Vào-ra riêng biệt (Isolated IO hay IO mapped IO) Vào-ra theo đồ nhớ (Memory mapped IO) Vào-ra chương trình Vào-ra chương trình (Programmed IO) n Vào-ra điều khiển ngắt (Interrupt Driven IO) n Truy nhập nhớ trực tiếp - DMA (Direct Memory Access) n Sử dụng xử lý vào-ra (IO processor) Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST n 83 25 Oct 2013 CPU điều khiển trực tiếp vào-ra chương trình à cần phải lập trình vàora Vào-ra ý muốn người lập trình CPU trực tiếp điều khiển vào-ra CPU đợi mô-đun vào-ra à tiêu tốn thời gian CPU Kiến trúc máy tính Đọc trạng thái TBNV TBNV sẵn sàng? N Y Trao đổi liệu với TBNV 84 21 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST Vào-ra điều khiển ngắt n Chương trình thực hiên Nguyên tắc chung: n n n n n Chuyển điều khiển đến chương trình ngắt CPU khơng phải đợi trạng thái sẵn sàng mô-đun vào-ra, CPU thực chương trình Khi mơ-đun vào-ra sẵn sàng phát tín hiệu ngắt CPU CPU thực chương trình vào-ra tương ứng để trao đổi liệu CPU trở lại tiếp tục thực chương trình bị ngắt lệnh Ngắt n Kiến trúc máy tính lệnh 85 25 Oct 2013 Kiến trúc máy tính 86 Bộ xử lý vào-ra Vào-ra chương trình ngắt CPU trực tiếp điều khiển: n Chiếm thời gian CPU Để khắc phục dùng DMA (Direct Memory Access) n n 25 Oct 2013 NKK-HUST n n lệnh RETURN Truy nhập nhớ trực tiếp n lệnh lệnh i NKK-HUST n lệnh lệnh lệnh Phần cứng: gây ngắt CPU Phần mềm: trao đổi liệu 25 Oct 2013 lệnh lệnh i+1 Có kết hợp phần cứng phần mềm n Chương trình phục vụ ngắt lệnh Thêm mô-đun phần cứng bus à DMAC (Controller) DMAC điều khiển trao đổi liệu mơ-đun vào-ra với nhớ n n Phù hợp với yêu cầu trao đổi mảng liệu có kích thước lớn Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST 87 25 Oct 2013 Việc điều khiển vào-ra thực xử lý vào-ra chuyên dụng Bộ xử lý vào-ra hoạt động theo chương trình riêng Chương trình xử lý vào-ra nằm nhớ nằm nhớ riêng Kiến trúc máy tính 88 22 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST Các cấu hình nối ghép Nối ghép thiết bị ngoại vi § Các kiểu nối ghép vào-ra § Nối ghép song song § § § n Điểm tới điểm (Point to Point) n Truyền nhiều bit song song Tốc độ nhanh Cần nhiều đường truyền liệu n Điểm tới đa điểm (Point to Multipoint) Thông qua cổng vào-ra cho phép nối ghép với nhiều thiết bị ngoại vi n Ví dụ: § Nối ghép nối tiếp § § § § 25 Oct 2013 n Truyền bit Cần chuyển đổi từ liệu song song sang nối tiếp hoặc/và ngược lại Tốc độ chậm Cần đường truyền liệu Kiến trúc máy tính Thơng qua cổng vào-ra nối ghép với thiết bị ngoại vi n n 89 NKK-HUST 25 Oct 2013 SCSI (Small Computer System Interface): 15 thiết bị USB (Universal Serial Bus): 127 thiết bị Kiến trúc máy tính 90 NKK-HUST Kiến trúc máy tính Phân loại kiến trúc máy tính (Flynn 1966) n n n GIỚI THIỆU KIẾN TRÚC SONG SONG n SISD - Single Instruction Stream, Single Data Stream SIMD - Single Instruction Stream, Multiple Data Stream MISD - Multiple Instruction Stream, Single Data Stream MIMD - Multiple Instruction Stream, Multiple Data Stream Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội 25 Oct 2013 Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST 91 25 Oct 2013 Kiến trúc máy tính 92 23 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST SIMD SISD CU n n n n n n n IS PU DS MU PE CU: Control Unit PU: Processing Unit MU: Memory Unit Một xử lý Đơn dòng lệnh Dữ liệu lưu trữ nhớ Chính Kiến trúc von Neumann 25 Oct 2013 Kiến trúc máy tính CU PE n 93 25 Oct 2013 n n LM2 DS LMn Kiến trúc máy tính 94 MISD Đơn dịng lệnh điều khiển đồng thời phần tử xử lý PE (processing elements) Mỗi phần tử xử lý có nhớ liệu riêng LM (local memory) Mỗi lệnh thực tập liệu khác Các mơ hình SIMD n n 25 Oct 2013 DS NKK-HUST SIMD (tiếp) n PE LM1 NKK-HUST n IS DS n n n n Một luồng liệu truyền đến tập xử lý Mỗi xử lý thực dãy lệnh khác Chưa tồn máy tính thực tế Có thể có tương lai Vector Computer Array processor Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST 95 25 Oct 2013 Kiến trúc máy tính 96 24 Bài giảng tóm tắt Kiến trúc máy tính 25 Oct 2013 NKK-HUST NKK-HUST MIMD n n n MIMD - Shared Memory Tập xử lý Các xử lý đồng thời thực dãy lệnh khác liệu khác Các mơ hình MIMD n n CU CU Kiến trúc máy tính IS Multiprocessors (Shared Memory) Multicomputers (Distributed Memory) 25 Oct 2013 IS CU 97 NKK-HUST 25 Oct 2013 PE1 PE2 DS DS IS PEn Bộ nhớ dùng chung DS Kiến trúc máy tính 98 NKK-HUST MIMD - Distributed Memory CU CU IS IS CU 25 Oct 2013 PE1 PE2 DS DS LM1 LM2 IS PEn DS LMn Kiến trúc máy tính Nguyễn Kim Khánh - SoICT-HUST Hết Mạng liên kết tốc độ cao 99 25 Oct 2013 Kiến trúc máy tính 100 25