1.1 Khái ni m h th ng nhúng ệ ệ ố
-Đ nh nghĩa t ng quát: h th ng nhúng là m t thu t ng đ ch m t h th ng có khị ổ ệ ố ộ ậ ữ ể ỉ ộ ệ ố ảnăng ho t đ ng t tr đạ ộ ự ị ược nhúng vào trong môi trường hay m t h th ng khác quyộ ệ ố
mô ph c t p h n Đó là các h th ng tích h p c các ph n c ng(là m t h th ngứ ạ ơ ệ ố ợ ả ầ ứ ộ ệ ốmáy tính xây d ng trên c s s d ng vi x lý- microprocessor-based sytem) và ph nự ơ ở ử ụ ử ầ
m m nhúng trong ph n c ng đó đ th c hi n các bài toán chuyên bi tề ầ ứ ể ự ệ ệ
-Đ nh nghĩa theo t ch c IEEE: h th ng nhúng là m t h th ng tính toán(máy tínhị ổ ứ ệ ố ộ ệ ố
s )n m trong (hay đố ằ ược nhúng vào) s n ph m khác l n h n và r ng thông thả ẩ ớ ơ ằ ường
n đ i v i ng i s d ng Nói r ng ra và đ n gi n h n, khi m t h th ng tính
toán( có th là PC, IPC, PCL, vi x lý, vi h th ng( microcontroller), DSP….) để ử ệ ố ượcnhúng vào trong m t s n ph m hay m t h th ng nào đó và th c hi n m t s ch cộ ả ẩ ộ ệ ố ự ệ ộ ố ứnăng c th c a h th ng đó thì ta g i h th ng tính toán đó là h th ng nhúng.ụ ể ủ ệ ố ọ ệ ố ệ ố
1.2 HT nào là h th ng nhúng (A,B,D,E) ệ ố
A.Các h th ng y t ệ ố ế
B.Các h th ng đi u khi n quy trình công nghi p.ệ ố ề ể ệ
C.Các thi t b truy n thông kỹ thu t s ế ị ề ậ ố
D.Các h th ng có đ tin c y cao và r t cao.ệ ố ộ ậ ấ
1.3 Nêu tên m t s lĩnh v c đ i s ng và công nghi p trong đó có s d ng ng ộ ố ự ờ ố ệ ử ụ ư
d ng c a h th ng nhúng K tên thi t b nhúng đụ ủ ệ ố ể ế ị ượ ử ục s d ng:
Ô tô: Đánh l a đi n t , đi u khi n đ ng c , h th ng phanh,ử ệ ử ề ể ộ ơ ệ ố
Y t : Máy th m tách, máy pha- l c, máy tr timế ẩ ọ ợ
M ng thông tin (WAN, LAN, tho i): B đ nh tuy n, gateway, chuy n m ch m ngạ ạ ộ ị ế ể ạ ạ
1.4 HTN mà m t máy tính đa năng hay máy tính chuyên d ng ? ộ ụ
A.H th ng nhúng là máy tính chuyên d ng, dùng cho ng d ng đ c bi tệ ố ụ ứ ụ ặ ệ
Trang 2M t s ví d đi n hình v h th ng nhúng các h th ng độ ố ụ ể ề ệ ố ệ ố ường d n trong không l u,ẫ ư
h th ng đ nh v toàn c u, v tinh Các thi t b gia d ngệ ố ị ị ầ ệ ế ị ụ : t l nh, lò vi sóng, lòủ ạ
nướng…môi trường nhi t đ cao, đ m l n, đ rung l n.ệ ộ ộ ẩ ớ ộ ớ
2.2 T i sao nói h u h t các h th ng nhúng ho t đ ng v i s ràng bu c v ạ ầ ế ệ ố ạ ộ ớ ự ộ ề
th i gian ờ ?
-Ph n l n các h th ng nhúng ho t đ ng v i s ràng bu c th i gian: yêu c u có th iầ ớ ệ ố ạ ộ ớ ự ộ ờ ầ ờgian cho (đáp ng) đ u ra nhanh, đúng th i đi m, trong m i tứ ầ ờ ể ố ương quan v i th iớ ờ
đi m xu t hi n c a (s ki n) đ u vào.ể ấ ệ ủ ự ệ ầ
-H th ng nhúng có kh năng đáp ng v i s ki n bên ngoài (t các tác nhân bệ ố ả ứ ớ ự ệ ừ ị
ki m soát) nhanh nh y, k p th i, t c là kh năng theo th i gian th c: ể ạ ị ờ ứ ả ờ ự
+Các tác v có đáp ng ràng bu c b i th i h n chót (deadline) ụ ứ ộ ở ờ ạ
+Th i gian phát hi n l i ph i r t ng n (t i thi u); ờ ệ ỗ ả ấ ắ ố ể
+Khi ch y các chu trình vòng l p đi u khi n b ng ph n m m ph i có đáp ng đ uạ ặ ề ể ằ ầ ề ả ứ ầ
ra đúng th i h n; ờ ạ
2.3 a Nêu các ki u ho t đ ng c b n c a h th ng nhúng: ể ạ ộ ơ ả ủ ệ ố
-H thông minhệ
-Ho t đ ng đ c l p: nh n đ u vào t các tác nhân b đi u khi n, x lý và cho đ u ạ ộ ộ ậ ậ ầ ừ ị ề ể ử ầ
ra Th i gian có đ u ra (đáp ng) ph i trong m t khung th i gian nh t đ nh theo ý ờ ầ ứ ả ộ ờ ấ ị
a.Bus c a CPU bao g mủ ồ : Bus đ a ch , Bus d li u, Bus đi u khi nị ỉ ữ ệ ề ể
-Bus đ a chị ỉ : Trong quá trình ho t đ ng, CPU đi u khi n bus đ a ch t i nh ng v tríạ ộ ề ể ị ỉ ớ ữ ị
được chuy n giao t bên ngoài ho c t CPU Đ a ch đây là v trí b nh ho c v tríể ừ ặ ừ ị ỉ ở ị ộ ớ ặ ịvào/ra.xd
-Bus d li u: đữ ệ ược CPU đi u khi n trong suôt chu kỳ ghi d li u và đề ể ữ ệ ược các thi t bế ịkhác đi u khi n trong su t chu kỳ đ c, v n chuy n l nh và d li u bên trong vàề ể ố ọ ậ ể ệ ữ ệngoài CPU
-Bus đi u khi n: đề ể ược đi u khi n b i CPU Bus đi u khi n quy t đ nh lo i c a chuề ể ở ề ể ế ị ạ ủ
kỳ nào di n ra và khi nào d li u sẽ đễ ữ ệ ược đ a lên bus.ư
Trang 3b BUS HT = BUS CPU + m nh h tr m r ng c a BUS CPU: tách tín hi u d n kênh,ạ ỗ ợ ở ộ ủ ệ ồkhuy ch đ i, t o các tin hi u đi u khi n riêng bi tế ạ ạ ệ ề ể ệ
2.5: H th ng nhúng t ệ ố ướ ng tác v i môi tr ớ ườ ng v t lí nh th nào, ph ậ ư ế ươ ng
ti n, công c gì ệ ụ ? Nêu m t s ví d ộ ố ụ ?
H th ng nhúng tệ ố ương tác v i môi trớ ường v t lý qua nhi u phậ ề ương th cứ :
- Qua các b c m bi n (sensor), ghép n i vào h th ng nhúng b ng dây d n, hayộ ả ế ố ệ ố ằ ẫkhông dây
- Thông qua các b chuy n đ i tín hi u ADC, DACộ ể ổ ệ
-Thông qua ghép n i, h p chu n d li uố ợ ẩ ữ ệ
b M t s ví dộ ố ụ :
Phương ti n, công cệ ụ :-Phương ti n đ tệ ể ương tác v i môi trớ ường v t lýậ : chuy n đ iể ổtín hi uệ : tương t -s ADC, s -tự ố ố ương t DAC.ự
- Công c đ tụ ể ương tác v i môi trớ ường v t lýậ : ghép n i và h p chu n tín hi u.ố ợ ẩ ệ
Các m ch ghép n i vào/ra là các m ch đi n t cho phép CPU trao đ i d li u v i cácạ ố ạ ệ ử ổ ữ ệ ớthi t b ngo i vi nh bàn phím, màn hình, máy in….ế ị ạ ư
2.6: Cho m t mô hình qui trình đi u khi n công ngh có ng d ng h th ng ộ ề ể ệ ứ ụ ệ ố nhúng nh hình sau ư :Khoanh vùng cho bi t h th ng nhúng là ph n nào ế ệ ố ầ ?
Vùng N a trên c a hình vẽ \ử ủ
Các thành ph n h p thành c a h th ng nhúngầ ợ ủ ệ ố : ph n c ng, ph n m m, RTOS(Realầ ứ ầ ềTime Operating System)
2.7 :Đ xây d ng m t ki n trúc cho m t h th ng nhúng, ph i tuân th 6 b ể ự ộ ế ộ ệ ố ả ủ ướ c
c b n Các b ơ ả ướ c đó là các b ướ c nào ?
Nêu các pha trong quá trình thi t k m t h th ng nhúng ế ế ộ ệ ố ?
Tr l iả ờ :
6 bướ ơ ảc c b n đ xây d ng m t ki n trúc cho m t h th ng nhúng g mể ự ộ ế ộ ệ ố ồ :
-C n ki n th c t t v ph n c ng (thi t k logic, ki n trúc máy tính, ki n trúc CPU,ầ ế ứ ố ề ầ ứ ế ế ế ếngo i vi, h đi u hành…) ạ ệ ề
-Th trị ường: C n nh n ra các yêu c u c a th trầ ậ ầ ủ ị ường có tác đ ng vào quy trình thi tộ ế
k , bao g mế ồ : kỹ thu t, xu hậ ướng thương m i, nh hạ ả ưởng c a chính tr , xã h i.ủ ị ộ
-M u h th ng là m t m u mô t c a h th ng, ch a đ ng các đ c t khác nhau vẫ ệ ố ộ ẫ ả ủ ệ ố ứ ự ặ ả ềcác thành ph n ph n c ng và ph n m m, ch c năng, các liên k t, giao ti pầ ầ ứ ầ ề ứ ế ế
-Các c u trúc: Đây là bấ ướ ạc t o ra ki n trúc c a HTN Ki n trúc HTN sẽ đế ủ ế ược hìnhthành b ng cách phân đ nh toàn b HTN thành các thành ph n ph n c ng, ph nằ ị ộ ầ ầ ứ ầ
m m, sau đó các thành ph n đó l i đề ầ ạ ược phân đ nh đ n chi ti t.ị ế ế
Trang 4-Phân tích và đánh giá ki n trúc: ki n trúc có đ t các yêu c u, các ki n trúc khácế ế ạ ầ ếnhau v i yêu c u có cùng ch t lớ ầ ấ ượng nh nhau, đánh giá xu hư ướng r i ro h th ng,ủ ệ ố
2.8 :Th nào là phân ho ch ph n c ng và ph n m m khi thi t k m t h ế ạ ầ ứ ầ ề ế ế ộ ệ
th ng nhúng ố ?Th nào là qui trình đ ng thi t k ph n c ng và ph n m m và ế ồ ế ế ầ ứ ầ ề
đ ng ki m nghi m ồ ể ệ ?
Tr l iả ờ :
a.Phân ho ch ph n c ng và ph n m m khi thi t k m t HTNạ ầ ứ ầ ề ế ế ộ :
Là đ c t , n đ nh ch c năng cho ph n c ng và ph n m m, sau đó đi thi t k , môặ ả ấ ị ứ ầ ứ ầ ề ế ế
ph ng và h p nh t.ỏ ợ ấ
b.Qui trình đ ng thi t k ph n c ng và ph n m m và đ ng ki m nghi mồ ế ế ầ ứ ầ ề ồ ể ệ :
Trong kĩ thu t này, thi t k ph n c ng và ph n m m đậ ế ế ầ ứ ầ ề ược ti n hành song song, cácế
ph n h i-hi u ch nh th c hi n liên t c, cho t i khi có k t qu t t nh t qua đ ngả ồ ệ ỉ ự ệ ụ ớ ế ả ố ấ ồ
ki m nghi m Ph n c ngs và ph n m m để ệ ầ ư ầ ề ược ch y cùng nhau trên các máy o.ạ ả
ph n c ng b ng VHDL -> máy o, ph n m m trên máy o -> hi u ch nh liên t c ->ầ ứ ằ ả ầ ề ả ệ ỉ ụmáy đích
2.9:Hãy đ c t các tác v khi th c hi n kh i đ ng h th ng ngu i (cold boot) ặ ả ụ ự ệ ở ộ ệ ố ộ
và kh i đ ng nóng (warm boot)?Hãy cho ví d v cách kh i đ ng v i m t ở ộ ụ ề ở ộ ớ ộ
n p h th ng (boot loader) “nh y” t i đ a ch RESTART hay START c a ph n m mạ ệ ố ả ớ ị ỉ ủ ầ ề
h th ng đ chuy n đi u khi n cho nó.ệ ố ể ể ề ể
Kh i đ ng nóng (waerm boot): CTRL + DEL, b qua m t s test ph n c ng.ở ộ ỏ ộ ố ầ ứ
1 Ví d v cách kh i đ ng v i m t lo i CPU t ch n:ụ ề ở ộ ớ ộ ạ ự ọ
Intel CPU 8085: RESET IP = 0x0000 là đ a ch c a EPROM: kh i đ ng ch đ n iị ỉ ủ ở ộ ế ộ ố
v i Console (Keyboard), sau đó nh y v chớ ả ề ương trình kh i đ ng h : JMP CLDSTở ộ ệ(kh i đ ng ngu i) đ a ch 0x01F1 ở ộ ộ ở ị ỉ
2.10:Khi thi t k HTN c n xây d ng m t mô hình chính t c (formal model) v i ế ế ầ ự ộ ắ ớ các yêu c u đ t ra V y các yêu c u đó là nh ng yêu c u gì? ầ ặ ậ ầ ữ ầ
Trang 5Tr l i:ả ờ
Xây d ng m t mô hình chính t c c a h th ng v i các yêu c u sau đây:ự ộ ắ ủ ệ ố ớ ầ
-Xác đ nh ch c năng: xây d ng t p các m i quan h tị ứ ự ậ ố ệ ường minh hay không tườngminh liên quan t i đ u vào/đ u ra và thông tin tr ng thái bên trong c a h th ng.ớ ầ ầ ạ ủ ệ ố-Xây d ng t p các thu c tính mà thi t k sẽ ph i th a mãn K t h p các thu c tínhự ậ ộ ế ế ả ỏ ế ợ ộ
và t p các quan h vào/ra, tr ng thái h th ng, xác đ nh l i các ch c năng h th ng.ậ ệ ạ ệ ố ị ạ ứ ệ ố-Xây d ng t p các ch s hi u năng đ đánh giá thi t k theo các tiêu chí: giá thành,ự ậ ỉ ố ệ ể ế ếnăng lượng, đ tin c y, t c đ x lý, kích thộ ậ ố ộ ử ước…
-Xây d ng t p các khác bi t coi đó nh nh ng thách th c c a thi t k , đ ra gi iự ậ ệ ư ữ ứ ủ ế ế ề ảpháp gi i quy t.ả ế
-Th c hi n tinh l c thi t k đ có thi t k t ý tự ệ ọ ế ế ể ế ế ừ ưởng đ n mô hình.ế
Xây d ng mô hình hình th c: bự ứ ước sàng l c s d ng cách t ng h p ph n c ng vàọ ử ụ ổ ợ ầ ứ
ph n m m đ chuy n hóa xác đ nh ch c năng vào mô hình ph n c ng c a thi t kầ ề ể ể ị ứ ầ ứ ủ ế ế
được th hi n trong hình dể ệ ưới đây Ko đc b hình vẽ ỏ
3.1 Nêu các thách th c ph i đ i m t khi thi t k m t h th ng nhúng ứ ả ố ặ ế ế ộ ệ ố ?
-Kh năng đáp ng v i các s ki n bên ngoài ph i nhanh nh y, k p th i, t c là khả ứ ớ ự ệ ả ạ ị ờ ứ ảnăng theo th i gian th c.ờ ự
-Có kh năng làm vi c môi trả ệ ở ường kh c nghi t.ắ ệ
-Có giá thành th p hay hi u qu ho t đ ng, giá thành h p lý.ấ ệ ả ạ ộ ợ
-Kích thước nh g n, nh , d dàng d v n chuy n, l p đ t.ỏ ọ ẹ ễ ễ ậ ể ắ ặ
-Tiêu th năng lụ ượng th p, kh năng s d ng ngu n pin, c quy.ấ ả ử ụ ồ ắ
-Ho t đ ng tin c y, ch u l i caoạ ộ ậ ị ỗ
-Tin c yậ : đáp ng các d ch v yêu c u đúng th i h n sau th i gian t tứ ị ụ ầ ờ ạ ờ ừ 0->t.
-Đ tin c y cao n u đ t ~ 10ộ ậ ế ạ -9 s c / gi ự ố ờ
Trang 6-Tính s n sàng caoẵ : n u th i gian s a ch a s c trung bình là MTTR, thì tinh s nế ờ ử ữ ự ố ẵsàng A=MTTF/(MTTF + MTTR)
Ho t đ ng có liên k t v i nhau gi a các HTN và các trung tâm ki m soát khác ạ ộ ế ớ ữ ể Lo iạnày g i là HTN m ng.ọ ạ
Lĩnh v c ng d ngự ứ ụ
Công c tính toán nh các máy tính nh ng ch đ ch y các bài toán nh t đ nh.ụ ư ư ỉ ể ạ ấ ị
X lý tín hi u: các thi t b video th i gian th c, DVD player, thi t b y t …ử ệ ế ị ờ ự ế ị ế
Truy n thông, m ng: thi t b m ng nh router, switchề ạ ế ị ạ ư
H th ng đi u khi n và thu th p d li u.ệ ố ề ể ậ ữ ệ
Ki n trúc và quy môế
HTN quy mô nh v i các xác đ nh nh sauỏ ớ ị ư :
Ph n c ng ít ph c t p, thi t k v i CPU đ n, lo i 4, 8 bits.ầ ứ ứ ạ ế ế ớ ơ ạ
Ph n m m đ n gi n, dùng m t monitor đ ki m soát ho t đ ng.ầ ề ơ ả ộ ể ể ạ ộ
Công c phát tri n ph n m mụ ể ầ ề : so n th o chạ ả ương trình, h p ng vàợ ữ
h p ng chéo, môi trợ ữ ường phát tri n h p nh t s d ng v i vi đi u khi n đã ch n.ể ợ ấ ử ụ ớ ề ể ọ
Tiêu th năng lụ ượng r t ít.ấ
HTN quy mô ph c t pứ ạ
Ph n c ng ph c t pầ ứ ứ ạ : thi t k v i CPU 8, 16 ay 32 bits, hay s d ng viế ế ớ ử ụ
đi u khi n.ề ể
H th ng có c u trúc BUS m r ng đ ghép n i các thi t b ngo i vi.ệ ố ấ ở ộ ể ố ế ị ạ
Ph n m m nhúng tinh vi, có h đi u hành đ th c hi n các nhi m v ,ầ ề ệ ề ể ự ệ ệ ụthao tác đ ng th i.ồ ờ
Công c l p trình: C/C++/Visual C++/Java, RTOS, mã ngu n, công c kiụ ậ ồ ụthu t: Simulator, Debugger Môi trậ ường phát tri n h p nh t.ể ợ ấ
Trang 7các linh ki n h th ng cu i cùng, s d ng công ngh ASIC đ ch t o CPU, vi m chệ ở ệ ố ố ử ụ ệ ể ế ạ ạ
đ ng x lýồ ử
HTN ph n c ng hay HTN ph n m m.ầ ứ ầ ề
HTN theo an toàn s c , hay t an toàn.ự ố ự
HTN đáp ng đứ ược b o đ m hay đáp ng v i n l c t i đa.ả ả ứ ớ ỗ ự ố
HTN v i ngu n tài nguyên đ y đ hay ngu n tài nguyên h n ch ớ ồ ầ ủ ồ ạ ế
(1)Kh năng m r ng RAM, ROM, I/O tùy ý.ả ở ộ
(2)RAM, ROM có dung lượng c đ nh, I/O đ cho m c đích s d ng.ố ị ủ ụ ử ụ
(1)Đa năng, đ t ti n.ắ ề
(2)Không đa năng,tiêu hao ít năng lượng, giá c h p lí cho ng d ng nhúng.ả ợ ứ ụ
(1)Thi t k ch c năng ế ế ứ
(2)Thi t k ch c năng ế ế ứ
(1)C n ph i có các vi m ch RAM, ROM h p thành t bên ngoài vi m ch.ầ ả ạ ợ ừ ạ
2)Được thi t k đ có t t c trong m t Chip ế ế ể ấ ả ộ
(1)Không th k t n i v i ngo i vi ngo i vi, c n có thêm các vi m ch h tr cho ch cể ế ố ớ ạ ạ ầ ạ ỗ ợ ứnăng này
(2)Năng l c tính toán đự ược thi t k t i u cho ng d ng xác đ nh.ế ế ố ư ứ ụ ị
Trang 8(1)Tuy nhiên năng l c tính toán m nh.ự ạ
(2)R t phù h p đ xây d ng các HTN.ấ ợ ể ự
3.4 Cho bi t tên g i c a các ki u ki n trúc là gì ? Ki u ki n trúc nào là thích ế ọ ủ ể ế ể ế
h p h n đ xây d ng các h th ng nhúng (ki u 1 hay ki u 2)? ợ ơ ể ự ệ ố ể ể
Ki u 1: ki n trúc Havardể ế
Ki u 2: ki n trúc Von Neummanể ế
Đi m khác bi t c b n hai ki n trúc này là ch nào ?ể ệ ơ ả ở ế ổ
Bus ki n trúc Havard đở ế ược tách riêng cho l nh và d li u riêng bi tệ ữ ệ ệ
Bus ki n trúc Von Neumman dùng chung cho c l nh và d li uở ế ả ệ ữ ệ
A ADC bi n đ i tế ổ ương t ->s , s hóa cho máy tính x lí s li u ự ố ố ử ố ệ
B DAC bi n đ i s ->tế ổ ố ương t , tín hi u tác đ ng l i h th ng tự ệ ộ ạ ệ ố ương t b đi u khi n,ự ị ề ể
M t chu kỳ máy: là t p h p c a m t s các tr ng thái máy đ CPU hay m t viộ ậ ợ ủ ộ ố ạ ể ộ
m ch khi n m quy n ki m soát Bus h th ng, th c hi n xong m t thao tác trên busạ ắ ề ể ệ ố ự ệ ộ
Trang 9A.Th nào là BUS đ ng b ế ồ ộ ?
Có xung đ ng h h th ng CLK làm chu n cho các ho t đ ng BUS.ồ ồ ệ ố ẩ ạ ộ
Bus đ ng b có m t tín hi u trên đồ ộ ộ ệ ường dây BUS clock d ng sóng vuông, v i t n sạ ớ ầ ố
ví d , trong kho ng vài MHz ÷ GHz M i ho t đ ng bus x y ra đ u qui chi u vàoụ ả ọ ạ ộ ả ề ếBUS Clock, trong m t s nguyên l n chu kỳ này và độ ố ầ ượ ọc g i là chu kỳ bus
B.Th nào là BUS không đ ng b ế ồ ộ ?
Bus không đ ng b không s d ng xung BUS clock, chu kỳ c a nó có th kéo dài tuỳ ýồ ộ ử ụ ủ ể
và có th khác nhau đ i v i các c p thi t b khác nhau, g i là đ i tho i tu n t b iể ố ớ ặ ế ị ọ ố ạ ầ ự ởcác tín hi u đi u khi n.ệ ề ể
Các tín hi u đi u khi n đ ng b ho t đ ng là h qu c a m i thao tác gi a các việ ề ể ồ ộ ạ ộ ệ ả ủ ỗ ữ
m ch ch c năng và CPU trên BUS, ví d nh đ “đ i tho i”.ạ ứ ụ ư ể ố ạ
3.8:Trình đi u khi n thi t b là gì ề ể ế ị ? Ch c năng c a trình đi u khi n thi t b là ứ ủ ề ể ế ị
gì ?
Là m t ph n m m đ kh i đ ng ph n c ng và ph n m m l p cao h n s d ngộ ầ ề ể ở ộ ầ ứ ầ ề ớ ơ ử ụ
đ qu n tr truy nh p vào ph n c ng ghép n i vào máy tính ể ả ị ậ ầ ứ ố
Ph n m m này t ng tác tr c ti p và đi u khi n ph n c ng và đ c t ch c ầ ề ươ ự ế ề ể ầ ứ ượ ổ ứ ở
d ng các th vi n ph n m m ạ ư ệ ầ ề
Khi máy tính có h đi u hành thì TĐKTB là c u n i gi a ph n c ng và h đi uệ ề ầ ố ữ ầ ứ ệ ềhành
A.Ch c năng c a trình đi u khi n thi t ứ ủ ề ể ế
Ghép n i m m gi a ph n m m h th ng (hay CPU) và h th ng các ngu n tàiố ề ữ ầ ề ệ ố ệ ố ồnguyên ph n c ng h th ng.ầ ứ ệ ố
Các ch c năng c b n nh :Kh i đ ng ph n c ng ,T t máy ,C m ph n c ng ho tứ ơ ả ư ở ộ ầ ứ ắ ấ ầ ứ ạ,Cho phép ho t đ ng (Hardware Enable),Dành l y ph n c ng (Hardwareạ ộ ấ ầ ứAcquire).Gi i phóng ph n c ng (Hardware Release) Đ c/ghi d li u (Hardwareả ầ ứ ọ ữ ệRead/write)Cài và tháo d ph n c ng (Hardware Install/Uninstall):.ỡ ầ ứ
B.Nhìn theo ki n trúc ph n m m máy tính, trình thi t b đ ế ầ ề ế ị ượ c đ t đâu ặ ở ?
Dưới ph n m m h th ng và trên ph n c ngầ ề ệ ố ầ ứ
3.9.Th nào là trình đi u khi n xác đ nh theo ki n trúc ế ề ể ị ế
Đi theo ki n trúc (architecture-specific) c a HTNế ủ
Qu n tr ph n c ng h p nh t v i CPU ả ị ầ ứ ợ ấ ớ
Trang 10 Các ki n trúc ki u microcontroller, hay ki n trúc Havard v i b nh trên chip,ế ể ế ớ ộ ớ
c ng, vi m ch qu n tr b nh (memory management Unit-MMU), các ph n c ngổ ạ ả ị ộ ớ ầ ứ
d u ph y đ ng, các ADC/DAC h p nh t trên bo m ch, thu c l p này.ấ ẩ ộ ợ ấ ạ ộ ớ
Th nào là trình đi u khi n t ng quát (hay trình đi u khi n trên bo m ch) ế ề ể ổ ề ể ạ
Đi u khi n các thi t b n m trên bo m ch chính nh ng không h p nh t vào chip v iề ể ế ị ằ ạ ư ợ ấ ớCPU Đa d ng, h tr cho nhi u ki n trúc khác nhau có dùng cung m t lo i thi t bụ ổ ợ ề ế ộ ạ ế ị
tương thích
Hãy nêu m t s lo i trình đi u khi n thi t b đi n hình ? ộ ố ạ ề ể ế ị ể
Đi u khi n BUS I2C, PCI, cache L2, MMU,m ng, x lí kí t i/o, ISRề ể ạ ử ự
3.10Nêu các thao tác c a trình đi u khi n thi t b khi đ ủ ề ể ế ị ượ c kích ho t ạ ?
A Kh i đ ng HW, t t HW, C m/cho phép ng t, tranh dành tài nguyên HW, gi i phóngở ộ ắ ấ ắ ả
HW, truy nh p thi t b , đ c/ghi d li u, cài/tháo d ph n m m ĐKTB.ậ ế ị ọ ữ ệ ỡ ầ ề
B Thông tin v thi t b , thu c tính thi t b , đ nh danh ki u thi t b , cách thi t bề ế ị ộ ế ị ị ể ế ị ế ị
ho t đ ng, giao di n v i máy tính, ghép n i k thu t,ạ ộ ệ ớ ố ỉ ậ
C Kh i đ ng các thông s cho PIC, cho phép PIC nh n ng t, ISR: c m ng t (n uở ộ ố ậ ắ ấ ắ ế
c n), b o v các thanh ghi, th c thi x lí, khôi ph c các thanh ghi, IRETầ ả ệ ự ử ụ
3.11: Hãy ch n câu tr l i cho là đúng khi nói v h th i gian th c: ọ ả ờ ề ệ ờ ự
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 ầ ộ
Trang 113.12 Cho bi u đ liên quan t i tác th i đi m th c hi n m t tác v th i gian ể ồ ớ ờ ể ự ệ ộ ụ ở ờ
th c ự
Thông s ai, ri, si ố
Trang 12Th i gian xu t hi n ờ ấ ệ ai (arrival time): Khi s ki n x y ra và tác v t ự ệ ả ụ ƣơ ng ng ứ
Th i gian tính toán/th c thi ờ ự ci (Computation time): Là kho ng th i gian c n thi t đả ờ ầ ế ể
b x lý th c hi n xong nhi m v c a mình mà không b ng t ộ ử ự ệ ệ ụ ủ ị ắ
Th i đi m hoàn thành ờ ể fi (finishing time): Là th i đi m mà t i đó tác v hoàn thànhờ ể ạ ụ
vi c th c hi n c a mình ệ ự ệ ủ
Th i gian r i ro/ x u nh t ờ ủ ấ ấ wi(worst case time): kho ng th i gian th c hi n lâu nh tả ờ ự ệ ấ
có th x y ra, dung sai m m = wi-di ể ả ề
Th i đi m k t thúc dờ ể ế i (due time-deadline): Th i đi m mà tác v ph i hoàn thành ờ ể ụ ả
B/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 ệ ứ C/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 ầ ơ ế ừ ể ạ ừ ộ ễ
4.1:
A.Hãy đ c t ki n trúc CPU ki u Von Neumman và ki n trúc CPU ki u Harvard ặ ả ế ể ế ể
Ki n trúc CPU ki u Von Neumannế ể
Trang 13-Ki n trúc von-Neumann đế ược nhà toán h c John von-Neumann đ a ra vào nămọ ư
1945 trong m t báo cáo v máy tính EDVAC.ộ ề
-H th ng BUS đ a ch và BUS d li u, BUS đi u khi n chung cho toàn b h th ng,ệ ố ị ỉ ữ ệ ề ể ộ ệ ố
b nh chia s chung cho toàn h th ng v i vùng mã l nh (code) và d li uộ ớ ẻ ệ ố ớ ệ ữ ệ(data) trên cùng không gian đ a ch b nh và BUS d li u không th truy n đ ngị ỉ ộ ớ ữ ệ ể ề ồ
th i mã l nh và d li u cùng m t th i đi m.ờ ệ ữ ệ ộ ờ ể
-Các đ c đi m c a ki n trúc máy tính von-Neumann:ặ ể ủ ế
+M t b nh duy nh t độ ộ ớ ấ ược dùng đ l u tr d li u (data) và l nh (instructions)ể ư ữ ữ ệ ệ+D li u và l nh đữ ệ ệ ượ ưc l u tr trong các ph n riêng c a b nhữ ầ ủ ộ ớ
+B nh độ ớ ược đánh đ a ch theo vùng, không ph thu c vào lo i d li u mà nó l uị ỉ ụ ộ ạ ữ ệ ư
4) L u k t qu ra RAM qua Data BUS ư ế ả
Nh v y BUS d li u là kênh duy nh t đ trao đ i d li u, do v y ta nói BUS dư ậ ữ ệ ấ ể ổ ữ ệ ậ ữ
li u b “bão hòa”, hi u năng tính toán b h n ch V i các CPU hi n đ i BUS dệ ị ệ ị ạ ế ớ ệ ạ ữ
li u đệ ược c i ti n r t nhi u, đ c bi t là giao th c BUS và đ ng h BUS đả ế ấ ề ặ ệ ứ ồ ồ ược nângcao đ c i thi n h n ch nói trên.ể ả ệ ạ ế
Ki n trúc Harvardế
-Howard Aiken (1900-1973) khi xây d ng máy tính v i các relé đã tách các b nhự ớ ộ ớ
d li u (RAM) và b nh chữ ệ ộ ớ ương trình v i các bus riêng rẽ đ truy c p vào b nhớ ể ậ ộ ớ
d li u (RAM) và b nh chữ ệ ộ ớ ương trình (NVM Non Volatile Memory: ROM, FLASH)
ch a ph n m m nhúng (h đi u hành, Device drivers, ng d ng nhúng ).ứ ầ ề ệ ề ứ ụ
-Các bus đi u hành đ c l p, các ch d n chề ộ ậ ỉ ẫ ương trình và d li u có th đữ ệ ể ược đ a raưcùng m t lúc, c i thi n t c đ so v i thi t k v i ch m t bus ộ ả ệ ố ộ ớ ế ế ớ ỉ ộ
-Phân bi t rõ ràng b nh d li u và b nh chệ ộ ớ ữ ệ ộ ớ ương trình, CPU có th v a đ c m tể ừ ọ ộ
l nh, v a truy c p d li u t b nh cùng lúc.ệ ừ ậ ữ ệ ừ ộ ớ
-Do các bus đ c l p, CPU có kh năng tìm trộ ậ ả ước, nên v i ki n trúc Harvard chớ ế ươngtrình ch y nhanh h n, b i vì nó có th th c hi n ngay l nh ti p theo khi v a k tạ ơ ở ể ự ệ ệ ế ừ ếthúc l nh trệ ước đó
Trang 14-Tuy nhiên v ki n trúc có ph n ph c t p h n trong ph n c ng, nh ng cho hi u quề ế ầ ứ ạ ơ ầ ứ ư ệ ả
đ truy c p vào b nh d li u và b nh chể ậ ộ ớ ữ ệ ộ ớ ương trình ch a ph n m m nhúng.ứ ầ ề
(1)Bus d li u không th truy n đ ng th i mã l nh và d li u cùng m t th i đi mữ ệ ể ề ồ ờ ệ ữ ệ ộ ờ ể(2)Các bus đi u hành đ c l p, các ch d n chề ộ ậ ỉ ẫ ương trình và d li u có th đữ ệ ể ược đ aư
Trang 154.2 :Nêu (vẽ ) mô hình t ng quát ph n c ng c a m t h th ng nhúng ổ ầ ứ ủ ộ ệ ố ?
B.Nêu ch c năng c a t ng kh i c a mô hình đóứ ủ ừ ố ủ ?
-Các b s hóa (A/D) và tộ ố ương t hóa (D/A).ự
-Ghép n i v i các h th ng khác: liên k t các HTN khác, m ng d li u, Trung tâmố ớ ệ ố ế ạ ữ ệ
đi u khi n SCADA, … ề ể
-Ghép n i BUS h th ng ố ệ ố
-CPU, RAM, ROM (FLASH)
4.3 Nói H th ng nhúng là m t h th ng đáng tin c y (dependable), vì các đ c ệ ố ộ ệ ố ậ ặ tính sau đây :
-Tin c y (Reliability): lý tậ ưởng là không có s c h ng hóc.ự ố ỏ
HTN là m t ki u máy tính có yêu c u v ch t lộ ể ầ ề ấ ượng và đ tin c y r t cao, ho tộ ậ ấ ạ
đ ng độ ược trong các môi trường kh c nghi t v nhi t đ (cao, hay r t th p), đắ ệ ề ệ ộ ấ ấ ộ
m cao, đ rung đ ng l n, nhi u sóng đi n t v.v
Trang 16-Ch c ch n (ắ ắ Safety): n u có s c x y ra, HTN không gây ra nh ng tác h i khác c aế ự ố ả ữ ạ ủtoàn h th ng.ệ ố
-An ninh (Security): d li u c a HTN đữ ệ ủ ược b o m t, truy nh p ph i có xác nh n (víả ậ ậ ả ậ
d , HTN là các thi t b ).ụ ế ị
4.4
A.T cách xác đ nh đ a ch cho d ch v x lí ng t (Interrupt Service Routine-ISR) sauừ ị ị ỉ ị ụ ử ắđây :
-Đ a ch c a ISR đã đị ỉ ủ ược đ nh s n bên trong CPUị ẳ ;
-Đ a ch c a ISR đị ỉ ủ ược ch đ nh m t ch nào đó trong b nh , ho c ph i th c hi nỉ ị ộ ổ ộ ớ ặ ả ự ệ
m t l nh nh y (JMP addr) t i đ a ch hi n t i c a ISRộ ệ ả ớ ị ỉ ệ ạ ủ ;
-Thi t b ngo i vi ph i cung c p cho CPU đ a ch c a ISR thông qua s hi u ng t.ế ị ạ ả ấ ị ỉ ủ ố ệ ắHãy ch nọ các kh năng đ nh đ a ch phù h p v i ki u t ch c ng t sau:ả ị ị ỉ ợ ớ ể ổ ứ ắ
A.Ng t c đ nh làắ ố ị : 1 ? hay 2 ? hay 3 ?
B.Ng t vector làắ : 1 ? hay 2 ? hay 3 ?
a Ng t c đ nh - 2ắ ố ị
b Ng t vector - 3ắ
B Ng t c ngắ ứ
Trang 17Là các yêu c u ng t CPU do các tín hi u đ a đ n t các chân INTR và NMI Khác v iầ ắ ệ ư ế ừ ớ
ng t m m, ng t c ng không đắ ề ắ ứ ược kh i đ ng b i chở ộ ở ương trình mà b i các thànhở
ph n có trong ph n c ng c a h vi x lý (các thi t b ngo i vi bên trong và bênầ ầ ứ ủ ệ ử ế ị ạngoài) Lo i ng t này là m t c c u đ n gi n và hi u qu đ b vi x lý ph n ngạ ắ ộ ơ ấ ơ ả ệ ả ể ộ ử ả ứ
k p th i v i các s ki n không đ ng b x y ra trong h vi x lý.ị ờ ớ ự ệ ồ ộ ả ệ ử
Ví d minh ho đ n gi n là ho t đ ng c a ng t bàn phím M i khi n hay nh m tụ ạ ơ ả ạ ộ ủ ắ ỗ ấ ả ộphím thì ng t bàn phím sẽ đắ ược kích ho t Chạ ương trình x lý ng t bàn phím sẽử ắ
được kh i đ ng b ng cách chuy n ký t đở ộ ằ ể ự ượ ấc n vào vùng b đ m c a bàn phím,ộ ệ ủ
x p ngay sau ký t đế ự ượ ấc n l n trầ ước Cũng nh m i ng t khác, vi c th c hi nư ọ ắ ệ ự ệ
chương trình chính sẽ được khôi ph c ngay sau khi chụ ương trình con x lý ng t bànử ắphím k t thúc.ế
C Ng t m m Ng t m m là ng t đắ ề ắ ề ắ ược g i b ng m t l nh trong chọ ằ ộ ệ ở ương trình ngôn
ng máy ữ L nh đó là INT mn (trong đó INT là mã l nh, mn là s hi u ng t) Các ng tệ ệ ố ệ ắ ắ
m m cho phép g i tr c ti p các chề ọ ự ế ương trình con ph c v ng t ch a trong th vi nụ ụ ắ ứ ư ệ
chương trình Nói cách khác, l nh ng t m m b n ch t là m t l nh g i chệ ắ ề ả ấ ộ ệ ọ ương trìnhcon đ c bi t, nó đặ ệ ược g i m t cách ch đ ng b ng chọ ộ ủ ộ ằ ương trình c a ngủ ườ ậi l ptrình
4.5A Ng t có che ắ
Ng t che đắ ược là t t c các yêu c u ng t đấ ả ầ ắ ược đ a t i chân INTR c a CPU CPU cóư ớ ủ
th c m (che)/ph c v các ng t này ph thu c vào giá tr c a c ng t IF (IF = 0 -ể ấ ụ ụ ắ ụ ộ ị ủ ờ ắ
c m, IF = 1 - cho phép) Các l nh Assembly nh CLI (xoá c ng t) và STI (thi t l p cấ ệ ư ờ ắ ế ậ ờ
ng t) sẽ tác đ ng đ n c này Khi m t ng t b che, thì m c dù đắ ộ ế ờ ộ ắ ị ặ ược g i, chọ ương trìnhcon ph c v ng t tụ ụ ắ ương ng cũng không đứ ược th c hi n.ự ệ
B Ng t không cheắ
Ng t không che đắ ược là t t c các yêu c u ng t đấ ả ầ ắ ược đ a t i chân NMI c a CPU.ư ớ ủCác ng t này luôn đắ ược ph c v b t ch p giá tr c a c IF Chụ ụ ấ ấ ị ủ ờ ương trình con ph c vụ ụ
ng t lo i này thắ ạ ường là các chương trình có ch c năng thông báo các s ki n quanứ ự ệ
tr ng nh t c a h th ng nh s c ngu n nuôi, s c th i gian th c, ọ ấ ủ ệ ố ư ự ố ồ ự ố ờ ự
C Hãy đ c t các bặ ả ước mà CPU sẽ th c hi n khi ch p nh n x lí m t ng tự ệ ấ ậ ử ộ ắ ?
CPU x lý ng t (c ng và m m) thông qua các bử ắ ứ ề ước sau:
1 C t thanh ghi c (FR) vào ngăn x p và gi m SP đi 2 đ n v (vì thanh ghi c là thanhấ ờ ế ả ơ ị ờghi 2 byte)
2 Xoá c hai c cho phép ng t IF và c b y TF Khi đó sẽ che các yêu c u ng t khácả ờ ắ ờ ẫ ầ ắ
đ a đ n chân INTR và hu b ch đ ch y t ng l nh trong khi CPU th c hi nư ế ỷ ỏ ế ộ ạ ừ ệ ự ệCTCPVN Tuỳ thu c vào ch đ ng t mà ngộ ế ộ ắ ườ ậi l p trình có th hu b vi c che chânể ỷ ỏ ệINTR b ng l nh STI.ằ ệ
3 C t CS hi n hành vào ngăn x p và gi m SP đi 2 đ n v ấ ệ ế ả ơ ị
4 C t IP hi n hành vào ngăn x p và gi m SP đi 2 đ n v ấ ệ ế ả ơ ị
Trang 185 Th c hi n truy c p vào b ng vector ng t b ng cách xác đ nh đ a ch v t lý c aự ệ ậ ả ắ ằ ị ị ỉ ậ ủvector ng t thông qua s hi u ng t tắ ố ệ ắ ương ng, qua đó c p nh t giá tr CS và IP m iứ ậ ậ ị ớ
c a CTCPVN.ủ
6 V i c p CS:IP m i, CPU b t đ u nh n và th c hi n các l nh c a CTCPVN.ớ ặ ớ ắ ầ ậ ự ệ ệ ủ
7 L nh cu i cùng c a CTCPVN là l nh IRET L nh này thông báo đ CPU t i l i giá trệ ố ủ ệ ệ ể ả ạ ị
IP, CS và thanh ghi c t ngăn x p và nh v y, CPU có th th c hi n ti p chờ ừ ế ờ ậ ể ự ệ ế ươngtrình t i n i nó b ng t.ạ ơ ị ắ
D Khi vi t mã cho d ch v x lí ng t (Interrupt Service Routine-ISR), c n đ c bi tế ị ụ ử ắ ầ ặ ệquan tâm đ n gìế ? T i saoạ ?
Đ y các thanh ghi c a CPU vào stackẩ ủ
Th c hi n vi c c m ng t đ tránh đ qui ng t n u c n ho c c m các ng t khácự ệ ệ ấ ắ ể ệ ắ ế ầ ặ ấ ắ
Mã x lí c a ISRử ủ
Khôi ph c các thanh ghi c a CPUụ ủ
Khôi ph c l i kh năng ch p nh n ng t cho các ng t t m c mụ ạ ả ấ ậ ắ ắ ạ ấ
Quay v ch ng trình chính ề ươ
4.6Hãy ch n nh ng tiêu chí cho là đúng v i c ch trao đ i d li u ki u truy ọ ữ ớ ơ ế ổ ữ ệ ể
nh p tr c ti p b nh (DMA) ậ ự ế ộ ớ :
A.C n có m t vi m ch (DMAC) đi u khi n qui trình DMA.ầ ộ ạ ề ể
B.CPU v n ki m soát BUS h th ng.ẫ ể ệ ố
C.CPU trao cho vi m ch DMAC quy n ki m soát BUS h th ng.ạ ề ể ệ ố
D.CPU v n th c hi n ch y chẫ ự ệ ạ ương trình n u chế ương trình đó không có đòi h i truyỏ
nh p BUS h th ng.ậ ệ ố
E.Trong khi x y ra ch đ DMA, lo i CPU nào v n có th tìm l nh và th c hi n l nhẩ ế ộ ạ ẫ ể ệ ự ệ ệ
b nh l nh (code) n u không truy nh p t i b nh d li u
(DMA: Direct Memory Access)
Có 3 phương pháp đi u khi n h th ng vào ra:ề ể ệ ố
-Vào ra b ng chằ ương trình
-Vào ra b ng ng tằ ắ
-Truy c p b nh tr c ti p DMAậ ộ ớ ự ế
Nhược đi m chính c a 2 phể ủ ương pháp đ u là CPU tham gia tr c ti p vào trao đ iầ ự ế ổ
d li u và vi c trao đ i lữ ệ ệ ổ ượng d li u nh Đ kh c ph c hai phữ ệ ỏ ể ắ ụ ương pháp trên m tộ
phương pháp m i có tên DMA sẽ s d ng thêm m t Module ph n c ng có DMACớ ử ụ ộ ầ ứ(DMA Controller) Vì v y khi trao đ i d li u không c n CPU.ậ ổ ữ ệ ầ
->Tiêu chí A là đúng
Hình sau cho th y có các đấ ược liên h tr c ti p gi a b nh chính và các ngo i việ ự ế ữ ộ ớ ạqua chip DMAC mà không qua CPU
Trang 19->Tiêu chí C là đúng -> Tiêu chí B là sai
Theo nh hình trên, khi chư ương trình yêu c u truy nh p bus h th ng thì nó giaoầ ậ ệ ố
ti p thông qua DMAC Còn khi thi t b không có yêu c u truy nh p bus h th ng thìế ế ị ầ ậ ệ ốCPU v n th c hi n ch y chẫ ự ệ ạ ương trình -> Tiêu chí D là đúng
E cũng đúng nh ng mà e đek bi t gi i thích, th y cũng ch b o là : E đúng thôi ư ế ả ầ ỉ ả
4.7: A.Th nào là l p l ch h ế ậ ị ướ ng vào/ra (h ướ ng I/O) ?
B.Th nào là l p l ch hế ậ ị ướng CPU ?
C.Th nào là l p l ch tĩnh (static/offline)ế ậ ị ? Th nào là l p l ch đ ng (online)ế ậ ị ộ ?
D.Th nào là l p l ch có th chen ngang (ế ậ ị ể preemptive algorithms) và l p l ch khôngậ ị
th chen ngang (non-preemptive algorithms) ?ể
Bài làm:
A.L p l ch hậ ị ướng vào/ra(I/O bound) có nghĩa ti n trình s d ng nhi u thao tác I/Oế ử ụ ề
và s d ng nhi u th i gian đ đ i k t qu I/O.ử ụ ề ờ ể ợ ế ả
B.L p l ch hậ ị ướng CPU(CPU bound) là l p ti n trình s d ng ph n l n th i gian c aớ ế ử ụ ầ ớ ờ ủCPU đ th c hi n x lý.ể ự ệ ử
C.L p l ch tĩnh và đ ng.ậ ị ộ
-L p l ch tĩnh(offline): Vi c l p l ch đậ ị ệ ậ ị ược th c hi n d a trên các hi u bi t ho c dự ệ ự ể ế ặ ựbáo v các s ki n tác v th c hi n trong h th ng(th i đi m xu t hi n, th i gianề ự ệ ụ ự ệ ệ ố ờ ể ấ ệ ờ
th c hi n, h n chót ự ệ ạ ước tính) và được quy t đ nh t i th i đi m thi t k và đế ị ạ ờ ể ế ế ược áp
d ng c đ nh trong su t quá trình ho t đ ng c a h th ng, phân ph i x lý chu nụ ố ị ố ạ ộ ủ ệ ố ố ử ẩtheo th i gian, và đờ ược giám sát b i timer g i là time trigged(TT system).ở ọ
-L p l ch đ ng(online): B x lý th c hi n vi c l p l ch trong quá trình th c thi(runậ ị ộ ộ ử ự ệ ệ ậ ị ựtime) d a trên c s các thông tin ho t đ ng hi n hành c a h th ng S đ l p l chự ơ ở ạ ộ ệ ủ ệ ố ơ ồ ậ ị
là không xác đ nh trị ước và thay đ i đ ng theo quá trình th c hi n, linh ho t theo sổ ộ ự ệ ạ ự
ki n.ệ
D.L p l ch chen ngang và không th chen ngang.ậ ị ể
L p l ch chen ngang(preemptive): Gi i thu t đậ ị ả ậ ượ ử ục s d ng n u có tác v nào đó cóế ụ
th i gian th c thi quá lâu, nó có th b tác v khác ng t hay n u m t s ki n bênờ ự ể ị ụ ắ ế ộ ự ệngoài c n th i gian đáp ng ng n, s ki n đó sẽ ng t s ki n khác Hay nói cáchầ ờ ứ ắ ự ệ ắ ự ệkhác m t tác v sẽ b ng t b i m t tác v khác hay tác v có m c u tiên cao h nộ ụ ị ắ ở ộ ụ ụ ứ ư ơ
ng t khi đang x lý, có tính đ qui.ắ ử ệ
-L p l ch không th chen ngang(non-preemptive): Gi i thu t gi đ nh r ng các tác vậ ị ể ả ậ ả ị ằ ụ
sẽ th c hi n cho t i khi hoàn t t Nh v y n u có m t tác v th c thi quá lâu, thì đápự ệ ớ ấ ư ậ ế ộ ụ ự
ng cho các s ki n ngoài sẽ lâu
Trang 204.8 Đ nh th i (watch-dog) là gì? ị ờ
Đ nh th i là khung th i gian th c n đ nh cho m t x lý ph i hoàn thành.ị ờ ờ ự ấ ị ộ ử ả
B giám sát đ nh th i (watchdog timer) là đ ng h th i gian c ng (dùng các bộ ị ờ ồ ồ ờ ứ ộ
đ m đi n t ) v i các ng d ng sau đây:ế ệ ử ớ ứ ụ
+Làm đ ng h th i gian th c cho h th ng.ồ ồ ờ ự ệ ố
+Kh i đ ng/kh i đ ng l i m t s ki n sau m t th i gian đ t trở ộ ở ộ ạ ộ ự ệ ộ ờ ặ ước
+T o khung c a s th i gian cho m t s ki n.ạ ử ổ ờ ộ ự ệ
+Phân gi i kho n th i gian gi a hai s ki n.ả ả ờ ữ ự ệ
+Chó canh ch ng hay đ ng h th i gian m m (l p các giá tr đ m cho m t bi nừ ồ ồ ờ ề ậ ị ế ộ ế
chương trình), các thao tác tăng/gi m giá tr đ m th c hi n b ng l nh máy, do đóả ị ế ự ệ ằ ệ
ph thu c vào CPU clock (m i lo i CPU có clock khác nhau).ụ ộ ỗ ạ
a.Vai trò c a đ nh th i trong h th i gian th c:ủ ị ờ ệ ờ ự
Trong các h th i gian th c, trong đó có HTN, watchdog r t quan tr ng, đệ ờ ự ấ ọ ược sử
d ng đ t đ ng kh i đ ng l i m t ng d ng nhúng hay th m chí c h th ng vụ ể ự ộ ở ộ ạ ộ ứ ụ ậ ả ệ ố ề
tr ng thái ban đ u mà không có s can thi p c a con ngạ ầ ự ệ ủ ười Trong các CPU nhúng ta
th y có vài b đ m th i gian c ng, đ t các giá tr khác nhau cho các ng d ng quanấ ộ ế ờ ứ ặ ị ứ ụ
tr ng, mà trong khung th i gian đó ng d ng ph i k t thúc hay ph i đ a ra đọ ờ ứ ụ ả ế ả ư ượcđáp ng, n u không (kh năng có s b t thứ ế ả ự ấ ường) ng d ng sẽ đứ ụ ược watchdog kh iở
đ ng l i t đ u ộ ạ ừ ầ
b.Phát th o m t gi i thu t x lý có tác nhân giám sát c a đ nh th i?ả ộ ả ậ ử ủ ị ờ
M i tác v khác bi t th c thi b i m t “main loop”, n u k t thúc hoàn h o, đ t cỗ ụ ệ ự ở ộ ế ế ả ặ ờ
tr ng thái lên (Flagi set=TRUE) T t c các main loop th c hi n t i đa trong 35 microạ ấ ả ự ệ ốgiây Sau vòng cu i cùng là đo n mã ki m tra:ố ạ ể
N u t t c các Flags đ u là TRUE, kh i đ ng chu kì watchdog m i (50 micro giây),ế ấ ả ề ở ộ ớ
n u Flags = FALSE, ghi nh n s c và đ t t t c Flags = FALSE, watchdog không đế ậ ự ố ặ ấ ả ược
kh i đ ng l i trong th i gian 50 micro giây, đ u ra c a b đ m watchdog sẽ kíchở ộ ạ ờ ầ ủ ộ ế
ho t RESET h th ng ạ ệ ố
Trang 21else //n u th c hi n đo n code này có nghĩa ế ự ệ ạ
//counter sẽ vượt 50 giây n đ nh xung đ u ra sẽ RESET CPU ấ ị ầ {
Log eror; //Record failure
Reset System; //WD reset CPU
ti p, đ m b o chi phí th i gian là ít nh t.ế ả ả ờ ấ
-Trong RTOS có m t ph n độ ầ ược g i là b l p l ch, l u v t các tr ng thái c a m i tácọ ộ ậ ị ư ế ạ ủ ỗ
v và quy t đ nh m t tác v duy nh t sẽ đi vào tr ng thái Running B l p l ch trongụ ế ị ộ ụ ấ ạ ộ ậ ịRTOS nhìn vào m c u ti n đứ ư ệ ược gán cho m i tác v và tác v nào có m c u tiênỗ ụ ụ ứ ưcao nh t sẽ đấ ược th c hi n Các tác v có m c u tiên th p h n sẽ đ i cho đ n khiự ệ ụ ứ ư ấ ơ ợ ế
b x lý độ ử ược gi i phóng N u m t tác v đang ch y, xu t hi n m t tác v khác cóả ế ộ ụ ạ ấ ệ ộ ụ
m c u tiên cao h n đứ ư ơ ược kích ho t thì RTOS sẽ d ng tác v đang ch y và sẽ ch yạ ừ ụ ạ ạtác v u tiên cao h n.ụ ư ơ
-TĐKTB là ph n h p nh t c a h đi u hành.ầ ợ ấ ủ ệ ề
Trang 224.10 :
A,Có th nói trong h th i gian th c, h u h t các ho t đ ng x lí đ u do b l p bi uể ệ ờ ự ầ ế ạ ộ ử ề ộ ậ ể
ki m soát (nh hình dể ư ưới) Hãy gi i thích t i sao nh v yả ạ ư ậ ?
B.Th nào là m t h th ng nhúng th i gian th cế ộ ệ ố ờ ự ?
Bài làm:
A.M t h th ng th i gian th c c ng ph i th c hi n m t t p h p các nhi m v th iộ ệ ố ờ ự ứ ả ự ệ ộ ậ ợ ệ ụ ờgian th c đ ng th i và t t c các nhi m v quan tr ng đ u ph i đáp ng đúng th iự ồ ờ ấ ả ệ ụ ọ ề ả ứ ờgian quy đ nh c a chúng Trong khi CPU không th th c hi n cùng m t lúc 2 tác vị ủ ể ự ệ ộ ụ
và ngu n tài nguyên cũng có gi i h n Vì v y c n ph i có m t k ho ch phân b vàồ ớ ạ ậ ầ ả ộ ế ạ ổgán quy trình th c thi các tác v cho b x lý sao cho m i tác v đự ụ ộ ử ỗ ụ ược th c hi nự ệhoàn toàn K ho ch phân b đó chính là “L p l ch” L p l ch chính là k ho ch đ nhế ạ ổ ậ ị ậ ị ế ạ ị
th i cho các tác v ờ ụ
B.HTN th i gian th c là HTN có th đờ ự ể ượ ạc t o thành khi có ph n c ng nhúng và ph nầ ứ ầ
m m h th ng là RTOS(H đi u hành th i gian th c) M i quan h gi a h th i gianề ệ ố ệ ề ờ ự ố ệ ữ ệ ờ
th c và HTN nh hình dự ư ưới đây
Hình cho th y r ng không ph i t t c HTN đ u là HTN th i gian th c và ngấ ằ ả ấ ả ề ờ ự ượ ạc l ikhông ph i t t c h th i gian th c là HTN.ả ấ ả ệ ờ ự
4.11:A.Th nào là ph n m m trung gian trong m t h th ng nhúng? ế ầ ề ộ ệ ố
Trong HTN, PMTG được coi nh ph n m m h th ng PMTG gi ng nh c u n i gi aư ầ ề ệ ố ố ư ầ ố ữcác ph n m m khác c a ph n m m h th ng, cung c p các d ch v cho các ph nầ ề ủ ầ ề ệ ố ấ ị ụ ầ
m m ng d ng nh : an ninh h th ng, k t n i m ng, truy n thông c c b gi a cácề ứ ụ ư ệ ố ế ố ạ ề ụ ộ ữ
ng d ng trong h th ng, mang l i s linh ho t khi tri n khai các ng d ng V i v
trí “trung gian”, các PMTG làm gi m đáng k tính ph c t p c a các ng d ng, vì cácả ể ứ ạ ủ ứ ụ
ti n ích đã có s n và chia s ngay trong PMTG.ệ ẵ ẻ
B.Trong các hìnbh sau a, b, c, d, hình nào sai khi đ t ph n m m trung gian vào các l pặ ầ ề ớ
Trang 23gian Hãy ch n m t mô hình trong các mô hình trên đọ ộ ược cho là phù h p đ xây d ngợ ể ựcác h th ng nhúng đ c pệ ố ề ậ ?
Mô hình phù h p v i h th ng đợ ớ ệ ố ược đ c p đây là mô hình (d)ề ậ ở
Trang 24ph n c ng, cung c p ngu n tài nguyên ph n c ng và ph n m m trung gian khác choầ ứ ấ ồ ầ ứ ầ ề
ph n m m ng d ng, th c thi mã ph n m m ng d ng sao cho hi u qu và n đ nh.ầ ề ứ ụ ự ầ ề ứ ụ ệ ả ổ ị
B.Đ c t ch c năng các l p ph n m m ( ng d ng, trung gian, h th ng, đi u khi nặ ả ứ ớ ầ ề ứ ụ ệ ố ề ểthi t b +BIOS)ế ị
Trình đi u khi n thi t b : ề ể ế ị
Các ch c năng c b n c a TĐKTB: ứ ơ ả ủ
1) Kh i đ ng ph n c ng (Hardware Startup): ở ộ ầ ứ Kh i đ ng các ph n c ng sau khi b tở ộ ầ ứ ậngu n hay sau khi RESET máy Ph n l n các ph n c ng là các vi m ch ghép n i hayồ ầ ớ ầ ứ ạ ố
đi u khi n các thi t b và là kh trình Cho nên bề ể ế ị ả ƣớc này là l p trình cho các vi m chậ ạ
ch c năng c a bo m ch, đ đ a các vi m ch vào tr ng thái đ u tiên: tr ng thái s nứ ủ ạ ể ƣ ạ ạ ầ ạ ẳsàng th c hi n các l nh ti p theo ự ệ ệ ế
2) T t máy (Hardware Shutdown): ắ Ngượ ạ ớc l i v i kh i đ ng, đi u khi n t t máy sẽở ộ ề ể ắ
c m tu nt các vi m ch, k t thúc k t n i v i các thi t b sao cho d li u không bấ ầ ự ạ ế ế ố ớ ế ị ữ ệ ịxáo tr n hay b h ng.Cu i cùng là c t ngu n đi n nuôi máy ộ ị ỏ ố ắ ồ ệ
3) C m ph n c ng ho t đ ng (Hardware Disable): ấ ầ ứ ạ ộ Cho phép ph n m m khác có thầ ề ể
t m th i vô hi u hóa m t ph n c ng khác ạ ờ ệ ộ ầ ứ
4) Cho phép ho t đ ng (Hardware Enable): ạ ộ Cho phép ph n m m khác kích ho tầ ề ạ
ph n c ng.ầ ứ
5) Dành l y ph n c ng (Hardware Acquire): ấ ầ ứ Cho phép ph n m m khác chi m l yầ ề ế ấ
ph n c ng b ng cách khoá ph n c ng đ i v i các ph n m m khác.Ví d sau khiầ ứ ằ ầ ứ ố ớ ầ ề ụHĐH gi i quy t tranh ch p ph n c ng, gán ph n c ng cho m t ti n trình t m th iả ế ấ ầ ứ ầ ứ ộ ế ạ ờ
đ c quy n s d ng, các ti n trình khác ph i ch ộ ề ử ụ ế ả ờ
6) Gi i phóng ph n c ng (Hardware Release): ả ầ ứ Cho phép ph n m m khác gi i khóaầ ề ả
ph n c ng ầ ứ
Trang 257) Đ c/ghi d li u (Hardware Read/write): ọ ữ ệ Cho phép ph n m m khác th c hi n traoầ ề ự ệ
t p c a các ng, vì các ti nạ ủ ứ ệ ích đã có s n và chia s ngay trong PMTG.Tuy nhiên khiẳ ẻ
đ a PMTG vào h th ng cũng là tăngư ệ ố thêm m t l p x p ch ng, có tác đ ng đáng kộ ớ ế ồ ộ ểvào tính m r ng, hi u năng c a các HTN, vìở ộ ệ ủ PMTG tác đ ng vào t t c các l p ph nộ ấ ả ớ ầ
m m khác.ề
Ph n m m ng d ng ầ ề ứ ụ
Ph n m m ng d ng đ ch y trên HTN.HTN đầ ề ứ ụ ể ạ ượ ức ng d ng nhi u lĩnh v c khácụ ở ề ựnhau, do đó các ng d ng là r t c th , và đứ ụ ấ ụ ể ược phát tri n b i nhà ch t o ra HTN.ể ở ế ạ
Ví d trong công nghi p ch t o các thi t b cho t đ ng hóa, robot,… các HTN cóụ ệ ế ạ ế ị ự ộ
nh ng bài toán riêng đ gi i quy t, t c là ph i phát tri n ph n m m cho bài toán đó.ữ ể ả ế ứ ả ể ầ ề
Ph n m m h th ng ầ ề ệ ố
Trong ph n m m h tr đa nhi m, và n u ch u s ràng bu c v th i gian x lý, thìầ ề ỗ ợ ệ ế ị ự ộ ề ờ ử
ph i có tính th i gian th c, và ph n m m h th ng sẽ là m t h đi u hành th i gianả ờ ự ầ ề ệ ố ộ ệ ề ờ
th c (RTOS) Ch c năng chính c a nhân RTOS là qu n lí tài nguyên CPU, b nh , qu nự ứ ủ ả ộ ớ ả
lí tác v , I/O, th c thi liên l c gi a các ti n trình, l p l ch, m c u tiên, th i gian, dụ ự ạ ữ ế ậ ị ứ ƣ ờ ựđoán tình hu ng s ki n.ố ự ệ
5.2
Mô hình ph n m m h th ng nhúng có th bi u di n b i 3 l p ầ ề ệ ố ể ể ễ ở ớ :
-Trên cùng là L p ph n m m ng d ng, là tùy ch n (optional) ớ ầ ề ứ ụ ọ
- gi a là L p ph n m m h th ng, là tùy ch n (optional) Ở ữ ớ ầ ề ệ ố ọ
- D ướ i cùng là L p ph n c ng, là c n thi t ph i có (required) ớ ầ ứ ầ ế ả
Nói v y là đúng hay ch a đúng, vì sao ậ ư ? Hãy gi i thích ả
Tr l i ả ờ
Nói nh v y là ch a đúng ư ậ ư