cau hoi he thong nhung

Màu nền
Font chữ
Font size
Chiều cao dòng

                                   Đề Cương Hệ Thống Nhúng

Câu1:Đặc điểm công nghệ của hệ nhúng:

Khả  năng  độc  lập  và  thông  minh  hoá:  Điều  này  được  chỉ  rõ  hơn  thông  qua  một  số  các thuộc tính yêu cầu, cụ thể như:

Độ tin cậy

Khả năng bảo trì và nâng cấp

Sự phổ cập và tiện sử dụng

Độ an toàn 

Tính bảo mật

Hiệu quả: Yêu cầu này được thể hiện thông qua một số các đặc điểm của hệ thống như sau:

    Năng lượng tiêu thụ

    Kích thước về phần cứng và phần mềm

    Hiệu quả về thời gian thực hiện

    Kích thước và khối lượng

    Giá thành

Phân hoạch tác vụ và chức năng hoá: Các bộ vi xử lý trong các hệ nhúng thường được sử dụng để đảm nhiệm và thực hiện một hoặc một nhóm chức năng rất độc lập và cũng đặc thù cho từng phần chức năng của hệ thống lớn mà nó được nhúng vào

Khả năng thời gian thực: Các hệ thống đều gắn liền với việc đảm nhiệm một chức năng chính  và  phải  được  thực  hiện  đúng  theo  một  khung  thời  gian  qui  định.  Thông  thường một chức năng của hệ thống phải được thực hiện và hoàn thành theo một yêu cầu thời gian  định  trước  để  đảm  bảo  thông  tin  cập  nhật  kịp  thời  cho  phần  xử  lý  của  các  chức năng  khác  và  có  thể  ảnh  hưởng  trực  tiếp  tới  sự  hoạt  động  đúng  và  chính  xác  của  toàn

hệ thống.

-Thời gian thực cứng là:Đối với hệ thống thời gian thực cứng, tất cả các chức năng của nó phải được thực thi chính xác trong một khoảng thời gian xác định, nếu không cả hệ thống sẽ bị lỗi nghiêm trọng

-Thời gian thực mềm:Đối với hệ thống thời gian thực mềm, các chức năng phải được thực hiện trong một khoảng thời gian xác định nhỏ nhất nhưng không bắt buộc

Câu 2:  Kiến trúc điển hình của các chip vi xử lý/vi điều khiển nhúng

Câu 3: So sánh sự khác nhau giữa kiến trúc tập lệnh ngăn xếp với kiến trúc bộ tích lũy

   - Kiến trúc ngăn xếp sử dụng ngăn xếp để thực hiện lệnh và các toán tử nhận được từ

đỉnh ngăn xếp. Mặc dù cơ chế này hỗ trợ mật độ mã tốt và mô hình đơn giản cho việc

đánh giá cách thể hiện chương trình nhưng ngăn xếp không thể hỗ trợ khả năng truy

nhập ngẫu nhiên và hạn chế hiệu suất thực hiện lệnh.

  -Kiến trúc bộ tích luỹ với lệnh một toán tử ngầm mặc định chứa trong thanh ghi tích luỹ

có thể giảm được độ phức tạp bên trong của cấu trúc CPU và cho phép cấu thành lệnh

rất nhỏ gọn. Nhưng thanh ghi tích luỹ chỉ là nơi chứa dữ liệu tạm thời nên giao thông

bộ nhớ rất lớn.

Câu 4: Chức năng của các bus địa chỉ, bus dữ liệu, bus điều khiển.

Bus địa chỉ

Bus địa chỉ là các đường dẫn tín hiệu logic một chiều để truyền địa chỉ tham chiếu tớicác khu vực bộ nhớ và chỉ ra dữ liệu được lưu giữ ở đâu trong không gian bộ nhớ.Trong qúa trình hoạt động CPU sẽ điều khiển bus địa chỉ để truyền dữ liệu giữa các khu vực bộ nhớ và CPU. Các địa chỉ thông thường tham chiếu tới các khu vực bộ nhớ hoặc các khu vực vào ra, hoặc ngoại vi. Dữ liệu được lưu ở các khu vực đó thường là 8bit (1 byte), 16bit, hoặc 32bit tùy thuộc vào cấu trúc từng loại vi xử lý/vi điều khiển.Hầu hết các vi điều khiển thường đánh địa chỉ dữ liệu theo khối 8bit

Bus dữ liệu

Bus dữ liệu là các kênh truyền tải thông tin theo hai chiều giữa CPU và bộ nhớ hoặc các thiết bị ngoại vi vào ra. Bus dữ liệu được điều khiển bởi CPU để đọc hoặc viết các dữliệu hoặc mã lệnh thực thi trong qúa trình hoạt động của CPU. Độ rộng của bus dữ liệu nói chung sẽ xác định được lượng dữ liệu có thể truyền và trao đổi trên bus. Tốc độ truyền hay trao đổi dữ liệu thường được tính theo đơn vị là [byte/s]. Số lượng đườngbit dữ liệu sẽ cho phép xác định được số lượng bit có thể lưu trữ trong mỗi khu vực tham chiếu trực tiếp.

Bus điu khiển

Bus điều khiển phục vụ truyền tải các thông tin dữ liệu để điều khiển hoạt động của hệ

thống. Thông thường các dữ liệu điều khiển bao gồm các tín hiệu chu kỳ để đồng bộ

các nhịp chuyển động và hoạt động của hệ thống. Bus điều khiển thường được điều

khiển bởi CPU để đồng bộ hóa nhịp hoạt động và dữ liệu trao đổi trên các bus.

Câu 5. Kiến trúc bộ nhớ gồm bao nhiêu loại chính? So sánh sự khác nhau giữa các kiến trúc bộ 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 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ừ đó.

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. 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.

 \Câu 6. Bộ nhớ chương trình PROM dùng để làm gì và bao gồm bao nhiêu loại?

Bộ nhớ chương trình – PROM

Vùng để lưu mã chương trình. Có ba loại bộ nhớ PROM thông dụng được sử dụng cho

hệ nhúng

- EPROM

Bao gồm một mảng các transistor khả trình. Mã chương trình sẽ được ghi trực tiếp và vi xử lý có thể đọc ra để thực hiện. EPROM có thể xoá được bằng tia cực tím và có thể được lập trình lại.

- Bộ nhớ Flash

Cũng giống như EPROM được cấu tạo bởi một mảng transistor khả trình nhưng có thể xoá được bằng điện và chính vì vậy có thể nạp lại chương trình mà không cần tách ra khỏi nền phần cứng VXL. Ưu điểm của bộ nhớ flash là có thể lập trình trực tiếp trên mạch cứng mà nó đang thực thi trên đó.

-Bộ nhớ dữ liệu RAM

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. Có hai loại SRAM và DRAM

Câu 7. Ngắt là gì? So sánh ngắt cứng với ngắt mềm?

Ngắt là một sự kiện xảy ra làm dừng hoạt động chương trình hiện tại để phục vụ thực thi một tác vụ hay một chương trình khác. Cơ chế ngắt giúp CPU làm tăng tốc độ đáp ứng phục vụ các sự kiện trong chương trình hoạt động của VXL/VĐK. Các VĐK khác nhau sẽ định nghĩa các nguồn tạo ngắt khác nhau nhưng đều có chung một cơ chế hoạt động

- So sánh ngắt cứng với ngắt mềm?

 Ngắt mm

Ngắt mềm thực chất thực hiện một lời gọi hàm đặc biệt mà được kích hoạt bởi các nguồn ngắt là các sự kiện xuất hiện từ bên trong chương trình và ngoại vi tích hợp trên Chip ví dụ như ngắt thời gian, ngắt chuyển đổi A/D, … Cơ chế ngắt này còn được hiểu là loại thực hiện đồng bộ với chương trình vì nó được kích hoạt và thực thi tại các thời điểm xác định trong chương trình. Hàm được gọi sẽ thực thi chức năng tương ứng với yêu cầu ngắt.

 Ngắt cứng

Ngắt cứng có thể được xem như là một lời gọi hàm đặc biệt trong đó nguồn kích hoạt là một sự kiện đến từ bên ngoài chương trình thông qua một cấu trúc phần cứng (thường được kết nối với thế giới bên ngoài qua các chân ngắt). Ngắt cứng thường được hiểu hoạt động theo cơ chế dị bộ vì các sự kiện ngắt kích hoạt từ các tín hiệu ngoại vi bên ngoài và tương đối độc lập với CPU, thường là không xác định được thời điểm kích hoạt

Câu 8. Chức năng và nguyên lý hoạt động của bộ định thời chó canh Watchdog Timer

  -chức năng bộ định thời chó canh: khi có một sự cố xảy ra làm hệ thống bị treo hoặc chạy quẩn, CPU sẽ không thể tiếp tục thực hiện đúng chức năng. Đặc biệt khi hệ thống phải làm việc ở chế độ vận hành tự động và không có sự can thiệp trực tiếp thường xuyên bởi người vận hành. Để thực hiện cơ chế tự giám sát và phát hiện sự cố phần mềm, một số VXL/VĐK có thêm một bộ định thời chó canh. Bản chất đó là một bộ định thời đặc biệt để định nghĩa một khung thời gian hoạt động bình thường của hệ thống. Nếu có sự cố phần mềm xảy ra sẽ làm hệ thống bị treo khi đó bộ định thời chó canh sẽ phát hiện và giúp hệ thống thoát khỏi trạng thái đó bằng cách thực hiện khởi tạo lại chương trình.

-nguyên lí làm việc của bộ định thời chó canh:

                            Sơ đồ nguyên lý hoạt động của bộ định thời chó canh

Nguyên lý hoạt động bộ định thời chó canh

Câu 9. So sánh giữa DMA chu kỳ đơn với chu kỳ nhóm :

DMA chu kỳ đơn và nhóm

Trong kiểu hoạt động DMA chu kỳ nhóm, ngoại vi sẽ nhận được quyền điều khiển và truyền khối dữ liệu rồi trả lại quyền điều khiển cho CPU. Trong cơ chế DMA chu kỳ đơn ngoại vi sau khi nhân được quyền điều khiển bus chỉ truyền một từ dữ liệu rồi trả lại ngay quyền kiểm soát bộ nhớ và bus dữ liệu cho CPU. Trong cơ chế thực hiện DMA cần có một bước xử lý để quyết định xem thiết bị nào sẽ đươc nhận quyền điều khiển trong trường hợp có nhiều hơn một thiết bị có nhu cầu sử dụng DMA. Thông thường kiểu DMA chu kỳ nhóm cần ít dữ liệu thông tin điều khiển (overhead) nên có khả năng trao đổi với tốc độ cao nhưng lại chiếm nhiều thời gian truy nhập bus do truyền cả khối dữ liệu lớn. Điều này có thể ảnh hưởng đến hoạt động của cả hệ thống do trong suốt quá trình thực hiện DMA nhóm, CPU sẽ bị khoá quyền truy nhập bộ nhớ và không thể xử lý các nhiệm vụ khác của hệ thống mà có nhu cầu bộ nhớ, ví dụ như các dịch vụ ngắt, hoặc các tác vụ thời gian thực...

Câu 10. So sánh DSP dấu phảy tĩnh với DSP dấu phảy động?

Chip DSP

DSP vẫn được biết tới như một loại vi điều khiển đặc biệt với khả năng xử lý nhanh để

phục vụ các bài toán yêu cầu khối lượng và tốc độ xử lý tính toán lớn. Thông thường khi phải sử dụng DSP tức là để đáp ứng các bài toán tính toán lớn và tốc

độ cao vì vậy định dạng biểu diễn toán học sẽ là một yếu tố quan trọng để phân loại và

được quan tâm. Hiện nay chủ yếu chúng vẫn được phân loại theo hai kiểu là dấu phảy

động và dấu phảy tĩnh Các loại DSP dấu phảy tĩnh thường là loại 16‐bit hoặc 24‐bit còn các loại dấu phảy động thườnglà 32bit.Thông thường các loại DSP dấu phảy tĩnh có giá thành rẻ hơn các loại DSP dấu phảyđộng vì yêu cầu số lượng chân Onchip ít hơn và cần sử dụng lượng silicon ít hơn.

Ưu điểm nổi bật của các DSP dấu phảy động là có thể xử lý và biểu diễn số trong dải phạm vi giá trị rộng và động. Do đó vấn đề về chuyển đổi và hạn chế về phạm vi biểu diễn số không phải quan tâm như đối với loại DSP dấu phảy tĩnh. Một loại DSP 32‐bit dấu phảy tĩnh điển hình là TMS320C67x có thể xử lý và biểu diễn số gồm 24‐bit mantissa và 8‐bit exponent. Phần mantissa biểu diễn phần số lẻ trong phạm vi ‐1.0 – +1.0 và phần exponent biểu diễn vị trí của dấu phảy nhị phân và có thể dịch chuyển sang trái hoặc phải tuỳ theo giá trị số mà nó biểu diễnĐiều này trái ngược với các thiết kế trên nền DSP dấu phảy tĩnh, người phát triển chương trình phải tự qui ước, tính toán và phân chia ấn định thang biểu diễn số và phải luôn lưu tâm tới khả năng tràn số có thể xảy ra trong quá trình xử lý tính toán.Phát triển chương trình cho DSP dấu phảy động thường đơn giản hơn nhưng giá thành lại cao hơn nhiều và năng lượng tiêu thụ thong thường cũng lớn hơn

Câu 11. Cấu trúc chung của một chip logic mảng khả trình PAL (Programmable Array Logic).

Lịch sử phát triển của các chủng loại Chip khả trình mảng PLA được bắt nguồn từ nguyên lý bộ nhớ chương trình PROM  Trong đó các đầu vào địa chỉ đóng vai trò như các đường vào củamạch logic và các đường dữ liệu ra đóng vai trò như các đường ra của mạch logic. Vì PROM không thực sự phù hợp cho mục đích thiết kế các mạch logic nên PLA đã ra đời vào đầu thập kỷ 70. Nó rất phù hợp để thực hiện mạch logic có dạng tổng các tích (vì cấu thành bởi các phần tử logic AND và OR). Nhưng nhược điểm là chi phí sản xuất cao và tốc độ hoạt động thấp. Để khắc phục nhược điểm này PAL đã được phát triển. Nó được cấu thành từ các phần tử AND khả trình và phần tử OR gán cố định và có chứa cả phần tử flipflop ở đầu ra nên có khả năng thực thi các mạchlogic tuần tự

Cấu trúc chung của PAL

Câu 14. Nguyên lý thực hiện pipeline

Vi xử lý có thể thực thi các lệnh với một tốc độ rất nhanh. RISC sử dụng kỹ thuật

pipeline để tăng cường tốc độ xử lý các lệnh đồng thời nhờ vào khả năng thực hiện xếp

chồng cuốn chiếu liên tục các lệnh theo các phân đoạn thực hiện lệnh.

                         .

                                                         Nguyên lý thực hiện pipeline

Pipelineđược thực hiện dựa trên nguyên lý xếp chồng cuốn chiếu các phân đoạn trong mỗi một lệnh. Thông thường mỗi một lệnh được chia ra làm nhiều phân đoạn thực hiện, phổ biến hiện nay là 5 phân đoạn tuần tự như sau:

(1) Trỏ lệnh (Instruction Fetch): Thực hiện trỏ tới lệnh thực hiện bằng cách đọc địa chỉ lệnh từ thanh ghi con trỏ lệnh (PC), đọc lệnh đó ra từ bộ nhớ chương trình và tính toán rồi nạp giá trị mới vào trong thanh ghi con trỏ lệnh để trỏ tới lệnh sẽ thực thi tiếp theo.

(2) Giải mã lệnh (Decode): Thực hiện thông dịch và chuyển đổi mã lệnh thành dạng mã để ALU có thể hiểu và chuẩn bị thực thi. Quá trình này thực chất là quá trình đọc và chuyển đổi nội dung trong các thanh ghi chương trình.

(3) Thực hiện lệnh (Execute): ALU thực thi lệnh vừa được giải mã.

(4) Truy nhập bộ nhớ dữ liệu (Memory): Đọc ra hoặc viết vào bộ nhớ dữ liệu nếu lệnh thực hiện có nhu cầu này.

(5) Viết trở lại (Write back): Hoàn thành và cập nhật nội dung các thanh ghi.

Câu 15. Hiện tượng Hazard dữ liệu là gì? Hãy nêu các trường hợp Hazard dữ liệu có thể xảy ra?

Hiện tượng harzard xảy ra khi có sự phụ thuộc lẫn giữa các lệnh nằm trong khoảng xếp

chồng thực hiện cuốn chiếu theo nguyên lý pipeline.

Hiệntượng Hazard dữ liệu có thể xảy ra như sau:

‐ RAW (read after write): Đọc sau khi viết

Khi lệnh i và j đều cần sử dụng và trao đổi thông tin với cùng một giá trị ô nhớ, trong

đó lệnh i cần phải thực hiện xong và cập nhật giá trị vào ô nhớ đó rồi lệnh j mới có thể

đọc và sử dụng. Nếu lệnh i chưa thực hiện xong mà lệnh j đã đọc giá trị ô nhớ đó thì sẽ

xảy ra hiện tượng được gọi là hazard dữ liệu. Lệnh j đọc thông tin từ một ô nhớ trước

khi lệnh i kịp viết vào vì vậy lệnh j sẽ chỉ đọc được giá trị cũ chứ không phải giá trị mới

cần phải sử dụng

-WAW (write after write): Viết sau khi viết

Lệnh j viết vào một toán tử trước khi lệnh i viết vào. Mà yêu cầu thực thi đúng chương trình là lệnh i phải viết trước lệnh j và giá trị cuối cùng lưu trong toán tử phải do lệnh j đưa ra chứ không phải lệnh i. Hiện tượng này được gọi là hazard dữ liệu khi có sự phụ thuộc đầu ra và nhiều lệnh cùng có nhu cầu truy nhập viết vào cùng một biến hay một ô nhớ.

-WAR (write after read): Viết sau khi đọc:lệnh j viết vào toán tử đích trước khi nó được đọc bởi lệnh i do đó lệnh I sẽ nhận được giá trị sai. Hiện tượng Hazard này xuất hiện khi có sự phụ thuộc toán hạng trong các phéptính

Câu  16. Trình bày quá trình phát triển và biên dịch phần mềm hệ nhúng?

Sự thành công về phát triển phần mềm thường là nhờ vào sự lựa chọn ngôn ngữ phù

hợp nhất cho một dự án đặt ra. Cần phải tìm một ngôn ngữ để có thể đáp ứng được yêu

cầu lập trình cho các bộ xử lý từ 8bit đến 64bit, trong các hệ thống chỉ có hữu hạn về

64bộ nhớ vài Kbyte hoặc Mbyte. Cho tới nay, điều này chỉ có C là thực sự có thể thỏa mãn và phù hợp nhất. Ngôn ngữ C có một số ưu điểm nổi bật tiêu biểu như khá nhỏ và dễ dàng cho việc học, cácchương trình biên dịch thường khá sẵn cho hầu hết các bộ xử lý đang sử dụng hiện nay,và có rất nhiều người đã biết và làm chủ được ngôn ngữ này rồi,Hơn nữa C có lợi thế là không phụ thuộc vào bộ xử lý thực thi mã nguồn. Có lẽ một thế mạnh lớn nhất của C là một ngôn ngữ bậc cao mức thấp nhất.Thực chất đây cũng là một trong những tiêu chí xây dựng của những người sang lập ra ngôn ngữ C muốn hướng tới. hiện nay người ta cũng có thể biết tới ngoài ngôn ngữ C như là Assembly, C++, và Ada.

-Assembly với ngôn ngữ này cho phép người lập trình điều khiển vàkiểm soát hoàn toàn vi xử lý cũng như phần cứng hệ thống trong việc thực thi chương trình. Tuy nhiên ngôn ngữ Assembly có nhiều nhược điểm mà cũng chính là lý do tại sao hiện nay nó ít được phổ cập và sử dụng. Đó là, việc học và sử dụng ngôn ngữ Assembly rất khó khăn và đặc biệt khó khăn trong việc phát triển các chương trình ứng dụng lớn phức tạp.Ngôn ngữ Assembly chỉthực sự phù hợp cho những người có kinh nghiệm và hiểu biết tốt về cấu trúc phần cứng đích

-C++ là một ngôn ngữ kế thừa từ C để nhằm vào các lớp ứng dụng và tư duy lập trình hướng đối tượng và cũng bắt đầu chiếm được số lượng lớn quan tâm trong việc ứng dụng cho phát triển hệ nhúng. Tất cả các đặc điểm cốt lõi của C vẫn được kế thừa hoàn toàn trong ngôn ngữ C++ và ngoài ra còn hỗ trợ khả năng mới về trừu tượng hóa dữ liệu và phù hợp với tư duy lập trình hiện đại; hướng đối tượng.

-Ada cũng là một ngôn ngữ hướng đối tượng mặc dù nó không được phổ cập rộng rãi như C++. Ada được xây dựng bởi cơ quan quốc phòng Mỹ để phục vụ phát triển cácphần mềm quân sự chuyên dụng đặc biệt.

----Quá trình biên dịch phần mềm hệ nhúng:----

-Quá trình biên dịch (Compiling)

Nhiệm vụ chính của bộ biên dịch là chuyển đổi chương trình được viết bằng ngôn ngữ thân thiện với con người ví dụ như C, C++,…thành tập mã lệnh tương đương có thể đọc và hiểu bởi bộ vi xử lý đích kết quả của trình biên dịch là 1 giải mã lệnh được gọi là tệp đối tượng.Hầu hết nội dung của các tệp đối tượng đều bắt đầu bởi một phần header để mô tả các phần theo sau. Mỗi một phần sẽ chứa một hoặc nhiều khối mã hoặc dữ liệu như được sử dụng trong tệp mã nguồn. Tuy nhiên các khối đó được nhóm lại bởi bộ biên dịch vào trong các phần liên quan.

--Quá trình liên kết (Linking)

Kết quả đầu ra của bộ liên kết là một tệp đối tượng mới có chứa tất cả mã và dữ liệu trong tệp mã nguồn và cùng kiểu định dạng tệp. Nó thực thi được điều này bằng cách tổ hợp một cách tương ứng các phần text, dữ liệu và phần bss …từ các tệp đầu vào và tạo ra một tệp đối tượng theo định dạng mã máy thống nhất. Trong qúa trình bộ liên kết thực hiện tổ hợp các phần nội dung tương ứng nó còn thực hiện thêm cả vấn đề hoàn chỉnh các địa chỉ tham chiếu của các biến và hàm chưa được đầy đủ trong bước thực hiện biên dịch Sau khi đã hợp nhất thành công tất cả các thành phần mã và phần dữ liệu tương ứng cũng như các vấn đề về tham chiếu tới các biểu tượng chưa được thực thi trong quá trình biên dịch đơn lẻ, bộ liên kết sẽ tạo ra một bản sao đặc biệt của chương trình có khả năng định vị lại (relocatable)

--Quá trình định vị (Locating)

Công cụ thực hiện việc chuyển đổi một chương trình có khả năng định vị lại thành một dạng mã chương trình nhị phân có thể thực thi được gọi là bộ định vị

-Thực hiện:

Cung cấp thông tin bộ nhớ

Gán địa chỉ vật lyscho mã lệnh DL

Tạo ra một teepjcos chứa mã nhị phaancos thể nạp trực tiếp vào bộ nhớ

Câu 17. Trình bày các phương pháp có thể để tiến hành thiết kế hệ thống nhúng bằng máy tính?

- -Mô phỏng off line

Trong hệ thống phát triển này nền phần cứng nhúng đích được mô phỏng bằng mô hình

chạy trên PC và đối tượng điều khiển cũng là mô hình mô phỏng chạy trên PC

--Hệ thống phát triển (software in the loop).

Hệ thống này mô phỏng nền phần cứng thực trên PC cho đáp ứng hành vi giống như với

vi mạch cứng thực và mô hình đối tượng được mô hình thực thi trên PC

􀂃 Mô phỏng thời gian thực (Hardware in the Loop)

Hệ thống này sử dụng nền phần cứng nhúng đích thực nhưng đối tượng thì chỉ là mô

hình thời gian thực không phải đối tượng thực

􀂃 Mô hình phát triển thực

                  Hệ thống này sử dụng nền phần cứng nhúng đích thực với đối tượng thực

Câu 18. So sánh kiến trúc vi hạt nhân với kiến trúc đơn hạt nhân.

Hai kiến trúc thiết kế phần hạt nhân kinh điển nhất là kiến trúc vi hạt nhân và đơn hạt nhân (monolithic). Các vi hạt nhân cung cấp các chức năng điều hành cơ bản cốt lõi (thô) theo cơ chế các module tương đối độc lập đảm nhiệm các tác vụ cụ thể và chuyển rời rất nhiều các dịch vụ điển hình điều hành hệ thống thực thi trong không gian người sử dụng Kiến trúc vi hạt nhân cung cấp độ an toàn cao bởi vì dịch vụ hệ thống chạy ở tầng người sử dụng với hạn chế về truy nhập vào tài nguyên của hệ thống và có thể được giám sát. Kiến trúc vi hạt nhân có thể được xây dựng một cách mềm dẻo để phù hợp với cấu hình phần cứng khác nhau một cách linh hoạt hơn so với kiểu kiến trúc hạt nhân monilithic. Tuy nhiên do tính độc lập tương đối giữa các modul trong vi hạt nhân nên cần thiết phải có một cơ chế trao đổi thông tin hay truyền thông giữa các modul đó vì vậy có thể là lý do làm chậm tốc độ và giảm tính hiệu quả hoạt động của hệ thống. Đặc điểm nổi bật và cốt lõi của kiến trúc vi hạt nhân là kích thước nhỏ và dễ dàng sửa đổi cũng như xây dựng linh hoạt hơn. Các dịch vụ thực thi ở tầng trên của hạt nhân vì vậy đạt được độ an toàn cao.Kiểu kiến trúc monolithic cung cấp tất cả chức năng/dịch vụ chính yếu thông qua một qua trình xử lý đơn lẻ. Chính vì vậy kích thước của chúng thường lớn hơn kiểu kiến trúc vi hạt nhân. Loại hình kiến trúc này thường được áp dụng chủ yếu cho các phần cứng cụ thể mà hạt nhân monolithic có sự tương tác trực tiếp với phần cứng nhờ vậy màkhả năng tối ưu cũng dễ dàng hơn so với áp dụng kiểu kiến trúc vi hạt nhân. Chính vì vậy cũng là lý do tại sao kiến trúc monolithic không thể thay đổi mềm dẻo linh hoạt như

kiểu vi hạt nhân.

 Câu 19. Các tác vụ chính và cấu trúc của hệ điều hành thời gian thực là gì?

Hệ thống điều hành thời gian thực là hệ điều hành hỗ trợ khả năng xây dựng các hệ

thống thời gian thực

Hệ thống điều hành với phần lõi là hạt nhân phải đảm nhiệm các tác vụ chính như sau:

Xử lý ngắt

􀂃 Lưu trữ ngữ cảnh chương trình tại thời điểm xuất hiện ngắt

􀂃 Nhận dạng và lựa chọn đúng bộ xử lý và phục vụ dịch vụ ngắt

Điều khiển quá trình

􀂃 Tạo và kết thúc quá trình/tác vụ

􀂃 Lập lịch và điều phối hoạt động hệ thống

􀂃 Định thời

Điều khiển ngoại vi

􀂃 Xử lý ngắt

􀂃 Khởi tạo giao tiếp vào ra

                                                      Cấu trúc hệ điu hành thời gian thực

Câu 20. Lập lịch là gì? Trong kỹ thuật lập lịch hãy liệt kê một vài phương pháp lập lịch phổ biến ?

Lập lịch là một phép thực hiện phân bổ và gán quy trình thực thi các tác vụ cho bộ xử lý

sao cho mỗi tác vụ được thực hiện hoàn toàn.

Có một số thông tin về tác vụ luôn phải quan tâm đối với bất kỳ bộ lập lịch thời gian

thực nào, bao gồm:

• Thời gian xuất hiện i a (arrival time): Khi sự kiện xảy ra và tác vụ tương ứng được

kích hoạt.

• Thời điểm bắt đầu thực thi i r (release time): Thời điểm sớm nhất khi việc xử lý đã

sẵn sàng và có thể bắt đầu.

• Thời điểm bắt đầu thực hiện i s (starting time): Là thời điểm mà tại đó tác vụ bắt

đầu việc thực hiện của mình.

• Thời gian tính toán/thực thi i c (Computation time): Là khoảng thời gian cần thiết

để bộ xử lý thực hiện xong nhiệm vụ của mình mà không bị ngắt.

• Thời điểm hoàn thành i f (finishing time): Là thời điểm mà tại đó tác vụ hoàn thành

việc thực hiện của mình.

• Thời gian rủi ro/ xấu nhất i w (worst case time): khoảng thời gian thực hiện lâu nhất

có thể xảy ra.

• Thời điểm kết thúc i d (due time): Thời điểm mà tác vụ phải hoàn thành.

Các phương pháp lập lịch phổ biến:

---Tuỳ thuộc vào loại hình tác vụ, người ta ra hai phương pháp lập lịch là có chu kỳ và

không có chu kỳ.

Lập lịch nonpreemptive: Phương pháp này đảm bảo các tác vụ được thực hiện hoàn

thành mỗi khi thực thi

Lập lịch preemptive: Phương pháp này khắc phục nhược điểm của lập lịch nonpreemptive

khi thời gian thực thi các tác vụ lâu

Lập lịch offline/tĩnh: Việc lập lịch được thực hiện dựa trên các hiểu biết hoặc dự báo về

các sự kiện tác vụ thực hiện trong hệ và được quyết định tại thời điểm thiết kế và được áp dụng cố định trong suốt quá trình hoạt động của hệ thống

Lập lịch online/động: Bộ xử lý thực hiện việc lập lịch trong quá trình thực thi dựa trên

cơ sở các thông tin hoạt động hiện hành của hệ thống

Lập lịch tập trung hoặc phân tán: Việc lập lịch được thực hiện áp dụng cho các tác vụ

thực thi bởi một (tập trung) hoặc nhiều bộ xử lý (phân tán).

Lập lịch Mono hay Multi‐ processor: Nhiệm vụ lập lịch và thực thi được đảm nhiệm bởi

một (mono) hoặc nhiều bộ vi xử lý (multi).

 Câu 21. Semaphore là gì? Giải thích cơ chế hoạt động của semaphore ?

Semaphores là một cấu trúc dữ liệu được định nghĩa để loại trừ khả năng xung đột

trong quá trình chia sẻ tài nguyên của các tác vụ trong hoạt động của hệ thống.

---giải thích cơ chế hoạt dộng của semaphore:

Semaphores hỗ trợ hai hoạt động chính như sau:

􀂃 wait(semaphore): giảm và khoá cho tới khi semaphore được mở

􀂃 signal(semaphore): tăng và cho phép thêm một luồng mới được tham gia hoạt

động

Trong hoạt động phối hợp cùng với semaphore có một hàng đợi gồm các tác vụ cần được thực thi sẽ có một số tình huống hoạt động cơ bản như sau:

 Khi một luồng (thread) gọi wait():

• Nếu semaphore được mở thì luồng đó sẽ được gia nhập và tiếp tục thực thi

• Nếu semaphore đang bị đóng thì nhánh đó sẽ bị khoá và phải nằm chờ trong hàng đợi cho tới khi nào semaphore được mở signal() sẽ mở semaphore:

• nếu một luồng đang nằm trong hàng đợi và không bị khoá

• nếu không có luồng nào trong hàng đợi và tín hiệu signal sẽ được nhớ và dành cho luồng tiếp theo

 Câu 22. Hãy nêu chu trình phát triển phần mềm hệ nhúng?

Quá trình phát triển phần mềm nhúng thực hiện theo chu trình sau:

(1) Problem specification

(2) Tool/chip selection

(3) Software plan

(4) Device plan

(5) Code/debug

(6) Test

(7) Integrate

 Câu 23. Mạng Petri dùng để mô hình hóa sự kiện và tác vụ: qui ước biểu diễn, các tình huống hoạt động cơ bản?

----Qui ước biểu diễn mô hình Petrinet

Trong qui ước biểu diễn hình hoạ thì mạng Petri sử dụng các vòng tròn để biểu diễn các điều kiện, các hộp để biểu diễn các sự kiện, và mũi tên biểu diễn quan hệ luồng. Một ví dụ minh hoạ về mạng Petri được mô tả trong Hình 6‐1, trong đó:

P = {p1, p2 ,..., pnp}là tập gồmnp vị trí được biểu diễn trong mô hình (được mô tả bởi các vòng tròn);

• 1 2 { , ,..., } nt T = t t t là tập gồmnt chuyển đổi trong tập chuyển đổi biểu diễn trong mô hình(được mô tả bởi các hình chữ nhật);

• I biểu diễn quan hệ đi vào chuyển đổi và được ký hiệu bởi đường mũi tên theo hướng từ các vị trí tới các chuyển đổi;

• O biểu diễn quan hệ đi ra khỏi chuyển đổi và được ký hiệu bởi các đường mũi tên theo hướng từ các chuyển đổi tới các vị trí;

• 1 2 { , ,... } np M = m m m là dấu trạng thái của các chuyển đổi trong hệ thống. Các giá trị i m là số các thẻ bài (được ký hiệu như các chấm tròn đen) chứa bên trong các vị trí i p trong tập dấu M .

 ----Các tình huống hoạt động cơ bản:

􀂃Đồng hành (Song song) và đồng bộ

Trong hệ thống dự phòng với độ tin cậy cao, mô hình này được sử dụng để biểu diễn hai thành phần C1 và C2 song song để đảm bảo hoạt động dự phòng; trong trường hợp này các vị trí p1 và p3 biểu diễn điềukiện làm việc, các vị trí p2 và p4 biểu diễn điều kiện lỗi, t1 và t2 là các sự kiện lỗi trongcác tác vụ C1 và C2 một cách tương ứng

                    Mô hình Petrinet 2 hoạt động song song độc lập và đồng bộ

􀂃 Chia sẻ đồng bộ

Sự thiếu thốn về tài nguyên làm hạn chế hoạt động của hệ thống trong quá trình xử lý thậm chí làm tắc nghẽn hệ thống. Việc mô hình và phân tích các hệ thống có hiện tượng tắc nghẽn là một tác vụ khó khăn trong hầu hết các quá trình mô hình có thể gặp phải.

                                             Hoạt động của bộ đệm với dung lượng hữu hạn

􀂃 Tuần tự

Hoạt động tuần tự sẽ được mô tả và minh hoạ bởi hoạt động của bộ tạo và bộ sử dụng thông qua một bộ đệm. Bộ tạo sẽ sinh ra các đối tượng để đưa vào trong một bộ đệm và sẽ được lấy ra bởi bộ sử dụng.

                          Hoạt động tạo và sử dụng với bộ đệm a) vô hạn và b) hữu hạn

􀂃 Loại trừ xung đột

Hai tác vụ C1 và C2 được phép làm việc song song và cùng chia sẻ tài nguyên CS, nhưng không được truy nhập vào tài nguyên đồng thời

Bạn đang đọc truyện trên: Truyen2U.Pro

#phamhuy