Tải bản đầy đủ (.docx) (22 trang)

NGÂN HÀNG câu hỏi đáp án học phần hệ thống nhúng (17312)

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

NGÂN HÀNG CÂU HỎI - ĐÁP ÁN
Học phần: Hệ thống nhúng (17312)
I. NGÂN HÀNG CÂU HỎI THI
1. Phần lý thuyết:
Câu 1 : (3 điểm, 15 phút)
Trình bày hiểu biết của Anh (Chị) về kiến trúc hệ thống nhúng, cho ví dụ minh
họa.
Câu 2 : (3 điểm, 15 phút)
Trình bày hiểu biết của Anh (Chị) về mô hình phân lớp hệ thống nhúng, cho ví
dụ minh họa. (3 điểm)
Câu 3 : (3 điểm, 15 phút)
Trình bày hiểu biết của Anh (Chị) về kiến trúc chung của các vi xử lí dùng trong
hệ thống nhúng, sự khác biệt giữa các vi xử lí này với các vi xử lí dùng trong
máy tính điện tử, cho ví dụ minh họa. (3 điểm)
Câu 4 : (3 điểm, 15 phút)
Trình bày hiểu biết của Anh (Chị) về các thành phần cơ bản của một vi điều
khiển, cho ví dụ minh họa.
Câu 5 : (3 điểm, 15 phút)
Trình bày hiểu biết của Anh (Chị ) về tổ chức và quản lí bộ nhớ trong các hệ
thống nhúng, cho ví dụ minh họa.
Câu 6 : (3 điểm, 15 phút)
Trình bày hiểu biết của Anh (Chị ) về giao diện kết nối (song song, nối tiếp, I2C,
SPI) được sử dụng trong các hệ thống nhúng, cho ví dụ minh họa.
Câu 7 : (3 điểm, 15 phút)
Trình bày hiểu biết của Anh (Chị) về phần mềm nhúng, sự khác biệt giữa các
phần mềm nhúng và các phần mềm dùng trong các máy tính điện tử, cho ví dụ
minh họa.
Câu 8 : (3 điểm, 15 phút)
Trình bày hiểu biết của Anh (Chị) về hệ điều hành trong các hệ thống nhúng, sự
khác biệt của các hệ điều hành này so với các hệ điều hành dùng trong các máy
tính điện tử, cho ví dụ minh họa.


Câu 9 : (3 điểm, 15 phút)
Trình bày hiểu biết của Anh (Chị) về quy trình xây dựng một hệ thống nhúng,
cho ví dụ minh họa.
Câu 10 : (3 điểm, 15 phút)
Trình bày hiểu biết của Anh (Chị) về hệ thống thời gian thực, cho ví dụ minh
họa.
2. Phần bài tập:
Câu 1: (4 điểm, 20 phút)

1


Cho mạch điều khiển như hình vẽ
, giả sử trạng
thái của Diode phát quang D 1, D2, D3 được mã hóa tương ứng với các giá trị nhị
phân 0,1 (Diode đóng ~ 1, Diode ngắt ~ 0). Anh (Chị) hãy viết đoạn chương
trình (ASM, C..) cho phép vi điều khiển (AT89x, PIC, AVR, AMR..) điều khiển
trạng thái hoạt động của các Diode theo giá trị 001 (thời gian trễ cho mỗi diode
là 05s).
void setup() {
// thiết lập chân pin 9,8,7 là chân đầu ra ứng vs các đèn d1,d2,d3
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
pinMode(7, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(9, LOW); //d1 nhận giá trị 0(tắt)
delay(500) ; // delay 0,5s
digitalWrite(8, LOW); //s2 nhận giá trị 0(tắt)

delay(500);
// delay0.5s
digitalWrite(7, HIGH); //d3 nhận giá trị 1(sáng)
delay(500); //delay 0.5s
}
Câu 2: (4 điểm, 20 phút)

Cho mạch điều khiển như hình vẽ
, giả sử trạng
thái của Diode phát quang D 1, D2, D3 được mã hóa tương ứng với các giá trị nhị
phân 0,1 (Diode đóng ~ 1, Diode ngắt ~ 0). Anh (Chị) hãy viết đoạn chương
trình (ASM, C..) cho phép vi điều khiển (AT89x, PIC, AVR, AMR..) điều khiển
trạng thái hoạt động của các Diode theo giá trị 010 (thời gian trễ cho mỗi diode
là 05s).
Câu 3: (4 điểm, 20 phút)

2


Cho mạch điều khiển như hình vẽ
, giả sử trạng
thái của Diode phát quang D 1, D2, D3 được mã hóa tương ứng với các giá trị nhị
phân 0,1 (Diode đóng ~ 1, Diode ngắt ~ 0). Anh (Chị) hãy viết đoạn chương
trình (ASM, C..) cho phép vi điều khiển (AT89x, PIC, AVR, AMR..) điều khiển
trạng thái hoạt động của các Diode theo giá trị 011 (thời gian trễ cho mỗi diode
là 05s).
Câu 4: (4 điểm, 20 phút)

Cho mạch điều khiển như hình vẽ
, giả sử trạng

thái của Diode phát quang D 1, D2, D3 được mã hóa tương ứng với các giá trị nhị
phân 0,1 (Diode đóng ~ 1, Diode ngắt ~ 0). Anh (Chị) hãy viết đoạn chương
trình (ASM, C..) cho phép vi điều khiển (AT89x, PIC, AVR, AMR..) điều khiển
trạng thái hoạt động của các Diode theo giá trị 101 (thời gian trễ cho mỗi diode
là 05s).
Câu 5: (4 điểm, 20 phút)

Cho mạch điều khiển như hình vẽ
, giả sử trạng
thái của Diode phát quang D 1, D2, D3 được mã hóa tương ứng với các giá trị nhị
phân 0,1 (Diode đóng ~ 1, Diode ngắt ~ 0). Anh (Chị) hãy viết đoạn chương
trình (ASM, C..) cho phép vi điều khiển (AT89x, PIC, AVR, AMR..) điều khiển
trạng thái hoạt động của các Diode theo giá trị 111 (thời gian trễ cho mỗi diode
là 05s).
Câu 6: (4 điểm, 20 phút)

Cho mạch điều khiển như hình vẽ
Anh (Chị) hãy
viết đoạn chương trình (ASM, C..) cho phép vi điều khiển (AT89x, PIC, AVR,
3


AMR..) điều khiển trạng thái hoạt động của các Diode sáng luân phiên theo thứ
tự: D1 sáng 25s, D2 sáng 10s và D3 sáng 15s.
Câu 7: (4 điểm, 20 phút)

Cho mạch điều khiển như hình vẽ
Anh (Chị) hãy
viết đoạn chương trình (ASM, C..) cho phép vi điều khiển (AT89x, PIC, AVR,
AMR..) điều khiển hoạt động của LED hiển thị các chữ số chẵn.

1. void Print_7SEG(byte number);
2. void Clear();
3. void setup() {
4. pinMode(3, OUTPUT);
5. pinMode(4, OUTPUT);
6. pinMode(5, OUTPUT);
7. pinMode(6, OUTPUT);
8. pinMode(7, OUTPUT);
9. pinMode(8, OUTPUT);
10. pinMode(9, OUTPUT);
11. }
12.
13. void loop() {
14. for (int i = 0; i<10; i++)
15. {
16. Clear();
17. Print_7SEG(i);
18. delay(500);
19. }
20. }
21. void Clear()
22. {
23. digitalWrite(3, HIGH);
24. digitalWrite(4, HIGH);
25. digitalWrite(5, HIGH);
26. digitalWrite(6, HIGH);
27. digitalWrite(7, HIGH);
28. digitalWrite(8, HIGH);
29. digitalWrite(9, HIGH);
30. }

31. void Print_7SEG(byte number)
4


32. {
33. switch (number)
34. {
35. case 0:
36. digitalWrite(3,
37. digitalWrite(4,
38. digitalWrite(5,
39. digitalWrite(6,
40. digitalWrite(7,
41. digitalWrite(8,
42. digitalWrite(9,
43. break;
44. case 1:
45. digitalWrite(3,
46. digitalWrite(4,
47. digitalWrite(5,
48. digitalWrite(6,
49. digitalWrite(7,
50. digitalWrite(8,
51. digitalWrite(9,
52. break;
53. case 2:
54. digitalWrite(3,
55. digitalWrite(4,
56. digitalWrite(5,
57. digitalWrite(6,

58. digitalWrite(7,
59. digitalWrite(8,
60. digitalWrite(9,
61. break;
62. case 3:
63. digitalWrite(3,
64. digitalWrite(4,
65. digitalWrite(5,
66. digitalWrite(6,
67. digitalWrite(7,
68. digitalWrite(8,
69. digitalWrite(9,
70. break;
71. case 4:
72. digitalWrite(3,

LOW);
LOW);
LOW);
LOW);
LOW);
LOW);
HIGH);

HIGH);
LOW);
LOW);
HIGH);
HIGH);
HIGH);

HIGH);

LOW);
LOW);
HIGH);
LOW);
LOW);
HIGH);
LOW);

LOW);
LOW);
LOW);
LOW);
HIGH);
HIGH);
LOW);

HIGH);

5


73. digitalWrite(4, LOW);
74. digitalWrite(5, LOW);
75. digitalWrite(6, HIGH);
76. digitalWrite(7, HIGH);
77. digitalWrite(8, LOW);
78. digitalWrite(9, LOW);
79. break;

80. case 5:
81. digitalWrite(3, LOW);
82. digitalWrite(4, HIGH);
83. digitalWrite(5, LOW);
84. digitalWrite(6, LOW);
85. digitalWrite(7, HIGH);
86. digitalWrite(8, LOW);
87. digitalWrite(9, LOW);
88. break;
89. case 6:
90. digitalWrite(3, LOW);
91. digitalWrite(4, HIGH);
92. digitalWrite(5, LOW);
93. digitalWrite(6, LOW);
94. digitalWrite(7, LOW);
95. digitalWrite(8, LOW);
96. digitalWrite(9, LOW);
97. break;
98. case 7:
99. digitalWrite(3, LOW);
100.
digitalWrite(4, LOW);
101.
digitalWrite(5, LOW);
102.
digitalWrite(6, HIGH);
103.
digitalWrite(7, HIGH);
104.
digitalWrite(8, HIGH);

105.
digitalWrite(9, HIGH);
106.
break;
107.
case 8:
108.
digitalWrite(3, LOW);
109.
digitalWrite(4, LOW);
110.
digitalWrite(5, LOW);
111.
digitalWrite(6, LOW);
112.
digitalWrite(7, LOW);
113.
digitalWrite(8, LOW);
6


114.
115.
116.
117.
118.
119.
120.
121.
122.

123.
124.
125.
126.

digitalWrite(9, LOW);
break;
case 9:
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
break;
}
}

Câu 8: (4 điểm, 20 phút)
7


Cho mạch điều khiển như hình vẽ
Anh (Chị) hãy
viết đoạn chương trình (ASM, C..) cho phép vi điều khiển (AT89x, PIC, AVR,
AMR..) điều khiển hoạt động của LED hiển thị các chữ số lẻ.
Câu 9: (4 điểm, 20 phút)

Cho mạch điều khiển như hình vẽ

Anh (Chị) hãy
viết đoạn chương trình (ASM, C..) cho phép vi điều khiển (AT89x, PIC, AVR,
AMR..) điều khiển hoạt động của LED hiển thị các chữ số từ 0 đến 9.
Câu 10: (4 điểm, 20 phút)

Cho mạch điều khiển như hình vẽ
Anh (Chị) hãy
viết đoạn chương trình (ASM, C..) cho phép vi điều khiển (AT89x, PIC, AVR,
AMR..) điều khiển hoạt động của LED hiển thị các chữ cái từ A đến F.
II. ĐÁP ÁN
1. Phần lý thuyết:
Câu 1:
- Khái niệm hệ thống nhúng: Hệ thống tích hợp phần cứng và phần mềm dùng
để thực hiện một hoặc một nhóm chức năng chuyên biệt, cụ thể nào đó
(0,25đ).
- Kiến trúc hệ thống nhúng:
Kiến trúc chung: 3 phần chính
Module: là những thành phần được định nghĩa với những chức năng khác
nhau, là những đơn vị phần mềm/phần cứng cần thiết để hệ thống có thể
hoạt động đúng. Cấu trúc mô tả với những module này thường được sử
dụng để giới thiệu một sản phẩm nào đó (0.25đ)
Component or Connector: các cấu trúc này bao gồm các thành phần hoặc
là các components ví dụ như các đơn vị xử lý phần cứng, phần mềm, bộ
xử lý, máy ảo... hoặc các Connector (các đơn vị kết nối giữa các thành
phần, như hệ thống bus phần cứng hoặc hệ thống thông điệp phần mềm)
(0.25đ)
Allocation: cấu trúc mô tả mối liên hệ giữa các thành phần phần
cứng/phần mềm và các thực thể của môi trường bên ngoài (0.25đ)
8



Mô hình (0.25đ)
Chức năng từng thành phần:
Thành phần Module (0.25đ)
SubSystem: biểu diễn hình ảnh của một module tại thời điểm thực thi
trong đó có sự liên kết hoạt động giữa các module với nhau
Layers: một kiểu của SubSystem trong đó các module được biểu diễn
dưới dạng các lớp, module ở lớp trên sẽ sử dụng các dịch vụ được cung
cấp bởi module ở lớp dưới.
Kernel: cấu trúc biểu diễn các module có sử dụng các dịch vụ của kernel
hoặc được quản lý bởi kernel.
Channel Architecture: cấu trúc biểu diễn các module dạng chuỗi, mô tả
những sự thay đổi trạng thái của module trong quá trình hoạt động.
Virtual Machine: cấu trúc biểu diễn các module sử dụng các dịch vụ của
một máy ảo.
Decomposition: một kiểu cấu trúc module trong đó một số module là các
module con của module khác, thể hiện trong các mối quan hệ giữa những
module này. Cấu trúc này thường được sử dụng để xác định các tài
nguyên, quản lý dự án, quản lý dữ liệu ...
Class: là một kiểu cấu trúc biểu diễn các đơn vị phần mềm trong đó các
module được tham chiếu là các lớp, và quan hệ giữa chúng được định
nghĩa dựa theo mô hình hướng đối tượng trong đó lớp này kế thừa từ lớp
khác hoặc là một thể hiện của lớp cha.
Tương tự với thành phần Component (0.25đ), thành phần Allocation
(0.25đ).
- Ví dụ minh họa
Chỉ ra 01 hệ thống nhúng (ứng dụng trong các lĩnh vực như điều khiển,
truyền thông…) (0.25đ).
Các thành phần trong hệ, vai trò của từng thành phần (0.5đ).
Phân lớp các thành phần theo kiến trúc (0.25đ).

Câu 2:
- Khái niệm hệ thống nhúng: Hệ thống tích hợp phần cứng và phần mềm dùng
để thực hiện một hoặc một nhóm chức năng chuyên biệt, cụ thể nào đó
(0,25đ).
- Mô hình phân lớp hệ thống nhúng:
Kiến trúc chung: 3 lớp chính
Lớp phần cứng: các thiết bị phần cứng có trong hệ, bao gồm VXL, hệ
thống nhớ, cấu trúc kế nối và giao tiếp.. (0.25đ)
Lớp mềm: Phần mềm nhúng là một chương trình được viết, biên dịch trên
máy tính và nạp vào một hệ thống khác (gọi tắt là KIT) bao gồm một hoặc
nhiều bộ vi xử lý đã được cài sẵn một hệ điều hành, bộ nhớ ghi chép
được, các cổng giao tiếp với các phần cứng khác.. (0.25đ)

9


Lớp ứng dụng: các phần mềm đặc trưng cho loại thiết bị của hệ thống
nhúng, biểu diễn mục đích chính của hệ thống và thực hiện hầu hết các
tương tác với người sử dụng.. (0.25đ)
Mô hình (0.25đ).

Chức năng từng thành phần trong các lớp:
Chức năng các thành phần trong Lớp phần cứng (0.25đ).
Bộ tính toán, xử lý: đây là một trong những yêu cầu căn bản nhất của hệ
thống nhúng. Tất cả các hệ thống lấy dữ liệu từ người dùng hoặc từ môi
trường xung quanh. Công việc xử lý có thể được tiến hành bằng cách sử
dụng bộ vi xử lý hoặc các vi mạch điện tử, các mạch động học. Phạm vi
của giáo trình này là những hệ thống nhúng sử dụng vi xử lý với những bộ
phận phần cứng khác…
Bộ nhớ: là một trong những yêu cầu tài nguyên hiển nhiên không chỉ của

hệ thống nhúng mà mọi hệ thống trên thực tế…
Cấu trúc kết nối: các thiết bị nhúng và ứng dụng không thể tồn tại độc lập,
chúng cần có khả năng giao tiếp với các thiết bị khác để có thể thực hiện
chức năng. Ta không thể yêu cầu người sử dụng kết nối thiết bị vào các
khe cắm như Ethernet, vv... Những liên kết như vậy thường sử dụng các
giao thức không dây như Bluetooth, WLAN, HiperLAN cho những
khoảng cách ngắn hay 2.5G, 3G, 4G cho những khoảng cách xa hơn.
Những thành phần kết nối khiến cho thiết bị trở nên thông minh hơn…
Tương tự với các thành phần trong Lớp mềm (0.25đ), và Lớp ứng dụng
(0.25đ).
- Ví dụ minh họa
Chỉ ra 01 hệ thống nhúng (ứng dụng trong các lĩnh vực như điều khiển,
truyền thông…) (0.25đ).
Các thành phần trong hệ, vai trò của từng thành phần (0.5đ).
Phân lớp các thành phần theo mô hình (0.25đ).
Câu 3:
- Khái niệm hệ thống nhúng: Hệ thống tích hợp phần cứng và phần mềm dùng
để thực hiện một hoặc một nhóm chức năng chuyên biệt, cụ thể nào đó
(0,25đ).
10


- Kiến trúc các VXL dùng trong các hệ thống nhúng:
Kiến trúc chung: 3 thành phần chính
Bộ xử lí trung tâm: Người ta vẫn biết tới phần lõi xử lý của các bộ VXL là
đơn vị xử lý trung tâm CPU (Central Processing Unit) đóng vai trò như bộ
não chịu trách nhiệm thực thi các phép tính và thực hiện các lệnh. Phần
chính của CPU đảm nhiệm chức năng này là đơn vị logic toán học (ALU Arthimetic Logic Unit). Ngoài ra để hỗ trợ cho hoạt động của ALU còn có
thêm một số các thành phần khác như bộ giải mã (decoder), bộ tuần tự
(sequencer) và các thanh ghi.. (0.25đ)

Hệ thống nhớ: Kiến trúc bộ nhớ được chia ra làm hai loại chính và được
áp dụng rộng rãi trong hầu hết các Chip xử lý nhúng hiện nay là kiến trúc
bộ nhớ von Neumann và Havard. Trong kiến trúc von Neumann không
phân biệt vùng chứa dữ liệu và mã chương trình. Cả chương trình và dữ
liệu đều được truy nhập theo cùng một đường. Điều này cho phép đưa dữ
liệu vào vùng mã chương trình ROM, và cũng có thể lưu mã chương trình
vào vùng dữ liệu RAM và thực hiện từ đó… (0.25đ).
Hệ thống vào/ra: Máy vi tính hay hệ vi xử lý đều có cấu trúc chung gồm
khối xử lý trung tâm CPU, bộ nhớ và các mạch vào ra I/O. Ngoài ra, máy
vi tính còn phải trao đổi dữ liệu với môi trường bên ngoài, ví dù giao tiếp
với người sử dụng qua bàn phím, màn hình, trao đổi với các thiệt bị ngoài
thông dùng, các thiệt bị trong hệ đo lường, điều khiển và các máy vi tính
khác trong mạng… (0.25đ)
Chức năng từng thành phần:
Bộ xử lí trung tâm (0.25đ)
Đơn vị điều khiển
Đơn vị số học và logic
Tập các thanh ghi…
Tương tự với Hệ thống nhớ (0.25đ), và Hệ thống/vào ra (0.25đ).
- Sự khác biệt giữa các VXL dùng trong hệ thống nhúng so với các VXL dùng
trong máy tính điện tử: các VXL dùng trong hệ thống nhúng được thiết kế
theo kiến trúc Havard, tách biệt giữa lệnh và dữ liệu; ngoài ra với các VXL
này hệ thống nhớ và hệ thống vào/ra được thiết kế hoàn chỉnh cho phép các
VXL hoạt động độc lập như một máy tính chuyên dụng - hệ vi điều khiển
(0.25đ).
- Ví dụ minh họa
Chỉ ra 01 VXL được sử dụng trong hệ thống nhúng (AT89C51, PIC, AVR,
AMR, FPGA…) (0.25đ).
Các thành phần của VXL, vai trò của từng thành phần (0.5đ).
Sự khác biệt giữa cấu trúc của các VXL này so với các VXL dùng trong

máy tính điện tử (Intel, Motorola..) (0.25đ).
Câu 4:
- Khái niệm về hệ vi điều khiển (VĐK): Hệ thống tích hợp phần cứng dùng để
thực hiện một hoặc một nhóm chức năng chuyên biệt, cụ thể nào đó (0,25đ).
11


- Các thành phần cơ bản và chức năng của chúng trong hệ VĐK: 6 thành phần
chính
Bộ xử lí trung tâm: Người ta vẫn biết tới phần lõi xử lý của các bộ VXL là
đơn vị xử lý trung tâm CPU (Central Processing Unit) đóng vai trò như bộ
não chịu trách nhiệm thực thi các phép tính và thực hiện các lệnh. Phần
chính của CPU đảm nhiệm chức năng này là đơn vị logic toán học (ALU Arthimetic Logic Unit). Ngoài ra để hỗ trợ cho hoạt động của ALU còn có
thêm một số các thành phần khác như bộ giải mã (decoder), bộ tuần tự
(sequencer) và các thanh ghi.. (0.25đ)
Bộ nhớ chương trình: Khối bộ nhớ dùng lưu trữ các chương trình sử dụng
trong hệ thống nhúng… (0.25đ).
Bộ nhớ dữ liệu: Khối bộ nhớ dùng thực thi các chương trình sử dụng
trong hệ thống nhúng… (0.25đ).
Các cổng vào/ra: Máy vi tính hay hệ vi xử lý đều có cấu trúc chung gồm
khối xử lý trung tâm CPU, bộ nhớ và các mạch vào ra I/O. Ngoài ra, máy
vi tính còn phải trao đổi dữ liệu với môi trường bên ngoài, ví dù giao tiếp
với người sử dụng qua bàn phím, màn hình, trao đổi với các thiệt bị ngoài
thông dùng, các thiệt bị trong hệ đo lường, điều khiển và các máy vi tính
khác trong mạng… (0.25đ)
Các đường BUS: kết nối các thành phần bên trong VĐK… (0.25đ).
Khối xung nhịp: Tạo sự đồng bộ giữa các khối… (0.25đ).
- Các thành phần khác: bộ định thời, khối giao tiếp, bộ biến đổi ADC-DAC, bộ
nạp chương trình... (0.25đ)
- Ví dụ minh họa

Chỉ ra 01 VĐK được sử dụng trong hệ thống nhúng (AT89C51, PIC,
AVR, AMR, FPGA…) (0.25đ).
Các thành phần của VĐK, vai trò của từng thành phần (0.5đ).
Nêu các đặc điểm chính của hệ VĐK (0.25đ).
Câu 5 :
- Hệ thống nhớ dùng trong các hệ thống nhúng được chia làm 2 loại. Bộ nhớ
chương trình: khối bộ nhớ dùng lưu trữ các chương trình sử dụng trong hệ
thống nhúng; bộ nhớ dữ liệu: khối bộ nhớ dùng thực thi các chương trình sử
dụng trong hệ thống nhúng (0,25đ).
- Kiến trúc bộ nhớ dùng trong các hệ thống nhúng: Kiến trúc bộ nhớ được chia
ra làm hai loại chính và được áp dụng rộng rãi trong hầu hết các Chip xử lý
nhúng hiện nay là kiến trúc bộ nhớ von Neumann và Havard.
Trong kiến trúc von Neumann không phân biệt vùng chứa dữ liệu và mã
chương trình. Cả chương trình và dữ liệu đều được truy nhập theo cùng
một đường. Điều này cho phép đưa dữ liệu vào vùng mã chương trình
ROM, và cũng có thể lưu mã chương trình vào vùng dữ liệu RAM và thực
hiện từ đó.
12


Kiến trúc Havard tách/phân biệt vùng lưu mã chương trình và dữ liệu. Mã
chương trình chỉ có thể được lưu và thực hiện trong vùng chứa ROM và
dữ liệu cũng chỉ có thể lưu và trao đổi trong vùng RAM. Hầu hết các vi
xử lý nhúng ngày nay sử dụng kiến trúc bộ nhớ Havard hoặc kiến trúc
Havard mở rộng (tức là bộ nhớ chương trình và dữ liệu tách biệt nhưng
vẫn cho phép khả năng hạn chế để lấy dữ liệu ra từ vùng mã chương
trình). Trong kiến trúc bộ nhớ Havard mở rộng thường sử dụng một số
lượng nhỏ các con trỏ để lấy dữ liệu từ vùng mã chương trình theo cách
nhúng vào trong các lệnh tức thời. Ưu điểm nổi bật của cấu trúc bộ nhớ
Harvard so với kiến trúc von Neumann là có hai kênh tách biệt để truy

nhập vào vùng bộ nhớ mã chương trình và dữ liệu nhờ vậy mà mã chương
trình và dữ liệu có thể được truy nhập đồng thời và làm tăng tốc độ luồng
trao đổi với bộ xử lý (0.5đ).
- Tổ chức của các bộ nhớ bán dẫn (0,25đ)
Bộ nhớ được tổ chức theo ma trận nhớ, mỗi phần tử nhớ tương ứng với
một phần tử của ma trận và được cấu thành từ một phần tử nhớ cơ bản
Flip-Flop.
Truy cập phần tử nhớ: địa chỉ hàng và cột

Tổ chức của bộ nhớ bán dẫn

- Bộ nhớ ROM (0,25đ)
13


Bộ nhớ chỉ đọc ROM cũng được chế tạo bằng công nghệ bán dẫn.
Chương trình trong ROM được viết vào lúc chế tạo nó. Thông thường,
ROM chứa chương trình khởi động máy tính, chương trình điều khiển
trong các thiết bị điều khiển tự động,...
PROM (Programable ROM): Chế tạo bằng các mối nối (cầu chì - có thể
làm đứt bằng điện). Chương trình nằm trong PROM có thể được viết vào
bởi người sử dụng bằng thiết bị đặc biệt và không thể xóa được.
EEPROM (Eletrically Erasable Programable ROM): Chế tạo bằng công
nghệ bán dẫn. Chương trình nằm trong ROM có thể được viết vào và có
thể xóa (bằng điện) để viết lại bởi người sử dụng.
EPROM (Erasable Programable ROM): Chế tạo bằng nguyên tắt phân cực
tĩnh điện. Chương trình nằm trong ROM có thể được viết vào (bằng điện)
và có thể xóa (bằng tia cực tím - trung hòa tĩnh điện) để viết lại bởi người
sử dụng..
- Bộ nhớ RAM (0,25đ)

Vùng để lưu hoặc trao đổi dữ liệu trung gian trong quá trình thực hiện
chương trình với 2 loại chính SRAM và DRAM.
- Quản lí bộ nhớ
Công việc quản lý bộ nhớ của máy vi tính chủ yếu là do bộ vi xử lý đảm
nhiệm. Bên cạnh đó còn có DMAC (Direct Memory Access Controller)
cũng tham gia quản lý bộ nhớ trong việc truyền số liệu giữa controller ổ
đĩa với bộ nhớ và làm tươi bộ nhớ. Ở những máy có Cache Memory thì
Cache Memory Controller thực hiện các công việc truyền số liệu giữa
Cache Memory và RAM.
Ở khu vực trung tâm của máy vi tính (bộ vi xử lý, ROM, RAM, các
bus...), thực chất của việc quản lý bộ nhớ là các thanh ghi của vi xử lý đưa
ra các địa chỉ của ô nhớ hoặc của cổng I/O qua bus địa chỉ, cùng các lệnh
điều khiển/ trạng thái khác và lệnh đọc vào/ viết ra các số liệu của các ô
nhớ ấy. Các bộ phận bên ngoài VXL sẽ giải mã các địa chỉ và các tín hiệu
điều khiển/ trạng thái đó để trỏ vào các byte/ từ/ từ kép... của bộ nhớ để
thực hiện các thao tác tương ứng... (0,25đ).
Bộ nhớ của vi xử lý có thể xem như bao gồm có bộ nhớ ROM và bộ nhớ
RAM. Bộ nhớ RAM của vi xử lý chính là các thanh ghi (thanh ghi chung,
thanh ghi chỉ số, thanh ghi đoạn, thanh ghi ngăn xếp, thanh ghi trạng thái,
thanh ghi cờ, các bộ đệm số liệu/ địa chỉ/ điều khiển...). Còn bộ nhớ RAM
là bộ phận giải mã lệnh để phát ra các vi lệnh.
Nhằm mục đích quản lý được số lượng địa chỉ nhớ (ảo) nhiều hơn số
đường địa chỉ của bộ vi xử lý và bảo vệ các vùng nhớ của các nhiệm vụ
khác nhau (task) và của hạt nhân (kernal) chống truy nhập không hợp
pháp, các vi xử lý có các cách tổ chức đặc biệt các thanh ghi địa chỉ (bộ
phận phân trang, điều khiển đoạn của các nhiệm vụ).
Các bộ vi xử lý từ thế hệ 486 trở đi còn có một bộ nhớ Cache Memory với
kích thước nhiều Kbyte để chứa mảng các lệnh và số liệu đang thường
dùng lấy từ bộ nhớ RAM, nhằm tăng tốc độ truy nhập…(0,25đ).
14



- Ví dụ minh họa
Chỉ ra 01 VĐK được sử dụng trong hệ thống nhúng (AT89C51, PIC,
AVR, AMR, FPGA…) (0.25đ).
Hệ thống nhớ được sử dụng trong VĐK, vai trò của từng thành phần
(0.5đ).
Tổ chức và quản lí hệ thống nhớ trong VĐK (0.25đ).
Câu 6 :
- Giao diện song song 8bit/16bit (0.5đ)
Các cổng song song là một dạng giao diện vào ra đơn giản và phổ biến
nhất để kết nối thông tin với ngoại vi. Có nhiều loại cấu trúc giao diện vật
lý điện tử từ dạng cổng vào/ra đơn giản cực Collector TTL hở trong các
ứng dụng cổng máy in đến các loại cấu trúc giao diện cổng tốc độ cao như
các chuẩn bus IEEE‐488 hay SCSI. Hầu hết các chip điều khiển nhúng có
một vài cổng vào ra song song khả trình (có thể cấu hình). Các giao diện
đó phù hợp với các cổng vào ra đơn giản như các khoá chuyển. Chúng
cũng phù hợp trong các bài toán phục vụ giao diện kết nối điều khiển và
giám sát theo các giao diện như kiểu rơle bán dẫn.
- Giao diện nối tiếp USART.. (0.5đ)
- Giao diện I2C (Inter‐IC) (0.5đ)
Giao thức ưu tiên truyền thông nối tiếp được phát triển bởi Philips
Semiconductor và được gọi là bus I2C. Vì nguồn gốc nó được thiết kế là
để điều khiển liên thông IC (Inter IC) nên nó được đặt tên là I2C. Tất cả
các chíp có tích hợp và tương thích với I2C đều có thêm một giao diện
tích hợp trên Chip để truyền thông trực tiếp với các thiết bị tương thích
I2C khác. Việc truyền dữ liệu nối tiếp theo hai hướng 8 bit được thực thi
theo 3 chế độ:
Chuẩn (Standard) - 100 Kbits/sec
Nhanh (Fast) - 400 Kbits/sec

Tốc độ cao (High‐Speed) - 3.4 Mbits/sec
Đường bus thực hiện truyền thông nối tiếp I2C gồm hai đường là đường
truyền dữ liệu nối tiếp SDA và đường truyền nhịp xung đồng hồ nối tiếp
SCL. Vì cơ chế hoạt động là đồng bộ nên nó cần có một nhịp xung tín
hiệu đồng bộ. Các thiết bị hỗ trợ I2C đều có một địa chỉ định nghĩa trước,
trong đó một số bit địa chỉ là thấp có thể cấu hình. Đơn vị hoặc thiết bị
khởi tạo quá trình truyền thông là Master và cũng là đơn vị tạo xung nhịp
đồng bộ, điều khiển cho phép kết thúc quá trình truyền. Nếu Master muốn
truyền thông với đơn vị khác nó sẽ gửi kèm thông tin địa chỉ của đơn vị
mà nó muốn truyền trong dữ liệu truyền. Các Slave đều được gán và đánh
địa chỉ thông qua đó Master có thể thiết lập truyền thông và trao đổi dữ
liệu. Bus dữ liệu được thiết kế để cho phép thực hiện nhiều Master và
Slave ở trên cùng Bus…
- Giao diện SPI (Serial Peripheral Interface) (0.5đ)
15


SPI là một giao diện cổng nối tiếp đồng bộ ba dây cho phép kết nối truyền
thông nhiều VĐK được phát triển bởi Motorola. Trong cấu hình mạng kết
nối truyền thống này phải có một VĐK giữ vai trò là Master và các VĐK
còn lại có thể hoặc là Master hoặc là Slave. SPI có 4 tốc độ có thể lập
trình, cực và pha nhịp đồng hồ khả trình và kết thúc ngắt truyền thông.
Nhịp đồng hồ không nằm trong dòng dữ liệu và phải được cung cấp như
một tín hiệu tách độc lập. Có ba thanh ghi SPSR, SPCR và SPDR cho
phép thực hiện các chức năng điều khiển, trạng thái và lữu trữ. Có bốn
chân cơ bản cần thiết để thực thi chuẩn giao diện truyền thông này.
Dữ liệu ra MOSI (Master Output – Slave Input)
Dữ liệu vào MISO (Master Input – Slave Output)
Nhịp xung chuẩn SCLK (Serial Clock)
Lựa chọn thành phần tớ SS (Slave Select)


Nếu hệ thống có nhiều Slave, Master sẽ tạo phải ra các tín hiệu tách biệt
để chọn Slave nhờ các chân tín hiệu logic đa chức năng. Các tín hiệu này
phải được điều khiển và đảm bảo ổn định về thời gian để tránh trường hợp
tín hiệu bị thay đổi trong quá trình đang truyền dữ liệu. Một điều dễ nhận
ra rằng SPI không hỗ trợ cơ chế xác nhận trong quá trình thực hiện truyền
thông. Điều này phụ thuộc vào giao thức định nghĩa hoặc phải thực hiện
bổ sung thêm một số các mở rộng phụ bên ngoài.
Khả năng truyền thông đồng thời hai chiều với tốc độ lên đến khoảng vài
Mbit/s và nguyên lý khá đơn giản nên SPI hoàn toàn phù hợp để thực hiện
truyền thông giữa các thiết bị yêu cầu truyền thông tốc độ chậm, đặc biệt
hiệu quả trong các ứng dụng một Master và một Slave. Tuy nhiên trong
các ứng dụng với nhiều Slave việc thực thi lại khá phức tạp vì thiếu cơ
chế xác định địa chỉ, và sự phức tạp sẽ tăng lên khi số Slave tăng.
- Ví dụ minh họa
Chỉ ra 01 VĐK được sử dụng trong hệ thống nhúng (AT89C51, PIC,
AVR, AMR, FPGA…) (0.25đ).
Các giao diện được sử dụng trong VĐK, vai trò của từng thành phần
(0.5đ).
Tổ chức và quản lí các giao diện trong VĐK (0.25đ).
Câu 7 :
- Khái niệm về phần mềm nhúng (0.25đ)
Phần mềm nhúng là một chương trình được viết, biên dịch trên máy tính
và nạp vào một hệ thống khác (gọi tắt là KIT) bao gồm một hoặc nhiều bộ
vi xử lý đã được cài sẵn một hệ điều hành, bộ nhớ ghi chép được, các
16


cổng giao tiếp với các phần cứng khác… Mục đích của phần mềm nhúng
là nhằm hỗ trợ cho các sản phẩm phần cứng các chức năng hoàn hảo nhất,

phục vụ tốt nhất các nhu cầu của người dùng với sự bảo mật về sản phẩm
tốt nhất.
- Tính chất của phần mềm nhúng (0.25đ)
Phụ thuộc vào hệ điều hành cài sẵn trên KIT
Phụ thuộc vào các tính năng đặt trưng của từng sản phẩm phần cứng có
trong KIT
Phụ thuộc vào đặc tính của hệ thống
- Trình điều khiển thiết bị (0.5đ)
Hầu hết các thành phần phần cứng đều cần một vài loại phần mềm đề
quản lý và điều khiển. Các phần mềm giao tiếp trực tiếp và điều khiển
các thành phần phần cứng này được gọi là các chương trình điều khiển
thiết bị. Tất cả những hệ thống nhúng đều có các trình điều khiển thiết bị
tại lớp phần mềm hệ thống của mình. Trình điều khiển thiết bị là một thư
viện phần mềm có nhiệm vụ khởi động phần cứng, quản lý việc truy nhập
tới phần cứng cả các lớp phần mềm cao hơn. Trình điều khiển thiết bị có
vị trí trung gia giữa phần cứng và hệ điều hành, các chương trình ứng
dụng.
Trình điều khiển thiết bị được chia thành hai loại là architecture-specific
hoặc generic. Một trình điều khiển là architecture-specific nếu nó quản lý
các phần cứng tích hợp trong bảng mạch chính và liên kết với bộ xử lý
chính. Các nhiệm của trình điều khiển thiết bị này bao gồm việc khởi tạo
và điều khiển các thành phần trong bộ xử lý chính như bộ nhớ chính, đơn
vị điều khiển bộ nhớ, các phần cứng liên quan đến tính toán các phép toán
dấu phẩy động. Một trình điều khiển là generic nếu nó quản lý các phần
cứng không nằm trong bảng mạch chính, không liên kết với bộ xử lý
chính…
- Hệ điều hành (0.5đ)
Hệ điều hành là tập hợp các thư viện phần mềm phục vụ cho hai mục đích
chính: cung cấp sự trong suốt cho các phần mềm hoạt động trên hệ điều
hành đó, làm cho công việc phát triển các ứng dụng được dễ dàng hơn và

quản lý các tài nguyên phần cứng và phần mềm để đảm bảo cho toàn hệ
thống hoạt động một cách hiệu quả, tin cậy. Trong khi các hệ điều hành
nhúng khác nhau ở các thành phần xử lý, hầu hết các hệ điều hành này
đều có một nhân Kernel rất hạn chế. Kernel là thành phần chứa các chức
năng cơ bản nhất của hệ điều hành, bao gồm:
Quản lý tiến trình: cung cấp các cơ chế quản lý các phần mềm trong hệ
thống nhúng. Một chức năng nhỏ thường có trong quản lý tiến trình đó là
việc quản lý các ngắt và ngoại lệ. Tất cả các ngắt, ngoại lệ, lỗi sinh ra bởi
các tiến trình đều phải được quản lý một cách hiệu quả sao cho chúng
được xử lý chính xác và các tiến trình sinh ra những ngoại lệ này được
theo dõi đúng mức.
17


Quản lý bộ nhớ: Không gian nhớ trong hệ thống nhúng được chia sẻ bởi
tất cả các tiến trình, vì vậy việc truy nhập và một phần tử nhớ phải được
quản lý chặt chẽ. Một chức năng chính trong quản lý bộ nhớ là việc quản
lý an ninh hệ thống, chức năng này cho phép một phần của hệ thống có
thể cô lập để tránh ảnh hưởng tới sự hoạt động của toàn bộ hệ thống.
Quản lý vào ra: Các thiết bị vào ra được chia sẻ bởi nhiều tiến trình và do
đó cũng phải được quản lý như là bộ nhớ. Một trong những chức năng
chính của quản lý vào ra là quản lý việc truy nhập các file giữa các tiến
trình…
- Phần mềm ứng dụng với hai loại là middleware và application (0.5đ)
Middleware: phần mềm trung gian giữa phần mềm ứng dụng và kernel
hoặc device driver. Middleware cũng là phần mềm cung cấp các hàm dịch
vụ cho các ứng dụng phần mềm khác. Cụ thể hơn, middleware là một lớp
phần mềm được sử dụng bởi các thiết bị nhúng với các ứng dụng phần
mềm với mục đích tạo ra sự linh hoạt, tính an ninh, liên kết giữa các ứng
dụng. Một trong những mục đích chính sử dụng middleware là cho phép

giảm độ phức tạp của ứng dụng. Middleware tác động đến mọi lớp của hệ
thống nhúng.
Application: các phần mềm trong lớp ứng dụng đặc trưng cho loại thiết bị
của hệ thống nhúng bởi vì các chức năng của ứng dụng biểu diễn mục
đích chính của hệ thống và thực hiện hầu hết các tương tác với người sử
dụng.
- Ví dụ minh họa
Chỉ ra 01 hệ thống nhúng (ứng dụng trong các lĩnh vực như điều khiển,
truyền thông…) (0.25đ).
Các thành phần trong hệ, vai trò của từng thành phần (0.5đ).
Phân lớp các thành phần: trình điều khiển thiết bị, hệ điều hành, phần
mềm ứng dụng (0.25đ).
Câu 8 :
- Khái niệm về hệ điều hành trong các hệ thống nhúng (0.25đ)
Với hệ thống nhúng, hệ điều hành OS chỉ là một lựa chọn, nghĩa là ta có
thể gặp những hệ thống nhúng có hoặc không có hệ điều hành. Các hệ
điều hành có thể được sử dụng trên bất kỳ một bộ xử lý nào.
Hệ điều hành là tập hợp các thư viện phần mềm phục vụ cho hai mục đích
chính: cung cấp sự trong suốt cho các phần mềm hoạt động trên hệ điều
hành đó, làm cho công việc phát triển các ứng dụng được dễ dàng hơn và
quản lý các tài nguyên phần cứng và phần mềm để đảm bảo cho toàn hệ
thống hoạt động một cách hiệu quả, tin cậy.
Mô hình hệ thống nhúng và hệ điều hành

18


- Các chức năng cơ bản của hệ điều hành (0.5đ)
Quản lý tiến trình: cung cấp các cơ chế quản lý các phần mềm trong hệ
thống nhúng. Một chức năng nhỏ thường có trong quản lý tiến trình đó là

việc quản lý các ngắt và ngoại lệ. Tất cả các ngắt, ngoại lệ, lỗi sinh ra bởi
các tiến trình đều phải được quản lý một cách hiệu quả sao cho chúng
được xử lý chính xác và các tiến trình sinh ra những ngoại lệ này được
theo dõi đúng mức.
Quản lý bộ nhớ: Không gian nhớ trong hệ thống nhúng được chia sẻ bởi
tất cả các tiến trình, vì vậy việc truy nhập và một phần tử nhớ phải được
quản lý chặt chẽ. Một chức năng chính trong quản lý bộ nhớ là việc quản
lý an ninh hệ thống, chức năng này cho phép một phần của hệ thống có
thể cô lập để tránh ảnh hưởng tới sự hoạt động của toàn bộ hệ thống.
Quản lý vào ra: Các thiết bị vào ra được chia sẻ bởi nhiều tiến trình và do
đó cũng phải được quản lý như là bộ nhớ. Một trong những chức năng
chính của quản lý vào ra là quản lý việc truy nhập các file giữa các tiến
trìnhTrình điều khiển thiết bị.
- Quản lí Tiến trình (0.5đ)
Hệ điều hành phân biệt giữa một chương trình và sự thực thi của chương
trình đó. Chương trình đơn giản là một dãy các chỉ thị lệnh tĩnh và thụ
động. Việc thực thi thực tế của chương trình là động, trong đó có rất nhiều
sự thay đổi theo thời gian. Một tiến trình (task) được tạo bởi hệ điều hành
trong đó có chứa tất cả những thông tin liên quan đến sự thực thi của
chương trình (ví dụ stack, PC, mã nguồn, dữ liệu ...). Điều này nghĩa là
chương trình chỉ là một phần của tiến trình.
Các hệ điều hành nhúng quản lý tất cả các phần mềm bằng cách sử dụng
các tiến trình, ta có thể có đơn tiến trình hoặc đa tiến trình. Trong môi
trường đơn tiến trình, chỉ có một tiến trình được thực thi trong một thời
điểm. Ngược lại, có thể có nhiều tiến trình cùng thực thi trong môi trường
đa tiến trình. Ta thấy rõ ràng là đơn tiến trình sẽ không yêu cầu các cơ chế
thuật toán phức tạp như đa tiến trình. Với đa tiến trình ta phải đảm bảo
các tiến trình độc lập với nhau và không ảnh hưởng đến nhau ngoại trừ
trường hợp được xác định rõ trong mã lệnh. Mô hình đa tiến trình cung
cấp cơ chế để chia nhỏ chương trình thành các thành phần mà có thể được

xử lý song song…
- Quản lí bộ nhớ (0.5đ)
19


Truy cập bộ là thủ tục thường dùng để đọc và ghi vào bộ nhớ. Thủ tục này
thường được sử dụng để khiểm soát mỗi truy cập vào bộ nhớ bao gồm bộ
điều khiển bộ nhớ để tạo ra các tín hiệu chính xác để xác định vị trí nhớ
cần được truy cập. Điều này được thực hiện đựa trên việc truy cập dữ liệu
từ chương trình. Dữ liệu này hiển thị qua các đường dẫn dữ liệu được kết
nối với bộ xử lý hoặc bất cứ thiết bị khác mà được yêu cầu.
Các chip nhớ được sắp xếp dữ liệu theo hàng hoặc cột, với quá trình ghi
Địa chỉ của các ô nhớ để ghi được đặt lên địa chỉ các chân cắm thông qua
các địa chỉ đường dẫn . Điều này được thực hiện trong lần thiết lập đầu
tiên của RAS và sử dụng số hàng tương ứng theo việc thiết lập CAS và sử
dụng số cột trên các địa chỉ đường dẫn.
Set the Write Enable pin : Bit mà cần được lưu trữ trong con chip để gửi
Data In pin thông qua các đường dẫn dữ liệu.
Việc lựa chọn con chip được tác động để lựa chon bộ nhớ chip : Khi hầu
hết các hoạt động được thực hiên đồng thời, một bit trên chân cắm Din
được viết bên trong con chip ở địa chỉ xác định bởi đường dẫn địa chỉ
Với quá trình đọc:
Địa chỉ của bit để đọc được đặt trên đia chỉ của các chân cắm thông qua
các địa chỉ của bus.Các chân cắm RAS và CAS thường được sử dụng
một cách tương thích.
Việc lựa chọn con chip được turned high để lựa chọn bộ nhớ chip.
Cấp phép ghi lên chân cắm được turned chậm đến mưc chip biết được nó
đang đọc từ đâu.
Khi hầu hết các tác động được thể hiện cùng một lúc, dữ liệu xuất hiện
trên chân cắm Dout từ các địa chỉ xác định bởi địa chỉ đường dẫn…

- Ví dụ minh họa
Chỉ ra 01 hệ thống nhúng (ứng dụng trong các lĩnh vực như điều khiển,
truyền thông…) (0.25đ).
Các thành phần trong hệ, vai trò của từng thành phần (0.25đ).
Vấn đề quản lí Tiến trình, bộ nhớ hay thiết bị trong hệ thống (0.5đ).
Câu 9 :
- Quy trình phát triển hệ thống nhúng (0.5đ).
Quy trình phát triển hệ thống nhúng nói chung có thể quy về các bước:
Phân tích yêu cầu, chức năng hệ thống.
Các đặc điểm kĩ thuật phần mềm, phần cứng.
Thiết kế kiến trúc hệ thống.
Xây dựng các thành phần hệ thống (phần cứng, phần mềm).
Tích hợp phần cứng và phần mềm.
Kiểm thử.
Tuy nhiên có thể quy về hai quy trình chính: xây dựng phần cứng và phần
mềm.
- Xây dựng phần cứng (0.5đ).
Lựa chọn kiến trúc VXL (Họ VXL, nhà CC, hệ điều hành tương thích…).
20


Tìm hiểu đặc tả, cơ chế của VXL (cấu hình chân, cơ chế boot..).
Xây dựng sơ đồ nguyên lý cho hệ thống, mô hình hóa hệ thống bằng phần
mềm thiết kế chuyên dụng.
Thiết kế mạch in PCB…
- Xây dựng phần mềm (0.5đ).
Cài đặt boot loader: thông thường các hãng sản xuất chíp cung cấp cho
chúng ta mã nguồn, công cụ để xây dựng boot loader. Đa số các VXL
được sản xuất với ROM on chip và được cài sẵn chương trình boot.
Cài đặt hệ điều hành nếu có.

Phát triển driver nếu có.
Phát triển phần mềm ứng dụng.
- Ví dụ minh họa
Đề xuất 01 ứng dụng cụ thể trên cơ sở đó xây dựng hệ thống nhúng cho
ứng dụng này (ứng dụng trong các lĩnh vực như điều khiển, truyền
thông…) (0.5đ).
Đưa ra quy trình xây dựng hệ thống về phần cứng (0.5đ).
Đưa ra quy trình xây dựng hệ thống về phần mềm (0.5đ).
Câu 10 : (3 điểm, 15 phút)
Trình bày hiểu biết của Anh (Chị) về hệ thống thời gian thực, cho ví dụ minh
họa.
- Khái niệm về hệ thời gian thực (0.5đ)
Hệ thời gian thực là một hệ trong đó trạng thái của nó là một hàm của thời
gian (thực). Hệ thời gian thực được chia thành một tập các nhóm bao gồm
đối tượng bị điều khiển, hệ thống máy tính và các thao tác viên.
Đối tượng bị điều khiển và thao tác viên được gọi là môi trường của hệ
thống máy tính. Hệ thống máy tính phản ứng lại đối với các kích thích từ
đối tượng điều khiển hay thao tác viên trong khoảng thời gian do môi
trường của nó qui định. Một hệ thống máy tính như vậy được gọi là hệ
thống máy tính thời gian thực.
Thực tế thấy rằng hầu hết hệ nhúng là các hệ thời gian thực và hầu hết các
hệ thời gian thực là hệ nhúng. Điều này phản ánh mối quan hệ mật thiết
giữa hệ nhúng và thời gian thực và tính thời gian thực đã trở thành như
một thuộc tính tiêu biểu của hệ nhúng. Vì vậy hiện nay khi đề cập tới các
hệ nhúng người ta đều nói tới đặc tính cơ bản của nó là tính thời gian
thực.
- Phân loại các hệ thời gian thực (0.5đ)
Người ta phân ra làm hai loại đối với khái niệm thời gian thực là cứng và
mềm. Thời gian thực cứng là khi hệ thống hoạt động với yêu cầu thoả
mãn sự ràng buộc trong khung thời gian cứng tức là nếu vi phạm thì sẽ

dẫn đến hoạt động của toàn hệ thống bị sai hoặc bị phá huỷ. Ví dụ về hoạt
động điều khiển cho một lò phản ứng hạt nhân, nếu chậm ra quyết định có
thể dẫn đến thảm hoạ gây ra do phản ứng phân hạch và dẫn đến bùng nổ
cả hệ thống. Thời gian thực mềm là khi hệ thống hoạt động với yêu cầu
21


thoả mãn ràng buộc trong khung thời gian mềm, nếu vi phạm và sai lệch
nằm trong khoảng cho phép thì hệ thống vẫn có thể hoạt động được và
chấp nhận được.
Một kiểu phân loại khác đối với các hệ thời gian thực là dựa vào cách tiếp
cận khi cài đặt hệ thống: hệ thống có đáp ứng đảm bảo và hệ thống nỗ lực
cao nhất…
- Tính chất của các hệ thời gian thực (0.5đ)
Tính tin cậy: khả năng cung cấp dịch vụ lien tục, biểu thị bằng xác suất
r(t) mà hệ thống vẫn cung cấp dịch vụ chính xác sau khoảng thời gian t
nếu nó vẫn hoạt động tốt tại thời điểm t=0.
Tính an toàn: xác suất s(t) mà hệ thống sẽ không bị lỗi trong khoảng thời
gian t.
Tính sẵn sàng: đánh giá khả năng cung cấp dịch vụ chính xác, đo bằng
xác suất a(t) mà hệ thống sẵn sang cung cấp dịch vụ tại thời điểm t.
Tính dễ bảo dưỡng: đánh giá thời gian cần thiết để phục hồi hoạt động kể
từ khi có lỗi gần nhất, đo bằng xác suất m(t) mà hệ thống được phục hồi
tại thời điểm t nếu có lỗi tại thời điểm t=0.
Tính bảo mật: đánh giá khả năng hệ thống ngăn cản các truy cập bất hợp
pháp hay đánh cắp thong tin…
- Ví dụ minh họa
Đề xuất 01 ứng dụng thời gian thực cụ thể (hệ thống thời gian thực mềm
như hệ thống chuyển mạch điện thoại, hệ thống xử lí giao dịch trực tuyến
trong ngân hàng…hay hệ thời gian thực cứng như hệ thống báo hiệu

đường sắt, hệ thống điều hành bay..) (0.5đ).
Phân tích thành phần, hoạt động của hệ (0.5đ).
Phân tích các thuộc tính của hệ (0.5đ).
2. Phần bài tập:
Bài tập mang tính mở, sinh viên được lựa chọn VĐK, ngôn ngữ cài đặt theo khả
năng nên khung cho mỗi câu hỏi bài tập có thể quy về 04 yêu cầu sau:
- Giải thích sơ lược về hệ thống (yêu cầu, thiết bị, chương trình…) (0.5đ).
- Thuật toán (0.5đ).
- Khởi tạo hệ thống, dữ liệu (0.5đ).
- Chương trình chính (1.5đ).

22



×