3.2 HỆ THỐNG NHÚNG THỜI GIAN THỰC
3.2.2 Hệ thống thời gian thực
Khái niệm hệ thời gian thực không đồng nghĩa với khái niệm hệ xử lý tốc độ cao, xử lý nhanh.
Nếu ta cho rằng, phải là các ứng dụng điều khiển có yêu cầu thời gian tính toán rất nhanh mới gọi là điều khiển thời gian thực, thì một câu hỏi sẽ được đặt ra là: như thế nào mới được gọi là nhanh?
Ta có thể thống nhất là, cỡ một vài micro-giây là rất nhanh, tuy nhiên nếu một vài chục micro-giây thì sao, một trăm micro-giây thì sao? Nếu một trăm micro-giây mới gọi là nhanh, thì 101, 102, ...
có nhanh không? Các hệ điều khiển với chu kỳ trích mẫu 5ms, 6 ms, 7ms có được gọi là hệ thời gian thực hay không? Tốc độ không phản ánh thời gian thực nhưng để có đặc tính thời gian thực thì phụ thuộc rất nhiều vào tốc độ. Tốc độ càng cao thì sai số càng nhỏ và càng dễ thực hiện các tác vụ thời gian thực.
Có thể nói đơn giản hơn, tính thời gian thực là khả năng đáp kịp thời và chính xác.
174
§ Đặc điểm của hệ thời gian thực
ü Tính bị động: Hệ thống phải phản ứng với các sự kiện xuất hiện vào các thời điểm thường không biết trước. Ví dụ, sự vượt ngưỡng của một giá trị đo, sự thay đổi trạng thái của một thiết bị quá trình phải dẫn đến các phản ứng trong bộ điều khiển.
ü Tính chuẩn xác chức năng và chính xác về thời gian: Các chức năng phải được thực hiện chuẩn xác. Các tính toán, xử lý phải cho ra kết quả trong một chu kì thời gian đã xác định trước. Chính xác về thời gian sẽ cho phép hệ đưa ra đáp ứng một cách kịp thời. Tuy tính chính xác thời gian là một đặc điểm tiêu lịch, nhưng một hệ thống có tính năng thời gian thực không nhất thiết phải có đáp ứng thật nhanh mà quan trọng hơn là phải có phản ứng kịp thời đối với các yêu cầu, tác động bên ngoài.
Hãy khảo sát các ví dụ sau đây để làm rõ yếu tố thời gian trong hệ thống thời gian thực:
ts là thời điểm một sự kiện xảy ra từ thiết bị và tác động tới hệ thống;
T là khoản thời gian thực hiện các tính toán, xử lý từ ts tới tp để có đáp ứng đầu ra.
tp là thời điểm ra đáp ứng.
Ta sẽ có các trường hợp sau đây:
a) Đáp ứng đúng theo yêu cầu tại tp: đáp ứng chính xác.
b) Đáp ứng xẩy ra trong khoản <tpq, tp2>.
c) Đáp ứng xảy ra trong khoản <ts, tp>.
d) Đáp ứng xảy ra từ tp cho tới …
Hình 3.12 Sự kiện và đáp ứng
175
Có thể còn có các phân tích khác đề cập tới thời điểm phải đưa ra đáp ứng cho tác động của sự kiện, qua đây ta thấy rõ hơn yêu cầu về tính thời gian thực của hệ thống thời gian thực: chính xác (a), chính xác tương đối (b, c) và tương đối lõng lẻo. Như vậy khi áp dụng, ta có các thiết bị ghép nối mà đặc thù kĩ thuật chắc chắn sẽ rơi vào các trường hợp trên, giúp hình thành chiến thuật xử lý. Ở mô hình trên khung thời gian T là yếu tố quan trọng, vì đó là khung thời gian không thể nhỏ hơn được khi xem xét trên một HTN thời gian thực, tuy nhiên T khác nhau cho các hệ thống khác nhau. Giải pháp cho T phụ thuộc vào lựa chọn thiết kế phần cứng (đặc biệt là tốc độ của CPU) và kĩ năng viết phần mềm hệ thống và phần mềm ứng dụng.
ü Tính đồng thời: Hệ thống phải có khả năng phản ứng và xử lý đồng thời nhiều sự kiện diễn ra. Ví dụ, cùng một lúc một hệ thống trong vai trò là một bộ điều khiển PID, được yêu cầu thực hiện nhiều vòng điều chỉnh, giám sát ngưỡng giá trị nhiều đầu vào, cảnh giới trạng thái làm việc của một số thiết bị khác
ü Tính tiền định: Dự đoán trước được thời gian phản ứng tiêu lịch, thời gian phản ứng chậm nhất cũng như trình tự đưa ra các đáp ứng. Ví dụ, nếu một bộ điều khiển phải xử lý đồng thời nhiều nhiệm vụ, ta phải tham gia quyết định được về trình tự thực hiện các công việc và đánh giá được thời gian xử lý mỗi công việc. Như vậy người sử dụng mới có cơ sở để đánh giá về khả năng đáp ứng tính thời gian thực của hệ thống.
§ Xử lý thời gian thực
Xử lý thời gian thực là hình thức xử lý thông tin trong một hệ thống để đảm bảo tính năng thời gian thực của nó. Như vậy, xử lý thời gian thực cũng có các đặc điểm tiêu lịch nêu trên như tính bị động, tính chuẩn xác, thời gian chính xác, tính đồng thời và tính tiền định. Để có thể phản ứng với nhiều sự kiện diễn ra cùng một lúc, một hệ thống xử lý thời gian thực sử dụng các quá trình tính toán đồng thời.
Quá trình tính toán là một tiến trình thực hiện một hoặc một phần chương trình theo tuần tự do hệ điều hành quản lý trên một máy tính, có thể tồn tại đồng thời với các quá trình khác kể cả trong thời gian thực hiện lệnh và thời gian xếp hàng chờ đợi thực hiện.
Các hình thức tổ chức các quá trình tính toán đồng thời:
ü Xử lý cạnh tranh: Nhiều quá trình tính toán chia sẻ thời gian sử dụng của một bộ xử lý.
ü Xử lý song song: Các quá trình tính toán được phân chia thực hiện song song trên nhiều bộ xử lý của một máy tính.
ü Xử lý phân tán: Mỗi quá trình tính toán được thực hiện riêng trên một máy tính.
Trong các hình thức trên đây thì hình thức xử lý cạnh tranh có vai trò chủ chốt. Mặc dù hệ thống điều khiển có thể có nhiều trạm, và mỗi trạm có thể là một hệ đa vi xử lý, số lượng các quá trình tính toán cần thực hiện thường bao giờ cũng lớn hơn số lượng vi xử lý. Trong khi một vi xử lý không thể thực hiện song song nhiều lệnh, nó phải phân chia thời gian để thực hiện xen kẽ nhiều nhiệm vụ khác nhau theo thứ tự tùy theo mức ưu tiên và phương pháp lập lịch.
176
§ Phân loại hệ thời gian thực
Như trình bày trên thì hệ thời gian thực có tính ràng buộc thời gian và mọi xử lý đều có thời hạn chót (deadline). Vậy thời gian ở đây qui chiếu theo cách nào ? Giống như trên máy tính nói chung ta có hệ thời gian thực mềm (soft real time system) và hệ thời gian thực cứng (hard real time system). Hai loại hệ thời gian thực này khác nhau ở chổ nào, đó cách đánh giá sự dung sai của thời hạn chót, tính hữu ích của các kết quả tính toán sau thời hạn chót, và sự đánh giá ngặt nghèo khi rơi vào thời hạn chót. Với hệ thời gian thực cứng, mức độ dung sai của thời hạn chót là rất nhỏ có thể bằng không, các kết quả tính toán sau hạn chót không có giá trị, do đó những phát sinh sau hạn chót được coi là thảm họa. Trong khi đó dung sai ở hệ thời gian thực mềm là con số khác không, các kết quả tính toán sau hạn chót lại có tính chất khấu hao, cho nên giá trị của kết quả vào lúc đi qua hạn chót vẫn có ích.
ü hệ thời gian thực cứng: là hệ mà dung sai tới hạn chót xấp xỉ bằng không. Nói cách khác phải đúng thời điểm nếu không sẽ là thảm họa. Các tiêu chí hệ thống như sau:
- Phải đảm bảo không để bất kì một sự kiện tới hạn (critical event) nào bị sự cố trong bất kì hoàn cảnh nào của hệ thống;
- Độ trễ đáp ứng cho sự kiện rất nhỏ (xét theo từng lớp ứng dụng);
- Các sự kiện có tính chu kì phải được đảm bảo thực hiện đúng chu kì.
Khi thiết kế hệ này cần tính để kết quả tính toán có được trước hạn chót trước khi hệ phát ra đáp ứng.
ü hệ thời gian thực mềm: là hệ phải hợp thời gian nhưng hạn chót có tính mềm dẻo. Như vậy hạn chót có thể có nhiều mức, hạn chót với thời gian T ước tính với trị trung bình, xác xuất đáp ứng đưa ra nằm trong các mức độ khác nhau với độ trễ trung bình và chấp nhận được. Tuy không gây ra thảm họa hệ thống nhưng phải trả giá khi độ trể hệ thống tăng tỷ lệ thuận tùy thuộc vào ứng dụng. Cần có cơ chế bù trừ để loại trừ độ trễ này.
(
ü real time computing:
§ the objective is to meet the individual timing requirement of each task
§ correct behavior depends on both (1) correct computation and (2) time at which results are produced
§ system that must react within precise timing constraints to events in the environment
§ characterized by a deadline
§ should be predictable (when the timing constraints cannot be met, this must be notified in advance, so that an alternative (scheduling) plan may be planned, and possibly avoid the catastrophe)
§ real time applications
§ the most important features timeliness, design for peak load, predictability, fault tolerance, maintainability.
177 ü Difference between Hard and Soft Real-Time Systems
Hard Real-time systems
A real-time task is said to be hard, if missing its deadline may cause catastrophic consequences on the environment under control. Examples are sensory data acquisition, detection of critical conditions, actuator servoing.
Soft Real-time systems
A real-time task is called soft, if meeting its deadline is desirable for performance reasons, but missing its deadline does not cause serious damage to the environment and does not jeopardize correct system behavior. Examples are command interpreter of the user interface, displaying messages on the screen
A hard real-time system guarantees that critical tasks complete on time. This goal requires that all delays in the system be bounded from the retrieval of the stored data to the time that it takes the operating system to finish any request made of it. A soft real time system where a critical real-time task gets priority over other tasks and retains that priority until it completes. As in hard real time systems kernel delays need to be bounded
)
Hệ thời gian thực gắn liền với tương lai của các hệ thống nhúng. Các HTN trước đây đơn giản, như các thiết bị hoạt động độc lập (automous device), có chu kì sống dài. Tuy nhiên ngày nay, công nghiệp nhúng đẫ trải nghiệm một sự chuyển đổi mạnh mẽ với các số liệu như sau (báo cáo của Gartner Group):
ü Chu kì phát triển trên thị trường nhanh chóng, chỉ trong vòng 6 đến chín tháng;
ü Toàn cầu hóa đã dẫn đến xác định lại thi trường và không gian ứng dụng;
ü Kiểu kết nối các hệ thống có dây và không dây, trở thành không thể thiếu ở các thiết bị nhúng;
ü Các thiết bị điện tử ngày càng tinh vi;
ü Kết nối các HTN là lĩnh vực ứng dụng mới và phụ thuộc vào hạ tầng mạng (LAN, Internet, Extranet, …);
ü Tốc độ xử lí ngày càng nhanh theo tỉ lệ transitor trên chip theo định luật More: tổng số transistors/vi mạch tưng gấp đôi cứ sau 18 tháng.
Tất cả những điều đó với hệ thời gian thực sẽ làm cho HTN có đặc tính “xử sự chính xác theo thời gian thực”.