WCET – Trường hợp xấu nhất trongthời gian thực thi WCET – là giới hạn trên trong thời gian thực thi của các công việc trong hệ thống Cần thiết cho tất cả các phương thức, nhằm đảm b
Trang 1Tổng quan về phần
nhúng
Trang 3Sách tham khảo
(paperback), Springer Verlag, December 2005, ISBN: 0387292373.
Systems Kluwer Academic Publishers, 1997.
Principles of Embedded System Design Morgan Kaufman Publishers, 2000.
Springer Verlag, 1997.
Trang 4Phát triển phần mềm
Trang 5WCET – Trường hợp xấu nhất trong
thời gian thực thi
WCET – là giới hạn trên trong thời gian
thực thi của các công việc trong hệ thống
Cần thiết cho tất cả các phương thức,
nhằm đảm bảo các trạng thái thời gian
của ứng dụng
Trang 6WCET
- WCET
- WCET’ (gần giới hạn trên)
- Có thể xảy ra worst case
- Tuân theo thời gian thực thi
- Tính tôt nhất trong thời gian thực thi
- Gần giới hạn dưới dành cho best case
- Giới hạn dưới có thể tốt nhất trong thời gian thực thi
Trang 7Sự hiệu qua của phương thức ở mức
hệ thống
Hệ thống thực Sự đo lường Mô hình hóa Phân tích
Trang 8Dành cho phần cứng: cần thiết của tổng hợp phầncứng.
Dành cho phần mềm: cần phải có máy chương trình, phân tích, sự cần thiết của một mô hình phần cứng
Trang 9Thời gian thực thi trung bình
Mô hình hóa (simulation): dưới các mức độ khác nhautrong phân tích tỉ mỉ có thể nhất của hệ thống, mô phỏngtrạng thái của môi trường
Sự mô phỏng (emulation): một phần của hệ thống đượcthay thế bởi phần cứng mô phỏng
Sự định hình (profiling): thời gian thực thi được đo trong
hệ thống thực thi thực tế
Vấn đề (Problem): trên tổng quát, WCET không thể
được xác định bằng phương pháp dựa trên môi trường,
dữ liệu đầu vào, nó được sử dụng thông qua thời gianthực thi trung bình của toàn hệ thống
Trang 10Hệ thống điều khiển thời gian thực
A/D: analog to digital
D/A: digital to analog
Trang 11Đa xử lý
trực giác các chức năng của hệ thống nhúng.
Tốc độ đa xử lý
Đa phương tiện
Tự động
Đầu ra không đồng bộ
Giao diện người sử dụng
Hệ thống trao đổi thông tin
Trang 12Ví dụ: máy điều khiển
Trang 13Khái niệm đồng thứ tự
triển ES
đồng thứ tự khác
Khó xác định được vết thực thi từ chương trình
Không giấu dữ liệu
Trang 14Phương pháp đồng thứ tự
Ví dụ trong mã assembler của ARM
Trang 15Tiếp cân theo event trigger
Không ưu tiên
Ưu tiên – stack
Ưu tiên – lập lịch
Ưu tiên – đa tiến trình
Trang 16Hệ thống time trigger (TT)
Không xảy ra ngắt bởi bộ thời gian
Bộ lập lịch định trước – không sử dụng thuật toán
Xác định tại trạng thái run-time
Tương tác với môi trường thông qua các giao tiếp
Trang 17Lập lịch TT theo chu kỳ
Đặc điểm
Các tiến trình sau (T2, T3) không thể dự đoán trước khi bắt đầu
Không xảy ra vấn đề gì trong liên lạc giữa các tiến trình hay sử dụng các tài nguyên, như có một thứ tự tĩnh
Trang 18
Ví dụ về lập lịch TT theo chu kỳ
Trang 19Lập lịch TT thực thi tuần hoàn
với độ dài f
phân chia thành các luồng tiến trình nhỏ hơn, thì
nó sẽ không phù hợp, khi các trạng thái local
phải phân chia và lưu thành các trạng thái global
Trang 20Lập lịch TT thực thi tuần hoàn
Tiến trình thực thi trong một frame
f <= p(k) với mọi k (p – chu kỳ đối với tiến trình k)
Chu kỳ P tối thiểu phải là tích của tất cả tiến trình p(k)
Các tiến trình bắt đầu và kết thúc trong khoảng mộtframe
f >= WCET(k) với mọi k
Giữa các lần cấp phát thời gian và deadline của mọitiến trình, xuất hiện ít nhất một frame
2f – gcd(p(k),f) <= D(k) với mọi k (D(k) – deadline củatiến trình k)
Trang 21Lược đồ của điều kiện cuối cùng
Trang 22Ví dụ về lập lịch thực thi tuần hoàn
Trang 23Lập lịch TT
Trong toàn hệ thống TT, cấu trúc điều khiển tạm thời
của mọi tiến trình được thành lập vào khoảng trước hoạtđộng, và được đưa vào trong danh sách đặc tả tiến trình(TDL – Task-Descriptor List), chứa sự lập lịch thực thituần hoàn của mọi hoạt động hệ thống
Lịch được lập sẽ cân nhắc các quyền ưu tiên, và các
quan hệ qua lại lẫn nhau giữa các tiến trình
Dispatcher (sự gửi) được kích hoạt bởi đồng hồ đồng
bộ Nó sẽ tìm kiếm trong TDL, sau đó thực thi các hànhđộng đã được lên kế hoạch trong khoảng thời gian đó
Trang 24Ví dụ về lập lịch TT
Trang 25Kết luận về lập lịch TT
chứng, test và xác thực
động.
Trang 26Hệ thống Even Trigger (ET)
các sự cố ngắt ngoài
Tính động và tính thích nghi (dynamic and adaptive)
-sử dụng chia xẻ tài nguyên, bộ đệm
Tính đảm bảo (guarantees) – trong quá trình run-time hoặc lập lịch ban đầu hệ thống
Trang 27Lập lịch ET không ưu tiên
Cơ chế:
Đối với mỗi sự kiện, sẽ kích hoạt tiến trình tương ứng
Sự kiện được phản ánh bởi
Trang 28Ví dụ về lập lịch ET không ưu tiên
Trang 29Lập lịch ET không ưu tiên
Trang 30Lập lịch ET ưu tiên – Stack
Tiến trình sẽ được ưu tiên so với tiến trình khác
Nếu có sắp xếp của các tiến trình ưu tiên,
có thể sử dụng cơ chế ngăn xếp
Trang 31Lập lịch ET ưu tiên – Stack (tiếp)
Tiến trình phải kết thúc trong thứ tự LILO
Chia xẻ tài nguyên phải theo cơ chế bảo mật, như loại bỏ ngắt, sử dụng semaphore
Trang 32Ví dụ lập lịch ET ưu tiên – Stack
Trang 33Tiến trình
Tiến trình là sự kích hoạt duy nhất của chương trình
Tiến trình có trạng thái riêng của nó
Trang 34tại sẽ được chuyển sang trạng thái mới
Trang 35Đa tiến trình
Mỗi tiến trình được phép chuyển đổi khi gọi hàm
cswitch() (context switch)
Sự riêng biệt trong lập lịch để chọn tiến trình kích hoạttiếp theo
Lợi ích:
Dự đoán xảy ra trạng thái chuyển đổi
Ít lỗi xảy ra khi sử dụng chia xẻ tài nguyên
Trang 36Ví dụ đa tiến trình
Trang 37Tính ưu tiên của đa tiến trình
Trang 38Luồng điều khiển ưu tiên
Trang 39Bài tập
Cho hệ thống thời gian thực với 4 tiến trình được kíchhoạt J1, J2, J3, J4 với thời gian đến và deadline chotheo bảng sau, và hàm lập lịch σ(t) theo sơ đồ sau
Trang 40Bài tập (tiếp)
Hãy xác định
Nhận xét tính khả thi của bộ lập lịch?