intTypePromotion=1

Giáo trình Nguyên lý hệ điều hành: Phần 2 - Hồ Đắc Phương

Chia sẻ: Na Na | Ngày: | Loại File: PDF | Số trang:143

0
278
lượt xem
135
download

Giáo trình Nguyên lý hệ điều hành: Phần 2 - Hồ Đắc Phương

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Giáo trình Nguyên lý hệ điều hành: Phần 2 trình bày các nội dung về quản lý thiết bị, quản lý bộ nhớ, bộ nhớ ảo, hệ thống file, bảo vệ và an ninh. Cùng tham khảo tài liệu để hiểu rõ hơn về nguyên lý hệ điều hành.

Chủ đề:
Lưu

Nội dung Text: Giáo trình Nguyên lý hệ điều hành: Phần 2 - Hồ Đắc Phương

  1. Chương 8 QUÀN LÝ THIÉT BỊ HĐH kiểm soát hoạt động các thiết bị vào/ra gắn với máy tính bằng cách phát lệnh điếu khiển thiết bị; phát hiện, xử lý ngắt và quản lý lỗi. HĐH cung cấp giao diện đơn giản giúp người sử dụng và lập trinh viên sử dụng thiết bị dễ dàng. Để dễ ghép nối các thiết bị mới, giao diện giữa hệ thống với các thiết bị nên giống nhau. Tốc độ vào/ra nhỏ hơn tốc độ tính toàn (CPU) hàng triệu lần và tỷ lệ này khõng có xu hướng giàm. Do vậy, các hệ thống máy tinh hiện đại có gắng thục hiện xen kẽ thao tác vào/ra với thao tác tinh toán để tàng hiệu suất tổng thể của hệ thống. Chương này trình bày cách thức HĐH quản lý thiết bị vào/ra: cách thức HĐH quản lý thiết bị, các phương pháp quản lý cơ bản, cách sử dụng bộ đệm để tăng hiệu suất vào/ra và cấu trúc tổng quát của trình điều khiển thiét bị. 8 .1 . N G U Y Ê N L Ý H O Ạ T Đ Ộ N G K ỹ s ư đ iệ n tử c o i th iế t b ị v à o /ra là tổ h ợ p v i m ạ c h , d â y d ẫ n , n g u ồ n đ iệ n , m o to r. L ậ p tr ìn h v iê n " g ia o tiế p " v ớ i th iế t b ị th ô n g q u a g ia o d iệ n p h ầ n m ề m v à đ â y là k h ía c ạ n h m à c h ú n g ta q u a n tâ m . 8 .1 .1 . P h â n lo ạ i t h iế t b ị v à o /r a T h iế t bị v à o /r a c ó th ể đ ư ợ c c h ia th à n h h ai lo ại là th iế t bị h ư ớ n g k h ố i v à th iế t b ị h ư ớ n g k ý tự . T h iế t bị h ư ớ n g k h ố i lư u tr ữ th ô n g tin tr o n g c á c k h ố i c ó k íc h th ư ớ c c ố đ ịn h (v í d ụ ổ đ ĩa từ ), th ư ờ n g n ằ m tr o n g k h o ả n g từ 5 1 2 tớ i 3 2 7 6 8 b y te . T ín h c h ấ t c ủ a th iế t bị h ư ớ n g k h ố i là c ó th ể đ ọ c h o ặ c g h i c á c k h ố i đ ộ c lậ p v ớ i n h a u . N ế u tiế p tụ c p h â n lo ạ i "m ịn " h ơ n , c ó th ể p h â n th iế t bị h ư ớ n g k h ố i ra h a i k iể u là k iể u c ó th ể đ á n h đ ịa c h i v à k iể u k h ô n g th ể đ á n h đ ịa ch i. Ố đ ĩa là th iế t b ị c ó th ể đ á n h đ ịa c h ỉ c h o từ n g k h ố i, v ì trụ c q u a y c ó 132
  2. k h ả n ă n g d ịc h tớ ibấl kỳ vị trí n ào . M ộ t k iể u th iế t bị v à o /ra k h á c là h ư ớ n g k ý tự ( th iế t bị tạ o ra h o ặ c n h ậ n d ã y từ n g k ý tự ). K h ô n g th ể đ á n h đ ịa ch i v à k h ô n g c ó q u á trin h d ịc h c h u y ể n tr o n g k iể u th iế t bị n à y . M á y in , c a rd m ạ n g , c o n c h u ộ t (đ ể tr ỏ ) v à h ầ u h ế t c á c th iế t bị k h ô n g h o ạ t đ ộ n g g iố n g ổ đ ĩa đ ề u c ó th ể x e m n h ư th iể t bị h ư ớ n g k ý tự . P h â n lo ạ i n à y c h ư a th ự c s ự đ ầ y đ ủ , vì m ộ t s ố th iế t bị k h ô n g n ằ m tr o n g lo ạ i n à o . C h ẳ n g h ạ n , đ ồ n g h ồ h a y m à n h ìn h v ớ i bộ n h ớ á n h xạ. T u y n h iê n , m ô h ìn h th iế t b ị h ư ớ n g k h ố i v à h ư ớ n g k ý tự k h á tổ n g q u á t đ ể c ó th ể là m n ề n tả n g g iú p H Đ H tạ o r a c ơ c h ế q u ả n lý h o ạ t đ ộ n g c ù a th iế t b ị. S ự c h ê n h lệ c h rấ t lớ n g iữ a tố c đ ộ c á c th iế t b ị k h iế n v iệ c th iế t k ế p h ầ n m ề m k h ó k h ă n h ơ n r ấ t n h iề u . M ặ c d ù tố c đ ộ h o ạ t đ ộ n g c ủ a th iế t bị đ ư ợ c cải th iệ n , n h ư n g tố c đ ộ n à y k h ô n g tă n g n h a n h b ằ n g tố c đ ộ C P U . 8 .1 .2 . B ộ đ iề u k h iể n t h iế t b ị T h iế t b ị v à o /r a g ồ m h ai p h ầ n c ơ b ả n là p h ầ n c ơ k h í v à p h ầ n đ iệ n tử , đ ư ợ c th iế t k ế đ ộ c lậ p v ớ i n h a u . P h ầ n đ iệ n tử đ ư ợ c g ọ i là d e v ic e c o n tro lle r (b ộ đ iề u k h iể n ) h o ặ c a d a p te r (b ộ đ iề u h ợ p ). T rê n m á y tín h c á n h â n (P C ), b ộ đ iề u k h iể n th ư ờ n g là b ả n m ạ c h in c ó th ể c ắ m v à o k h e c ắ m m ờ rộ n g . P h ầ n c ơ k h í là Ih iế t bị. B áng m ạch của b ộ đ iề u k h iể n , ^ , \ ‘ , Câm vào bàng m ạch chính th ư ờn g c ó phần kết nối vớ i thiết bị. N h iề u b ô đ iề u k h iể n c ó th ể q u à n lý 2, , o i - i i - . Ắ NỐI v ớ i th iẻ t bj 4 h o ặ c 8 th iê t bị g iô n g h ệ t n h a u . T h ư ờ n g g ia o d iệ n g itta b ộ đ iề u k h iề n J 51^1 v à th iê t bị đ u ợ c c h u â n h ó a , h o ặ c th e o c h u ẩ n c h ín h th ứ c (IE E E , A N S I, IS O ), h o ặ c c h u ẩ n k h ô n g c h ín h th ứ c n h ư n g đ ư ợ c th ừ a n h ậ n r ộ n g rãi. V í d ụ , p h ầ n lớ n c á c sả n p h ẩ m ổ đ ĩa đ ề u tu â n th e o c h u ẩ n ID E h a y S C S I. G ia o d iệ n g iữ a b ộ đ iề u k h iể n v à th iế t bị là g ia o d iệ n ở m ứ c th ấ p , ở m ứ c c a o c ó th ể c o i ổ đ ĩa đ ư ợ c c h ia th à n h n h iề u tra c k , tra c k c ó 2 5 6 s e c to r v à s e c to r c h ứ a 5 1 2 b y te . T u y n h iê n , ờ m ứ c v ậ t lý th ấ p n h ấ t (b ê n tro n g ổ đ ĩa ) là d ò n g c á c b it, b ắ t đ ầ u v ớ i m ộ t tiê u đ ề p re a m b le (c h u ồ i b it đ á n h d ấ u s ự b ắ t đ ầ u ) , s a u đ ó là 4 0 9 6 b it ứ n g v ớ i m ộ t s e c to r v à c u ố i c ù n g là c á c b it k iể m tra c á c bit n à y c ò n đư ợc g ọ i là m ã s ử a lỗ i(Error C orectin g C o d e - (c h e ck su m ), E C C ). P h ầ n tiê u đ ề p r e a m b le đ ư ợ c g h i tro n g q u á trìn h đ ịn h d ạ n g đ ĩa , c h ứ a 133
  3. số h iệ u s e c to r v à c y lin d e r , k íc h th ư ớ c s e c to r v à c á c th ô n g tin p h ụ c vụ c h o m ụ c đ íc h đ ồ n g bộ. C ô n g v iệ c c ù a b ộ đ iề u k h iể n ổ đ ĩa là c h u y ể n d ò n g b it s a n g k h ố i b y te v à s ử a n h ữ n g lỗi c ó th ể . Đ ầ u tiê n c á c b it lầ n lư ợ t đ ư ợ c g h é p lại th à n h m ộ t k h ố i b y te v à lư u tạ m tr o n g b ộ n h ớ đ ệ m c ủ a b ộ đ iề u k h iể n . S a u đ ó , b ộ đ iề u k h iể n th ự c h iệ n k iể m tra g iá trị c á c b it s ừ a lồ i v à n ế u x á c đ ịn h k h ô n g có lỗ i th ì k h ố i b y te đ ư ợ c c h u y ể n v à o b ộ n h ớ tro n g . B ộ đ iề u k h iể n m à n h ìn h c ũ n g là m ộ t d ạ n g th iế t b ị h o ạ t đ ộ n g th e o c h u ồ i b it liê n tiế p . B ộ đ iề u k h iể n đ ọ c b y te (là m ã k ý tự c ầ n h iể n th ị) từ b ộ n h ớ v à s a u đ ó tạ o ra tín h iệ u đ iề u c h ỉn h d ò n g C R T in ra m à n h ìn h . B ộ đ iề u k h iể n c ũ n g tạ o ra tín h iệ u đ ể y ê u c ầ u d ò n g C R T q u é t lại th e o c h iề u d ọ c s a u k h i đ ã q u é t h ế t m ộ t d ò n g , v à q u é t lại đ iể m đ ầ u tiê n c ù a m à n h ìn h s a u k h i q u é t x o n g to à n b ộ m à n h ìn h . N ế u k h ô n g c ó b ộ đ iề u k h iể n , H Đ H p h ả i tự th ự c h iệ n v iệ c q u é t m à n h ìn h . N h ư n g b â y g iờ , H Đ H ch i c ầ n k h ở i tạ o bộ đ iề u k h iể n v ớ i m ộ t v à i th a m số ( s ố lư ợ n g k ý tự h a y số đ iể m ả n h trê n m ộ t d ò n g v à s ố lư ợ n g d ò n g trê n m à n h ìn h ). S a u k h i k h ở i đ ộ n g , b ộ đ iề u k h iể n trự c tiế p k iể m s o á t th iế t bị. 8 .2 . C H IÉ N L Ư Ợ C Q U Ả N L Ý T H IÉ T BỊ T iềo trìD b ứ n g dụ D g G ia o diện H ệ tb ố n g B ộ quào lý Fỉle 1 _____ 1 Đ ộc lập T b lể t b | P bụ ỉh u ộ c T h ỉể t b| G U o diệp P hần cứni^ y Ị w ị B ộ đ lề u k h lễ n T h ié t b| Hình 8.2. Bộ phận quản lý thiết bị của HĐH T r o n g H Đ H , b ộ p h ậ n q u ả n lý th iế t bị đ iề u k h iể n th iế t b ị v à c u n g c ấ p c h o tiế n tr ìn h s ử d ụ n g m ứ c trừ u tư ợ n g th iế t b ị th ấ p n h ấ t. C ó n h iề u p h ư ơ n g p h á p tr ừ u tưọm g h ó a k h á c n h a u . P h ư ơ n g p h á p đ ơ n g iả n n h ấ t là v à o /ra trự c tiế p ( tiế n tr ìn h trự c tiế p c h u y ể n d ữ liệ u tớ i c á c th a n h g h i tr o n g b ộ đ iề u k h iể n th iế t b ị). N ế u c ó th ê m c ơ c h ế th ă m d ò ( p o llin g ), p h ầ n m ề m đ iề u k h iể n th iế t b ị sẽ k iể m tr a th a n h g h i trạ n g th á i tro n g b ộ đ iề u k h iể n đ ể x á c đ ịn h y ê u c ầ u 134
  4. n à o đ ó đ ã h o à n th à n h c h ư a . T u y n h iê n , n ế u h ệ th ố n g s ử d ụ n g n g ắ t, tiế n trìn h ứ n g d ụ n g k h ô n g p h ả i tự m in h k iể m Ira x e m th iế t bị đ ã th ự c h iệ n x o n g c ô n g v iệ c c h ư a . P h ư ơ n g p h á p th ứ h a i là v à o /ra q u a á n h x ạ b ộ n h ớ . B ộ n h ớ c ủ a ih iế t b ị d ư ợ c á n h x ạ v à o m ộ t p h ầ n k h ô n g g ia n b ộ n h ớ h ệ th ố n g . C ơ c h ế c u ố i c ù n g là s ử d ụ n g c ơ c h ế tru y c ậ p b ộ n h ớ trự c tiế p (D M A - D ire c t M e m o ry A c c e s s ) , tứ c là c ó th iế t bị c h ịu trá c h n h iệ m sa o c h é p d ữ liệ u từ b ộ n h ớ đ ế n th a n h g h i tr o n g b ộ đ iề u k h iể n th iế t bị m à k h ô n g c ầ n C P U đ iề u k h iể n . 8 .2 .1 . T ổ c h ứ c h ệ t h ố n g v à o /r a T r o n g H Đ H h iệ n đ ạ i, c ó h a i p h ư ơ n g p h á p cà i đ ặ t b ộ p h ậ n q u ả n lý th iế t b ị; h o ặ c t h ô n g q u a s ự tư ơ n g tá c g iữ a trìn h đ iề u k h iể n th iế t b ị (d e v ic e d riv e r) v ớ i b ộ q u ả n lý n g ắ t ( c ơ c h ế v à o /ra c ó n g ắ t), h o ặ c h o à n to à n b ằ n g tr ìn h đ iề u k h iể n th iế t b ị n ế u k h ô n g s ử d ụ n g n g ẳ t (c ơ c h ế v à o /ra th ă m d ò ). H ìn h 8.3 m in h h ọ a c á c th à n h p h ầ n tr o n g c ả h ai c ơ c h ế n à y . N ế u m u ố n s ử d ụ n g th iế t b ị, tiế n tr ìn h ím g d ụ n g g ử i lệ n h c ầ n th ự c h iệ n (c ù n g v ớ i d ữ liệ u n ế u c ó ) tớ i tr in h đ iề u k h iể n th iế t b ị. T r ìn h đ iề u k h iể n th ự c h iệ n h ai v iệ c sa u : 1. C à i đ ặ t A P l - g ia o d iệ n đ ể ứ n g d ụ n g s ử d ụ n g k h i m u ố n tư ơ n g tá c v ớ i t h iế t b ị. 2. D ịc h n h ữ n g lệ n h m ứ c c a o (từ ứ n g d ụ n g g ử i x u ố n g ) th à n h c á c lệ n h m ứ c th ấ p ( p h ụ th u ộ c v à o từ n g th iế t b ị c ụ th ể ). Đ ể th u ậ n tiệ n , g ia o d iệ n g iữ a c á c trin h đ iề u k h iể n n ê n g iố n g n h a u , vì k h i đ ó , n g ư ờ i lậ p tr ìn h n ế u b iế t s ử d ụ n g m ộ t th iế t bị sẽ d ễ d à n g là m v iệ c v ớ i c á c th iế t b ị k h á c . T u y n h iê n , d o c h ịu trá c h n h iệ m q u à n lý từ n g th iế t b ị đ ặ c th ù , n ê n tr in h đ iề u k h iể n p h ả i c ó k h ả n ă n g đ ư a ra lệ n h c h o từ n g th iế t b ị v à rõ r à n g c á c lệ n h n à y p h ụ th u ộ c v à o b ộ đ iề u k h iể n th iế t b ị. 8 .2 .2 . V à o /r a t r ự c t iế p q u a th ă m d ò T r o n g c ơ c h ế v à o /r a trự c tiế p , C P U c h ịu trá c h n h iệ m c h u y ể n d ữ liệ u g iũ a b ộ n h ớ c h ín h v à th a n h g h i tro n g b ộ đ iề u k h iể n th iế t b ị. T rìn h đ iề u k h iể n đ ọ c c ờ b u s y - d o n e trê n th iế t b ị, h o ặ c s ử d ụ n g n g ắ t đ ể " th ă m d ò " 'th iế t b ị h o à n th à n h n h iệ m v ụ c h ư a . T a trìn h b à y h a i th a o tá c c ơ b ả n n h ấ t c ủ a C P U là k h ở i đ ộ n g th iế t b ị v à th ă m d ò th a n h g h i tr ạ n g th á i. 135
  5. H ìn h 8 .3 a m in h h ọ a c á c b ư ớ c c h u y ể n d ữ liệu từ th iế t bị v à o b ộ n h ớ tro n g ; 1. T iế n trìn h ứ n g d ụ n g y ê u c ầ u đ ọ c d ữ liệu. 2. T rìn h đ iề u k h iể n k iể m tra th a n h g h i trạ n g th á i x e m th iế t b ị c ó b ậ n k h ô n g . N ế u b ậ n , tr ìn h đ iề u k h iể n p h ả i ch ờ . 3. T rìn h đ iề u k h iể n k h ở i tạ o th iế t b ị b ằ n g c á c h g h i lệ n h c ầ n th ự c h iệ n ( re a d ) v à o th a n h g h i lệ n h c ủ a b ộ đ iề u k h iể n . 4. T rìn h đ iề u k h iể n k iể m tr a th iế t b ị đ ã th ự c h iệ n x o n g lệ n h đ ọ c h a y c h ư a b ằ n g c á c h đ ịn h k ỳ đ ọ c th a n h g h i tr ạ n g th á i. 5. T rìn h đ iề u k h iể n sa o c h é p g iá trị ( c á c ) th a n h g h i d ừ liệ u tro n g b ộ đ iề u k h iể n v à o k h ô n g g ia n n h ớ c ủ a tiế n trìn h . T h a o tá c g h i d ữ liệ u đ ư ợ c th ự c h iệ n tư ơ n g tự . T ro n g c ơ c h ế v à o /r a trự c tiế p q u a th ă m d ò , y ê u c ầ u v à o /ra đ ư ợ c th ự c h iệ n th ô n g q u a tư orng tá c v ớ i tr ìn h đ iề u k h iể n , đ iề u n à y " c h e d ấ u " to à n b ộ h o ạ t đ ộ n g c ủ a p h ầ n c ứ n g c ù a b ộ đ iề u k h iể n . N h ư ợ c đ iể m c ủ a c á c h tiế p c ậ n n à y là h iệ u s u ấ t s ử d ụ n g C P U th ấ p d o C P U p h ả i th ư ờ n g x u y ê n k iể m tr a tấ t c ả c á c th iế t bị x e m đ ã h o à n th à n h th a o tá c v à o /ra c h ư a . C ó th ể k h ắ c p h ụ c đ iề u n à y b ằ n g c á c h s ử d ụ n g n g ắ t. D * U fi NỸ Ub Giao diệo vỡi Hệ ibốDg Gi lodỊ^DRệlbó^ BÌA|tT|Bs 7 riiB ỉkyc rtad readdrktr D -» aì H»dlfr Tbõtvciiríle vríte drhvr ỉalempt ,_ GiJO diệi vởỉ PhằD Giio díệi PhiD c n Coãmud 1 Statis 1 ll Data 1 1CDBaiu4 || Stitos 1 DiU 1 Bộ Điền kbỉéa Thiết bj BôĐỉèi kkiểaThỉcl bf (a) Thăm dò (b) Ngắt Hình 8.3. Cài đặt bộ điều khiển thiết bj 8 .2 .3 . V à o /r a s ử d ụ n g n g ắ t Đ ố i v ớ i h ệ th ố n g m á y tín h c á n h â n , c ấ u trú c n g ắ t đ ư ợ c th ể h iệ n tro n g H ìn h 8.4 . N g ắ t h o ạ t đ ộ n g n h ư sa u ; K h i th ự c h iệ n x o n g c ô n g v iệ c đ ư ợ c g ia o , th ié t b ị g ử i tín h iệ u tớ i c h ip đ iề u k h iể n n g ẳ t g ắ n trê n b o m ạ c h c h ủ . P h ụ th u ộ c v à o tín h iệ u đ ế n từ d â y d ẫ n n à o , b ộ đ iề u k h iể n n g ắ t x á c đ ịn h đ ư ợ c th iế t bị g â y ra n g ắ t. 136
  6. 1 T h lểt b | k ế t th ú c c ỏ n g VÌẬC Hình 8.4. Cơ chế hoạt động của ngắt N ế u tạ i th ờ i đ iể m n à o đ ó c ó đ ú n g m ộ t n g ắ t x u ấ t h iệ n , b ộ đ iề u k h iể n sẽ x ử lý n g ắ t n g a y lậ p tứ c. N h ư n g k h i x u ấ t h iệ n n h iề u n g ắ t, th ì h ệ th ố n g ư u tiê n x ử lý n g ắ t c ó đ ộ ư u tiê n c a o trư ớ c . B ộ đ iề u k h iể n n g ắ t g á n số th ứ tự c h o m ồ i đ ư ờ n g đ ịa c h i x á c đ ịn h th iế t bị v à tạ o ra tín h iệ u n g ắ t tư ơ n g ứ n g g ử i tớ i C P U . T ín h iệ u n g ắ t k h iế n C P U tạ m d ừ n g c ô n g v iệ c đ a n g th ự c h iệ n đ ể c h u y ể n s a n g x ử lý n g ắ t,số h iệ u đ ư ờ n g đ ịa c h i đ ư ợ c s ử d ụ n g là m c h i số tra c ứ u tr o n g b ả n g v e c to r n g ắ t đ ể x á c đ ịn h đ ịa c h ỉ đ ầ u tiê n c ủ a đ o ạ n ch ư cm g tr ìn h x ử lý n g ấ t. B ả n g v e c to r n g ắ t c ó th ể đ ư ợ c g h i c ứ n g tr o n g m á y , h o ặ c c ó th ể n ằ m tr o n g b ộ n h ớ , v à h ệ th ố n g s ử d ụ n g th a n h g h i đ ặ c b iệ t tr o n g C P U trỏ tớ i đ ịa c h ỉ b ả n g v e c to r n g ắ t. N g a y s a u k h i b ắ t đ ầ u c h ạ y , th ù tụ c x ử lý n g ắ t sẽ g h i g iá trị x á c đ ịn h n à o đ ó trê n m ộ t c ổ n g c ủ a b ộ đ iề u k h iể n n g ắ t v à o /ra đ ể x á c n h ậ n n g ắ t đ ã đ ư ợ c x ử lý, k h i đ ó b ộ đ iề u k h iể n c ó th ể tạ o ra n g ắ t m ớ i. C P U c h ỉ g ử i tín h iệ u x á c n h ậ n c h o tớ i k h i c ó th ể x ử lý đ ư ợ c n g ắ t tiế p th e o , v à d o đ ó tr á n h đ u ợ c x u n g đ ộ t k h i n h iề u n g ấ t x à y ra đ ồ n g th ờ i. 1 ỉệ th ố n g p h ả i g h i lại m ộ t số th ô n g tin tr ư ớ c k h i k h ở i đ ộ n g th ủ tụ c x ử lý n g ắ t. N h ừ n g th ô n g tin n à o đ ư ợ c g h i v à g h i v à o đ â u p h ụ th u ộ c v à o k iế n trú c C P U . ít n h ấ t p h ả i g h i lại th a n h g h i P C đ ể s a u k h i x ử lý x o n g n g ắ t c ò n q u a y lại c h ư ơ n g trìn h c ũ . N h ư n g c ũ n g c ó m ộ t số k iế n trú c p h ứ c tạ p y ê u c ầ u p h ả i g h i lại tấ t c ả c á c th a n h g h i. N ế u lư u v à o th a n h g h i, th ì c á c n g ắ t liê n tiế p n h a u c ó th ể g h i đ è lên th a n h g h i v à d o đ ó d ừ liệ u c ó th ể bị m ấ t. D o v ậ y , p h ầ n lớ n C P U g h i th ô n g tin v à o n g ă n x ế p . ở đ â y c ó th ể lư u v à o n g ă n x ế p c ủ a H Đ H h o ặ c n g ă n x ế p c ù a tiế n tr in h n g ư ờ i d ù n g . M ộ t v ấ n đ ề k h á c là, C P U h iệ n đ ạ i đ ề u th e o c ẩ u trú c đ u ờ n g ố n g (p ip e lin e ) , h o ặ c c ấ u trú c s iê u v ô h ư ớ n g ( s u p e rs c a la r). T ro n g c á c h ệ th ố n g m á y tín h tr u ớ c k ia , sa u k h i k ế t th ú c m ộ t c h i th ị, c h ư ơ n g trìn h 137
  7. h o ặ c p h ầ n c ứ n g k iể m tr a x e m c ó x u ấ t h iệ n n g ắ t h a y k h ô n g . N ế u c ó , g iá trị P C đ ư ợ c g h i v à o n g ă n x ế p v à c h ư ơ n g tr ìn h x ử lý n g ắ t b ắ t đ ầ u th ự c th i. S a u k h i x ử lý x o n g n g ấ t, P C đ ư ợ c k h ô i p h ụ c từ n g ă n x ế p đ ể k h ô i p h ụ c tiế n trìn h b ị g iá n đ o ạ n tr ư ớ c k ia . C h ế đ ộ k iể u n à y n g ầ m đ ịn h rằ n g , n ế u n g ắ t x u ấ t h iệ n n g a y s a u c h i th ị A , tấ t c ả c h ỉ th ị tr ư ớ c A đ ã h o à n th à n h v à k h ô n g c h ỉ th ị n à o s a u A đ ư ợ c th ự c th i. T r o n g k iế n trú c đ ư ờ n g ố n g , C P U c ó th ể th ự c th i c ù n g lú c n h iề u c h i th ị. G iả s ử n g ắ t x u ấ t h iệ n tr o n g k h i đ ư ờ n g ố n g đ a n g đ ầ y , c á c c h ỉ th ị đ a n g ở tr o n g c á c tr ạ n g th á i th ự c h iệ n k h á c n h a u . K h i n g ắ t x u ấ t h iệ n , g iá trị P C k h ô n g p h ả n á n h c h ín h x á c n h ữ n g c h ỉ th ị n à o đ ã b ắ t đ ầ u th i h à n h v à c h ỉ th ị n à o c h ư a th i h à n h . P C c h ỉ là đ ịa c h i c ủ a c h ỉ th ị k ế tiế p s ẽ đ ư ợ c lấy v à đ ư a v à o đ ư ờ n g ổ n g , c h ứ k h ô n g p h ả i đ ịa c h ỉ c ủ a c h ỉ th ị đ ư ợ c x ử lý tro n g C P U . D o v ậ y , p h ả i đ ịn h n g h ĩa rõ r à n g r a n h g iớ i g iữ a c h ì th ị đ ã v à c h i th ị c h ư a th ự c th i. T u y n h iê n , p h ầ n c ứ n g k h ô n g th ể x á c đ ịn h đ ư ợ c r a n h g iớ i n à y . D o đ ó , k h i th ự c h iệ n x o n g n g ắ t c h i v ớ i đ ịa c h ỉ tr o n g th a n h g h i P C , H Đ H k h ô n g th ể là m đ ầ y lạ i đ ư ờ n g ố n g n h ư ccần x á c đ ịn h c h ỉ th ị c u ố i c ù n g ũ. đ ư ợ c th ự c th i, tu y n h iê n c h ứ c n ă n g n à y th ư ờ n g r ấ t p h ứ c tạ p , v ì c ầ n p h â n tíc h tr ạ n g th á i m á y tín h . T r ê n k iế n tr ú c s iê u v ô h ư ớ n g v ấ n đ ề c ò n p h ứ c tạ p h ơ n , vì c á c c h ỉ th ị c ó th ể đ ư ợ c th ự c th i k h ô n g th e o t h ứ tự , n ê n k h ô n g th ể đ ịn h n g h ĩa rõ r à n g r a n h g iớ i g iữ a c h ỉ th ị đ ă th ự c h iệ n v à c h ư a th ự c h iệ n . C h ẳ n g h ạ n , c ó th ể c h i th ị 1, 2 , 3 , 5 v 8 đ ã th ự c h iệ n v à c h ỉ th ị 46, , 7 , 9 c h ư a th ự c à h iệ n . B ê n c ạ n h đ ó , th a n h g h i P C c ó th ể trỏ tớ i c h ỉ th ị 9 , 10 h o ặ c 11. N g ắ t n g h iê m n g ặ t ( p r e c is e in te r r u p t) đ ặ t m á y tín h tr o n g m ộ t tr ạ n g th á i rõ r à n g v à c ó 4 th u ộ c tín h : 1. T h a n h g h i P C tr ỏ tớ i m ộ t c h i th ị x á c đ ịn h . 2 . T ấ t c ả c á c c h i th ị tr ư ớ c c h i th ị d o P C tr ỏ tớ i đ ã h o à n to à n th ự c th i x o n g . 3. M ọ i c h i th ị s a u c h ỉ th ị đ ư ợ c P C tr ỏ tớ i đ ề u c h ư a th ự c th i. 4 . T r ạ n g th á i th ự c th i c ủ a c h ì th ị đ ư ợ c P C tr ỏ tớ i h o à n to à n x á c đ ịn h . C h ú ý r ằ n g , c á c c h ỉ th ị đ ằ n g s a u c h ỉ th ị d o P C tr ỏ tớ i k h ô n g bị c ấ m th ự c th i. T u y n h iê n , n ế u c h ỉ th ị n à y g â y r a th a y đ ổ i tr ê n th a n h g h i h o ặ c b ộ n h ớ , th ì c á c th a y đ ổ i n à y c ầ n p h ả i đ ư ợ c k h ô i p h ụ c lạ i tr ạ n g th á i b a n đ ầ u tr ư ớ c k h i n g ắ t x ả y ra. ' N g ắ t k h ô n g đ ả m b ả o c á c y ê u c ầ u tr ê n đ ư ợ c g ọ i là n g ắ t k h ô n g n g h iê m n g ặ t ( im p r e c is e in te r u p t) . K iể u n g ắ t n à y là m n g ư ờ i v iế t H Đ H g ặ p r ấ t n h iề u 138
  8. k h ó k h ă n , d o p h ả i x ác đ ịn h đ ư ợ c c h i th ị n à o đ ã v à c h ỉ th ị n à o đ a n g th ự c th i. M á y tín h v ớ i n g ắ t k h ô n g n g h iê m n g ặ t th ư ờ n g p h ả i g h i lạ i rấ t n h iề u th ô n g tin tr ạ n g th á i v à o n g ă n x ế p , d ể H Đ H c ó th ể x á c đ ịn h đ ư ợ c c h ỉ th ị n à o đ a n g th ự c th i tr o n g g ia i đ o ạ n n à o . P h ả i g h i lư ợ n g lớ n th ô n g tin v à o b ộ n h ớ m ồ i k h i g ặ p n g á t là m tă n g th ờ i g ia n x ừ lý n g ắ t. Đ iề u n à y d ẫ n tớ i n g h ịc h lý là, c á c C P U s iê u v ô h ư ớ n g tố c đ ộ c ự c c a o đ ô i k h i k h ô n g th íc h h ợ p v ớ i c á c c ô n g v iệ c th ờ i g ia n th ự c d o x ử lý n g ắ t q u á c h ậ m . M ộ t s ố m á y tín h đ ư ợ c th iế t k ế đ ể v ừ a c ó n g ắ t n g h iê m n g ặ t, v ừ a c ó n g ắ t k h ô n g n g h iê m n g ặ t. M ộ t số k iế n tr ú c s iê u v ô h ư ớ n g , n h ư P e n tiu m P ro v à c á c s ả n p h ẩ m th u ộ c d ò n g n à y s ừ d ụ n g n g ắ t n g h iê m n g ặ t, c h o p h é p c á c c h ư ơ n g tr ìn h v iế t trê n n ề n 3 8 6 , 4 8 6 v à P e n tiu m I h o ạ t đ ộ n g c h ín h x á c ( s u p e r s c a la r c h ỉ b ắ t đ ầ u x u ấ t h iệ n tr o n g P e n tiu m P ro ; P e n tiu m I c h i c ó 2 đ ư ò n g ố n g ) . K h i đ ó , m ạ c h lo g ic c ủ a b ộ đ iề u k h iể n n g ắ t b ê n tr o n g C P U c ự c k ỳ p h ứ c tạ p . B ộ đ iề u k h iể n n g ắ t p h ả i đ ả m b ả o k h i x u ấ t h iệ n n g ắ t, th ì m ọ i c h ỉ th ị ở tr ư ớ c m ộ t m ố c n à o đ ó p h ả i đ ư ợ c th ự c th i x o n g v à tấ t c ả c h ỉ th ị p h ía s a u m ố c k h ô n g g â y ả n h h ư ở n g g ì tớ i tr ạ n g th á i m á y . ở đ â y , g iá p h ả i tr ả k h ô n g p h ả i là th ờ i g ia n m à là d iệ n tíc h c h ip v à s ự p h ứ c tạ p k h i th iế t k ế . N ế u k h ô n g c ầ n n g ắ t n g h iê m n g ặ t ( đ ể tư ơ n g th íc h n g ư ợ c v ớ i c á c ứ n g d ụ n g c ũ ), th ì d iệ n tíc h n à y tr ê n b o m ạ c h c ó th ể đ ư ợ c s ử d ụ n g c à i đ ặ t th ê m c a c h e . N g ư ợ c lạ i, n g ắ t k h ô n g n g h iê m n g ặ t là m H Đ H p h ứ c tạ p v à c h ậ m h ơ n . D o đ ó , th ậ t s ự k h ó x á c đ ịn h đ ư ợ c p h ư ơ n g p h á p n à o ư u v iệ t h ơ n . V ớ i n g ắ t, tr ìn h đ iề u k h iể n k h ô n g p h ả i th ă m d ò x e m th iế t b ị đ ã h o à n th à n h n h iệ m v ụ h a y c h ư a . K h i k ế t th ú c c ô n g v iệ c , b ộ đ iề u k h iể n b á o lạ i c h o tr ìn h đ iề u k h iể n th iế t b ị. B ộ q u ả n lý th iế t b ị tr o n g c ơ c h ế v à o / r a s ử d ụ n g n g ắ t c ó 3 th à n h p h ầ n : • B ả n g tr ạ n g th á i th iế t b ị. • T r ìn h x ử lý n g ắ t. • B ộ p h ậ n th ự c h iệ n c ủ a th iế t bị. H ìn h 8 .3 b m in h h ọ a c á c b ư ớ c đ ọ c d ữ liệ u tr ê n h ệ th ố n g s ử d ụ n g n g ắ t: 1. T iế n tr ìn h ứ n g d ụ n g y ê u c ầ u đ ọ c d ữ liệ u . ^ 2 . T r ìn h đ iề u k h iể n k iể m t r a th a n h g h i tr ạ n g th á i x e m th iế t b ị c ó rồ i h a y k h ô n g . N ế u th iế t b ị b ậ n , tr ìn h đ iề u k h iể n đ ợ i. 139
  9. 3. T rìn h đ iề u k h iể n g h i lệ n h k h ở i tạ o v à o th a n h g h i lệ n h c ủ a b ộ đ iề u k h iể n . 4. K h i h o à n th à n h c ô n g v iệ c , trìn h đ iề u k h iể n g h i v à o b ả n g trạ n g th á i th iế t b ị c á c th ô n g tin liê n q u a n đ ế n th a o tá c . B à n g n à y c h ứ a th ô n g tin v ề tấ t c ả c á c th iế t b ị tr o n g h ệ th ố n g , m ỗ i h à n g ứ n g v ớ i m ộ t th iế t bị c ụ th ể . T rìn h đ iề u k h iể n g h i lại m ộ t số th ô n g tin v ề th iế t b ị m ìn h q u ả n lý. C á c th ô n g tin n à y c ó th ể là đ ịa c h ỉ tr ả v ề sa u k h i th a o tá c th ự c h iệ n x o n g v à c ó th ể là m ộ t số th a m sổ đ ặ c b iệ t k h á c . K ế tiế p , tr ìn h đ iề u k h iể n k ể t th ú c v à c h u y ể n q u y ề n đ iề u k h iể n c h o b ộ đ iề u p h ố i. 5. K h i k ế t th ú c c ô n g v iệ c đ ư ợ c g ia o , th iế t bị tạ o r a n g ắ t g ử i đ ế n C P U v à tr ìn h x ử lý n g ắ t tư ơ n g ứ n g đ ư ợ c th ự c th i. 6 . T rìn h x ử lý n g ắ t x á c đ ịn h th iế t bị n à o tạ o n g ắ t. S a u đ ó s ẽ rẽ n h á n h đ ế n tr ìn h x ử lý n g ắ t c ủ a th iế t b ị. 7. T rìn h x ử lý n g ắ t đ ọ c b à n g tr ạ n g th á i th iế t b ị đ ể lấy th ô n g tin v ề th a o tá c v ừ a th ự c th i. 8 . T rìn h x ử lý n g ắ t c h u y ể n d ữ liệ u từ (c á c ) th a n h g h i d ữ liệ u tro n g b ộ đ iề u k h iể n v à o k h ô n g g ia n n h ớ c ủ a n g ư ờ i s ử d ụ n g . 9. T rìn h x ừ lý n g ắ t c h u y ể n q u y ề n đ iề u k h iể n c h o tiế n tr ìn h ứ n g d ụ n g . s ta rtR e a d (d e v _ I, "% d ", x) ; re a d (d e v _ I, x )/ y = f(x) W h ile { s tillR e a d in g ( ) ) ; y = f(x) D a ta o n d e v ic e D e v ic e d e v j M em ory CPU Hình 8.5. Xử lý qua ngắt T h a o tá c g h i d ữ liệ u d iễ n ra tư ơ n g tự . V ớ i tiế n tr ìn h ứ n g d ụ n g , th a o tá c n à y tư ơ n g tự lờ i g ọ i h ệ th ố n g . T u y n h iê n , th ờ i g ia n g h i th ể lớ n hom rấ t GÓ n h iề u , đ ặ c b iệ t tr o n g h ệ th ố n g th ă m d ò . T h ờ i g ia n n à y p h ụ th u ộ c v à o th ờ i g ia n tín h to á n , tố c đ ộ th ự c h iệ n v à o /ra v à k h p ả n g th ờ i g ia n th ă m d ò th iế t b ị. Đ ố i v ớ i h ệ th ố n g th ă m d ò , c ầ n tín h th ê m k h o ả n g th ờ i g ia n từ k h i th iế t bị th ự c s ự h o à n th à n h x o n g c ô n g v iệ c c h o tớ i k h i tiế n trìn h ứ n g d ụ n g p h á t h iệ n 140
  10. ra s ự k iệ n n à y đ ể tiế p tụ c th ự c th i c ô n g v iệ c c ủ a m ìn h . D o d ó , b ằ n g c á c h tư ơ n g tá c v ớ i th iế t bị th ô n g q u a g ia o d iệ n p h ầ n m ề m , H Đ H c h o p h é p tiế n tr ìn h th ự c h iệ n tín h to á n trê n C P U tr o n g k h i tiế n trìn h k h á c s ử d ụ n g th iế t bị. M ồ i tiế n tr ìn h v ẫ n đ ư ợ c đ ả m b ả o th ự c th i m ộ t c á c h tu ầ n tự , c h o d ù c ó g iá n đ o ạ n . C á c th a o tá c v à o /r a c ó tín h c h ấ t tu ầ n tự , n g h ĩa là k h i lậ p trìn h v iê n s ử d ụ n g lệ n h read tr o n g chư orng trin h th ì lệ n hread p h ả i th ự c h iệ n x o n g trư ớ c k h i th ự c th i c á c lệ n h sa u . V í d ụ , k h i tiế n trìn h th ự c h iệ n đ o ạ n ch ư cm g trìn h m in h h ọ a trê n H ìn h 8 .5 , to là th ờ i đ iể m s a u k h i tiế n trìn h s ử d ụ n g lờ i g ọ i h ệ ih ố n g đ ể đ ọ c từ th iế t b ị, n h ư n g lờ i g ọ i n à y c h ư a th ự c h iệ n x o n g . N ế u h à m f v ớ i th a m số X đ ư ợ c tín h tr u ớ c k h i th a o tá c đ ọ c th ự c h iệ n , th ì tiế n tr ìn h sẽ s ử d ụ n g g iá trị X c ũ . Đ ể tr á n h tìn h tr ạ n g n à y , sa u k h i g ọ i read, tiế n tr ìn h p h ả i bị p h o n g tỏ a c h o đ ế n k h iread h o à n th à n h . T ừ n g tiế n tr ìn h r iê n g lẻ k h ô n g n h ậ n đ ư ợ c íc h lợ i c ủ a v iệ c x e n k ẽ th a o tá c tín h to á n v ớ i th a o tá c v à o /ra , n h ư n g h iệ u s u ấ t h ệ th ố n g tổ n g th ể tă n g đ á n g kổ, vì C P U đ ư ợ c tậ n d ụ n g tố i đ a (k h i tiế n trin h đ a n g th ự c th ip h ả i đ ợ i v à o /r a v à bị p h o n g tỏ a , tiế n tr ìn h k h á c s ử d ụ n g C P U ). 8 .2 .4 . V à o /r a q u a á n h x ạ b ộ n h ớ Đ ể tư ơ n g tá c v ớ i th iế t bị p h ả i c ó c h i th ị th a o tá c trê n th a n h g h i c ù a b ộ đ iề u k h iể n tr o n g tậ p c h ỉ th ị n g ô n n g ữ m á y , đ ể H Đ H c ó th ể r a lệ n h c h o th iế t bị (g h i lệ n h tư om g ứ n g lê n th a n h g h i lệ n h ) v à x á c đ ịn h trạ n g th á i th iế t bị ( đ ọ c th a n h g h i tr ạ n g th á i). Haí đja ch l Một khững gian đja c h i Hal khỏng gian đ|a chl OxFFFF . Mttmory 1/0 ports / 1 1 (a) (b) (e) Hình 8.6. Giao tiếp giữa CPU và bộ điều khiển C ó h ai c á c h đ ể C P U tra o đ ổ i d ữ liệ u v ớ i b ộ đ iề u k h iể n th iế t b ị. T h ứ n h ấ t, m ỗ i th a n h g h i c ủ a b ộ đ iề u k h iể n đ ư ợ c g á n đ ịn h d a n h là số n g u y ê n , g ọ i là s ố h iệ u c ổ n g v à o /ra ( I/O p o r t n u m b e r). C P U s ử d ụ n g c h i IN ị th REG, PORT đ ể đ ọ c th a n h g h i c ó đ ịn h d a n h PORT v à o th a n h g h i REG tr o n g C P U . 141
  11. C á c m á y tín h th ờ i k ỳ đ ầ u đ ề u là m v iệ c th e o c á c h n à y . T r o n g H ìn h 8 . 6 a, k h ô n g g ia n đ ịa c h i b ộ n h ớ đ ộ c lậ p v ớ i k h ô n g g ia n v à o /r a c ủ a b ộ đ iề u k h iể n . C h i th ị IN RO, 4 ( c h u y ể n n ộ i d u n g c ù a c ổ n g I/O c ó s ố h iệ u 4 v à o th a n h g h i RO) khác với chỉ thị MOV RO, 4 (đưa nội dung ô nhớ thứ 4 trong bộ nhớ c h ín h v à o RO). G iá trị 4 tr o n g h a i c h ỉ th ị tr ê n ứ n g v ớ i h a i k h ô n g g ia n đ ịa c h ỉ k h á c n h a u . G iả i p h á p t h ứ h a i, á n h x ạ tấ t c ả c á c th a n h g h i v à o k h ô n g g ia n b ộ n h ớ c h ín h ( H ìn h 8 .6 b ). M ỗ i th a n h g h i đ ư ợ c g á n m ộ t đ ịa c h i d u y n h ấ t v à k h ô n g tr ù n g v ớ i b ấ t k ỳ đ ịa c h ỉ ô n h ớ n à o tr o n g b ộ n h ớ c h ín h . H ệ th ố n g n h ư v ậ y đ ư ợ c g ọ i là v à o / r a q u a á n h x ạ b ộ n h ớ . T h ô n g th ư ờ n g , đ ịa c h ỉ c á c th a n h g h i n à m ở đ ầ u k h ô n g g ia n đ ịa c h i. G iả i p h á p t h ứ b a lai g iữ a h a i g iả i p h á p tr ê n ( H ìn h 8 .6 c ) , th ự c h iệ n á n h x ạ b ộ n h ớ v à o /r a (n ằ m trê n b ộ đ iề u k h iể n ) v à o k h ô n g g ia n b ộ n h ớ tr o n g , n h ư n g lại g á n đ ịn h d a n h c ổ n g v à o /r a c h o c á c th a n h g h i đ iề u k h iể n . P e n tiu m s ừ d ụ n g k iế n tr ú c n à y v ớ i v ù n g đ ịa c h i 6 0 4 K B tớ i 1 M B d ù n g c h o b ộ n h ớ th iế t b ị v à số h iệ u c ổ n g từ 0 đ ế n 6 4 K B . H ệ th ố n g n à y h o ạ t đ ộ n g n h ư s a u : C P U đ ặ t đ ịa c h ỉ c ầ n đ ọ c (c ó th ể n ằ m ở b ộ nhớ trong hay bộ nhớ vào/ra) lên bus địa chi và phát lệnh READ trên bus đ iề u k h iể n . C ó th ể s ử d ụ n g th ê m m ộ t tín h iệ u k h á c đ ể x á c đ ịn h từ c ầ n đ ọ c n ằ m tr o n g b ộ n h ớ v à o /r a h a y b ộ n h ớ tr o n g . N ế u s ử d ụ n g c h u n g k h ô n g g ia n b ộ n h ớ ( n h ư H ìn h 8 .6 b ) , c ả b ộ n h ớ tr o n g lẫ n tấ t c à th iế t bị v à o /r a đ ề u p h ả i s o s á n h đ ịa c h ỉ tr ê n b u s đ ịa c h i v ớ i k h o ả n g đ ịa c h ỉ c ủ a m ìn h . N ế u đ ịa c h ỉ y ê u c ầ u n ằ m tr o n g p h ạ m v i q u ả n lý , b ộ p h ậ n tư ơ n g ứ n g s ẽ tr ả lờ i y ê u c ầ u . H a i p h ư ơ n g p h á p tr ê n c ó ư u , n h ư ợ c đ iể m r iê n g , ư u đ iể m v à o /ra q u a á n h x ạ b ộ n h ớ là đ o n g iả n c ô n g v iệ c c ủ a n g ư ờ i lậ p trìn h . T h ứ n h ấ t, tr o n g h ệ th ố n g p h ả i s ử d ụ n g c h ỉ th ị v à o /r a đ ặ c b iệ t đ ể đ ọ c /g h i th a n h g h i trê n b ộ đ iề u k h iể n th iế t b ị, lậ p tr ìn h v iê n p h ả i s ử d ụ n g m ã A s s e m b ly vì tr o n g n g ô n n g ữ C /C + + k h ô n g c ó lệ n h ứ n g v ớ i c h i th ị IN/OUT. N g ư ợ c lạ i, v ớ i v à o /ra q u a á n h x ạ b ộ n h ớ , th a n h g h i tr ê n b ộ đ iề u k h iể n g iố n g b ấ t k ỳ ô n h ớ n à o tr o n g b ộ n h ớ v à c ó th ể đ á n h đ ịa c h i n h ư m ọ i b iế n k h á c . D o đ ó , tr o n g h ệ th ố n g v à o /r a q u a á n h x ạ b ộ n h ớ , c ó th ể v iế t tr ìn h đ iề u k h iể n th iế t b ị b ằ n g n g ô n c. ữ h ứ ng T h a i, v ớ i v à o / r a q u a á n h x ạ b ộ n h ớ , k h ô n g c ầ n s ừ d ụ n g c ơ c h ế b ả o v ệ đ ặ c b iệ t n à o đ ể h ạ n c h ế tiế n tr ìn h n g ư ờ i d ù n g th ự c h iệ n v à o /ra . H Đ H c h ỉ c ầ n n g ă n k h ô n g đ ặ t k h ô n g g ia n đ ịa c h ỉ c h ứ a th a n h g h i c ủ a b ộ đ iề u k h iể n v à o k h ô n g g ia n b ộ n h ớ tiế n tr ìn h n g ư ờ i d ù n g . N ế u th a n h g h i đ iề u k h iể n c ủ a c á c th iế t bị k h á c n h a u n ằ m tr ê n c á c tr a n g n h ớ k h á c n h a u , th ì H Đ H c ó th ể h ạ n c h ế tiế n tr ìn h n g ư ờ i d ù n g c h ỉ đ ư ợ c s ử d ụ n g m ộ t s ố th iế t b ị n h ấ t đ ịn h . T rìn h đ iề u k h iể n c á c th iế t b ị n ằ m tr o n g c á c k h ô n g g ia n đ ịa c h i k h á c n h a u , đ iề u n à y 142
  12. k h ô n g c h ỉ là m g iả m k íc h th ư ớ c k e rn e l m à c ò n tr á n h x u n g đ ộ t g iữ a c á c b ộ đ iề u k h iể n . T h ứ b a , v ớ i v à o /r a q u a á n h x ạ b ộ n h ớ , m ọ i c h ỉ th ị n ế u th a m c h iế u đ ư ợ c tớ i b ộ n h ớ c ũ n g s ẽ th a m c h iế u đ ư ợ c th a n h g h i đ iề u k h iể n . V í d ụ , n ế u c h ỉ th ị TEST k iể m tr a từ n h ớ c ó b ằ n g 0 h a y k h ô n g , th ì c ũ n g c ó th ể k iể m tr a đ ư ợ c th a n h g h i đ iề u k h iể n c ó n h ậ n g iá trị 0 h a y k h ô n g . Đ o ạ n m ã tr o n g n g ô n n g ữ A s s e m b ly k iể u n h ư sa u : LOOP: TEST P0RT_4 //kiểm tra nếu port_4 bằng 0 BEQ READY //nếu bằng 0, nhảy tớ i READY BRANCH LOOP //nếu không, tiếp tục kiểm tra. READY: N ế u k h ô n g d ù n g c ơ c h ế á n h x ạ b ộ n h ớ , m u ố n th ự c h iệ n đ iề u n à y th ì đ ầ u tiê n p h ả i s a o c h é p g iá tr ị th a n h g h i đ iề u k h iể n v à o th a n h g h i n à o đ ó tr o n g C P U , rồ i s a u đ ó m ớ i k iể m tra . Q u á tr ìn h n à y c ầ n 2 c h ứ k h ô n g p h ả i 1 c h i th ị n h ư c ơ ch ế án h x ạ bộ n h ớ . Đ ọ c/g h i bộ n h ớ tro n g qua B us có tổ c đ ộ cao 1 CPU Memory 1/0 CPU Memory 1/0 C ổng này c h o th iế t bị \ Bus dúng chung (cà bộ nhớ lẳn vào^ra) vào/ra tru y cập vào bộ 8US {b) nhớưõng ổ đĩa Bus Hình 8.7. Kiến trúc bộ nhớ và DMA Á n h x ạ b ộ n h ớ c ũ n g c ó n h ư ợ c đ iể m . P h ầ n lớ n m á y tín h h iệ n đ ạ i c ó c a c h e b ộ n h ớ . X é t đ o ạ n m ã A s s e m b ly ở tr ê n , lầ n th a m c h iế u đ ầ u tiê n tớ i P0RT_4 sẽ khiến nội dung P0RT_4 được lưu tạm trên cache. T r o n g các iần 143
  13. th a m c h iế u k ế tiế p , g iá trị tro n g c a c h e sẽ đ ư ợ c lấ y ra s o sá n h , c h ứ k h ô n g p h ả i g iá trị th ụ c tr o n gP0RT_4. K h i th iế t b ị s ẵ n s à n g , p h ầ n m ề m k h ô n g có c á c h n à o đ ể p h á t h iệ n , v à v ò n g lặ LOOP s ẽ lặ p v ô h ạ n . Đ ẻ trá n h tìn h trạ n g p n à y , trư ớ c tiê n p h ầ n c ứ n g p h ả i c ó k h ả n ă n g k h ô n g c h o c a c h e m ộ t tr a n g n h ớ c ụ th ể . C h ứ c n ă n g n à y là m k iế n trú c p h ầ n c ứ n g lẫ n H Đ H tr ở n ê n p h ứ c tạ p . T hứ h a i, n ế u c h ỉ c ó m ộ t k h ô n g g ia n đ ịa c h i, m o d u le b ộ n h ớ v à th iế t bị v à o /ra c ầ n k iể m tr a x e m th a m c h iế u b ộ n h ớ c ó tru y x u ấ t v à o k h u v ự c n h ớ c ủ a m ìn h h a y k h ô n g . Đ iề u n à y d ễ d à n g th ự c h iệ n n ế u m á y tín h c h i có m ộ t b u s n h ư H ìn h 8 .7 a . T u y n h iê n , c á c m á y tín h h iệ n đ ạ i c ó b u s c h u y ê n d ụ n g tố c đ ộ c a o n ổ i g iữ a C P U v à b ộ n h ớ (H ìn h 8 .7 b ) đ ể tă n g h iệ u su ấ t s ử d ụ n g b ộ n h ớ . K h i đ ó , tr o n g h ệ th ố n g á n h x ạ b ộ n h ớ c ó b u s b ộ n h ớ c h u y ê n d ụ n g , th iế t bị v à o /ra c ó th ể " k h ô n g th ấ y " đ ịa c h i b ộ n h ớ k h i đ ịa c h i n à y đ ư ợ c đ ặ t trê n b u s c h u y ê n d ụ n g . M ộ t g iả i p h á p là, đ ầ u tiê n C P U g ử i đ ịa c h i th a m c h iế u tớ i b ộ n h ớ tr o n g trư ớ c . N ế u k h ô n g c ó , C P U m ớ i g ử i ra c á c b u s k h á c . P h ầ n c ứ n g tr o n g k iể u th iế t k ế n à y h ế t sứ c p h ứ c tạ p . G iả i p h á p th ứ h a i là đ ặ t th iế t bị s n o o p trê n b u s b ộ n h ớ đ ể th iế t b ị n à y c h u y ể n tấ t c ả c á c đ ịa ch i tr o n g k h ô n g g ia n v à o /r a tớ i th iế t bị tư cm g ứ n g . N h ư ợ c đ iể m c ủ a p h ư ơ n g p h á p n à y là th iế t bị v à o /r a c ó th ể k h ô n g x ứ lý k ịp tố c đ ộ c ủ a b ộ n h ớ . G iả i p h á p th ứ b a đ ư ợ c s ử d ụ n g tr ê n P e n tiu m là s ừ d ụ n g c h ip c ầ u P C I đ ể lọ c đ ịa c h i. C h ip n à y c h ứ a k h o ả n g c á c th a n h g h i đ ư ợ c n ạ p tạ i th ờ i đ iể m h ệ th ố n g k h ở i đ ộ n g . V í d ụ , đ ịa c h i từ 6 4 0 K B đ ế n 1 M B đ ư ợ c đ á n h d ấ u k h ô n g n ằ m tro n g b ộ n h ớ c h ín h . Y ê u c ầ u tớ i k h o ả n g đ ịa c h ỉ n à y sẽ đ ư ợ c c h u y ể n tớ i b u s P C I th a y v ì tớ i b ộ n h ớ . 8 .2 .5 . T r u y c ậ p t r ự c t iế p b ộ n h ớ (D M A ) T ro n g c ơ c h ế v à o /r a trự c tiế p q u a th ă m d ò , tr ìn h đ iề u k h iể n c h u y ể n d ữ liệ u từ v ù n g n h ớ tiế n tr ìn h n g ư ờ i d ù n g tớ i th a n h g h i trê n b ộ đ iề u k h iể n th iế t bị k h i g h i d ữ liệ u v à th ự c h iệ n đ iề u n g ư ợ c lại k h i đ ọ c d ữ liệ u . T ro n g c ơ c h ế v à o /ra c ó s ử d ụ n g n g ắ t, tr in h x ử lý n g ắ t ứ n g v ớ i th iế t b ị c h ịu tr á c h n h iệ m sa o c h é p d ữ liệ u . Đ ể c h u y ể n m ộ t k h ố i d ữ liệ u từ b ộ n h ớ c h ín h đ ế n th a n h g h i c ủ a b ộ đ iề u k h iể n , h ệ th ố n g s ử d ụ n g đ o ạ n m ã tư ơ n g tự sa u : LOAD R2, = LENGTH_OF_BLOCK II R2 là thanh ghi chi số Loop: LOAD R1, [data_area, R2] / / Tải block[i] ST0RER1, 0xFFFF0124 II Đặt dữ liệu vào thanh ghi dữ liệu của Ctrl INCR R2 II Tăng chỉ số BGE ioop // Quay lại vòng lặp 144
  14. T ro n g c ả h a i tr ư ờ n g h ọ p , C P U đ ề u p h ả i th a m g ia v ậ n c h u y ể n d ữ liệu. T u y n h iê n , v ớ i c ơ c h ế tru y c ậ p trự c tiế p b ộ n h ớ , b ộ đ iề u k h iể n D M A có k h ả n ă n g đ ọ c /g h i th ô n g tin trự c tiế p v à o b ộ n h ớ m à k h ô n g c ầ n s ự c a n th iệ p c ủ a C P U . D M A c ó th ể đ ư ợ c s ử d ụ n g tro n g c ả c ơ c h ế p h ầ n m ề m th ă m d ò lẫ n c ơ c h ế n g ắ t. B ộ đ iề u k h iể n D M A c ó p h ầ n lo g ic c h o p h é p c h u y ể n d ữ liệ u g iữ a b ộ n h ớ c h ín h v à b ộ đ iề u k h iể n th iế t bị. Đ iề u n à y h o à n to à n đ ư ợ c th ự c h iệ n ' b ằ n g p h ầ n c ứ n g c ủ a b ộ đ iề u k h iể n D M A c h ứ k h ô n g c ầ n s ự c a n th iệ p từ C P U (T u y n h iê n , C P U v à D M A c ó th ể tr a n h c h ấ p q u y ề n s ừ d ụ n g b u s d ừ liộ u ). D M A là m tă n g đ á n g k ể h iệ u s u ấ t v à o /ra . V ớ i D M A , b ộ đ iề u k h iể n th iế t bị c ó th ể k h ô n g c ầ n th a n h g h i d ữ liệ u , v ì b ộ đ iề u k h iể n D M A c ó th ể c h u y ể n d ừ liệ u tr ự c tiế p g iữ a th iế t bị v à b ộ n h ớ c h ín h . T u y n h iê n , b ộ đ iề u k h iể n D M A p h ả i c h ứ a th a n h g h i đ ịa c h ỉ đ ể tr ìn h đ iề u k h iể n th iế t b ị có th ể x á c lậ p đ ịa c h ỉ b ộ n h ớ tro n g n ơ i n h ậ n d ừ liệu . B ộ đ iề u k h iể n D M A c ó th ể đ ư ợ c tíc h h ợ p v ớ i b ộ đ iề u k h iể n ổ đ ĩa v à các b ộ đ iề u k h iể n k h á c . P h ầ n lớ n h ệ th ố n g m á y tín h h iệ n đ ạ i s ử d ụ n g b ộ đ iề u k h iể n D M A n ằ m tr ê n b o m ạ c h c h ù đ iề u h ợ p v iệ c tra o đ ổ i d ữ liệ u c h o n h iề u th iế t bị (c ó th ể th ự c h iệ n đ ồ n g th ờ i). B ộ đ iề u k h iể n D M A c ó th ể tr u y c ậ p tớ i b u s h ệ th ố n g đ ộ c lậ p v ớ i C P U n h ư m in h h ọ a tr ê n H ìn h 8 .7 c . B ộ đ iề u k h iể n D M A c ó c á c th a n h ghi c h o p h é p C P U tru y c ậ p tớ i th a n h g h i đ ịa c h ỉ b ộ n h ớ , th a n h g h i đ ế m v à th a n h g h i đ iề u k h iể n . T h a n h g h i đ iề u k h iể n x á c đ ịn h sử d ụ n g c ổ n g v à o /r a n à o , h ư ớ n g tru y ề n (đ ọ c h a y g h i), đ ơ n v ị tru y ề n (b y te h a y w o r d ) v à k h ố i lư ợ n g tr u y ề n tr o n g m ộ t lần. X é t th a o tá c đ ọ c ổ đ ĩa k h i k h ô n g s ử d ụ n g D M A , đ ầ u tiê n b ộ đ iề u k h iể n đ ọ c m ộ t k h ố i ( m ộ t h o ặ c n h iề u s e c to r) từ ổ đ ĩa c ứ n g v à o b ộ n h ớ c ủ a b ộ đ iề u k h iể n . T iế p th e o , b ộ đ iề u k h iể n tín h c h e c k s u m đ ể x á c đ ịn h k h ố i v ừ a đ ọ c c ỏ lồi h a y k h ô n g . S a u đ ó , b ộ đ iề u k h iể n tạ o ra m ộ t n g ắ t. C u ố i c ù n g , H Đ H c ó th ể đ ọ c k h ố i d ữ liệ u từ b ộ đ ệ m tro n g b ộ đ iề u k h iể n b ằ n g c á c h s ử d ụ n g m ộ t v ò n g lặ p lầ n lư ợ t c h u y ể n từ n g b y te tro n g th a n h g h i d ữ liệ u c ủ a b ộ đ iề u k h iể n v à o b ộ n h ớ tro n g . N ế u s ử d ụ n g D M A n h ư m in h h ọ a trê n H ìn h 8 .7 c , th ì đ ầ u tiê n C P U th iế t lậ p c á c th a n h g h i đ ể b ộ đ iề u k h iể n D M A b iế t c h u y ể n d ữ liệ u g i v à đ ế n đ â u ( b ư ớ c 1). Đ ồ n g th ờ i, C P U c ũ n g p h á t lệ n h c h o b ộ đ iề u ỉd iie n đ ĩa đ ọ c d ữ liệ u từ ổ đ ĩa v à o b ộ n h ớ n ằ m b ê n tro n g b ộ đ iề u k h iể n ổ đ ĩa . K h i d ữ liệ u n ằ m tr o n g b ộ n h ớ c ủ a b ộ đ iề u k h iể n đ ĩa , D M A c ó th ể đ ư ợ c k h ở i đ ộ n g . B ư ớ c 2, lO-GTNLHOH-DN 145
  15. b ộ đ iề u k h iể n D M A k h ở i tạ o v iệ c c h u y ể n d ừ liệ u b à n g c á c h p h á t ra y ê u c ầ u đ ọ c tớ i b ộ đ iề u k h iể n ổ đ ĩa . B ộ đ iề u k h iể n ổ đ ĩa k h ô n g x á c đ ịn h đ ư ợ c y ê u c ầ u n à y là từ C P U h a y từ b ộ đ iề u k h iể n D M A . D o đ ịa c h ỉ b ộ n h ớ đ ư ợ c g h i trê n đ ư ờ n g b u s đ ịa c h i, n ê n b ộ đ iề u k h iể n ổ đ ĩa lấ y b y te k ế tiế p tr o n g b ộ n h ớ c ủ a m ìn h g h i v à o ô n h ớ th íc h h ợ p . Q u á trìn h g h i b ộ n h ớ tro n g d iễ n r a tro n g c h u k ỳ b u s k ế tiế p (b ư ớ c 3). K h i g h i x o n g , b ộ đ iề u k h iể n ổ đ ĩa g ử i tín h iệ u b iê n n h ậ n tớ i b ộ đ iề u k h iể n D M A (b ư ớ c 4 ). B ộ đ iề u k h iể n D M A tă n g đ ịa c h i b ộ n h ớ v à g iả m th a n h g h i đ ế m b y te . N e u th a n h g h i đ ế m v ẫ n lớ n h ơ n 0, D M A th ự c h iệ n b ư ớ c 2 tớ i 4 c h o tớ i k h i th a n h g h i đ ế m b à n g 0. L ú c n à y , b ộ đ iề u k h iể n D M A sẽ tạ o ra n g ắ t b á o c h o C P U b iế t đ ã h o à n th à n h q u á trìn h tru y ề n d ừ liệ u . C ó n h iề u k iể u b ộ đ iề u k h iể n D M A v ớ i đ ộ p h ứ c tạ p k h á c n h a u . Đ ơ n g iả n n h ấ t là k iể u c h i tru y ề n m ộ t b y te tạ i m ộ t th ờ i đ iể m n h ư m ô tả trê n . P h ứ c tạ p h ơ n là k iể u c h o p h é p tru y ề n n h iề u lu ồ n g d ữ liệ u m ộ t lú c . N h ư v ậ y , b ộ đ iề u k h iể n c ó n h iề u n h ó m th a n h g h i, m ỗ i n h ó m ứ n g v ớ i m ộ t k ê n h tru y ề n . C P U sẽ n ạ p c á c th a m sổ th íc h h ợ p v à o m ộ t n h ó m th a n h g h i. M ồ i lầ n tru y ề n th ự c h iệ n trê n m ộ t b ộ đ iề u k h iể n th iế t bị riê n g . 8 .2 .6 . B ộ đ ệ m ( B u ff e r ) T ro n g k ỹ th u ậ t b ộ đ ệ m d ữ liệ u , k h i th iế t b ị ở tr ạ n g th á i rồ i, b ộ q u ả n lý th iế t b ị th ự c h iệ n đ ọ c /g h i d ữ liệ u trư ớ c k h i tiế n trìn h y ê u c ầ u th ự c h iệ n . Đ ệ m v à o là v iệ c đ ọ c d ữ liệ u v à o b ộ n h ớ tro n g , đ ệ m ra là v iệ c g h i d ữ liệ u ra th iế t b ị, c ả h a i th a o tá c n à y c ó th ể th ự c h iệ n s o n g s o n g v ớ i tiế n tr ìn h v à tr ư ớ c k h i tiế n tr ìn h đ ư a r a y ê u c ầ u th ự c sự . B ộ đ ệ m c h o p h é p tiế n trìn h s ử d ụ n g x e n k ẽ C P U v à th iế t b ị m ộ t c á c h tư ờ n g m in h ( m in h h ọ a tr ê n H ìn .h8 a). 8 C h ú ý đ ế n đ ặ c đ iể m tiế n trìn h : T iế n tr ìn h h ư ớ n g v à o /ra c ó n h iề u th a o tác vào/ra (ví dụ, tiến trình sao chép dữ liệu giữa hai thiết bị) và tiến trình h ư ớ n g tín h to á n c ó n h iề u th a o tá c tín h to á n trê n C P U ( tiế n tr ìn h tìm số n g u y ê n tố ). T iế n tr ìn h b ìn h th ư ờ n g c ó th ể c h ia th à n h n h iề u p h a , c á c p h a h ư ớ n g tín h to á n v à h ư ớ n g v à o /r a x e n k ẽ n h a u . B ộ p h ậ n q u ả n lý b ộ n h ớ s ẽ s ử d ụ n g c á c k ỹ th u ậ t q u ả n lý b ộ n h ớ đ ể là m g iả m th ờ i g ia n th ự c h iệ n v à o /ra tr u n g b ìn h . X é t v iệ c c h u y ể n d ữ liệ u ra m o d e m k h ô n g s ử d ụ n g b ộ đ ệ m n h ư m in h h ọ a tr ê n H ìn h 8 . 8 b. T iế n trìn h n g ư ờ i d ù n g s ử d ụ n g lờ i g ọ i h ệ th ố n g w rite đ ể c h u y ể n đi n k ý tự . H ệ th ố n g c ó h a i lự a c h ọ n : M ộ t là p h o n g tỏ a tiế n tr ìn h n g ư ờ i d ù n g c h o tớ i k h i tấ t c ả k ý tự đ ư ợ c g h i th à n h c ô n g , n h ư n g c á c h 146
  16. n à y tố n n h iề u th ờ i g ia n , đ ặ c b iệ t là trê n n h ữ n g đ ư ờ n g tr u y ề n c ó tố c đ ộ th ấ p ( c h ẳ n g h ạ n đ ư ờ n g đ iệ n th o ạ i). C á c h th ứ h ai là c h o p h é p tiế n trìn h n g ư ờ i d ù n g th ự c th i n g a y lậ p tứ c . T rin h đ iề u k h iể n th ự c h iệ n v iệ c x u ấ t tr o n g k h i tiế n tr in h n g ư ờ i d ù n g tiế p tụ c th ự c h iệ n c ô n g v iệ c tín h to á n c ủ a m ìnấ n v h, đ ề ở đ â y là: L à m th ế n à o đ ể tiế n tr ìn h n g ư ờ i d ù n g x á c đ ịn h đ ư ợ c v iệ c x u ấ t d ữ liệ u đ ã h o à n th à n h v à d o v ậ y c ỏ th ể s ử d ụ n g tiế p b ộ đ ệ m ? H ệ th ố n g có th ể tạ o ra tín h iệ u h o ặ c n g ắ t p h ầ n m ề m , n h ư n g k iể u lậ p tr ìn h n à y rấ t k h ó v à đ ặ c b iệ t d ễ g â y x u n g đ ộ t. M ộ t g iả i p h á p tố t h ơ n là k e m e l sa o c h é p d ừ liệ u tớ i b ộ đ ệ m tr o n g k e m e l (H ìn h . 8 d). 8 Tiến trìn h n g ư ờ i dùng (ừng dụng) Bộ nh ở trong Không gion Ngi/Ó< dùng Khỏng gian HĐH o CD CPU (C) Modem Modem Độ điếu khiển í 2 T h ỉit bị c3 1 1 {•) M odem Mod«m Hình 8.8. Bộ đệm dữ liệu M o d e m là th iế t b ị k iể u k ý tự đ ọ c /g h i từ n g b y te d ữ liệ u . B ộ đ iề u k h iể n m o d e m c ó th a n h g h i d ữ liệ u v ớ i k íc h th ư ớ1 c b y te c h ứ a k ý tự c u ố i c ù n g n h ậ n đ ư ợ c s a u lệ n h read. K h i c ó lờ i g ọ i read k ế tiế p , tr ìn h đ iề u k h iể n c h u y ể n lệ n h tư ơ n g ứ n g c h o b ộ đ iề u k h iể n , v à đ ế n lư ợ t m in h b ộ đ iề u k h iể n ra lệ n h th iế t b ị đ ặ t b y te k ế tiế p v à o th a n h g h i d ữ liệ u c ủ a b ộ đ iề u k h iể n (H ìn h 8 .9 a ). B ộ đ ệ m n ằ m b ê n tr o n g b ộ đ iề u k h iể n g iú p tiế n trìn h g iả m đ á n g k ể th ờ i g ia n đ ợ i k ý tự , v ì b ộ đ iề u k h iể n đ ã lư u tạ m d ữ liệ u trư ớ c . T ro n g lỉìn h - 8 .9 b , k ý tự k ế tiế p đ ư ợ c đ ặ t v à o th a n h g h i d ừ liệ u B c ủ a b ộ đ iề u k h iể n tr ư ớ c k h i tiế n tr ìn h y ê u c ầ u đ ọ c . K ế tiế p , th iế t b ị đ ọ c d ữ liệ u v à c h u y ể n b y te tiế p th e o v à o th a n h g h i A (k ể c ả k h i tiế n trìn h c h ư a c ó y ê u c ầ u đ ọ c ). S a u đ ó , 147
  17. tiế n tr ìn h y ê u c ầ u k ý tự đ ã đ ư ợ c đ ặ t từ tr ư ớ c v à o th a n h g h i B. L ú c n à y , th iế t bị s ẽ đ ọ c k ý tự k ế tiế p v à o th a n h g h i A . T h iế t b ị s ẽ đ ọ c k ý tự (i + 1) s o n g s o n g v ớ i v iệ c tiế n tr ìn h s ử d ụ n g k ý t ự i. S ự p h ố i h ọ p n à y tr ở n ê n " h o à n h ả o " n ế u tố c đ ộ đ ọ c c ủ a b ộ đ iề u k h iể n b ằ n g tố c đ ộ tiế n tr ìn h " tiê u th ụ " k ý tự . C ó th ể đ ặ t th ê m b ộ đ ệ m g iữ a b ộ đ iề u k h iể n v à trìn h đ iề u k h iể n th iế t bị ( H ìn h 8 .9 b ) , k h i đ ó c ó h a i b ộ đ ệ m tr o n g h ệ th ố n g . B ộ đ ệ m th ứ n h ấ t lư u tạ m d ữ liệ u c h o tầ n g c a o h ơ n lấ y , tr o n g k h i b ộ đ ệ m k ia lư u d ữ liệ u lấ y từ tầ n g b ê n d ư ớ i. C h ú ý , k ỹ th u ậ í n à y h o à n to à n á p d ụ n g đ ư ợ c c h o th iế t bị h ư ớ n g k h ố i, c h ẳ n g h ạ n ổ đ ĩa . K h i đ ó , k íc h th ư ớ c b ộ đ ệ m p h ả i đ ủ lớ n đ ể c h ứ a đ ư ợ c m ộ t k h ố i d ữ liệ u . kuến Data [1 1 Tkiéiụ 1 KhÔDgcóđôm CoDtroUer đoc b, (a) Hình 8.9. Kỹ thuật bộ đệm dữ liệu H ệ th ố n g c ó th ể c ó n h iề u b ộ đ ệ m n h ư tr o n g H ìn h 8.1 Oa. B ộ p h ậ n tạ o ra d ữ liệ u ( v ớ i th a o tá c r e a d là b ộ đ iề u k h iể n , v ớ i th a o tá c w rite là C P U ) g h i d ữ liệ u v à o b ộ đ ệ m i, tr o n g k h i b ộ p h ậ n tiê u th ụ d ữ liệ u (b ộ đ iề u k h iể n tr o n g th a o tá c w rite v à C P U tr o n g th a o tá c r e a d ) đ ọ c d ữ liệ u từ b ộ đ ệ m j . K h i đ ó , c á c b ộ đ ệ m t ừ j đ ế n (n - 1) v à t ừ 0 đ é n (i - 1) đ ầ y . B ộ p h ậ n tiê u th ụ c ó th ể đ ọ c d ữ liệ u tr o n g b ộ đ ệ m j đ ế n (n - 1) v à t ừ 0 đ ế n (i - 1). B ộ p h ậ n s ả n x u ấ t c ó th ể g h i v à o c á c b ộ đ ệ m i đ ế n (j 1 -)> tr o n g k h i b ộ p h ậ n tiê u th ụ đ ọ c t ừ b ộ đ ệ m j . T r o n g k ỹ th u ậ t đ ệ m v ò n g ( c ir c u l a r b u í ĩ e r ) n h ư v ậ y , b ộ p h ậ n s ả n x u ấ t không thể ghi vượt qua bộ phận tiêu thụ, vì nếu không sẽ làm mất dừ liệu c h ư a tiê u th ụ . B ộ p h ậ n s ả n x u ấ t c h ỉ đ ư ợ c g h i tớ i b ộ đ ệ m j - 1 n ế u b ộ đ ệ m j đ a n g đ ư ợ c đ ợ i tiê u th ụ . Ả n h h ư ở n g c ủ a b ộ đ ệ m tớ i h iệ u s u ấ t p h ụ th u ộ c n h iề u v à o đ ặ c đ iể m tiế n tr ìn h . T iế n tr ìn h h ư ớ n g v à o /r a th ư ờ n g đ ọ c b ộ đ ệ m n g a y k h i b ộ đ iề u k h iể n 148
  18. c h u y ế n d ừ liệ u v à o , h o ặ c g h i n g a y d ữ liệ u k h i b ộ đ iề u k h iể n b ắ t đ ầ u g h i d ữ liệ u ra th iế t b ị. T iế n Irìn h h ư ớ n g tín h to á n c ó x u h ư ớ n g n g ư ợ c lại: b ộ đ ệ m v à o th ư ờ n g đ ầ y tr o n g k h i b ộ đ ệ m ra th ư ờ n g rồ n g . T iế n tr ìn h đ ơ n g iả n th ư ờ n g là h ư ớ n g v à o /ra , c ò n tiế n tr ìn h p h ứ c tạ p t h ư ò n g c ó n h iề u p h a , c ó p h a h ư ớ n g v à o /ra v à c ó p h a h ư ớ n g tín h to á n . C á c p h a x e n k ẽ n h a u tậ n d ụ n g tố i d a u n d iổ m c ù a b ộ đ ệ m , vì tr o n g th ờ i g ia n tiế n tr ìn h th ự c h iệ n tín h to á n , b ộ đ iề u k h iể n n h a n h c h ó n g đ ổ d ữ liệ u v à o (h o ặ c ra ) b ộ đ ệ m . K h i b ộ đ ệ m đ ầ y (h o ặ c tr ố n g ), tiế n tr in h c h u y ể n s a n g p h a h ư ớ n g tín h to á n . T u y n h iê n , b ộ đ ệ m c ũ n g là m s u y g iả m h iệ u s u ấ t k h i d ữ liệ u b ị tr u n g c h u y ể n q u a n h iề u b ộ đ ệ m . X é t v í d ụ m ạ n g m á y tín h h o ạ t đ ộ n g tr ê n H ìn h S .lO b . Đ ầ u tiê n , tiế n trìn h n g ư ờ i d ù n g th ự c h iệ n lờ i g ọ i h ệ th ố n g đ ể g ử i th ô n g đ iệ p q u a m ạ n g . H Đ H sa o c h é p g ó i d ừ liệ u tớ i b ộ đ ệ m tr o n g H Đ H đ ể tiế n tr ìn h n g ư ờ i d ù n g tiế p tụ c th ự c th i (b ư ớ c 1). K h i th ự c th i, tr ìn h đ iề u k h iể n c h u y ể n g ó i d ữ liệ u tở i b ộ đ iề u k h iể n đ ể x u ấ t (b ư ớ c 2 ). T r ìn h đ iề u k h iể n k h ô n g g ừ i tr ự c tiế p d ữ liệ u trê n đ ư ờ n g Iru y ề n , vì p h ả i đ ả m b ả o tố c đ ộ g ử i c ổ đ ịn h . T rin h đ iề u k h iể n k h ô n g th ể đ ả m b ả o c ó th ể lấ y d ừ liệ u từ b ộ n h ớ tr o n g v ớ i tố c đ ộ n h ấ t đ ịn h d o k ê n h D M A v à c á c th iế t bị v à o /r a k h á c c ó th ể tr a n h c h ấ p b u s d ù n g c h u n g . C h i c ầ n g ử i lỗ i m ộ t b y te , c ó th ể là m h ỏ n g to à n b ộ g ó i d ữ liệ u . Đ ặ t g ó i d ừ liệ u tr o n g b ộ đ ệ m c ù a b ộ đ iề u k h iể n s ẽ tr á n h đ ư ợ c v ấ n đ ề n à y . S a u k h i đ ư ợ c c h u y ể n v à o b ộ đ ệ m b ê n tr o n g b ộ đ iề u k h iể n , g ó i d ữ liệ u s ẽ đ ư ợ c tr u y ề n ra m ạ n g (b ư ớ c 3 ). S a u k h i b it c u ố i c ù n g đ ế n đ íc h , to à n b ộ g ó i d ữ liệ u đ ư ợ c đ ặ t v à o b ộ đ ệ m c ù a b ộ đ iề u k h iể n n ơ i n h ậ n . T iế p đ ế n , g ó i d ữ liệ u đ ư ợ c c h u y ể n tiế p v à o b ộ đ ệ m tr o n g k e m e l ( b ư ớ c 4 ). C u ố i c ù n g , g ó i d ữ liệ u đ ư ợ c s a o c h é p tớ i b ộ đ ệ m tiế n tr ìn h n g ư ờ i d ù n g . T h ô n g th ư ờ n g , tiế n tr ìn h n h ậ n s ẽ g ử i lại m ộ t b iê n n h ậ n . C h i k h i n h ậ n đ ư ợ c b iê n n h ậ n , p h ía g ử i m ớ i đ ư ợ c g ử i tiế p g ó i d ữ liệ u m ớ i. R õ rà n g , c à n g n h iề u b ộ đ ệ m , tố c đ ộ tr u y dữ liệ u c à n g c h ậ m . ền L Ì t dử Uệu từB ộđệa Tiển ưỉnh N g iw i dùng Không gian _________ Ì ------------------ d H : ỷ Ngiròidùng (5'p 5 Không gian c 3 Ũ B B n ũ ũ D HĐÌH 4 r ------------------- ^ Bộ điểu khíẻn Mọng ỉ CliKvển dử H1ìe Bỹ n Mọng mày tinh (a) (b ) Hình 8.10. Bộ đệm xoay vòng và ảnh hường tới hiệu suất 149
  19. 8 .3 . T R ÌN H Đ IÈ U K H IẾ N T H IÉ T BỊ T iế n tr in h ứ n g d ụ n g g ọ i trìn h đ iề u k h iể n th iế t bị k h i m u ố n th ự c h iệ n v à o /ra . T rìn h đ iề u k h iể n " d ịc h " y ê u c ầ u n à y th à n h lệ n h m à b ộ đ iề u k h iể n c ó th ể " h iể u " đ ư ợ c . S a u d ó , h o ặ c trìn h đ iề u k h iể n sẽ th ă m d ò x em b ộ đ iề u k h iể n đ ã h o à n th à n h c ô n g v iệ c h a y c h ư a , h o ặ c sẽ g h i lại c á c th ô n g tin v à o b ả n g th iế t bị tr o n g tr ư ờ n g h ọ p s ứ d ụ n g n g ắ t. N g o à i v iệ c p h ả i đ ư a ra c á c lệ n h đ ặ c th ù c h o từ n g b ộ đ iề u k h iể n th iế t b ị, trìn h đ iề u k h iể n th iế t bị c ò n p h ả i: 1. C u n g c ấ p A P I đ ể ứ n g d ụ n g th ự c h iệ n v à o /ra trê n th iế t bị. G ia o d iệ n A P l g iữ a c á c trìn h đ iề u k h iể n n ê n g iố n g n h a u . 2. Đ ả m b ả o p h ố i h ợ p h o ạ t đ ộ n g c ù a tiế n trìn h ứ n g d ụ n g v à b ộ đ iề u k h iể n th iế t bị. 3. T ố i ư u h iệ u su ấ t tổ n g th ể c ủ a h ệ th ố n g v ớ i p h ư ơ n g p h á p đ iề u k h iể n th íc h h ợ p . 8 .3 .1 . G ia o d iệ n c ủ a t r ì n h đ iề u k h iể n M ỗ i H Đ H x â y d ự n g riê n g c h o m ìn h m ộ t k iế n trú c h ệ th ố n g v à o /ra v ớ i h a i g ia o d iệ n c ơ b ả n là A P I (g ia o d iệ n c h o n g ư ờ i lậ p trin h ) v à g ia o d iệ n v ớ i nhân H Đ H . API - Giao diện lập trình ứng dụng A P l là g ia o d iệ n n g ư ờ i lậ p trìn h s ử d ụ n g đ ể th ự c h iệ n v à o /ra tr ê n th iế t b ị. N h iệ m v ụ c h ín h c ủ a th iế t bị là tru y ề n th ô n g h o ặ c lư u trữ . C á c th iế t bị " v à o " thưòrng "tạ o " ra th ô n g tin đ ư a v à o h ệ th ố n g . T h ô n g tin có th ể k h ô n g c ó k h u ô n d ạ n g ( đ ế n từ m ạ n g m á y tín h ), h o ặ c c ó k h u ô n d ạ n g x á c đ ịn h (đ ế n từ ổ đ ĩa ). T iế n tr ìn h sẽ "g h i" th ô n g tin lê n th iế t b ị " ra " , c ó th ể là th iế t b ị tru y ề n th ô n g , h o ặ c th iế t b ị lư u tr ữ đ ể s a u n à y s ử d ụ n g lại. T rìn h đ iề u k h iể n c h ịu tr á c h n h iệ m k iể m s o á t tr ạ n g th á i th iế t bị ( b ậ n h a y rồ i) h a y tiế n tr ìn h n à o đ a n g s ử d ụ n g th iế t b ị. B ê n c ạ n h th ô n g tin lư u tr o n g b ả n g tr ạ n g th á i th iế t b ị, p h ả i lư u tr ữ c á c th ô n g tin v ề đ ặ c tín h c ủ a từ n g lo ạ i th iế t b ị. P h ầ n lớ n g ia o d iệ n c ủ a tr ìn h đ iề u k h iể n c ó lờ i g ọopen v à close v ớ i m ụ c đ íc h đ ể k h ở i tạ o i (x in c ấ p p h á t th iế t b ị, tạ o c á c b ả n g tư ơ n g ứ n g ) v à k ế t th ú c q u á trìn h s ử d ụ n g th iế t bị ( đ á n h d ấ u th iế t b ị ở trạ n g th á i rỗ i). T rìn h đ iề u k h iể n c u n g c ấ p c á c h à m đ ể ứ n g d ụ n g s ử d ụ n g k h i m u ố n tra o đ ổ i d ữ liệ u v ớ i th iế t b ị. M ặ c d ù c ố g ắ n g đ ể tạ o r a m ộ t g ia o d iệ n (là h ệ th ố n g 150
  20. c á c h à m ) th ố n g n h ấ t (v ề c á c h g ọ i, tru y ề n th a m sổ ) c h o tấ t c ả c á c lo ại th iế t b ị, n h ư n g m ụ c tiê u n à y k h ó đ ạ l đ ư ợ c vì c á c k iể u th iế t bị c ó b ả n c h ấ t k h á c n h au , nên cách sử d ụ n g cũ n g khác nhau. ^ Giao diện với nhân HĐH rrin li đ iề u k h iể n th ự c th i c á c c h ỉ th ị đ ặ c q u y ề n k h i ra lệ n h c h o b ộ đ iề u k h iể n th iế t b ị, n g h ĩa là trìn h đ iề u k h iể n đ ư ợ c th ự c th i n h ư m ộ t b ộ p h ậ n c ù a H D H , c h ứ k h ô n g p h ả i b ộ p h ậ n c ủ a c h ư ơ n g tr ìn h ứ n g d ụ n g . T rìn h đ iề u k h iể n c ò n c ó k h ả n ă n g đ ọ c /g h i th ô n g tin trê n k h ô n g g ia n đ ịa c h ỉ c ủ a n h iề u tiế n tr ìn h , vì th iế t bị c ó th ể đ ư ợ c d ù n g c h u n g . T ro n g c á c H Đ H c ũ , trìn h đ iề u k h iể n th ư ờ n g đ ư ợ c tíc h h ợ p v à o H Đ H b ằ n g c á c h th a y đ ổ i m ã n g u ồ n H Đ H v à s a u d ó b iê n d ịc h lại. Tiên ưinh G ia o d i^ n v ó i HĐH IRT Trinh điểu khiển r «4 d ( , . . ){ Hànoưno với Thỉốtblỉ re«d_requast
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2