CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.4. Tổng quan về định thời độc lập
2.4.1.Tìm hiểu về bộ định thời độc lập.
Được sử dụng trong vi điều khiển.
Có khả năng định thời độc lập thực hiện các chức năng của mình độc lập trong một khoảng thời gian xác định và nhỏ nhất có thể chấp nhận được
Các hệ thống này có khả năng đáp ứng các tín hiệu ngõ vào hoặc các sự kiện trong giới hạn một khoảng thời gian bắt buộc.
Chia sẻ tài nguyên một cách đơn giản: cung cấp cơ chế để phân chia các yêu cầu về bộ nhớ và ngoại vi của MCU
Dễ debug và phát triển: Mọi người trong nhóm có thể làm việc một cách độc lập, các lập trình viên thì có thể tránh được các tương tác với ngắt, timer, với phần cứng (cái này mình không khuyến khích lắm vì hiểu được phần cứng vẫn sẽ tốt hơn nhiều)
Tăng tính linh động và dễ dàng bảo trì: thông qua API của RTOS, … Dùng để xây dựng nên một hệ điều hành có thể
Cho phép nhiều chương trình chạy cùng 1 lúc (multi-tasking)
Có quản lý tài nguyên về phần cứng và cung cấp các dịch vụ cho các chương trình khác
Hình trên là cấu tạo của một hệ điều hành thời gian thực (RTOS)
Nếu ứng dụng có kích thước chương trình lớn dần và độ phức tạp tăng lên thì RTOS sẽ rất hữu dụng trong trường hợp này, lúc đó RTOS sẽ chia các ứng dụng phức tạp thành các phần nhỏ hơn và dễ quản lý hơn.
Một hệ thống có khả năng thực hiện thời gian thực nghĩa là hệ thống đó phải thực hiện các chức năng của mình trong một khoảng thời gian xác định và nhỏ nhất có thể chấp nhận được. Khi đáp ứng được yêu cầu này, hệ thống đó có thể gọi là hệ thống thời gian thực
Các hệ thống này phải có khả năng đáp ứng các tín hiệu ngõ vào hoặc các sự kiện trong giới hạn một khoảng thời gian bắt buộc. Cho nên các hệ thống này không chỉ phải trả về một kết quả đúng mà còn phải nhanh nhất đáp ứng được yêu cầu về tốc độ của hệ thống. Trong các hệ thống thời gian thực, tốc độ cũng quan trọng không kém gì độ chính xác của nó.
Cho nên các hệ thống này không chỉ phải trả về một kết quả đúng mà còn phải nhanh nhất đáp ứng được yêu cầu về tốc độ của hệ thống. Trong hệ thống định thời độc lập tốc độ cũng quan trọng không kém gì độ chính xác của nó
Có 2 loại thời gian thực: thời gian thực cứng và thời gian thực mềm. Đối với hệ thống thời gian thực cứng, tất cả các chức năng của nó phải được thực thi chính xác trong một khoảng thời gian xác định, nếu không cả hệ thống sẽ bị lỗi nghiêm trọng.
Ví dụ : hệ thống điều khiển không lưu, hệ thống dẫn đường tên lửa, thiết bị y tế . . . Đối với hệ thống thời gian thực mềm, các chức năng phải được thực hiện trong một khoảng thời gian xác định nhỏ nhất nhưng không bắt buộc.
Có 2 loại định thời độc lập : + Định thời mềm:
Là định thời mà chúng ta có thể viết diver điều khiển cho nó được, tùy theo loại cấu tạo của vi điều khiển có một hoặc nhiều định thời mềm.
Linh hoạt trong việc ứng dụng vào công nghiệp.
Tiết kiệm được chi phí.
Có thể tùy chỉnh tốc độ, độ nhạy.
+ Định thời cứng:
Là định thời mà chúng được tích hợp sẵn trên vi điều khiển thông thường một vi điều khiển có ít bộ định thời cứng.
Dễ dàng viết code vì có chương trình khuôn.
Thiếu linh hoạt.
Số lượng ít nên không đáp ứng được nhu cầu trong công nghiệp.
2.4.2. Các tiêu chuẩn định thời
Việc sử dụng CPU: Chúng ta muốn giữ CPU bận nhiều nhất có thể. Việc sử dụng CPU có thể từ 0 đến 100%. Trong hệ thống thực, nó nên nằm trong khoảng từ 40%
(cho hệ thống được nạp tải nhẹ) tới 90% (cho hệ thống được nạp tải nặng).
Thông lượng: Nếu CPU bận thực thi các quá trình thì công việc đang được thực hiện. Thước đo của công việc là số lượng quá trình được hoàn thành trên một đơn vị thời gian gọi là thông lượng (throughput).
Đối với các quá trình dài, tỉ lệ này có thể là 1 quá trình trên 1 giờ, đối với các giao dịch ngắn, thông lượng có thể là 10 quá trình trên giây.
Thời gian hoàn thành: Là khoảng thời gian từ thời điểm gởi quá trình tới khi quá trình hoàn thành được gọi là thời gian hoàn thành (turnaround time). Thời gian hoàn thành là tổng các thời gian chờ đưa quá trình vào bộ nhớ, chờ hàng đợi sẵn sàng, thực thi CPU và thực hiện nhập/xuất.
Thời gian chờ: Thời gian chờ (waiting time) là tổng thời gian chờ trong hàng đợi sẵn sàng, không ảnh hưởng lượng thời gian quá trình thực thi hay thực hiện nhập/xuất.
Thời gian đáp ứng: Trong một hệ thống giao tiếp, thời gian hoàn thành không là tiêu chuẩn tốt nhất. Do đó, một thước đo khác là thời gian từ lúc gởi yêu cầu cho tới khi đáp ứng đầu tiên được tạo ra. Thước đo này được gọi là thời gian đáp ứng (response time), là lượng thời gian mất đi từ lúc bắt đầu đáp ứng nhưng không là thời gian mất đi để xuất ra đáp ứng đó. Thời gian hoàn thành thường bị giới hạn bởi tốc độ của thiết bị xuất.
Chúng ta muốn tối ưu hóa việc sử dụng CPU và thông lượng, đồng thời tối thiểu hóa thời gian hoàn thành, thời gian chờ và thời gian đáp ứng. Trong hầu hết các trường hợp, chúng ta tối ưu hóa thước đo trung bình.