Mở đầu Chương này giới thiệu tổng quan về đề tài nghiên cứu, bao gồm các nội dung sau: 5 • Phân tích hiện trạng thực tế và nhu cầu cần có của hệ điều hành thời gian thực cho các ứng dụng đồng hồ. • Chỉ ra mục tiêu của đề tài, bài toán cần giải quyết, nhiệm vụ cụ thể của luận văn. • Nêu lên ý nghĩa của luận văn. • Trình bày cấu trúc của luận văn.
Chương 2: Tổng thuật các công trình liên quan Nội dung chính của chương này trình bày các nghiên cứu liên quan đến đề tài từ đó định hướng cho giải pháp của luận văn. Chương 3: Cơ sở lý thuyết Nội dung của chương này gồm ba phần: phần đầu trình bày cơ sở lý thuyết của hệ điều hành thời gian thực, phần thứ hai trình bày sơ lược về kiến trúc và đặc điểm của vi xử lý S1C17704 và phần thứ ba sẽ giới thiệu các đặc tính của phần mềm ứng dụng đồng hồ. Chương 4: Giải pháp, Kiến trúc và Hiện thực hệ thống Nội dung của chương này gồm ba phần. Phần thứ nhất là kiến trúc cho hệ điều hành thời gian thực cho đồng hồ.
Phần thứ hai cũng là phần trọng tâm nghiên cứu của đề tài, phần này sẽ trình bày giải pháp quản lý các tác vụ tuần hoàn một cách hiệu quả nhằm giảm năng lượng tiêu thụ của hệ thống. Phần cuối trong chương này sẽ trình bày chi tiết việc hiện thực hệ thống. Chương 5: Thực nghiệm và đánh giá Trình bày chi tiết toàn bộ các thử nghiệm, thống kê và đánh giá kết quả. Chương 6: Kết luận và hướng phát triển Tóm tắt lại những gì luận văn đã thực hiện được.
Nhận xét ngắn gọn về luận văn. Chỉ ra hai hướng phát triển trong tương lai. Thứ nhất là việc mở rộng giải pháp 6 cho các tác vụ không tuần hoàn (aperiodic tasks). Thứ hai là tối ưu hóa bộ nhớ on- chip trong hệ thống thời gian thực.
7 Chương 2: TỔNG THUẬT CÁC CÔNG TRÌNH LIÊN QUAN 2.1 Tối ưu hóa năng lượng tiêu thụ trong hệ thống thời gian thực Trong những năm gần đây, năng lượng tiêu thụ đã trở thành một ràng buộc quan trọng trong các thiết kế thiết bị cầm tay sử dụng pin. Các thiết bị này thường yêu cầu hoạt động ở tốc độ cao, hỗ trợ nhiều chức năng phức tạp nhưng phải tiêu thụ năng lượng thấp. Nhìn chung các cách tiếp cận trong việc giảm năng lượng tiêu thụ trong thiết kế có trong tất cả các cấp độ thiết kế: cấp độ mạch, cấp độ linh kiện, cấp độ kiến trúc, cấp độ trình biên dịch, cấp độ hệ điều hành và cấp độ mạng. Tuy nhiên trong phạm vi của đề tài, chỉ các cách tiếp cận trên cấp độ hệ điều hành sẽ được đề cập ở đây.
Cách tiếp cận giảm năng lượng tiêu thụ ở cấp độ hệ điều hành dựa trên ý tưởng là tắt các chức năng phần cứng khi không sử dụng hoặc điều chỉnh hiệu suất phần cứng khi nhu cầu sử dụng thay đổi để giảm năng lượng tiêu thụ. Việc tắt các khối chức năng khi không sử dụng có thể là tắt các khối chức năng ngoại vi hoặc các khối chức năng trong các bộ vi xử lý. Điều chỉnh hiệu suất phần cứng là trên một phần cứng có sẵn, việc phần mềm chạy trên phần cứng sao cho hiệu quả và tối ưu năng lượng tiêu thụ mà vẫn đảm bảo các yêu cầu thiết kế. Các nghiên cứu liên quan đến việc giảm năng lượng tiêu thụ của hệ thống thời gian thực đều dựa trên các cơ sở sau: các bộ vi xử lý hiện nay hầu hết đều cung cấp nhiều chế độ hoạt động với các mức tiêu thụ điện năng khác nhau, các hệ thống thời gian thực hầu hết đều có hệ số sử dụng (utilization) bộ vi xử lý nhỏ hơn 100%.
Các nghiên cứu hiện nay hầu hết đều tiếp cận theo hướng sử dụng các chế độ hoạt động khác nhau của bộ vi xử lý tùy vào số tác vụ thực thi và yêu cầu đáp ứng của chúng để giảm điện năng tiêu thụ. Trong nghiên cứu của Aydin và các cộng sự vào năm 2001 [1], tác giả đưa ra một giải pháp cho các tác vụ thời gian thực tuần hoàn với đặc tính năng lượng tiêu thụ khác nhau. Nghiên cứu này cho thấy, một tác vụ Ti có thể thực thi ở tốc độ liên tục Si tại tất cả các thời điểm mà không gây ảnh hưởng đến việc tối ưu. Công trình 8 đưa ra giải thuật với độ phức tạp O(n2log n) để tính toán giá trị tối ưu Si.
Công trình cũng chứng minh rằng việc lập lịch theo phương pháp EDF (Earliest Deadline First) có thể được sử dụng để có được một lịch trình khả thi với các giá trị tốc độ tối ưu trên. Một nghiên cứu khác của Aydin và các cộng sự vào năm 2001 [2], tác giả đưa ra giải pháp lập lịch chú trọng đến điện năng cho các tác vụ tuần hoàn thời gian thực cứng bằng cách thay đổi điện áp động (Dynamic Voltage Scaling – DVS). Công trình đưa ra giải pháp bao gồm ba phần: (a) một giải pháp tĩnh (off-line) để tính toán tốc độ tối ưu, với giả sử các tác vụ đều thực thi với thời gian thực thi xấu nhất (worse-case execution time), (b) một cơ chế giảm tốc độ động (on-line) để giảm năng lượng tiêu thụ bằng cách điều chỉnh tốc độ tương ứng với khối lượng công việc thực tế, và (c) cơ chế tốc độ động, thích ứng và suy đoán để điều chỉnh việc hoàn thành sớm các tác vụ thực thi trong tương lai bằng cách sử dụng thông tin thời gian thực thi trung bình. Nghiên cứu của Gang Zeng và các cộng sự vào năm 2008 [31] xem xét về việc quản lý các ngắt tuần hoàn để giảm thiểu tiêu thụ điện năng khi bộ xử lý hoạt động ở trạng thái nghỉ (idle state).
Trong nghiên cứu này, tác giả đề cập đến cách giải quyết vấn đề này trong hai trường hợp khác nhau. Trong trường hợp ngắt tuần hoàn không thể bị vô hiệu, tác giả đưa ra giải pháp tiêu thụ điện năng hoạt động ở trạng thái nghỉ, và đề xuất phương pháp tiếp cận tĩnh và động cho việc lựa chọn tần số tối ưu để tiết kiệm điện năng. Mặt khác, trong trường hợp ngắt tuần hoàn có thể được vô hiệu hóa, tác giả đề nghị sử dụng xung đồng hồ cấu hình để vô hiệu hóa các trình phục vụ ngắt cho đến khi tác vụ tiếp theo được bắt đầu để bộ xử lý có thể ở chế độ năng lượng thấp trong một thời gian dài hơn. Các phương pháp tiếp cận đề xuất được hiện thực trong một hệ điều hành thời gian thực và hiệu quả của nó đã được xác nhận bởi các tính toán lý thuyết và thực tế đo đạc trên một bộ xử lý nhúng.1 - Sơ đồ chuyển đổi chế độ tiêu thụ năng lượng của a) Strong ARM SA-1100 và b) M16C (nguồn [31]) Hình 2.2 - Mô hình đề xuất của [31] Nghiên cứu của Flavius Gruian vào năm 2001 [12] xác định việc lập lịch để giảm năng lượng của các tác vụ thời gian thực cứng với độ ưu tiên cố định.
Phương pháp được mô tả là có thể hiện thực được trong RTOS. Mục tiêu giảm tiêu thụ năng lượng bằng cách sử dụng cả trên quyết định tĩnh và động, thực hiện ở cả mức tác vụ và mức nhóm tác vụ. Tác giả giả sử các tác vụ là độc lập và chạy trên bộ vi xử lý với nguồn cung cấp điện áp động (DVS). Nghiên cứu có tính đến hành vi thực sự của một hệ thống thời gian thực, mà thường là tốt hơn so với trường hợp xấu nhất, 10 phương pháp của tác giả sử dụng dữ liệu ngẫu nhiên để lập lịch sử dụng năng lượng hiệu quả.
Nghiên cứu của Ravindra Jejurikar và Rajesh Gupta vào năm 2002 [14] xác định hệ số suy giảm (slowdown factor) của hệ thống dựa trên yêu cầu chức năng và hiệu suất. Nguồn cung cấp điện áp động (DVS) của một bộ xử lý dựa trên các hệ số suy giảm có thể dẫn đến tiết kiệm năng lượng đáng kể. Nghiên cứu đưa ra cách tính toán hệ số suy giảm cho các tác vụ trong việc đồng bộ cho các truy cập đến tài nguyên chia sẻ. Công trình của Niraj K.
Jha vào năm 2001 [15] mô tả các phương pháp tiếp cận phần mềm có thể được sử dụng để đánh giá phần mềm thiết kế so với một tải tối đa của bộ xử lý. Phương pháp dựa trên phân tích thời gian của bộ xử lý được thực hiện, đó là lợi ích tốt nhất của nhà thiết kế để giảm thiểu tiêu thụ điện năng của một bộ vi xử lý nhúng. Công trình này xem xét bốn phương pháp phần mềm như chờ đợi thông minh, giảm sự kiện, kiểm soát hoạt động và tắt máy thông minh để giảm thiểu điện năng tiêu thụ. Những phương pháp tiếp cận phần mềm đặc biệt cho các ứng dụng nhúng, nơi xử lý có phản ứng với các sự kiện bên ngoài như phát hiện một phím của người sử dụng thông qua thiết bị đầu cuối cầm tay, các PDA hoặc cảm biến và các màn hình cảm ứng Công trình của Youngsoo Shin và các cộng sự vào năm 2000 [25] trình bày một phương pháp tối ưu hóa năng lượng cho các ứng dụng nhúng thời gian thực trên một bộ xử lý có tốc độ thay đổi.
Phương pháp này kết hợp các thành phần tĩnh và động. Thành phần tĩnh xác định tốc độ xử lý thấp nhất có thể trong khi bảo đảm thời gian hoàn thành tối đa của tất cả các tác vụ. Thành phần động tự động thay đổi tốc độ xử lý, chuyển bộ xử lý vào một chế độ sử dụng điện năng thấp hơn tùy theo tình trạng của tập tác vụ nhằm khai thác các thời gian thực hiện khác nhau và khoảng thời gian nhàn rỗi.3 - Mô hình chuyển đổi trạng thái các tác vụ [25] Nghiên cứu của J. Sjödin và các cộng sự vào năm 1998 [26] đưa ra giải pháp tiết kiệm năng lượng tiêu thụ cho các hệ thống nhúng thời gian thực dựa trên việc sắp xếp các vùng nhớ trong bộ nhớ sao cho các vùng nhớ có tần số truy xuất cao sẽ được bố trí tại những vùng nhớ tiêu thụ năng lượng thấp.2 Tối ưu bộ nhớ trong hệ thống nhúng Công trình của Nathan Cooprider và các cộng sự vào năm 2007 [8] đưa ra phương pháp nén bộ nhớ tĩnh (offline RAM compression) để giảm kích thước bộ nhớ chương trình bằng cách tận dụng các bit dư thừa của dữ liệu để chứa dữ liệu khác có kích thước phù hợp với số bit dư thừa này.
Công trình rất hữu ích đối với các ứng dụng nhỏ có bộ nhớ on-chip hạn chế.