Tải bản đầy đủ (.pdf) (40 trang)

Tổng quan về phần mềm trong hệ thống nhúng potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (606.64 KB, 40 trang )

Tổng

quan

về

phần

mềmtronghệ

thống

nhúng
Topics
 Tổng quan chung trong thiếtkế phầnmềm
dành cho hệ thống nhúng
 Sự khác nhau trong hình thức phát triển
phầnmềm
2


Quang

Dũng
Sách

tham

khảo
 P. Marwedel: Embedded System Design
(paperback), Springer Verlag, December 2005,


ISBN: 0387292373.
 G.C. Buttazzo: Hard Real-Time Computing
Systems. Kluwer Academic Publishers, 1997.
 W. Wolf: Computers as Components –
Principles of Embedded System Design. Morgan
Kaufman Publishers, 2000.
 J. Teich: Digitale Hardware/Software Systeme,
Springer Verlag, 1997.
Phát

triểnphầnmềm
WCET –

Trường

hợpxấunhấttrong

thờigianthựcthi
 WCET –làgiớihạntrêntrongthời gian
thựcthicủa các công việc trong hệ thống
 Cầnthiếtchotấtcả các phương thức,
nhằm đảmbảocáctrạng thái thời gian
của ứng dụng
WCET
- WCET
- WCET’

(gầngiớihạn

trên)

- Có

thể

xảy

ra

worst case
- Tuân

theo

thờigianthựcthi
- Tính

tôt

nhấttrongthờigianthựcthi
- Gầngiớihạndưới

dành

cho

best case
- Giớihạndướicóthể

tốtnhấttrongthờigianthựcthi
t

Khoảng

thờigian

thựcthi



thể

xảyra
Sự

hiệuqua củaphương

thức



mức

hệ

thống
Hệ

thống

thựcSựđolường




hình

hóa

Phân

tích
WCET –

tiếp
 Tính phứchợp
 Trong trường hợptổng quát: tính không nhấtquyết
nếutồntạigiớihạn
 Cho những chương trình hạnchế: như các thiếtkế
đơngiản, tính phứctạp dành cho các thiếtkế mới
bao gồm pipelines, caches, interrupt, virtual memory

 Tiếpcận theo hướng phân tích
 Dành cho phầncứng: cầnthiếtcủatổng hợpphần
cứng.
 Dành cho phầnmềm: cầnphảicómáychương trình,
phân tích, sự cầnthiếtcủamộtmôhìnhphầncứng.
Thờigianthực

thi

trung


bình
 Mô hình hóa (simulation): dướicácmức độ khác nhau
trong phân tích tỉ mỉ có thể nhấtcủahệ thống, mô phỏng
trạng thái củamôitrường
 Sự mô phỏng (emulation): mộtphầncủahệ thống được
thay thế bởiphầncứng mô phỏng
 Sựđịnh hình (profiling): thờigianthựcthiđược đo trong
hệ thống thựcthithựctế
 Vấn đề (Problem): trên tổng quát, WCET không thể
đượcxácđịnh bằng phương pháp dựatrênmôitrường,
dữ liệu đầu vào, nó đượcsử dụng thông qua thờigian
thực thi trung bình của toàn hệ thống
Hệ

thống

điềukhiểnthờigianthực
 A/D: analog to digital
 D/A: digital to analog
Đaxử


 Khái niệmcủaxử lý song song phản ánh bằng
trựcgiáccácchứcnăng củahệ thống nhúng.
 Xử lý giúp cho quảnlýthờigianhệ thống:
 Tốc độ đaxử lý
 Đaphương tiện
 Tựđộng
 Đầu ra không đồng bộ
 Giao diệnngườisử dụng

 Hệ thống trao đổi thông tin


dụ: máy

điềukhiển
 Xử lý:
 Điềukhiển đánh
lửa
 Cảm giác tay quay
 Hỗnhợpkhí–
nhiên liệu
 Bộ lọcKalman–
thuậttoánđiều
khiển
Khái

niệm

đồng

thứ

tự
 Các kỹ năng lậptrìnhđượcsử dụng trong phát
triểnES
 Sự gọi hàm quyết định địachỉ trả về
 Đồng thứ tự này sẽ trao quyền điềukhiểncho
đồng thứ tự khác
 Phầnchuyển điềukhiển được nhúng trong mã

 Các vấn đề:
 Khó xác định đượcvếtthựcthitừ chương trình
 Không giấudữ liệu
Phương

pháp

đồng

thứ

tự
 Ví dụ trong mã assembler củaARM
Tổng

quan
 Có rấtnhiềucấu trúc khác nhau củamột
chương trình nhúng.
 Những nguyên tắccơ bản:
 Tiếpcận theo time trigger
 Tính chu kỳ
 Thựcthituần hoàn
 Lậplịch
 Tiếp cân theo event trigger
 Không ưutiên
 Ưutiên–stack
 Ưutiên–lậplịch
 Ưutiên–đatiếntrình
Hệ


thống

time trigger (TT)
 Mô hình đơngiản
 Không xảyrangắtbởibộ thờigian
 Bộ lậplịch định trước – không sử dụng thuậttoán
 Xác định tạitrạng thái run-time
 Tương tác vớimôitrường thông qua các giao tiếp
Lậplịch

TT theo

chu

kỳ
 Bộ thờigianhoạt động đều đặntheochukỳ P
 Tấtcả các tiếntrìnhđềucócùngchukỳ P
 Đặc điểm
 Các tiến trình sau (T2, T3) không thể dựđoán trướckhibắt đầu
 Không xảyravấn đề gì trong liên lạcgiữacáctiếntrìnhhay sử
dụng các tài nguyên, như có mộtthứ tự tĩnh



dụ

về

lậplịch


TT theo

chu

kỳ
Lậplịch

TT thựcthituần

hoàn
 Tiếntrìnhcóthể có các chu kỳ khác nhau
 Chu kỳ P được chia ra thành từng đoạn frame
với độ dài f
 Vấn đề: nếucócáctiến trình dài, và cần được
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
Lậplịch

TT thựcthituần

hoàn
 Điềukiện:
 Tiếntrìnhthực thi trong một frame
f <= p(k) vớimọik (p –chukỳđốivớitiếntrìnhk)
 Chu kỳ P tốithiểuphải là tích củatấtcả tiến trình p(k)
 Các tiếntrìnhbắt đầuvàkết thúc trong khoảng một
frame
f >= WCET(k) vớimọik
 Giữacáclầncấp phát thời gian và deadline củamọi

tiến trình, xuấthiệnítnhấtmộtframe
2f – gcd(p(k),f) <= D(k) vớimọi k (D(k) – deadline của
tiếntrìnhk)
Lược

đồ

của

điềukiệncuốicùng


dụ

về

lậplịch

thựcthituần

hoàn
 Ràng buộc
 f <= min{4,5,20} = 4
 f >= max{1.0, 1.0, 1.8, 2.0} = 2.0
 2f – gcd(p(k), f) <= D(k) vớimọik
⇒ Giải

pháp

f = 2

Lậplịch

TT
 Trong toàn hệ thống TT, cấutrúcđiềukhiểntạmthời
củamọitiếntrìnhđược thành lập vào khoảng trướchoạt
động, và được đưa vào trong danh sách đặctả tiếntrình
(TDL – Task-Descriptor List), chứasự lậplịch thựcthi
tuần hoàn củamọihoạt động hệ thống.
 Lịch đượclậpsẽ cân nhắccácquyền ưu tiên, và các
quan hệ qua lạilẫn nhau giữacáctiến trình.
 Dispatcher (sự gửi) đượckíchhoạtbởi đồng hồđồng
bộ. Nó sẽ tìm kiếm trong TDL, sau đóthựcthicáchành
động đã đượclênkế hoạch trong khoảng thờigianđó.


dụ

về

lậplịch

TT
Kếtluậnvề

lậplịch

TT
 Tính quyết định củalậplịch, dễ dàng kiểm
chứng, test và xác thực
 Sử dụng chia xẻ tài nguyên

 Liên kết ngoài chỉ thông qua polling
 Tính bấtbiếncủamôitrường
 Sẽ có vấn đề nếutiến trình dài
 Không cho phép ngắt?
 Cho phép quyền ưutiêncủatiếntrìnhđang hoạt
động.

×