1.2 Một số phương pháp thiết kế vi mạch công suất thấp
1.3.1 Phương pháp điều khiển tỷ lệ điện á p tần số động
Phương pháp điều khiển tỷ lệ điện áp - tần số động (DVFS) được biết đến như là một kỹ thuật phổ biến để quản lý công suất tiêu thụ ở mức hệ thống [2, 69, 87]. Một hệ thống khi được áp dụng phương pháp DVFS có thể được xem như là một hệ thống điều khiển vòng kín vì tần số hoạt động và điện áp cung cấp sẽ được điều chỉnh phụ thuộc vào tải của hệ thống. Bởi vì việc thay đổi điện áp nguồn cho hệ thống là không thể xảy ra ngay lập tức mà sẽ bị trễ một khoảng thời gian do ảnh hưởng của điện dung ký sinh trên các đường cấp nguồn. Chính vì vậy, thách thức lớn nhất khi thiết kế một hệ thống có áp dụng kỹ thuật DVFS đó là làm sao để có thể đo và dự đoán chính xác sự thay đổi về tải của hệ thống nhằm có thể điều chỉnh tần số, điện áp cung cấp một cách kịp thời và chính xác. Một hệ thống sử dụng phương pháp DVFS để quản lý năng lượng thường gồm các khối cơ bản được mô tả như ở Hình 1.6.
Sơ đồ khối của một hệ thống có áp dụng kỹ thuật DVFS thường có ba khối chính với chức năng được mô tả như sau:
• Khối cảm biến sẽ xác định các tham số chính của hệ thống như điện áp, dòng điện trung bình hay nhiệt độ để làm cơ sở cho việc xác định tải hoạt động của hệ thống.
Hệ thống có áp dụng kỹ thuật DVFS Cảm biến Bộ điều khiển Bộ thiết lập Vdd- Fclk Hiệu năng tham chiếu
Dữ liệu vào Dữ liệu ra
Hình 1.6: Mô hình hệ thống sử dụng phương pháp điều khiển tỷ lệ tần số - điện ápđộng. động.
• Khối điều khiển sẽ dựa trên các dữ liệu đo được từ cảm biến và so sánh nó với hiệu năng tham chiếu được quy định trong khối quản lý năng lượng chung hoặc từ phần mềm để đưa ra các quyết định về việc tăng/giảm điện áp - tần số cung cấp cho hệ thống.
• Khối cuối cùng là khối cấp nguồn và tần số cho hệ thống. Khối này thường gồm các bộ cấp điện áp chẳng hạn như bộ chuyển đổi DC-DC (DC-DC converter) và các bộ cấp xung nhịp chẳng hạn như các bộ vòng lặp khóa pha (PLL: Phase Locked Loop).
Trong những nghiên cứu đầu tiên về DVFS, các hệ thống DVFS thường sử dụng các bộ điều khiển dạng offline (cần điều chỉnh và xác định các thông số cần thiết của bộ điều khiển tùy thuộc vào đặc thù hệ thống trước khi có thể sử dụng) để giám sát tải hệ thống và từ đó đưa ra quyết định tăng/giảm điện áp và tần số hoạt động. Các bộ điều khiển này thường dựa trên các thuật toán điều khiển PID hoặc các biến thể của nó như các bộ điều khiển PI hoặc điều khiển I. Tuy nhiên, nhược điểm của các bộ điều khiển kiểu này là cần phải thực hiện việc điều chỉnh các thông số của nó để có thể đo và dự đoán chính xác sự thay đổi của tải hệ thống. Chính vì vậy mà đối với các dạng biến đổi khác nhau của tải hệ thống thì ta cần thực hiện lại việc hiệu chỉnh các thông số của bộ điều khiển cho phù hợp. Điều này làm cho khả năng ứng dụng và mở rộng của hệ thống bị giới hạn nếu sử dụng các bộ điều khiển dạng offline. Một vài phương pháp khác (chẳng hạn sử dụng các bộ lọc Kalman [7, 65]) cũng đã được đề xuất để thực hiện việc dự đoán tải hệ thống cũng như để điều khiển việc cấp điện áp và tần số. Tuy vậy, phần lớn các phương pháp này vẫn cần thực hiện việc thay đổi các tham số của bộ lọc khi áp dụng cho một trạng thái mới của tải hệ thống hoặc là quá phức tạp về thuật toán để có thể thực thi bằng phần cứng.
Cho đến nay, đã có rất nhiều hướng tiếp cận khác nhau để có thể áp dụng phương pháp DVFS trong các hệ thống khác nhau. Trong những hệ thống DVFS đầu tiên, các thuật toán thường đánh giá tải hệ thống dựa trên thời gian thực hiện công việc trung bình (ACET: Average-Case Execution Time) hoặc dựa trên thời gian thực hiện công việc lớn nhất (WCET: Worst-Case Execution Time). Công trình [92] được xem là một trong những công trình sớm nhất về DVFS được công bố, trong đó các tác giả sử dụng thời gian thực hiện một tác vụ như một đánh giá về tải hệ thống của CPU và xem rằng công suất tiêu thụ P trong một chu kỳ xung nhịp CPU chỉ phụ thuộc vào tần số hoạt động. Từ đó, các tác giả đã đưa ra một thuật toán để xếp lịch cho các tác vụ nhằm tối thiểu hóa công suất tiêu thụ của CPU. Trong công trình [32] các tác giả cũng đã đưa ra một kỹ thuật dựa trên việc sử dụng bộ đệm để xác định WCET của tải hệ thống và từ đó áp dụng phương pháp DVFS để giảm công suất tiêu thụ. Kỹ thuật DVFS dựa trên WCET của các tác vụ đồng bộ trong hệ thống đa lõi xử lý cũng được các tác giả trong công trình [34] đề xuất để giảm được năng lượng cho hệ thống. Một số công trình khác như ở [3,18,91] cũng áp dụng cách tiếp cận tương tự để có thể ứng dụng phương pháp điều khiển DVFS cho hệ thống. Tuy nhiên, nhược điểm chính của các cách tiếp cận này vẫn là việc các thông số của thuật toán phải được thay đổi lại mỗi khi tài nguyên hệ thống có sự biến đổi lớn.
Để khắc phục nhược điểm này, các phương pháp DVFS tự thích nghi đã bắt đầu được các nhóm nghiên cứu đề xuất như ở các công trình [28,57]. Trong công trình [57], Nielsen và cộng sự đã đưa ra một kiến trúc hệ thống sử dụng vòng lặp đóng tự định thời để điều chỉnh điện áp - tần số thích nghi với tải hệ thống. Bằng cách sử dụng các bộ đệm FIFO ở đầu vào và đầu ra của vi xử lý, các tác giả thực hiện việc đánh giá tải hệ thống dựa trên tính toán mức độ sử dụng bộ đệm FIFO và đưa phản hồi này về để điều khiển một bộ chuyển đổi DC-DC nhằm cung cấp điện áp một cách phù hợp với tải của CPU. Kiến trúc được đề xuất trong [28] cũng dựa trên việc đánh giá mức độ sử dụng bộ đệm FIFO tương tự như công trình của Nielsen, tuy nhiên trong [28] Gutnik và đồng sự đã đưa thêm vào một bộ tạo dao động riêng để có thể thay đổi cả tần số cung cấp cho hệ thống. Bằng việc so sánh tải hệ thống tại từng thời điểm với các giá trị tham chiếu được lập trình sẵn trong một bảng tìm kiếm (LUT: Look-Up Table) khả trình, bộ điều khiển sẽ điều chỉnh điện áp và tần số một cách tương ứng với tải hoạt động. Những phương pháp DVFS mới được đề xuất đã giải quyết phần nào những nhược điểm của các phương pháp cũ. Tuy nhiên, do phần lớn những phương pháp này vẫn chỉ mới sử dụng một đại lượng là mức độ sử dụng bộ đệm (BU: Buffer Ultilization) để đánh giá tải hoạt động của hệ thống nên chưa thể dự đoán được việc thay đổi giá trị của tải trong tương lai gần. Do đó, khả năng đáp ứng của bộ điều khiển vẫn còn chậm dẫn đến độ trễ của hệ thống còn lớn.
Vì vậy, để phát triển các bộ điều khiển DVFS hiệu quả hơn thì việc đưa ra những kiến trúc mới cho các thuật toán cho phép dự đoán tải hệ thống cũng như các phương pháp điều khiển tự thích nghi mới đã trở thành một thách thức lớn khi thiết kế các hệ thống DVFS. Những kỹ thuật này thường hướng đến việc dự đoán sự biến thiên của tải hệ thống theo thời gian dựa trên các bộ lọc tích cực (adaptive filter). Phần lớn các bộ điều khiển dạng này đều sử dụng thuật toán điều khiển PID và một số biến thể của chúng. Một trong những kiến trúc được đưa ra đầu tiên cho các bộ điều khiển dạng này là nghiên cứu của Wei và các đồng sự [86]. Tại công trình này, các điện áp mẫu sẽ được sử dụng để điều khiển một bộ VCO (Voltage Controller Oscillator) nhằm thay đổi tần số hoạt động của hệ thống theo sự phản hồi điện áp từ bộ chuyển đổi nâng điện áp (boost converter). Các tín hiệu tham chiếu và tín hiệu phản hồi của bộ điều khiển đều là sự biến đổi của tần số xung nhịp hệ thống. Bộ điều khiển PID sẽ dựa trên việc tính toán các sai số giữa những tín hiệu này để điều chỉnh lại điện áp và tần số của toàn mạch. Một vài kiến trúc DVFS dựa trên các bộ điều khiển PID cũng được đề xuất như ở các công trình [31, 49,87]. Trong [31], Hughes và cộng sự đã sử dụng một bộ điều khiển PID để ước lượng thời gian giải mã một khung hình trong các ứng dụng đa phương tiện để từ đó điều chỉnh lại điện áp và tần số cung cấp cho CPU một cách phù hợp. Trong [49, 87], bộ điều khiển PI đã được áp dụng để ước lượng mức độ sử dụng bộ đệm trong một hệ thống sử dụng DVFS để điều khiển tỷ lệ điện áp và tần số trong các hệ thống đó. Các bộ điều khiển PID là các bộ lọc tự thích nghi nên có khả năng dự đoán về tải của hệ thống. Nhưng đối với các bộ điều khiển PID thì đáp ứng của bộ điều khiển vẫn phụ thuộc vào các hệ số P, I và D được lựa chọn khi thiết lập ban đầu tương ứng với một dạng tải hệ thống nhất định. Chính vì vậy, mỗi một bộ hệ số PID chỉ phù hợp với một dạng tải nhất định và người thiết kế cũng cần phải thay đổi lại các hệ số này nếu tải hệ thống có sự thay đổi lớn. Việc thay đổi các hệ số này cũng sẽ ảnh hưởng đến độ chính xác của quá trình dự đoán trong hệ thống.
Bên cạnh các bộ điều khiển dựa trên thuật toán PID, một vài phương pháp ước lượng cũng như một số bộ lọc tự thích nghi khác nhau cũng đã được đưa ra để cho phép hệ thống dự đoán về sự thay đổi của tải và đưa ra quyết định điều chỉnh tần số - điện áp. Trong [76], các tác giả đã khảo sát một số bộ lọc để dự đoán tải dựa trên các giá trị tải trong quá khứ và từ đó cho phép thiết lập điện áp động cho bộ xử lý một cách phù hợp nhằm giảm công suất tiêu thụ. Các khảo sát đã chỉ ra bộ lọc thích nghi LMS (Least Mean Squares filter) là một trong những bộ lọc tốt nhất để dự đoán sự thay đổi của tải hệ thống và có thể áp dụng được với nhiều dạng tải khác nhau mà không cần thay đổi lại các hệ số của bộ lọc. Trong [7], các tác giả cũng đã đưa ra một bộ ước lượng tải dựa trên bộ lọc Kalman cho phép dự đoán và bám theo sự thay đổi của tải theo thời gian thực.
So với những hướng tiếp cận trước đây, các bộ điều khiển ứng dụng thuật toán lô-gíc mờ đã mở ra một hướng mới cho việc áp dụng phương pháp DVFS trong các mạch điện. Các bộ điều khiển lô-gíc mờ có khả năng hoạt động tương tự như với các bộ lọc tự thích nghi khi cho phép bộ điều khiển có thể dự đoán được sự thay đổi của tải hệ thống trong tương lai gần bằng việc dựa trên các giá trị đầu vào của tải hệ thống ở thời điểm hiện tại. Bên cạnh đó, một ưu điểm của các bộ điều khiển lô-gíc mờ so với các bộ điều khiển PID đó là ta không cần phải thay đổi các tham số của bộ điều khiển khi tải hệ thống thay đổi. Trong [67], các tác giả đã đề xuất một kiến trúc điều khiển sử dụng thuật toán lô-gíc mờ để cho phép dự đoán sự thay đổi của tải hệ thống dựa trên biến đổi của dòng điện tiêu thụ trong mạch. Kết quả nghiên cứu trong công trình này đã chỉ ra rằng bộ điều khiển sử dụng thuật toán lô-gíc mờ có khả năng dự đoán và bám theo sự thay đổi của tải hệ thống với độ chính xác cao. Hơn nữa, so với các bộ lọc tự thích nghi thì các bộ điều khiển lô-gíc mờ có thuật toán đơn giản hơn rất nhiều. Chính vì vậy, việc cứng hoá một bộ điều khiển lô-gíc mờ sẽ đơn giản hơn và cũng sẽ chiếm ít tài nguyên hệ thống hơn so với các kiến trúc khác. Việc so sánh giữa những công trình đã thực thi các bộ điều khiển PID [15,96,22,42,50] và Kalman [88,95,45] trên kiến trúc FPGA so với các bộ điều khiển lô-gíc mờ [24, 58, 48, 67] cũng đã chỉ ra được sự chênh lệch về tài nguyên phần cứng bị chiếm dụng.
Để có thể đánh giá, lựa chọn một phương pháp điều khiển tỷ lệ điện áp - tần số động phù hợp với yêu cầu đặt ra cho luận án, một tổng hợp so sánh, đánh giá hiệu quả giữa các phương pháp nói trên được thể hiện như trong Bảng 1.1
Bảng 1.1: So sánh đánh giá giữa các phương pháp điều khiển tỷ lệ điện áp - tần số động
Phương pháp điều khiển
Ưu điểm Nhược điểm
Bộ điều khiển ngoại tuyến - Sử dụng thuật toán PID Điều khiển tần số - điện áp bám theo sự thay đổi của tải hệ thống khá chính xác
- Cần thay đổi tham số của bộ điều khiển khi tải hệ thống có sự thay đổi lớn.
- Sử dụng các biến thể của PID: PI, PD
- Thuật toán khá phức tạp.
- Chiếm tài nguyên thực thi phần cứng. Bộ điều khiển tự thích nghi Sử dụng các bộ lọc tự thích nghi (LMS, Kalman...) - Dự đoán và bám theo sự thay đổi của tải theo thời gian thực với độ chính xác cao.
- Thuật toán điều khiển rất phức tạp.
- Không cần thay đổi tham số khi tải hệ thống thay đổi.
- Chiếm nhiều tài nguyên thực thi phần cứng. Bộ điều khiển áp dụng thuật toán lô-gíc mờ Sử dụng thuật toán lô-gíc mờ - Hoạt động tương tự với các bộ lọc tự thích nghi. Độ chính xác của việc dự đoán sự thay đổi của tải hệ thống không bằng các bộ lọc tự thích nghi. - Có khả năng dự
đoán và bám theo sự thay đổi của tải theo thời gian thực. - Không cần thay đổi tham số khi tải thay đổi.
- Thuật toán đơn giản, chiếm ít tài nguyên thực thi phần cứng.