Tải bản đầy đủ (.pdf) (153 trang)

Tối ưu hoá và đánh giá hiệu năng của tổ chức cache trong hệ thống vi xử lý thế hệ sau

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (31.47 MB, 153 trang )





BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI






HỒ VĂN PHI




TỐI ƯU HÓA VÀ ĐÁNH GIÁ HIỆU NĂNG
CỦA TỔ CHỨC CACHE TRONG HỆ
THỐNG VI XỬ LÝ THẾ HỆ SAU


LUẬN ÁN TIẾN SĨ KỸ THUẬT VIỄN THÔNG





















Hà Nội - 2014





BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI






HỒ VĂN PHI





TỐI ƯU HÓA VÀ ĐÁNH GIÁ HIỆU NĂNG
CỦA TỔ CHỨC CACHE TRONG HỆ
THỐNG VI XỬ LÝ THẾ HỆ SAU


Chuyên ngành: Kỹ thuật Viễn thông
Mã số: 62520208

LUẬN ÁN TIẾN SĨ KỸ THUẬT VIỄN THÔNG


NGƯỜI HƯỚNG DẪN KHOA HỌC:

1. TS. HỒ KHÁNH LÂM

2. TS. NGUYỄN VIẾT NGUYÊN








Hà Nội - 2014





LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình của riêng tôi. Tất cả các ấn phẩm được
công bố chung với các cán bộ hướng dẫn khoa học và các đồng nghiệp đã được sự
đồng ý của các tác giả trước khi đưa vào Luận án. Các kết quả trong Luận án là
trung thực, chưa từng được công bố trong bất kỳ công trình nào.

Tác giả Luận án


Hồ Văn Phi




LỜI CẢM ƠN
Đầu tiên, tôi xin bày tỏ lời cảm ơn chân thành và sự kính trọng đến các Thầy
giáo TS. Hồ Khánh Lâm và TS. Nguyễn Viết Nguyên, các Thầy đã nhận tôi làm
nghiên cứu sinh và hướng dẫn tôi rất nhiệt tình trong suốt thời gian học tập, nghiên
cứu và thực hiện bản Luận án này. Các Thầy đã tận tình chỉ bảo và giúp đỡ tôi cả về
lĩnh vực khoa học cũng như trong cuộc sống. Tôi vô cùng biết ơn sự kiên trì của các
Thầy, các Thầy đã dành nhiều thời gian để đọc cẩn thận và góp nhiều ý kiến quý
báu cho bản thảo của Luận án. Những kiến thức mà tôi nhận được từ các Thầy
không chỉ là bản Luận án mà trên hết là cách nhìn nhận, đánh giá cũng như phương
thức giải quyết vấn đề một cách toàn diện và khoa học.
Tôi xin trân trọng cảm ơn Lãnh đạo Trường Đại Học Bách khoa Hà Nội, Viện
Sau Đại học, Viện Điện tử - Viễn thông và Bộ môn Điện tử & Kỹ thuật máy tính đã
tạo điều kiện thuận lợi cho tôi được học tập và làm nghiên cứu sinh, luôn quan tâm
động viên tôi trong suốt quá trình học tập và nghiên cứu.
Tôi xin chân thành cảm ơn sự giúp đỡ tận tình của các GS, PGS, TS, các
Thầy, Cô giáo trong Bộ môn Điện Tử & Kỹ thuật máy tính, Viện Điện tử - Viễn

thông, các Nhà khoa học trong và ngoài Trường Đại học Bách khoa Hà Nội.
Tôi xin trân trọng cảm ơn Lãnh đạo Trường Đại học Quy Nhơn và Khoa Kỹ
thuật & Công nghệ - Trường Đại học Quy Nhơn, cũng như bạn bè đồng nghiệp đã
ủng hộ và tạo mọi điều kiện thuận lợi giúp đỡ tôi trong suốt thời gian học tập,
nghiên cứu và hoàn thành Luận án.
Cuối cùng, tôi muốn dành lời cảm ơn đến những người thân yêu nhất của tôi.
Bản Luận án này là món quà quý giá tôi xin được kính tặng cho cha mẹ, vợ và các
con thân yêu của tôi.
Hà Nội, tháng 06 năm 2014
Tác giả Luận án

Hồ Văn Phi



MỤC LỤC
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH, ẢNH VÀ ĐỒ THỊ
MỞ ĐẦU 1
1. Tính cấp thiết của luận án 1
2. Mục đích nghiên cứu của luận án 4
3. Đối tượng và phạm vi nghiên cứu của luận án 4
4. Phương pháp nghiên cứu của luận án 4
5. Ý nghĩa khoa học và thực tiễn của luận án 5
6. Cấu trúc của luận án 5
Chương 1. TỔNG QUAN VỀ KIẾN TRÚC CHIP ĐA XỬ LÝ, ĐA
LUỒNG 6
1.1. Giới thiệu 6
1.2. Kiến trúc của chip đa xử lý, đa luồng 6

1.2.1. Kiến trúc chung của chip đa xử lý, đa luồng 6
1.2.2. Kiến trúc chip đa xử lý, đa luồng đồng thời 11
1.2.3. Mạng liên kết trên chip 12
1.2.4. Phân cấp hệ thống nhớ 16
1.3. Kết luận chương 1 18
Chương 2. NGHIÊN CỨU TỔ CHỨC CACHE, CHÍNH SÁCH
THAY THẾ CACHE TRONG KIẾN TRÚC CHIP ĐA XỬ
LÝ, ĐA LUỒNG 19
2.1. Tổ chức cache trong kiến trúc chip đa xử lý, đa luồng 19
2.1.1. Cache và các nguyên tắc làm việc của cache 19
2.1.1.1. Vị trí tạm thời 20
2.1.1.2. Vị trí không gian 20


2.1.1.3. Vị trí tuần tự 20
2.1.2. Các thành phần của cache 20
2.1.3. Các tổ chức cache 21
2.1.3.1. Cache liên kết đầy đủ 22
2.1.3.2. Cache sắp xếp trực tiếp 24
2.1.3.3. Cache liên kết tập hợp 26
2.2. Các đặc tính hiệu năng của cache 28
2.2.1. Các tỷ số trúng cache và trượt cache 29
2.2.1.1. Trúng cache 29
2.2.1.2. Trượt cache 29
2.2.1.3. Tỷ số trúng cache, trượt cache và trượt penalty 29
2.2.1.4. Bus bộ nhớ, kích thước từ nhớ, kích thước khối và trượt penalty 31
2.2.1.5. Trượt cache cục bộ và toàn cục 31
2.2.1.7. Ảnh hưởng của tổ chức cache đến trượt penalty 33
2.2.1.8. Kích thước khối cache và tỷ số trượt 34
2.2.1.9. Các loại trượt cache 35

2.2.1.10. Tổ chức cache ảnh hưởng đến tốc độ của CPU 36
2.2.2. Các giải pháp tăng hiệu năng của cache 38
2.3. Các chính sách thay thế dòng cache 38
2.3.1. Chính sách thay thế cache LRU 39
2.3.2. Chính sách thay thế cache LFU 39
2.3.3. Chính sách thay thế cache FIFO 39
2.3.4. Chính sách thay thế cache Random 39
2.3.5. Chính sách thay thế cache NRU 40
2.3.6. Chính sách thay thế cache SRRIP 40
2.3.7. Chính sách thay thế cache DRRIP 42
2.4. Ghi và đọc cache 42


2.4.1. Ghi cache 42
2.4.1.1. Ghi thông qua 43
2.4.1.2. Ghi trở lại 44
2.4.2. Đọc cache 46
2.4.2.1. Đọc bên cạnh 46
2.5.2.2. Đọc thông suốt 47
2.5. Cache chia sẻ thông minh 48
2.5.1. Tổ chức phân cấp cache trong các chip đa xử lý 48
2.5.2. Cache chia sẻ thông minh 49
2.6. Tính nhất quán cache trong các chip đa xử lý, đa luồng 50
2.6.1. Thế nào là nhất quán cache 50
2.6.2. Các giao thức nhất quán cache 52
2.7. Kết luận chương 2 52
Chương 3. PHÂN TÍCH ĐÁNH GIÁ HIỆU NĂNG CỦA TỔ CHỨC
CACHE TRONG KIẾN TRÚC CHIP ĐA XỬ LÝ, ĐA
LUỒNG 53
3.1. Cơ sở lý thuyết để phân tích đánh giá hiệu năng của tổ chức

cache 53
3.1.1. Kiến trúc chip đa xử lý, đa luồng là mạng xếp hàng đóng đa
lớp có dạng tích các xác suất (MCPFQN) 53
3.1.1.1. Khái quát mạng xếp hàng đóng 53
3.1.1.2. Khái quát mạng xếp hàng đóng có dạng tích các xác suất 56
3.1.1.3. Kiến trúc chip đa xử lý, đa luồng là mạng xếp hàng đóng đa lớp
có dạng tích các xác suất (MCPFQN) 58
3.1.2. Thuật toán phân tích giá trị trung bình (MVA) đánh giá hiệu
năng cho các mạng xếp hàng đóng có dạng tích các xác suất 59
3.1.2.1. Mạng xếp hàng đóng đơn lớp có dạng tích các xác suất 59
3.1.2.2. Mạng xếp hàng đóng đa lớp có dạng tích các xác suất 61
3.2. Mô hình tổ chức cache trong kiến trúc chip đa xử lý, đa luồng 62


3.2.1. Khái quát 62
3.2.2. Mô hình tổ chức cache trong kiến trúc chip đa xử lý, đa
luồng 63
3.3. Phân tích đánh giá hiệu năng của tổ chức cache trong kiến trúc
chip đa xử lý, đa luồng 64
3.3.1. Mô hình thực hiện phân tích hiệu năng của kiến trúc chip đa
xử lý, đa luồng 64
3.3.1.1. Mô hình tổng quát 64
3.3.1.2. Mô hình rút gọn 66
3.3.2. Kết quả mô phỏng và đánh giá hiệu năng cho kiến trúc CMP
đa luồng 72
3.3.2.1. Kết quả mô phỏng cho các kiến trúc CMP đa luồng 72
3.3.2.2. Đánh giá hiệu năng các chip đa xử lý, đa luồng 83
3.4. Kết luận chương 3 84
Chương 4. GIẢI PHÁP TỐI ƯU HÓA HIỆU NĂNG CỦA TỔ CHỨC
CACHE TRONG KIẾN TRÚC CHIP ĐA XỬ LÝ, ĐA

LUỒNG 85
4.1. Kiến trúc cụm lõi cho chip đa xử lý, đa luồng 85
4.1.1. Khái quát 85
4.1.2. Mô hình MCPFQN cho kiến trúc cụm lõi 86
4.1.2.1. Mô hình MCPFQN tổng quát của kiến trúc cụm lõi 86
4.1.2.2. Mô hình MCPFQN rút gọn của kiến trúc cụm lõi 88
4.1.3. Kết quả mô phỏng và đánh giá hiệu năng cho kiến trúc cụm
lõi 90
4.1.3.1. Kết quả mô phỏng cho kiến trúc cụm lõi 90
4.1.3.2. Đánh giá hiệu năng cho kiến trúc cụm lõi 93
4.2. Lựa chọn cấu hình mạng liên kết trên chip 94
4.2.1. Khái quát 94


4.2.2. Đề xuất công thức tính trễ truyền thông trung bình cho mạng
liên kết trên chip 94
4.2.3. Lựa chọn cấu hình mạng liên kết trên chip 99
4.2.3.1. Kết quả mô phỏng 99
4.2.3.2. Đánh giá kết quả 104
4.3. Kết luận chương 4 104
KẾT LUẬN 106
TÀI LIỆU THAM KHẢO 107
DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA LUẬN ÁN 115
PHỤ LỤC 116
Phụ lục 1. Kịch bản mô phỏng đánh giá hiệu năng của tổ chức cache
trong kiến trúc CMP đa luồng có 2 cấp cache và 3 cấp
cache 116
Phụ lục 2. Kịch bản mô phỏng đánh giá hiệu năng của tổ chức cache
trong kiến trúc cụm lõi 3 cấp cache 130








DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

Ký hiệu Tên tiếng Anh Tên tiếng Việt
A
ACM Association for Computing
Machinery
Hiệp hội kỹ thuật tính toán Hoa
Kỳ
ALU Arithmetic Logic Unit Đơn vị số học và logic
AMAT Average Memory Access Time Thời gian trung bình truy nhập
bộ nhớ
AMC Asymmetric Multi-core Chip Chip đa lõi bất đối xứng
ANSI American National Standards
Institute
Viện tiêu chuẩn quốc gia Hoa
Kỳ
ASCII American Standards Code for
Information Interchange
Chuẩn mã trao đổi thông tin
Hoa Kỳ
ASIC Application-Specific Integrate
Circuit
Mạch tích hợp ứng dụng
chuyên biệt

B
BCE Base Core Equivalents Tương đương lõi cơ sở
BIP Bimodal Insertion Policy Chính sách chèn hai phương
thức
BRRIP Bimodal Re-Reference Interval
Prediction (Bimodal RRIP)
Hai phương thức dự báo
khoảng tham chiếu lại
C

CAD Computer Aided Design Thiết kế bằng máy tính
ccNUMA cache-coherent Non-Uniform
Memory Access
Truy cập bộ nhớ không đồng
nhất tương quan cache
CD Compact Disk Đĩa compact
CISC Complex Instruction Set Computer Máy tính có tập lệnh phức


CMP Chip Multi-Processors Chip đa xử lý
CPI Cycles per Instruction Chu kỳ cho một lệnh
CPU Central Processing Unit Đơn vị xử lý trung tâm
CSM Centralised Shared Memory Bộ nhớ chia sẻ tập trung
CTMC Continuous-Time Markov Chain Chuỗi Markov có thời gian liên
tục
D
DIMM Dual In-line Memory Modules Module bộ nhớ hai hàng chân
DMA Direct Memory Access Truy cập bộ nhớ trực tiếp
DMC Dynamic Multi-core Chip Chip đa lõi linh hoạt
DRAM Dynamic Random-Access Memory RAM động

DRRIP Dynamic Re-Reference Interval
Prediction (Dynamic RRIP)
Dự đoán khoảng tham chiếu lại
động
DSM Distributed Shared Memory Bộ nhớ chia sẻ phân tán
DSR Dynamic Spill Receive Nhận dữ liệu tràn tự động
DTMC Discrete-Time Markov Chain Chuỗi Markov có thời gian rời
rạc
DVD Digital Versatile Disk Đĩa kỹ thuật số đa năng
F
FCFS First Come, First Served Đến trước được phục vụ trước
FIFO First In First Out Vào trước ra trước
FPGA Field Programmable Gate Array Mảng cổng lập trình được dạng
trường
G
GALS Globally Asynchronous, Locally
Synchronous
Dị bộ toàn cục, đồng bộ cục bộ
H


HLL High-Level Language Ngôn ngữ cấp cao
HPC High Performance Computing Tính toán hiệu năng cao
I
IAR Instruction Address Register Thanh ghi địa chỉ lệnh
IC Integrated Circuit Mạch tích hợp
IEEE Institute of Electrical and Electronics
Engineers
Viện kỹ sư điện và điện tử
ILP Instruction Level Parallelism Song song mức lệnh

IMC Integrated Memory Controller Bộ điều khiển bộ nhớ tích hợp
I/O Input/Output Vào/ra
IP Internet Protocol Giao thức Internet
IR Instruction Register Thanh ghi lệnh
J
JMT Java Modelling Tools Công cụ mô phỏng Java
L
LAN Local Area Network Mạng cục bộ
LFU Least Frequently Used Tần suất sử dụng ít nhất
LLC Last Level Cache Cache cấp cuối
LRU Least Recently Used Sử dụng gần đây ít nhất
LSI Large-Scale Integration Tích hợp cỡ lớn
M
MAPI Memory Accesses clock cycles Per
Instruction
Số chu kỳ đồng hồ truy cập bộ
nhớ/lệnh
MAR Memory Address Register Thanh ghi địa chỉ bộ nhớ
MAT Memory Access Time Thời gian truy nhập bộ nhớ
MCPFQN

Multiclass Closed Product-Form
Queuing Network
Mạng xếp hàng đóng đa lớp có
dạng tích các xác suất


MESI Modified, Exclusive, Shared or
Invalid (Cache-Protocol)
Sửa đổi, loại trừ, chia sẻ hoặc

vô hiệu (giao thức cache)
MESIF Modified, Exclusive, Shared,
Invalid, Forward
Sửa đổi, loại trừ, chia sẻ hoặc
vô hiệu; chuyển tiếp
MIMD Multiple Instruction Multiple Data Nhiều lệnh nhiều dữ liệu
MISD Multiple Instruction Single Data Nhiều lệnh một dữ liệu
MMU Memory Management Unit Đơn vị quản lý bộ nhớ
MRU Most Recently Used Sử dụng gần đây nhiều nhất
MSI Medium-Scale Integration Tích hợp cỡ trung bình
MSPI Memory Stalls clock cycles Per
Instruction
Số chu kỳ đồng hồ trì hoãn bộ
nhớ/lệnh
MSPMA Memory Stalls clock cycles Per
Memory Access
Số chu kỳ đồng hồ trì hoãn bộ
nhớ/truy cập bộ nhớ
MVA Mean Value Analysis Phân tích giá trị trung bình
N
NoC Network on Chip Mạng trên chip
NRU Not Recently Used Không sử dụng gần đây
NUCA Non-Uniform Cache Architecture Kiến trúc cache không đồng
nhất
NUMA Non-Uniform Memory Access Truy nhập bộ nhớ không đều
O
OCIN On-Chip Interconnection Network Mạng liên kết trên chip
OS Operating System Hệ điều hành
P
PC Program Counter Bộ đếm chương trình

PCB Process Control Block Khối điều khiển quá trình
PLD Programmable Logic Device Thiết bị logic lập trình được


PMF Probability mass function Hàm khối lượng xác suất
PS Processor Sharing Chia sẻ xử lý
PSELC Policy Selection Counter Bộ đếm lựa chọn chính sách
PSW Processor Status Word Từ trạng thái của bộ xử lý
Q
QPI Quick Path Interconnect Liên kết đường dẫn nhanh
R
RAID Redundant Array of Independent
Disks
Hệ thống đĩa dự phòng
RAM Random Access Memory Bộ nhớ truy cập ngẫu nhiên
RISC Reduced Instruction Set Computer Máy tính với tập lệnh đơn giản
hóa
ROM Read-Only Memory Bộ nhớ chỉ đọc
RRIP Re-Reference Interval Prediction Dự đoán khoảng tham chiếu lại
RRPV Re-reference Prediction Values Giá trị dự đoán tham chiếu lại
S
SD Set Dueling Tranh chấp tay đôi tập hợp
SDM Set Dueling Monitor Bộ giám sát tranh chấp tay đôi
tập hợp
SDRAM Synchronous Dynamic RAM DRAM đồng bộ
SIMD Single Instruction Multiple Data Một lệnh nhiều dữ liệu
SMC Symmetric Multi-core Chip Chip đa lõi đối xứng
SMP Symmetric Multiprocessors Đa xử lý đối xứng
SMT Simultaneous Multi-Threading Đa luồng đồng thời
SoC System on a Chip Hệ thống trên một chip

SP Speed Up Mức tăng tốc


SRAM Static Random-Access Memory RAM tĩnh
SRRIP Static Re-reference Interval
Prediction (Static RRIP)
Dự đoán khoảng tham chiếu lại
tĩnh
SRRIP-
FP
SRRIP-Frequency Priority SRRIP ưu tiên tần xuất
SRRIP-
HP
SRRIP-Hit Priority SRRIP ưu tiên trúng cache
SSI Small-Scale Integration Tích hợp cỡ nhỏ
T
TLB Translation Look-aside Buffer Bộ đệm chuyển đổi
TLP Thread Level Parallelism Song song mức luồng
TP Thread Processors Luồng xử lý
TRAM Tag RAM Thẻ RAM
TSC Time Stamp Counter Bộ đếm dấu thời gian
U
ULSI Ultra Large-Scale Integration Tích hợp cỡ siêu lớn
V
VHDL Very-High speed integrated circuit
hardware Description Language
Ngôn ngữ mô tả phần cứng
VHSIC
VHSIC Very High Speed Integrated Circuit Mạch tích hợp tốc độ rất cao
VLIW Very Long Instruction Word Từ lệnh rất dài

VLSI Very Large-Scale Integration Tích hợp có quy mô rất lớn





DANH MỤC CÁC BẢNG

Bảng 2.1: Tần suất thực hiện các loại lệnh và CPI trong chip kiến trúc RISC. 36
Bảng 3.1: Giá trị trung bình của các thông số hiệu năng khi chip có 2-lõi với 8-
luồng/lõi. 73
Bảng 3.2: Giá trị trung bình của các thông số hiệu năng khi chip có 4-lõi với 8-
luồng/lõi. 77
Bảng 3.3: Giá trị trung bình của các thông số hiệu năng khi chip có 8-lõi với 8-
luồng/lõi. 80
Bảng 4.1: Giá trị trung bình của các thông số hiệu năng khi hệ thống có 2 cụm,
mỗi cụm 4-lõi với L3 cache riêng cho mỗi cụm, và L3 cache chung,
mỗi lõi xử lý 8-luồng. 91
Bảng 4.2: Các thông số của các cấu hình mạng liên kết trên CMP đa luồng 97




DANH MỤC CÁC HÌNH, ẢNH VÀ ĐỒ THỊ

Hình 1: Biểu diễn sự gia tăng transistor trên chip theo định luật Moore 1
Hình 1.1: Kiến trúc chung của CMP đa luồng. 6
Hình 1.2: Kiến trúc phân mảnh của CMP. 7
Hình 1.3: a) SMC gồm n =16 lõi BCE; b) SMC gồm n/r = 4/4 lõi (4 lõi, mỗi lõi
có 4 BCE). 8

Hình 1.4: AMC gồm một lõi 4-BCE và n-4 lõi 1-BCE. 9
Hình 1.5: Chip đa lõi linh hoạt (DMC) gồm 16 lõi 1-BCE. 10
Hình 1.6: CMP với kiến trúc SISD. 11
Hình 1.7: CMP với kiến trúc SIMD. 11
Hình 1.8: CMP với kiến trúc MIMD. 11
Hình 1.9: Một số cấu trúc mạng liên kết đa xử lý. 14
Hình 1.10: Phân lớp của hệ thống nhớ. 16
Hình 2.1: Trao đổi dữ liệu giữa CPU, cache và bộ nhớ chính 19
Hình 2.2: Cache và bộ nhớ chính. 21
Hình 2.3: Trang cache và dòng cache trên bộ nhớ chính. 22
Hình 2.4: Tìm kiếm trong cache liên kết đầy đủ 23
Hình 2.5: Tìm kiếm trong cache sắp xếp trực tiếp. 25
Hình 2.6: Tìm kiếm trong cache liên kết tập hợp. 27
Hình 2.7: So sánh tỷ số trượt cục bộ và toàn cục với 2 cấp cache. 33
Hình 2.8: Sự phụ thuộc của tỷ số trượt vào kích thước cache 34
Hình 2.9: Sự phụ thuộc của tỷ số trượt cache theo kích thước và tổ chức của
cache. 35
Hình 2.10: Ghi thông qua. 43
Hình 2.11: Ghi trở lại. 44
Hình 2.12: Kỹ thuật bộ đệm ghi. 45
Hình 2.13: Đọc bên cạnh. 46
Hình 2.14: Đọc thông suốt. 47


Hình 2.15: CMP đa luồng hai cấp cache; a) với L2 cache riêng và b) với L2
cache chung cho tất cả các lõi. 48
Hình 2.16: Tổ chức cache trong các bộ xử lý 8-lõi của Intel Xeon họ 5500 48
Hình 2.17: Tiled CMP 16-lõi với kiến trúc L2 cache chia sẻ. 49
Hình 2.18: P2 thực hiện lệnh ld r2, x về thanh ghi r2 của P2. 51
Hình 2.19: P1 thực hiện lệnh ld r2, x. 51

Hình 2.20: P1 thực hiện các lệnh: add r1, r2, r4; st x, r1 51
Hình 3.1: Mô hình mạng xếp hàng đóng. 53
Hình 3.2: Các kiến trúc CMP đa luồng. 64
Hình 3.3: Mô hình MCPFQN tổng quát cho CMP đa luồng của hình 3.2. 65
Hình 3.4: Mô hình MCPFQN rút gọn cho CMP đa luồng, 2 cấp cache với L2
cache chung. 67
Hình 3.5: Mô hình MCPFQN rút gọn cho CMP đa luồng, 3 cấp cache với L3
cache chung. 69
Hình 3.6: Mô hình MCPFQN 2-lõi, đa luồng; a) với L2 cache chung và b) với
L3 cache chung. 73
Hình 3.7: Biểu diễn giá trị trung bình của Thời gian chờ đợi ở các nút khi chip
có 2-lõi, mỗi lõi xử lý 8-luồng với L2 cache chung và L3 cache
chung. 74
Hình 3.8: Biểu diễn giá trị trung bình của Thời gian đáp ứng ở các nút khi chip
có 2-lõi, mỗi lõi xử lý 8-luồng với L2 cache chung và L3 cache
chung. 74
Hình 3.9: Biểu diễn giá trị trung bình của Mức độ sử dụng ở các nút khi chip có
2-lõi, mỗi lõi xử lý 8-luồng với L2 cache chung và L3 cache chung. 75
Hình 3.10: Biểu diễn giá trị trung bình của Thông lượng ở các nút khi chip có
2-lõi, mỗi lõi xử lý 8-luồng với L2 cache chung và L3 cache chung. 75
Hình 3.11: Mô hình MCPFQN 4-lõi, đa luồng; a) với L2 cache chung và b) với
L3 cache chung. 76
Hình 3.12: Biểu diễn giá trị trung bình của Thời gian chờ đợi ở các nút khi chip
có 4-lõi, mỗi lõi xử lý 8-luồng với L2 cache chung và L3 cache
chung. 77


Hình 3.13: Biểu diễn giá trị trung bình của Thời gian đáp ứng ở các nút khi
chip có 4-lõi, mỗi lõi xử lý 8-luồng với L2 cache chung và L3 cache
chung. 78

Hình 3.14: Biểu diễn giá trị trung bình của Mức độ sử dụng ở các nút khi chip
có 4-lõi, mỗi lõi xử lý 8-luồng với L2 cache chung và L3 cache
chung. 78
Hình 3.15: Biểu diễn giá trị trung bình của Thông lượng ở các nút khi chip có
4-lõi, mỗi lõi xử lý 8-luồng với L2 cache chung và L3 cache chung. 79
Hình 3.16: Mô hình MCPFQN 8-lõi, đa luồng; a) với L2 cache chung và b) với
L3 cache chung. 80
Hình 3.17: Biểu diễn giá trị trung bình của Thời gian chờ đợi ở các nút khi chip
có 8-lõi, mỗi lõi xử lý 8-luồng với L2 cache chung và L3 cache
chung. 81
Hình 3.18: Biểu diễn giá trị trung bình của Thời gian đáp ứng ở các nút khi
chip có 8-lõi, mỗi lõi xử lý 8-luồng với L2 cache chung và L3 cache
chung. 81
Hình 3.19: Biểu diễn giá trị trung bình của Mức độ sử dụng ở các nút khi chip
có 8-lõi, mỗi lõi xử lý 8-luồng với L2 cache chung và L3 cache
chung. 82
Hình 3.20: Biểu diễn giá trị trung bình của Thông lượng ở các nút khi chip có
8-lõi, mỗi lõi xử lý 8-luồng với L2 cache chung và L3 cache chung. 82

Hình 4.1: Kiến trúc CMP đa luồng gồm n cụm lõi và L3 cache riêng cho mỗi
cụm. 86
Hình 4.2: Mô hình MCPFQN tổng quát của kiến trúc cụm lõi cho ở hình 4.1. 87
Hình 4.3: Mô hình MCPFQN rút gọn của kiến trúc cụm lõi. 88
Hình 4.4: Mô hình MCFPQN 2-cụm lõi, mỗi cụm 4-lõi, đa luồng. 90
Hình 4.5: Biểu diễn giá trị trung bình của Thời gian chờ đợi ở các nút khi hệ
thống có 2-cụm, L3 cache riêng cho mỗi cụm và L3 cache chung cho
8-lõi, mỗi lõi xử lý 8-luồng. 91
Hình 4.6: Biểu diễn giá trị trung bình của Thời gian đáp ứng ở các nút khi hệ
thống có 2-cụm, L3 cache riêng cho mỗi cụm và L3 cache chung cho
8-lõi, mỗi lõi xử lý 8-luồng. 92



Hình 4.7: Biểu diễn giá trị trung bình của Mức độ sử dụng ở các nút khi hệ
thống có 2-cụm, L3 cache riêng cho mỗi cụm và L3 cache chung cho
8-lõi, mỗi lõi xử lý 8-luồng. 92
Hình 4.8: Biểu diễn giá trị trung bình của Thông lượng ở các nút khi hệ thống
có 2-cụm, L3 cache riêng cho mỗi cụm và L3 cache chung cho 8-lõi,
mỗi lõi xử lý 8-luồng. 93
Hình 4.9: Chip đa lõi với tổ chức cache 3 cấp: L1I, L1D, L2 riêng lẻ cho mỗi
lõi và L3 cache chia sẻ cho tất cả các lõi. 96
Hình 4.10: Trễ truyền thông trung bình của các mạng liên kết Ring, 2DMesh,
2DTorus
,
3DMesh, 3DTorus, cho các trường hợp số lõi trên chip n =
8, 16, 32, 64, 128. 101
Hình 4.11: Mức tăng tốc xử lý của các mạng liên kết Ring, 2DMesh, 2DTorus,
3DMesh, 3DTorus, cho các trường hợp số lõi trên chip n = 8, 16,
32, 64, 128. 104

1

MỞ ĐẦU
1. Tính cấp thiết của luận án
Những tiến bộ trong công nghệ bán dẫn đã thúc đẩy sự phát triển việc thiết kế
hệ thống trên chip. Những gì trước đây được sản xuất trên toàn bộ một bảng mạch,
giờ đây có thể được chế tạo trong một chip duy nhất. Việc tích hợp bộ xử lý và thiết
bị ngoại vi vào trong một chip duy nhất ngày càng trở nên phổ biến trong các hệ
thống nhúng, máy tính xách tay, máy tính để bàn, máy tính quy mô lớn và điện
thoại di động… đã đáp ứng nhu cầu ứng dụng của người tiêu dùng, kinh doanh và
nghiên cứu. Sự tiến bộ này phần lớn được thúc đẩy bởi định luật Moore, định luật

Moore nói rằng: “Số lượng transistor được tích hợp trên một inch vuông của chip
tăng gấp đôi cứ sau 18 tháng” [1, 16, 21, 37].

Hình 1: Biểu diễn sự gia tăng số lượng transistor trên chip theo định luật Moore
từ năm 1970 - 2015. [16].
Sự gia tăng số lượng transistor trên chip như hình 1 cho phép đổi mới nhanh
chóng công nghệ và kiến trúc các chip đa xử lý: từ đơn lõi và không có cache nhớ
bên trong đến đa lõi xử lý với đa cấp cache bên trong chip; từ chỉ chạy với đồng hồ
vài chục MHz đến hơn 2 GHz [37].
2

Cho đến nay, các nhà sản xuất đã sản xuất thương mại các chip đa xử lý cho
các dòng máy tính cá nhân thông dụng với số lõi là 2, 4, 6, 8-lõi. Các kiến trúc đa
lõi này thường sử dụng 2 cấp cache với L1 cache riêng cho mỗi lõi và L2 cache chia
sẻ cho 2-lõi, hay tất cả các lõi như: các bộ xử lý UltraSPARCT2 8-lõi,
UltraSPARCT3 16-lõi, Rock 16-lõi của Sun; Opteron 2-lõi của AMD [16, 29, 36,
58]; Core 2 duo 2-lõi, Core 2 quad 4-lõi của Intel [2, 8, 27, 59, 60]; Power5 2-lõi
của IBM [16, 17] Cũng có một số chip đa xử lý có 3 cấp cache với L1 cache riêng
cho mỗi lõi, L2 cache riêng cho mỗi lõi hoặc chia sẻ cho 2 hay 4-lõi và L3 cache
chia sẻ cho tất cả các lõi như: bộ xử lý Dunnington 6-lõi, Nehalem Core i5 4-lõi,
Core i7 4 và 6-lõi của Intel, Opteron 4-lõi, Opteron 6-lõi, Opteron 8-lõi của AMD,
Power7 8-lõi của IBM [1, 18, 29, 36, 64, 72]… Tuy nhiên, cũng có một số chip chỉ
sử dụng 2 cấp cache với L2 cache riêng cho từng lõi như: bộ xử lý Power6 2-lõi của
IBM, Tile64 64-lõi của Tilera, Tera-Scale 80-lõi của Intel [1, 11, 29, 66]. Hầu hết,
các kiến trúc chip đa xử lý trên sử dụng mạng liên kết trên chip theo các cấu hình:
Bus chia sẻ, Ring, Crossbar-switched và 2DMesh [1, 11, 28, 29]. Các cấu hình liên
kết này chỉ phù hợp cho các chip đa lõi có quy mô nhỏ, có độ trễ truyền thông cao,
và khả năng mở rộng thấp. Do đó, khi số lượng lõi trên chip tăng sẽ gây ra trễ
truyền thông quá lớn, mức tăng tốc giảm gây ra nghẽn nút cổ chai làm suy giảm
hiệu năng và khả năng mở rộng của chip đa xử lý. Đây là thách thức lớn cho các

nhà nghiên cứu và sản xuất chip đa lõi hiện nay [28].
Một vấn đề đặt ra cho các nhà nghiên cứu và sản xuất chip đa xử lý, đa luồng
là: với chip đa xử lý thì cần giới hạn bao nhiêu lõi trên chip; chọn bao nhiêu cấp
cache; cấu trúc tổ chức cache như thế nào; dung lượng cache và kích thước dòng
cache là bao nhiêu; đồng thời mạng liên kết trên chip có cấu hình như thế nào để đạt
được hiệu năng tối ưu của bộ xử lý?
Tại Việt Nam vấn đề nghiên cứu và sản xuất chip đa xử lý cũng được bắt đầu
quan tâm và được ưu tiên hàng đầu trong lĩnh vực khoa học và công nghệ nhưng chỉ
là bước đầu sơ khai. Theo [74], ngày 16 tháng 01 năm 2008 tại khu công nghiệp
phần mềm, Đại học Quốc gia Thành phố Hồ Chí Minh đã tổ chức lễ ra mắt “Trung
tâm nghiên cứu và đào tạo thiết kế vi mạch (ICDREC)”, và công bố sản phẩm
SigmaK3 8 bit - chip đa xử lý đầu tiên mang thương hiệu Made in Việt Nam. Thành
3

công của sản phẩm chip đa xử lý 8-bit RISC SigmaK3 góp phần khẳng định Việt
Nam có đủ khả năng tạo được những chip đa xử lý tham gia vào thị trường thế giới.
Sau hơn hai năm tập trung nghiên cứu, ngày 27/10/2010, Trung tâm ICDREC đã
công bố sản xuất thành công chip đa xử lý 32-bit VN1632 với công nghệ IBM
0,13µm đầu tiên tại Việt Nam. Đây được coi là bước tiến mới của ngành công nghệ
vi mạch ở Việt Nam. Đặc biệt, vào ngày 09/11/2013, trung tâm ICDREC thành phố
Hồ Chí Minh và Công ty RADRIX của Nhật Bản đã ký kết Bản ghi nhớ hợp tác
(MOU) về việc phối hợp thiết kế và sản xuất chip. Theo MOU, hai bên sẽ hợp tác
để thực hiện các dự án thiết kế LSI mẫu và hướng đến là chip MPW ở công nghệ
65nm. Sự kiện này đã mở ra một hướng đi mới cho ngành công nghệ chế tạo chip ở
Việt Nam. Tuy nhiên, điều này cũng tạo nên một thách thức mới cho các nhà nghiên
cứu trong nước cũng như trung tâm ICDREC. Hơn thế nữa, trong những năm gần
đây công nghệ vi mạch tích hợp chuyên dụng (ASIC) [65]: PLD và FPGA đã và
đang được các nước đang phát triển và cả ở nước ta quan tâm nghiên cứu ứng dụng
và đưa vào đào tạo. Những công nghệ này cho phép thiết kế các chip đa xử lý, vi
điều khiển, hệ thống trên chip (SoC), hệ thống nhúng, mạng liên kết trên chip

(OCIN) một cách dễ dàng và ít tốn kém, phù hợp với ứng dụng của người dùng.
Cùng với các ngôn ngữ mô phỏng các vi mạch tích hợp tốc độ cao (VHDL) và
Verilog, công nghệ ASIC trở thành một xu hướng mới trong phát triển thiết kế chip
đa xử lý ở Việt Nam.
Có thể thấy rằng, việc nghiên cứu và chế tạo chip đa xử lý, đa luồng đã và
đang là một vấn đề thu hút sự quan tâm đặc biệt lớn trên thế giới và Việt Nam. Đây
là một vấn đề thời sự và cấp thiết nhằm giải quyết bài toán hiệu năng của chip đa xử
lý, đa luồng. Định hướng nghiên cứu tối ưu hóa tổ chức cache nhằm nâng cao hiệu
năng của chip đa xử lý, đa luồng là một định hướng đúng đắn có ý nghĩa khoa học
và thực tiễn. Đây cũng là cơ sở để tác giả lựa chọn nội dung nghiên cứu của bản
Luận án này.
Đề tài luận án:
“Tối ưu hoá và đánh giá hiệu năng của tổ chức cache trong
hệ thống vi xử lý thế hệ sau”
.


4

2. Mục đích nghiên cứu của luận án
- Nghiên cứu phân tích ảnh hưởng của tổ chức cache đa cấp và các chính sách
thay thế cache đến hiệu năng của chip đa xử lý, đa luồng.
- Xây dựng các mô hình kiến trúc chip đa xử lý, đa luồng, đa cấp cache. Tiến
hành phân tích và đánh giá hiệu năng của các kiến trúc để lựa chọn tổ chức cache
tối ưu nhằm nâng cao hiệu năng của chip đa xử lý, đa luồng.
- Nghiên cứu ảnh hưởng của các mạng liên kết giữa các lõi trên chip đến hiệu
năng của chip đa xử lý, đa luồng để từ đó lựa chọn mạng liên kết trên chip phù hợp
với kiến trúc chip đa xử lý, đa luồng.
3. Đối tượng và phạm vi nghiên cứu của luận án
 Đối tượng nghiên cứu:

Luận án tập trung nghiên cứu tổ chức cache đa cấp trong kiến trúc chip đa xử
lý, đa luồng.
 Phạm vi nghiên cứu:
- Luận án tập trung nghiên cứu các tổ chức cache 2 cấp (với L1 cache riêng
cho mỗi lõi và L2 cache chia sẻ cho tất cả các lõi), và tổ chức cache 3 cấp (với L1,
L2 cache riêng cho mỗi lõi và L3 cache chia sẻ cho tất cả các lõi) cho các kiến trúc
chip đa xử lý, đa luồng có 2-lõi, 4-lõi, và 8-lõi trên chip.
- Dựa vào mô hình mạng xếp hàng đóng đa lớp có dạng tích các xác suất
(MCPFQN) để phân tích, đánh giá hiệu năng của chip đa xử lý, đa luồng với đa cấp
cache theo các thông số hiệu năng (thời gian chờ đợi, thời gian đáp ứng, mức độ sử
dụng, thông lượng tại các nút, thông lượng hệ thống…). Các thông số hiệu năng này
được xác định bằng phân tích giá trị trung bình (MVA). Đồng thời, tiến hành đánh
giá ảnh hưởng của các cấu hình mạng liên kết trên chip đến hiệu năng của kiến trúc
chip đa lõi đã đề xuất. Trên cơ sở đó, lựa chọn tổ chức cache và cấu hình mạng liên
kết trên chip phù hợp nhất để nâng cao hiệu năng của chip đa xử lý, đa luồng.
4. Phương pháp nghiên cứu của luận án
- Sử dụng lý thuyết mạng xếp hàng đóng đa lớp có dạng tích các xác suất để
xây dựng mô hình cho kiến trúc chip đa xử lý, đa luồng với đa cấp cache.
5

- Sử dụng thuật toán giá trị trung bình (MVA) và tiến hành mô phỏng trên máy
tính bằng phần mềm JMT v.0.8.0 để đánh giá hiệu năng của kiến trúc chip đa xử lý,
đa luồng.
5. Ý nghĩa khoa học và thực tiễn của luận án
Nghiên cứu và đề xuất các kiến trúc chip đa xử lý, đa luồng nhằm nâng cao
hiệu năng xử lý của hệ thống luôn được các nhà nghiên cứu và chế tạo chip trong và
ngoài nước quan tâm và hướng tới. Đây là vấn đề có tính khoa học và thực tiễn cao.
Luận án là nghiên cứu mở đầu về kiến trúc chip đa xử lý, đa luồng ở Việt
Nam. Các mô hình đề xuất và các kết quả nghiên cứu của luận án có thể góp phần
mở ra triển vọng nghiên cứu và chế tạo chip đa xử lý, đa luồng đáp ứng nhu cầu đổi

mới công nghệ ở Việt Nam.
6. Cấu trúc của luận án
Ngoài phần Mở đầu, Kết luận, Danh mục các ký hiệu và chữ viết tắt, Danh
mục các bảng, Danh mục các hình vẽ, Danh mục các công trình đã được công bố
của Luận án, Tài liệu tham khảo, và Phụ lục. Nội dung của luận án được trình bày
gồm 4 chương như sau:
Chương 1: Tổng quan về kiến trúc chip đa xử lý, đa luồng.
Chương 2: Nghiên cứu tổ chức cache, chính sách thay thế cache trong kiến
trúc chip đa xử lý, đa luồng.
Chương 3: Phân tích đánh giá hiệu năng của tổ chức cache trong kiến trúc chip
đa xử lý, đa luồng.
Chương 4: Giải pháp tối ưu hóa hiệu năng của tổ chức cache trong kiến trúc
chip đa xử lý, đa luồng.

×