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

Nghiên cứu, thiết kế và mô hình hóa một mạng trên chip NOC Network-On-Chip với cấu trúc liên kết 2D-MESH

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 (1.41 MB, 52 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ



NGUYỄN THỊ TOAN



NGHIÊN CỨU, THIẾT KẾ VÀ MÔ HÌNH HÓA MỘT MẠNG
TRÊN CHIP (NOC: NETWORK-ON-CHIP) VỚI CẤU TRÚC
LIÊN KẾT 2D-MESH




LUẬN VĂN THẠC SĨ









Hà Nội - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ




NGUYỄN THỊ TOAN



NGHIÊN CỨU, THIẾT KẾ VÀ MÔ HÌNH HÓA MỘT MẠNG
TRÊN CHIP (NOC: NETWORK-ON-CHIP) VỚI CẤU TRÚC
LIÊN KẾT 2D-MESH

Ngành: Công nghệ Điện tử - Viễn thông
Chuyên ngành: Kỹ thuật điện tử
Mã số: 60 52 70

LUẬN VĂN THẠC SĨ


NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Trần Xuân Tú









Hà Nội - 2010
- iii-



Mục lục
Lời cảm ơn i
Lời cam đoan ii
Mục lục iii
Danh mục hình vẽ v
Danh mục các từ viết tắt vii
Lời mở đầu 1
Chương 1. Hệ thống trên một vi mạch 3
1.1. Giới thiệu về hệ thống trên vi mạch 3
1.2. Các vấn đề truyền thông bên trong chip 4
1.3. Từ hệ thống trên chip đến mạng trên chip 5
1.4. Quy trình thiết kế hệ thống trên chip 7
Chương 2. Mạng trên chip và các khái niệm cơ bản 11
2.1. Mạng trên chip 11
2.2. Các khái niệm cơ bản về mạng trên chip 12
2.2.1. Tôpô mạng 12
2.2.2. Kỹ thuật truyền thông 14
2.2.3. Cơ chế truyền thông 15
2.2.4. Thuật toán định tuyến 17
2.2.5. Kỹ thuật điều khiển luồng dữ liệu và tắc nghẽn 18
2.2.6. Chất lượng dịch vụ mạng 20
Chương 3. Thiết kế, mô hình hoá và mô phỏng 22
3.1. Đặt vấn đề 22
3.2. Bộ định tuyến sử dụng trong thiết kế 23
3.3. Xây dựng mạng 2×2 25
- iv-

3.4. Phương pháp mô hình hoá, mô phỏng và kiểm chứng thiết kế. 28
3.5. Kết quả mô phỏng và kiểm chứng 31
3.5.1. Mô hình hóa và mô phỏng trên một bộ định tuyến 31

3.5.2. Mô hình hóa, mô phỏng trên hai bộ định tuyến 33
3.5.3. Mô hình hóa, mô phỏng trên mạng 2×2. 37
Kết luận 43
Tài liệu tham khảo 44

















- v-


Danh mục hình vẽ
Hình ‎1.1: Hệ thống trên vi mạch ‎[13]. 4
Hình ‎1.2: Cấu trúc truyền thông trên chip. 6
Hình ‎1.3: Quy trình thiết kế một hệ thống trên chip. 8
Hình ‎2.1: Một NoC hai hướng 3×3 [8]. 12
Hình ‎2.2: Các tôpô mạng thường dùng cho mạng trên chip: (a) chordal ring; (b) 2D-

mesh; (c) 2D torus; (d) Binary tree; (e) Fat-tree. 13
Hình ‎2.3: Cơ chế truyền thông Lưu trữ và chuyển tiếp (SAF). 15
Hình ‎2.4: Cơ chế truyền thông VCT. 16
Hình ‎2.5: Cơ chế truyền thông Wormhole. 16
Hình ‎2.6: Hiện tượng tắc nghẽn tĩnh (deadlock). 19
Hình ‎2.7: Sử dụng kênh ảo để tránh deadlock. 19
Hình ‎2.8: Hiện tượng tắc nghẽn động (Livelock) 20
Hình ‎3.1: Mô hình mạng trên chip 2D-mesh với kích thước 2×2. 22
Hình ‎3.2: Mô hình bộ định tuyến được phát triển tại phòng thí nghiệm SIS. 23
Hình ‎3.3: Định dạng các flit. 24
Hình ‎3.4: Mô hình mạng 2×2 trên chip. 26
Hình ‎3.5: (a) Các đ
ư

ng kết nối giữa hai bộ định tuyến/lõi IP b

t kỳ; (b) Giao thức
truyền thông bắt tay “send-accept”. 26
Hình ‎3.6: Quy trình mô hình hóa, mô phỏng và kiểm chứng thiết kế. 28
Hình ‎3.7: Môi trường kiểm tra và mô phỏng chức năng hoạt động của mạch. 29
Hình ‎3.8: Lưu đồ thuật toán của IP phát. 30
Hình ‎3.9: Lưu đồ thuật toán của IP nhận. 31
- vi-

Hình ‎3.10: Môi trường kiểm tra, mô phỏng chức năng hoạt động của một bộ định
tuyến. 32
Hình ‎3.11: Kết quả mô phỏng trên một bộ định tuyến. 32
Hình ‎3.12: Môi trường kiểm tra, mô phỏng chức năng hoạt động của hai router. 34
Hình ‎3.13: Kết quả mô phỏng quá trình truyền dữ liệu từ IP00 đến IP01. 35
Hình ‎3.14: Kết quả mô phỏng quá trình truyền dữ liệu từ IP01 đến IP00. 36

Hình ‎3.15: Môi trường kiểm tra, mô phỏng chức năng hoạt động của một mạng lưới 2×2. . 37
Hình ‎3.16: Kết quả mô phỏng quá trình truyền dữ liệu từ
IP00→R_00→R_01→R_11→IP11. 38
Hình ‎3.17: Kết quả mô phỏng quá trình truyền dữ liệu
IP00→R_00→R_10→R_11→IP11. 40
Hình ‎3.18: Kết quả mô phỏng trường hợp các gói tin đến cùng một thời điểm và cùng
đích đến. 41

- vii-


Danh mục các từ viết tắt

AMBA : Advanced Microcontroller Bus Architecture
ADC : Analog Digital Convert
ASIC : Application Specific Integrated Circuit
BE : Best-effort
BoP : Begin of Packet
CUT : Circuit-Under-Test
DAC : Digital Analog Convert
DSP : Digital Signal Processors
EoP : End of Packet
GALS : Globally Asynchronous- Locally Synchronous
GS : Guaranteed Services
HDL : Hardware Description Languages
IP : Intellectual Property
MPSoC : Multi-Processor SoC
NoC : Network-on-Chip
NA : Network Adapters
QoS : Quality of Service

RAM : Random Access Memory
RF : Radio Frequency
ROM : Read Only Memory
RTL : Register Transfer Level
SoC : System-on-Chip
SAF : Store-And-Forward
TTL : Time To Live
TDM : Time Division Multiplex
VC : Virtual Channel
VCT : Virtual Cut-Through
VHDL : Very High Speed Integrated Circuits HDL
VLSI : Very Large Scale Integration
WH : Wormhole
- 1-


Lời mở đầu
Cùng với sự tiến bộ của công nghệ tích hợp bán dẫn, xu thế công nghệ thiết kế
chip là tích hợp ngày càng nhiều khối tính toán trên cùng một chip đơn nhằm đáp ứng
các yêu cầu của ứng dụng. Các khối tính toán này có thể là các bộ xử lý, các khối xử lý
tín hiệu số (DSP: Digital Signal Processors), các bộ nhớ (RAM, ROM), các bộ mã hoá
và giải mã, hay các đơn vị xử lý vào/ra như Ethernet, Bluetooth… Các khối tính toán
này thường được gọi là lõi IP (Intellectual Property). Một hệ thống mà trước kia phải
xây dựng trên một hay nhiều bo mạch lớn thì bây giờ có thể được tích hợp lên trên một
chip và do đó hình thành thuật ngữ “hệ thống trên chip”, trong tiếng Anh gọi là
“System-on-Chip” (SoC). Hệ thống trên một chip được biết đến như là một phương
pháp thiết kế gần đây nhất cho phép tích hợp trên hệ thống khoảng từ vài chục đến vài
trăm lõi IP như đã kể trên. Tuy nhiên, việc tích hợp nhiều lõi IP lên trên một chip dẫn
đến nhu cầu truyền thông trên chip tăng lên. Vì thế các phương thức truyền thông
truyền thống như kết nối điểm-điểm, kết nối bus chung không còn đáp ứng được nhu

cầu truyền thông trên chip. Bài toán thiết kế các hệ thống trên chip chuyển thành bài
toán thiết kế kiến trúc truyền thông trên chip. Trong khi đó, sự bùng nổ các ứng dụng
của Internet và lưu lượng truyền thông trên Internet ngày càng không ngừng tăng lên
khiến các nhà nghiên cứu nghĩ đến việc thực hiện một kiến trúc truyền thông kiểu
mạng máy tính thu nhỏ ngay trên các chip tích hợp.
Chính vì vậy, tôi chọn đề tài: “Nghiên cứu, thiết kế và mô hình hoá một mạng
trên chip (NoC: Network-on-Chip) với cấu trúc liên kết 2D-mesh” với mong muốn xây
dựng một mô hình truyền thông có thể đáp ứng nhu cầu truyền thông giữa các khối IP
trong một hệ thống trên chip.
Nội dung luận văn gồm 3 chương như sau:
Chương 1 giới thiệu tổng quan về hệ thống trên chip, xu thế phát triển một hệ
thống trên chip. Tiếp đó, một số vấn đề gặp phải trong quá trình thiết kế và thực thi
các hệ thống trên chip, có liên quan tới lưu lượng truyền thông trên chip cũng được đề
cập một cách ngắn gọn. Từ đó, lý do xuất hiện khái niệm mạng trên chip cũng sẽ được
đề cập và làm rõ. Cuối cùng, với mục đích giúp người đọc dễ dàng nắm bắt phần thực
nghiệm, chương này cũng dành một phần để trình bày tóm lược về quy trình thiết kế
hệ thống trên chip hiện tại.
- 2-

Chương 2 giới thiệu tổng quan về mô hình mạng trên chip, các thành phần cấu
thành nên mạng truyền thông, và các khái niệm cơ bản liên quan đến mô hình mạng
trên chip như tôpô mạng, kỹ thuật truyền thông, cơ chế truyền thông, thuật toán định
tuyến, kỹ thuật điều khiển luồng dữ liệu, các hiện tượng tắc nghẽn truyền thông và
chất lượng dịch vụ mạng…
Chương 3 trình bày bài toán thiết kế, các vấn đề mô hình hoá thiết kế một mô
hình mạng trên chip với cấu trúc liên kết dạng lưới có kích thước 2×2 (2D-mesh) bằng
ngôn ngữ VHDL, mô phỏng và kiểm chứng thiết kế thông qua công cụ thiết kế phần
cứng ModelSim (Mentor Graphics).
Cuối cùng là một số kết luận và hướng phát triển tiếp theo của đề tài.


















- 3-


Chương 1. Hệ thống trên một vi mạch
Chương này giới thiệu khái quát về một hệ thống trên vi mạch, đặc điểm của một
hệ thống trên một phiến tinh thể, tiếp đến là các vấn đề truyền thông bên trong vi mạch từ
đó đi đến giới thiệu lý do chuyển từ mô hình hệ thống trên chip thông thường sang mô
hình mạng trên chip. Cuối cùng là giới thiệu về quy trình thiết kế hệ thống trên vi mạch.
1.1. Giới thiệu về hệ thống trên vi mạch
Ngày nay, đi liền với sự phát triển công nghệ bán dẫn là công nghệ thiết kế và
chế tạo vi mạch đã cho phép tích hợp cả một hệ thống hoàn chỉnh lên trên một phiến
tinh thể (silicon). Với ý tưởng ban đầu là tích hợp tất cả các thành phần của một hệ
thống máy tính hay một hệ thống điện tử khác trên một vi mạch đơn (chip đơn).
Nhưng không lâu sau, hệ thống trên chip (SoC: System-on-Chip) đã được mở rộng, nó

không chỉ đơn thuần là một hệ thống máy tính hay một hệ thống điện tử mà hệ thống
tích hợp trên chip có thể bao gồm các lõi vi xử lý (processor) hoặc các khối xử lý tín
hiệu số (Digital Signal Processor), các khối nhớ (RAM, ROM, Flash…), các giao tiếp
mở rộng (USB, SPI, Ethernet, Bluetooth…), các bộ mã hóa và giải mã, các bộ chuyển
đổi ADC và DAC, hệ thống BUS, các khối điều chỉnh điện thế và quản lý năng lượng
của nguồn… kể cả các khối tần số radio (RF: Radio Frequency) [12] . Các khối chức
năng này còn được gọi là các lõi IP (Intellectual Property). Hình 1.1 là mô hình một hệ
thống trên vi mạch.
Theo dự đoán ITRS
1
(2009), trong thập kỷ tới độ phức tạp của hệ thống trên
chip (SoC) sẽ tiếp tục tăng nhanh để có thể đáp ứng yêu cầu ngày càng cao của các
ứng dụng. SoC có thể tích hợp được hàng trăm, hay thậm chí nhiều hơn, lõi IP trên
một chip đơn. Thiết kế SoC ở quy mô này được bắt đầu từ các thành phần đã được
thiết kế sẵn, ví dụ như các bộ xử lý, bộ điều khiển và mảng bộ nhớ. Phương pháp thiết
kế tái sử dụng các lõi IP trở thành phương pháp thiết kế SoC phổ biến nhằm rút ngắn
thời gian đưa sản phẩm ra thị trường (time-to-market) [6]. Với phương pháp này, yếu
tố quyết định lớn nhất sẽ được đề cập đó là sự phối hợp truyền thông giữa các thành
phần. Việc thiết kế kiến trúc truyền thông trên chip đòi hỏi phải đáng tin cậy, năng

1
International Technology Roadmap for Semicondutors
- 4-

lượng thấp và thực thi cao. Vấn đề kết nối sẽ trở thành yếu tố hạn chế với các mục tiêu
đề ra.

Hình 1.1: Hệ thống trên vi mạch [13].
1.2. Các vấn đề truyền thông bên trong chip
Như đã trình bày ở trên, hệ thống trên chip tích hợp các khối chức năng có sẵn

nên việc thiết kế SoC đã trở lên đơn giản hơn nhiều, người thiết kế chỉ việc tích hợp
các lõi và thiết lập sự truyền thông giữa chúng. Vì vậy, phương pháp thiết kế mang lại
hiệu quả cao, rút ngắn chu kỳ thiết kế và góp phần làm giảm giá thành thiết kế. Tuy
nhiên, với hệ thống tích hợp nhiều lõi IP (các lõi này hoạt động song song và độc lập
nhau) sẽ nảy sinh một số vấn đề trong truyền thông trên chip như trễ lan truyền trên
dây và trên các cổng logic, vấn đề về truyền thông cục bộ và toàn cục, rồi vấn đề về
hiệu suất hoạt động,…
Độ trễ: Khi công nghệ thiết kế chip ngày càng phát triển, kích thước tăng, độ
tích hợp ngày càng cao và các ứng dụng đòi hỏi đáp ứng thời gian thực thì vấn đề độ
trễ lại trở lên hết sức quan trọng [4]. Vì vậy, đòi hỏi người thiết kế phải giải quyết các
vấn đề liên quan đến độ trễ đáp ứng trên các dây dẫn (cục bộ và toàn cục) và trên các
cổng logic. Trong đó, trễ trên các cổng logic thường rất nhỏ còn trễ trên đường dây là
rất lớn. Trong các trễ trên dây dẫn lại có sự khác biệt khá lớn giữa dây dẫn cục bộ (là
trễ trên dây dẫn nối bên trong lõi IP) và dây dẫn toàn cục (là trễ trên các dây nối các
lõi IP với nhau). Hơn nữa, trong cùng hệ thống thì độ trễ trên các dây nối lõi IP gần và
- 5-

IP xa là khác nhau. Vì vậy, các nhà thiết kế cần phải tìm giải pháp để giải quyết vấn đề
về độ trễ.
Đồng bộ toàn cục: Vì quá trình xử lý trong chip được chia nhỏ thành các xử lý
bên trong các lõi IP mà các lõi IP này hoạt động song song và độc lập với nhau (mỗi
lõi IP hoạt động ở một xung clock riêng) nên để đạt được sự đồng bộ toàn cục giữa
các xung clock của các lõi IP với nhau là rất khó. Chính vì vậy, người ta nghĩ ra một
giải pháp mới gọi là hệ thống GALS (Globally Asynchronous - Locally Synchronous:
đồng bộ cục bộ - dị bộ toàn cục). Với giải pháp này, mỗi lõi IP trong hệ thống làm việc
với một xung clock riêng và đồng bộ cục bộ trong lõi, còn khi ra khỏi lõi, các lõi IP
làm việc với nhau thông qua các phương thức bắt tay (handshaking) hay hỏi/đáp mà
không liên quan đến các xung clock. Nhờ có giải pháp này mà việc xây dựng các hệ
thống lớn hơn, với nhiều lõi IP làm việc với nhiều xung clock riêng sẽ trở lên dễ dàng
hơn.

Xuất phát từ những lý do trên tạo nên xu hướng thiết kế chia nhỏ các khối xử lý
thành các khối con độc lập nhằm giảm chu kỳ thiết kế. Điều này giúp cho việc kiểm
tra các khối trở lên dễ dàng hơn. Đặc biệt là kiểm tra ở mức trìu tượng thấp của các lõi
IP, ở mức trìu tượng cao của cả hệ thống hay kết hợp cả hai. Khi làm việc ở mức trìu
tượng cao người thiết kế thực hiện các thao tác linh hoạt hơn, uyển chuyển hơn ở mức
trìu tượng thấp. Vì thế, trong thiết kế SoC gồm nhiều lõi IP người thiết kế không chỉ
quan tâm đến vấn đề truyền thông trong lõi mà còn quan tâm đến cả truyền thông toàn
cục, vậy nên phương pháp thiết kế hệ thống trên chip được chuyển đổi từ thiết kế tập
trung sang xử lý đồng thời tại các lõi IP. Tóm lại, việc thiết kế một hệ thống được chia
nhỏ thành các mô đun và được chuyên môn hóa. Từ đó, ta chỉ cần xây dựng kết nối
giữa các mô đun và tạo lên sự truyền thông giữa chúng.
1.3. Từ hệ thống trên chip đến mạng trên chip
Từ khi khái niệm hệ thống trên chip (SoC) được ra đời thì vấn đề truyền thông
cũng dần được giải quyết. Các cấu trúc truyền thông của hệ thống trên chip có thể là
cấu trúc liên kết điểm-điểm (point to point), cấu trúc bus hoặc là kết hợp cả hai cấu
trúc đó (Hình 1.2). Trong đó, cấu trúc liên kết điểm-điểm đơn giản chỉ là nối dây trực
tiếp giữa các lõi IP với nhau để tạo sự liên lạc giữa chúng. Với cấu trúc này cho phép
sử dụng tối đa tài nguyên băng thông (bandwith), độ trễ đáp ứng thấp và rất đơn giản
trong thiết kế, cũng như kiểm tra hay mô hình hóa. Tuy nhiên, khi tăng số lõi IP trên
SoC thì số đường liên kết sẽ tăng theo cấp số mũ. Chính vì vậy mà nảy sinh vấn đề về
không gian thực thi chip và vấn đề định tuyến các kết nối khi thực thi layout.
- 6-



CPU
I/O
I/O
Memory
Memory

DSP
a. Cấu trúc liên kết điểm-điểm
BUS
Memory
CPU
I/O
Memory
CPU
I/O
b. Cấu trúc bus
Memory
CPU
I/O
Memory
CPU
I/O
c. Cấu trúc mạng

Hình 1.2: Cấu trúc truyền thông trên chip.
Để khắc phục các nhược điểm của kết nối điểm-điểm người ta thường kết nối
theo kiểu bus, vì kết nối bus đem lại hiệu quả cao hơn và các thành phần trong hệ
thống có thể chia sẻ chung kênh truyền thông. Bên cạnh đó thì giá thành thực hiện kết
nối bus thấp hơn, đơn giản hơn và dễ thực hiện hơn. Tuy nhiên, khi công nghệ thiết kế
hệ thống phát triển (gồm nhiều lõi IP) thì kết nối theo kiểu bus bộc lộ một số hạn chế
như: khi số đơn vị xử lý trên hệ thống tăng dẫn đến dung lượng truyền thông trên chip
tăng và năng lượng sử dụng cho truyền thông tăng lên đáng kể, đặc biệt là với các bus
chủ. Ngoài ra, nếu kết nối quá nhiều sẽ rất khó khăn trong việc kiểm soát thông tin. Để
hạn chế những nhược điểm này, người ta xây dựng hệ thống bus có sử dụng crossbar
bus như AMBA [2]. Nhưng phương pháp này chưa giải quyết được triệt để các vấn đề
của hệ thống bus.

Một vấn đề nữa xuất phát từ đặc tính vật lý của công nghệ nhỏ hơn micro (deep
submicron). Nếu bus kéo dài thì sẽ xuất hiện những vấn đề không mong muốn như
(hiệu suất thấp; không dự đoán được cách thức hoạt động cũng như thông tin trên bus;
công suất tiêu thụ cao; hiện tượng nhiễu bus ). Để hạn chế vấn đề này người ta đưa
ra giải pháp là phân đoạn các bus dài để tránh suy giảm tín hiệu và các bus sẽ được
thực thi như cấu trúc hợp kênh để giảm năng lượng và tăng độ phản ứng. Ý tưởng của
giải pháp này là sử dụng nhiều bus trong cùng một hệ thống và kết nối chúng với nhau
thông qua các cầu bus (bus bridge) [2]. Trong đó, cầu bus là nút định tuyến còn các
bus là các đường liên kết, do đó hình thành nên một mạng truyền thông đơn giản (gồm
có các nút định tuyến và các đường liên kết). Ưu điểm của giải pháp này là giảm đáng
kể số lượng lõi IP và chiều dài các liên kết, nhưng lại khó khăn trong việc quản lý địa
chỉ các lõi IP khi truyền dữ liệu qua các cầu bus. Tuy nhiên, giải pháp này vẫn chưa
loại bỏ được các vấn đề cố hữu thuộc về bản chất của cấu trúc truyền thông dạng bus.
- 7-

Một vấn đề nữa là trong tương lai gần, kết nối bus sẽ trở thành một rào cản cho
sự phát triển các ứng dụng công nghệ vì rằng chúng ta sẽ rất khó khăn trong việc thiết
kế cũng như kiểm tra truyền thông giữa các tác vụ trong một hệ thống.
Chính vì những nguyên nhân đó, vào năm 1999 đã có một số nhóm nghiên cứu
về phương pháp kết nối và trao đổi thông tin trên các SoC hiện tại và trong tương lai.
Một trong những phương pháp được đề xuất đó là phương pháp truyền thông mạng
trên chip (NoC: Network on Chip). Phương pháp truyền thông NoC ra đời được xem
như một giải pháp đột phá cho vấn đề truyền thông trên chip [11], [5]. Có hai nhận
thức về NoC: thứ nhất NoC là một tập con của SoC, thứ hai NoC là sự mở rộng của
SoC. Trong nhận thức đầu, NoC được định nghĩa như là cấu trúc truyền thông chuyển
tiếp dữ liệu (tức là mạng và các phương thức truy cập). Nhưng trong nhận thức thứ hai
NoC được định nghĩa rộng hơn, bao quanh các vấn đề liên quan tới ứng dụng, cấu trúc
hệ thống và ảnh hưởng của truyền thông hay ngược lại.
1.4. Quy trình thiết kế hệ thống trên chip
Để làm rõ hơn phần thực nghiệm được trình bày về sau, mục này trình bày tóm

lược quy trình thiết kế và chế tại một hệ thông vi mạch hiện tại.
Quy trình thiết kế và chế tạo một hệ thống trên vi mạch cũng giống như quy
trình thiết kế và chế tạo VLSI (Very Large Scale Integration), bao gồm nhiều công
đoạn khác nhau, xuất phát từ yêu cầu bài toán đi đến xây dựng các đặc tả, thiết kế
mạch dựa trên các đặc tả vừa xây dựng… cho đến thực hiện các mặt nạ cho thiết kế,
chế tạo wafer, kiểm tra, đóng vỏ và xuất xưởng. Quy trình thiết kế hệ thống trên chip
có thể được mô tả như Hình 1.3.
Quy trình này có thể chia thành hai giai đoạn chính đó là giai đoạn thiết kế logic
(logical design) và giai đoạn thiết kế vật lý (physical design). Mỗi giai đoạn lại được
chia thành các công đoạn nhỏ hơn nhằm đơn giản và tối ưu quá trình thiết kế.
* Giai đoạn thiết kế logic
Giai đoạn này có thể chia thành 4 bước sau:
Bước 1 (System design): Đây là bước thiết kế đặc biệt quan trọng, ở bước này
người thiết kế phải lý giải được toàn bộ hệ thống mà mình sắp thiết kế. Ngoài ra,
người thiết kế còn phải hiểu rõ nguyên lý hoạt động của toàn hệ thống, các đặc điểm
về công nghệ, tốc độ xử lý mức độ tiêu thụ năng lượng, cách bố trí các chân, các lược
đồ khối, các điều kiện vật lý như kích thước, nhiệt độ, điện áp Bước này đòi hỏi
- 8-

người thiết kế phải có sự am hiểu về hệ thống, có kiến thức chuyên môn sâu, rộng và
có nhiều kinh nghiệm trong thiết kế.

Hình 1.3: Quy trình thiết kế một hệ thống trên chip.
Bước 2 (Funcion design): Sau bước thiết kế hệ thống, người thiết kế căn cứ
vào yêu cầu của bài toán thiết kế, sử dụng các ngôn ngữ thiết kế phần cứng như
VHDL, hoặc Verilog-HDL, hoặc System-C… để hiện thực các chức năng logic của
thiết kế. Quá trình thiết kế mà chỉ quan tâm tới chức năng của mạch dựa trên kết quả
tính toán cũng như sự luân chuyển dữ liệu giữa các register (flip-flop) được gọi là thiết
kế mức RTL (Register Transfer Level). Để kiểm tra tính đúng đắn của mạch, người
thiết kế có thể dùng một trong các công cụ mô phỏng như: VCS của hãng Synopsys,

hay ModelSim của hãng Mentor Graphics.
Bước 3 (Synthesis): Bước này có nhiệm vụ tổng hợp các file RTL thành các
cổng (gate) cơ bản (NOT, NAND, XOR, MUX…). Sau đó ghép các cổng đó lại với
- 9-

nhau để tạo thành các mô-đun lớn hơn, việc tổng hợp tiếp diễn cho đến khi cấu thành
một SoC hoàn chỉnh. Quá trình này được thực hiện nhờ các công cụ hỗ trợ tổng hợp
phần cứng (synthesis tool) của hãng Xilinx hay hãng Altera. Kết quả của quá trình
tổng hợp không là duy nhất mà tùy thuộc vào công cụ hỗ trợ tổng hợp phần cứng, thư
viện các cổng và macro của nhà sản xuất.
Bước 4 (Prelayout simulation): Sau khi tổng hợp các mô-đun lại với nhau, ta
tiến hành mô phỏng trước khi thực hiện layout. Đây là bước cuối cùng của giai đoạn
thiết kế logic, sau khi mô phỏng, kiểm tra thiết kế không có lỗi thì tiến hành thực thi
thiết kế vật lý.
* Giai đoạn thiết kế vật lý
Sau khi thiết kế logic xong ta thu được netlist mô tả thiết kế. Để tạo layout cho
thiết kế ta phải thực hiện giai đoạn thiết kế vật lý. Giai đoạn này được thực hiện qua
các bước sau:
Bước 5 (Floorplanning): Bước này cho phép ta thực hiện việc quy hoạch bề
mặt vi mạch, như việc bố trí các khối chức năng trên vi mạch với mục đích giảm thiểu
không gian thực thi phần cứng và ảnh hưởng nhiễu giữa các khối.
Bước 6 (Place & Route): Sau khi thực hiện quy hoạch các khối chức năng trên
bề mặt vi mạch ta tiến hành đặt chỗ cho từng linh kiện trên vùng quy hoạch để đảm
bảo giảm thiểu không gian thực thi và giảm nhiễu. Sau khi đặt linh kiện xong ta tiến
hành nối dây cho các linh kiện, tức xây dựng các đường liên kết giữa các lối vào/ra của
các linh kiện để tạo thành các netlist của hệ thống.
Bước 7 (Postlayout Simulation): Bước này thường được đảm nhiệm bởi
chuyên gia trong các hãng sản xuất bán dẫn. Họ sử dụng các công cụ tổng hợp để
chuyển netlist sang kiểu data cho layout. Netlist sẽ trở thành bản vẽ cách bố trí các
transistor, capacitor, resistor Sau khi layout design xong ta tiến hành mô phỏng để

kiểm chứng tính đúng đắn của hệ thống và mức độ đáp ứng của hệ thống so với yêu
cầu đặt ra. Nếu không đạt thì quay lại các bước trên để chỉnh sửa và tối ưu thiết kế.
Bước 8 (Tape out): Sau khi mô phỏng kiểm chứng thành công, toàn bộ quá
trình thiết kế vật lý sẽ được tapeout ra một file (*.gds hay *.gds2 ) và gửi đến nhà máy
sản xuất.
Giai đoạn thiết kế này đòi hỏi người thiết kế phải là các chuyên gia thực thụ, có
nhiều kinh nghiệm trong lĩnh vực này. Ngoài ra, còn cần phải có sự đầu tư về trang
thiết bị chế tạo.
- 10-

Tóm lại, chương này cho ta một cái nhìn tổng quan về một hệ thống trên vi
mạch và các vấn đề gặp phải trong quá trình thiết kế hệ thống trên vi mạch, sự ra đời
của mô hình mạng trên chip (NoC), và quy trình thiết kế một hệ thống trên vi mạch.
Chương tiếp theo sẽ giới thiệu một mô hình mạng trên chip cụ thể, đồng thời sẽ làm rõ
các khái niệm cơ bản về mạng trên chip.














- 11-



Chương 2. Mạng trên chip và các khái niệm cơ bản
Chương này giới thiệu tổng quan về mô hình mạng trên chip, các thành phần
cấu thành nên mạng. Các khái niệm cơ bản của mạng trên chip như tôpô mạng, kỹ
thuật truyền thông, cơ chế truyền thông, thuật toán định tuyến, kỹ thuật điều khiển
luồng dữ liệu và tắc nghẽn, chất lượng dịch vụ mạng. Sẽ lần lượt được đề cập nhằm
làm rõ các yêu cầu thiết kế mô hình mạng trên chip về sau. Nội dung của chương được
trình bày trên cơ sở tham khảo tài liệu [1].
2.1. Mạng trên chip
Như đã trình bày trong chương trước, mô hình hệ thống trên chip với cấu trúc
truyền thông bus đã bộc lộ một số hạn chế như kém linh hoạt và khó thực hiện khi số
lượng tài nguyên gia tăng. Vì vậy, mạng trên chip (NoC) ra đời với ý định giải quyết các
khó khăn này bằng cách thực hiện một mạng truyền thông. NoC cho phép chia sẻ tài
nguyên, nâng cao băng thông bằng việc chia sẻ các kênh truyền trên mạng, giảm nhỏ
năng lượng tiêu thụ do các dây dẫn được thu ngắn, việc phân lớp khi thiết kế và khả
năng sử dụng lại các tài nguyên là những đặc điểm thuận lợi khi thiết kế dựa trên NoC.
Cấu trúc của NoC bao gồm các bộ định tuyến mạng (network router), các
đường liên kết giữa các bộ định tuyến (link), bộ phối ghép mạng thích ứng (NA:
Network Adapters) và tài nguyên tính toán (resource) còn được gọi là các lõi IP được
minh họa ở Hình 2.1. Mạng trên chip được hiểu như là sự mở rộng của khái niệm hệ
thống trên chip.
- Bộ định tuyến (Router): là thành phần cơ bản của mạng, thực hiện việc định
tuyến giữa các lối vào và lối ra. Nó có nhiệm vụ tính toán đích đến của dữ liệu, phân
xử các tranh chấp trên đường truyền dữ liệu và cuối cùng truyền dữ liệu theo đường
dẫn đã chọn. Mỗi bộ định tuyến thông thường kết nối một số các liên kết và một hay
nhiều bộ ghép nối mạng NA. Các bộ định tuyến được sắp xếp trong một tôpô mạng và
chúng bắt tay chuyển tiếp và điều khiển luồng dữ liệu giữa các NA.
- 12-




Hình 2.1: Một NoC hai hướng 3×3 [8].
- Bộ phối ghép mạng thích ứng (NA: Network Adapter): cung cấp giao diện
kết nối giữa lõi IP và bộ định tuyến. NA thực hiện đóng gói dữ liệu được cung cấp bởi
IP thành các gói, các gói lại được phân chia thành các đơn vị dữ liệu nhỏ hơn (gọi là
flit) trước khi chúng được gửi vào mạng. Các flit được sử dụng cốt để tối thiểu nhu cầu
sử dụng bộ đệm và dây dẫn trong mạng.
- Các liên kết (Links): là nhóm các dây dẫn song song kết nối giữa các bộ định
tuyến. Độ rộng dữ liệu của các đường liên kết phụ thuộc vào số các dây dẫn bó lại với
nhau và số đường tín hiệu được sử dụng. Trên các đường liên kết, tại một thời điểm
chỉ có một flit dữ liệu được truyền. Các đường liên kết có nhiệm vụ kết nối các bộ
định tuyến với các bộ NA.
2.2. Các khái niệm cơ bản về mạng trên chip
2.2.1. Tôpô mạng
Tôpô (topology) mạng là cách bố trí của các phần tử trong một hệ thống mạng.
Nó quy định tổ chức vật lý của mạng và do đó thường được mô hình hoá bằng các cấu
trúc hình học. Giống như trong mạng máy tính, tôpô mạng trên chip cũng có nhiều
loại. Hình 2.2 giới thiệu một số tôpô mạng thường dùng cho mạng trên chip.
- 13-

(a)
(b) (c)
(d) (e)

Hình 2.2: Các tôpô mạng thường dùng cho mạng trên chip: (a) chordal ring; (b) 2D-mesh; (c)
2D torus; (d) Binary tree; (e) Fat-tree.
* Tôpô mạng chordal ring: thực chất là một tôpô mạng ring (các nút mạng nối
với nhau thành một vòng kín) có bổ sung thêm các dây cung giữa các bộ định tuyến
đối diện (Hình 2.2a). Ưu điểm của tôpô mạng này cho phép hiệu năng truyền thông

cao hơn tôpô mạng ring, nhưng kết nối và định tuyến cũng phức tạp hơn.
* Tôpô mạng 2D-mesh: là một dạng cấu trúc mạng lưới bao gồm m hàng và n cột,
giao của các hàng và cột là các bộ định tuyến (Hình 2.2b). Tôpô này có ưu điểm là dễ
dàng thực thi trên các công nghệ bán dẫn hiện tại, đơn giản trong chiến lược định tuyến,
dễ dàng phát triển, dễ mở rộng mô hình mạng. Nhược điểm có độ trễ đáp ứng cao.
* Tôpô mạng 2D torus: Mạng hình xuyến là một phiên bản cải tiến của mạng
mắt lưới cơ bản. Trong đó phần đầu của cột được kết nối với phần cuối của cột và
phía trái của hàng được kết nối với phía phải của hàng (Hình 2.2c). Mạng hình xuyến
có các bộ định tuyến rất nhỏ và có tính đa dạng đường dẫn. Với tôpô mạng này cho
phép giảm đường kính của mạng và tăng băng thông. Tuy nhiên nó có một số hạn chế
như thực thi trên tôpô mạng này phức tạp hơn, các liên kết nối vòng các bộ định tuyến
phía ngoài dài dẫn đến suy giảm hiệu năng truyền thông và độ trễ đáp ứng cao.
* Tôpô fat-tree: Tôpô mạng hình cây lớn là một tôpô mạng có đường kính rất
nhỏ nên độ trễ đáp ứng cũng giảm đi đáng kể (Hình 2.2e). Nhược điểm của tôpô này là
có sự phân cấp bộ định tuyến và kết nối phức tạp do đó không gian thực thi phần cứng
- 14-

cũng tăng lên đáng kể. Trong khi đó tôpô nhị phân (dạng cây cơ bản) rất hữu ích cho
việc khai thác tính cục bộ của lưu lượng (Hình 2.2d).
2.2.2. Kỹ thuật truyền thông
Để thực hiện truyền thông trên mạng thì ta phải xác định chiến lược cũng như
cách thức vận chuyển dữ liệu trên NoC. Trong truyền thông có hai kỹ thuật vận
chuyển dữ liệu đó là kỹ thuật chuyển mạch kênh (circuit switching) và kỹ thuật chuyển
mạch gói (packet switching).
* Kỹ thuật chuyển mạch kênh
Là kỹ thuật thực hiện thiết lập một đường thông tin cố định từ nguồn tới đích,
đường thông tin này chỉ được giải phóng khi dữ liệu đã truyền xong hoặc khi có tín
hiệu hủy bỏ. Kỹ thuật này có ưu điểm là độ tin cậy cao (vì đường thông tin giành riêng
nên hầu như không có thất thoát tín hiệu), băng thông tối đa và độ trễ tín hiệu thấp
(dùng cho những ứng dụng thời gian thực). Tuy nhiên, nó có nhược điểm là tiêu tốn tài

nguyên mạng vì tài nguyên bị chiếm giữ cho đường kết nối trong suốt quá trình truyền
tin và chỉ được giải phóng khi việc truyền dữ liệu hoàn tất. Nếu trong thời gian kênh
truyền bị chiếm dụng, có một nhu cầu truyền thông khác muốn qua một trong các nút
của kênh đó phải chờ đến khi kênh truyền được giải phóng mới được truyền. Ngoài ra,
trong kỹ thuật chuyển mạch kênh này còn có nhược điểm muốn thêm hoặc bớt bộ định
tuyến phải sửa đổi lại bộ điều khiển trung tâm.
* Kỹ thuật chuyển mạch gói
Là kỹ thuật thực hiện chia dữ liệu thành nhiều gói tin và các gói này được
chuyển tiếp theo từng chặng. Mỗi gói tin bao gồm thông tin định tuyến và dữ liệu. Các
gói tin có thể được truyền trên các đường khác nhau và có thể cùng dịch chuyển tại
một thời điểm. Tại đích đến, các gói tin hợp thành dữ liệu ban đầu. Kỹ thuật chuyển
mạch này có ưu điểm là tiết kiệm được thời gian truyền và tài nguyên mạng (vì không
cần truyền cả gói dữ liệu lớn), tăng hiệu suất đường truyền (vì một kết nối giữa hai bộ
định tuyến có thể dùng chung cho nhiều gói, các gói xếp hàng và truyền đi nhanh nhất
khi có thể), nếu trong quá trình truyền gặp tắc nghẽn thì gói tin đó có thể đi theo
đường khác để đến đích. Trong trường hợp, gói tin truyền bị lỗi thì chỉ cần truyền lại
gói tin đó thay vì phải truyền lại toàn bộ dữ liệu gốc. Ngoài ra, kỹ thuật này không cần
bộ điều khiển trung tâm vì trong các gói tin đã chứa đựng đầy đủ các thông tin định
tuyến. Tuy nhiên, kỹ thuật này có nhược điểm là trễ đường truyền lớn do qua mỗi bộ
định tuyến dữ liệu được lưu trữ, xử lý trước khi truyền đi. Vì thế, đòi hỏi các bộ định
tuyến phức tạp và độ trễ đáp ứng tín hiệu lớn hơn.
- 15-

Tùy theo mức độ yêu cầu của truyền thông mà ta có thể lựa chọn một trong hai
kỹ thuật trên. Trong đó, kỹ thuật chuyển mạch gói được sử dụng phổ biến hơn, trên
nhiều ứng dụng hơn, còn kỹ thuật chuyển mạch kênh thường dùng trong các ứng dụng
đòi hỏi khắt khe về thời gian thực, trễ đáp ứng gần như bằng không.
2.2.3. Cơ chế truyền thông
Trong kỹ thuật chuyển mạch gói có ba cơ chế truyền thông là: Lưu trữ và
chuyển tiếp, Virtual-Cut-Through và Wormhole [9]. Trong các cơ chế truyền thông

này, các gói tin được chia thành các flit (đơn vị dữ liệu) nhỏ, trong đó có một flit tiêu
đề (header flit) mang thông tin định tuyến và các flit dữ liệu.
* Lưu trữ và chuyển tiếp
Lưu trữ và chuyển tiếp (Store-And-Forward) là cơ chế truyền thông mà chỉ thực
hiện truyền thông từ bộ định tuyến này sang bộ định tuyến kia khi đã nhận toàn bộ gói
tin ở bộ định tuyến truyền (Hình 2.3). Vì phải lưu trữ toàn bộ gói tin nên cơ chế này
đòi hỏi bộ đệm phải lớn, khi kích thước của gói tin tăng thì kích thước của bộ đệm
cũng phải mở rộng theo, như vậy sẽ làm cho tổng không gian thực thi trên chip tăng
lên. Trong khi đó không gian thực thi trên chip là có hạn nên cần phải hạn chế kích
thước bộ nhớ đệm.
Với cơ chế này có nhược điểm là trễ đáp ứng tại các bộ định tuyến tăng lên (vì
phải nhận toàn bộ gói tin mới thực hiện truyền), điều này dẫn đến trễ đáp ứng của toàn
bộ kênh tăng. Nhưng cơ chế này có lợi trong các trường hợp các bản tin là ngắn và hay
xảy ra.


Hình 2.3: Cơ chế truyền thông Lưu trữ và chuyển tiếp (SAF).
* Virtual Cut-Through (VCT)
Để khắc phục nhược điểm của cơ chế lưu trữ và chuyển tiếp, cơ chế truyền
thông VCT ra đời với mục đích giảm độ trễ đáp ứng của các gói tin tại từng bộ định
- 16-

tuyến. Trong cơ chế này ta không cần chờ nhận đủ gói tin mới thực hiện truyền mà có
thể bắt đầu việc truyền gói tin đến bộ định tuyến tiếp theo ngay khi được phép (Hình
2.4). Vì thế bộ nhớ đệm tại mỗi bộ định tuyến không cần lớn để chứa đủ gói tin mà
gói tin có thể lưu trữ trên các bộ định tuyến trung gian giữa bộ định tuyến nguồn và bộ
định tuyến đích. Nhược điểm của cơ chế này là rất dễ xảy ra tắc nghẽn tại các bộ định
tuyến trung gian, nếu bị tắc nghẽn thì bộ định tuyến trung gian chứa gói tin sẽ nằm
trong tình trạng bận và không cho phép các đường nối khác sử dụng.


Hình 2.4: Cơ chế truyền thông VCT.
* Wormhole (WH)
Trong cơ chế truyền thông Wormhole, các flit của gói tin được di chuyển trong
mạng một cách tuần tự. Khi bộ định tuyến nhận được flit tiêu đề của gói tin, nó sẽ quyết
định chặng tiếp theo và ngay lập tức chuyển flit tiêu đề đi đến các nút kế tiếp trong
mạng (như mô tả ở Hình 2.5). Flit tiêu đề có nhiệm vụ thiết lập đường truyền của gói dữ
liệu, các flit còn lại sẽ được truyền trên đường mà flit tiêu đề đã thiết lập. Đường truyền
này chỉ được đóng lại và giải phóng tài nguyên khi flit cuối cùng của gói tin đi qua.

Hình 2.5: Cơ chế truyền thông Wormhole.
- 17-

Vì các flit dữ liệu đi theo một đường, việc định tuyến được thực hiện bởi các bộ
định tuyến, nên nó có ưu điểm tốn ít không gian bộ đệm (vì không gian bộ đệm chỉ cần
lưu trữ một flit) bộ định tuyến trở lên đơn giản, nhỏ gọn và độ trễ đáp ứng nhỏ. Vì vậy,
mà cơ chế này được sử dụng rất phổ biến. Nhưng nó có nhược điểm là rất dễ xảy ra
deadlock, nếu một flit bị chặn thì các flit theo sau cũng sẽ bị chặn theo, dẫn đến tất cả
các bộ định tuyến trong kết nối bị ảnh hưởng. Khi đó, các kết nối khác không thể sử
dụng được bất kỳ bộ định tuyến nào trên đường dẫn đó. Một giải pháp được đặt ra là
sử dụng kênh ảo để chia sẻ gánh nặng cho đường dẫn.
Trong ba cơ chế trên, cơ chế định tuyến SAF thường được dùng trong các mạng
máy tính vì trong mạng máy tính người ta không quan tâm đến kích thước bộ đệm.
Nhưng trong NoC, vì không gian thực thi hạn chế nên vấn đề kích thước bộ đệm
được quan tâm. Bởi vậy, NoC thường sử dụng cơ chế định tuyến Wormhole vì cơ
chế này có độ trễ đáp ứng thấp và tốn ít không gian bộ đệm.
2.2.4. Thuật toán định tuyến
Trong truyền thông thì thuật toán đóng vai trò hết sức quan trọng, nó có nhiệm
vụ xác định đường đi từ nguồn tới đích cho một gói tin. Thuật toán định tuyến tối ưu
sẽ đem lại hiệu năng truyền thông cao. Vì vậy, việc nghiên cứu và lựa chọn thuật toán
định tuyến sao cho vừa sử dụng tối ưu các liên kết truyền thông vừa đơn giản trong

việc thực hiện trên chip là rất cần thiết. Có nhiều thuật toán định tuyến được dùng
trong thiết kế các mạng trên chip tuy nhiên ta có thể phân thành hai loại sau [1]:
* Thuật toán định tuyến xác định (deterministic) hay còn gọi là thuật toán
định tuyến tĩnh (static routing algorithm)
Trong thuật toán này đường dẫn chỉ được quyết định bởi nguồn và đích của nó
mà không quan tâm đến tải hiện tại của các bộ định tuyến và các liên kết mạng khi đưa
ra quyết định định tuyến. Thông thường cơ cấu định tuyến xác định của NoC là định
tuyến nguồn và định tuyến X-Y (định tuyến có thứ tự 2 chiều). Trong định tuyến
nguồn, lõi nguồn định tuyến cụ thể đích đến của gói tin chứ không phụ thuộc vào bảng
định tuyến của các bộ định tuyến. Trong định tuyến X-Y, gói tin di chuyển trước hết
theo hàng, sau đó là theo cột hướng tới đích, hoặc ngược lại gói tin di chuyển theo cột
trước rồi theo hàng hướng tới đích. Nó thường được ứng dụng trong trường hợp có thể
dự đoán được quá trình trao đổi dữ liệu trong mạng và thường được dùng cho các
mạng trong các hệ thống ứng dụng riêng (ASIC).
* Thuật toán định tuyến thích nghi (adaptive routing) hay còn gọi là thuật
toán định tuyến động (dynamic routing algorithm)
- 18-

Trong thuật toán định tuyến thích ứng, đường truyền định tuyến được lựa chọn
trên từng chặng. Phương pháp thích ứng bao gồm phương pháp điều phối động, ví dụ
như điều phối dựa trên sự tắc nghẽn đường dẫn cục bộ để định tuyến đường đi một
cách phù hợp. Thuật toán định tuyến thích ứng thường được dùng cho các ứng dụng có
lưu lượng mạng không có quy tắc và không đoán trước được, ví dụ như các hệ thống
đa xử lý (MPSoC: Multi-Processor SoC).
2.2.5. Kỹ thuật điều khiển luồng dữ liệu và tắc nghẽn
Điều khiển luồng là cơ chế nhằm đảm bảo việc truyền tin của bên phát không
vượt quá khả năng xử lý của bên thu (thực hiện trong môi trường không có lỗi). Như
trong truyền thông trên NoC, điều khiển luồng đảm bảo dữ liệu được truyền từ nguồn
tới đích thông qua mạng một cách chính xác, tận dụng tối ưu tài nguyên mạng và định
trước hiệu suất của dịch vụ truyền thông. Để làm được điều đó, kỹ thuật điều khiển

luồng phải đảm bảo các vấn đề đồng bộ toàn cục và đồng bộ cục bộ. Có nhiều kỹ thuật
điều khiển luồng dữ liệu như kỹ thuật dừng và đợi (Stop and Wait), kỹ thuật cửa sổ
trượt (Sliding Window), kỹ thuật điều khiển luồng dữ liệu sử dụng kênh ảo Trong
đó, kỹ thuật điều khiển luồng dữ liệu sử dụng kênh ảo là một kỹ thuật điều khiển luồng
hữu hiệu, nó có khả năng tránh được sự tắc nghẽn (deadlock), tận dụng dây dẫn triệt
để, cải thiện hiệu suất và cho ra sự khác nhau về chất lượng dịch vụ,… Nên để đảm
bảo dữ liệu truyền trong mạng được chính xác, yêu cầu kỹ thuật điều khiển luồng dữ
liệu phải tránh deadlock và livelock.
Deadlock (còn gọi tắc nghẽn tĩnh): Hiện tượng deadlock xảy ra khi một hoặc
nhiều gói tin (packet) bị treo trong một khoảng thời gian không xác định. Hình 2.6 chỉ
ra một trường hợp tắc nghẽn của deadlock. Packet 1 được định tuyến từ R1 đến R2 đến
R3 và đến R4, còn packet 2 được định tuyến từ R3 đến R4 đến R1 và đến R2. Hai
packet này đồng thời được gửi đi, packet 1 xuất phát từ R1 nhưng đến R3 bị chặn lại,
còn packet 2 bắt đầu xuất phát R3 nhưng đến R1 cũng bị chặn lại vì các bộ định tuyến
này thiếu không gian bộ đệm. Chính vì vậy, hai gói tin đều bị chặn không gói nào
được truyền đến đích do cả hai gói cùng chờ quá trình giải phóng nguồn tài nguyên bị
gói tin còn lại chiếm dụng.

×