{
  "document_type": "textbook",
  "confidence": 0.99,
  "reasoning": "Tài liệu là một cuốn giáo trình học thuật xuất bản bởi nhà xuất bản Springer Nature (Fourth Edition, 2021), có đầy đủ số hiệu ISBN/ISSN, bản quyền mở Open Access (CC BY 4.0), thuộc chuỗi ấn bản 'Embedded Systems Series' và được cấu trúc theo hệ thống chương mục, thuật ngữ, bài tập giảng dạy đại học."
}

THÔNG TIN THƯ MỤC VÀ NỘI DUNG GIÁO TRÌNH: EMBEDDED SYSTEM DESIGN (PETER MARWEDEL, 4TH EDITION)

Tổng quan về giáo trình

Giáo trình Embedded System Design: Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things (Ấn bản lần thứ 4, năm 2021) do Giáo sư Peter Marwedel (Đại học Kỹ thuật Dortmund - TU Dortmund, Đức) biên soạn và xuất bản bởi Nhà xuất bản Springer Nature Switzerland AG thuộc chuỗi ấn phẩm học thuật Embedded Systems Series.

+-------------------------------------------------------------------------+
|                    THÔNG TIN XUẤT BẢN VÀ ĐẶC TẢ SÁCH                    |
+-------------------------------------------------------------------------+
| Tiêu đề: Embedded System Design (4th Edition)                           |
| Phụ đề: Embedded Systems Foundations of Cyber-Physical Systems, and IoT |
| Tác giả: Peter Marwedel (TU Dortmund, Đức)                              |
| Nhà xuất bản: Springer Nature Switzerland AG (Năm 2021)                 |
| Mã số tiêu chuẩn: ISBN 978-3-030-60909-2 | eBook: 978-3-030-60910-8     |
| Chỉ số định danh: ISSN 2193-0155 | ISSN 2193-0163 (electronic)          |
| Bản quyền: Giấy phép Open Access (Creative Commons CC BY 4.0)           |
+-------------------------------------------------------------------------+

Về vị trí trong chương trình đào tạo, tài liệu được thiết kế làm giáo trình giảng dạy cho học phần Hệ thống nhúng, Hệ thống mạng - vật lý (Cyber-Physical Systems - CPS) và Internet vạn vật (Internet of Things - IoT) ở bậc đại học năm thứ ba, năm thứ tư hoặc bậc sau đại học thuộc các ngành Khoa học Máy tính (CS), Kỹ thuật Máy tính (CE) và Kỹ thuật Điện - Điện tử (EE).

Mục tiêu học tập của giáo trình nhằm trang bị cho người học các nguyên lý nền tảng về thiết kế tích hợp phần cứng và phần mềm, đáp ứng các ràng buộc kỹ thuật nghiêm ngặt về thời gian thực (real-time constraints), hiệu quả năng lượng (energy efficiency), độ tin cậy (reliability), an toàn chức năng (safety) và bảo mật thông tin (security).

Về cấu trúc và cách tiếp cận, giáo trình bám sát hướng dẫn khung chương trình của mạng lưới ARTIST (European Network of Excellence for Embedded Systems), tập trung vào các khái niệm cốt lõi dài hạn thay vì phụ thuộc vào một công cụ hay dòng vi điều khiển thương mại cụ thể. Nội dung bao quát toàn bộ chu trình phát triển hệ thống từ giai đoạn mô hình hóa đặc tả (specifications), cấu trúc phần cứng, phần mềm hệ thống, kỹ thuật ánh xạ thực thi (mapping), đánh giá - kiểm chứng (evaluation & validation) đến các thuật toán tối ưu hóa (optimizations) và kỹ thuật kiểm thử (testing).

Điểm đặc sắc của giáo trình nằm ở việc kết nối chặt chẽ giữa hệ thống tính toán kỹ thuật số và môi trường vật lý liên tục, làm rõ sự chuyển dịch từ thuật ngữ hệ thống nhúng truyền thống (Embedded Systems - ES) sang các hệ thống mạng - vật lý (CPS = ES + Môi trường vật lý động) và mạng lưới vạn vật kết nối (IoT).


Nội dung kiến thức cốt lõi

Các chương và chủ đề chính

Nội dung giáo trình được phân bổ qua 8 chương chuyên đề và 3 phụ lục toán học - kỹ thuật:

+--------------------------------------------------------------------------+
|                         CẤU TRÚC CHƯƠNG MỤC CỐT LÕI                      |
+--------------------------------------------------------------------------+
| Chương 1: Introduction (Tổng quan, lịch sử thuật ngữ, CPS, IoT, thách thức)
| Chương 2: Specifications and Modeling (Mô hình tính toán MoCs, StateCharts)
| Chương 3: Embedded System Hardware (Phần cứng, DSP, cảm biến, Cyphy-Interface)
| Chương 4: System Software (Hệ điều hành nhúng, RTOS, giao thức tài nguyên)
| Chương 5: Evaluation and Validation (WCET, giải tích thời gian thực RTC, nhiệt)
| Chương 6: Mapping to Execution Platforms (Lập lịch đơn/đa nhân, Pinedo)
| Chương 7: Optimizations (Biến đổi vòng lặp, tối ưu năng lượng DVS/DPM)
| Chương 8: Test of Embedded Systems (Mô hình lỗi, kiểm thử phần cứng, DfT)
| Phụ lục A: Integer Linear Programming (Quy hoạch tuyến tính nguyên)
| Phụ lục B: Kirchhoff's Laws and Operational Amplifiers (Định luật mạch & KĐTT)
| Phụ lục C: Paging and Memory Management Units (Quản lý bộ nhớ phân trang)
+--------------------------------------------------------------------------+
  • Chương 1 (Introduction): Trình bày lịch sử phát triển của công nghệ tính toán từ máy tính lớn (mainframe), tính toán khắp nơi (ubiquitous computing - Mark Weiser), điện toán thâm nhập (pervasive computing) đến CPS và IoT. Định nghĩa hệ thống nhúng theo Marwedel (Định nghĩa 1.1), CPS theo Lee (Định nghĩa 1.2), và IoT theo Atzori (Định nghĩa 1.3). Phân tích các thách thức về độ tin cậy (dependability), sự bất tương thích giữa mô hình vật lý liên tục và mô hình số rời rạc, cùng các luồng thiết kế hệ thống như mô hình chữ V (V-model) và luồng SpecC.
  • Chương 2 (Specifications and Modeling): Khảo sát các mô hình tính toán (Models of Computation - MoCs) bao gồm máy trạng thái hữu hạn truyền thông (Communicating Finite State Machines - StateCharts), mạng quy trình Kahn (Kahn Process Networks - KPN), mô hình dòng dữ liệu tĩnh (Static Data Flow - SDF), mạng Petri (Petri Nets), mô hình sự kiện rời rạc (Discrete Event Modeling) và mô hình hóa mức giao dịch (Transaction-Level Modeling - TLM). Chương này cũng giới thiệu các ngôn ngữ VHDL, SystemC, SpecC, Modelica và xử lý hiện tượng Zeno (Zeno effect) thông qua bài toán thực nghiệm quả bóng nảy (bouncing ball).
  • Chương 3 (Embedded System Hardware & Cyphy-Interface): Phân tích kiến trúc phần cứng chuyên dụng như bộ xử lý tín hiệu số (DSP), bộ xử lý từ lệnh rất dài (VLIW), mảng phần tử logic lập trình được (FPGA), bộ xử lý đồ họa (GPU). Trình bày giao diện giữa phần tính toán và môi trường vật lý (cyphy-interface) gồm cảm biến (sensors), cơ cấu chấp hành (actuators), định lý lấy mẫu Shannon-Nyquist, bộ biến đổi tương tự - số (ADC), số - tương tự (DAC), điều chế độ rộng xung (PWM) và các kiến trúc bộ nhớ như bộ nhớ nháp (Scratchpad Memory - SPM).
  • Chương 4 (System Software): Tập trung vào hệ điều hành thời gian thực (RTOS), hệ điều hành ERIKA, kiến trúc Embedded Linux, phân cấp phần mềm với lớp trừu tượng hóa phần cứng (HAL). Trình bày chi tiết các giao thức kiểm soát truy cập tài nguyên nhằm giải quyết hiện tượng nghịch đảo độ ưu tiên (priority inversion) như Giao thức kế thừa độ ưu tiên (Priority Inheritance Protocol), Giao thức trần độ ưu tiên (Priority Ceiling Protocol) và Giao thức tài nguyên ngăn xếp (Stack Resource Protocol).
  • Chương 5 (Evaluation and Validation): Cung cấp phương pháp luận định lượng các chỉ số chất lượng: ước lượng thời gian thực thi trường hợp xấu nhất (Worst-Case Execution Time - WCET), giải tích thời gian thực (Real-Time Calculus - RTC), mô hình tiêu thụ công suất và năng lượng, mô hình nhiệt học vi mạch (hiện tượng dark silicon), phân tích độ tin cậy, phân tích cây lỗi (Fault Tree Analysis) và kiểm chứng hình thức (formal verification).
  • Chương 6 (Mapping to Execution Platforms): Trình bày kỹ thuật ánh xạ tác vụ lên nền tảng phần cứng dựa trên phân loại bài toán lập lịch của Pinedo. Khảo sát các thuật toán lập lịch đơn vi xử lý như Rate Monotonic (RM), Earliest Deadline First (EDF), cùng các chiến lược lập lịch đa vi xử lý (đa nhân) gồm lập lịch phân vùng (partitioned scheduling), lập lịch toàn cục (global scheduling), lập lịch công bằng tỉ lệ (Pfair) và hiện tượng suy giảm hiệu năng Dhall (Dhall effect).
  • Chương 7 (Optimizations): Phân tích các giải pháp tối ưu hóa mức cao như biến đổi vòng lặp (loop tiling, blocking, array folding), quản lý đồng thời mức tác vụ (task-level concurrency management), kỹ thuật biên dịch nhận biết bộ nhớ nháp (SPM allocation), điều chỉnh điện áp động (Dynamic Voltage Scaling - DVS) và quản lý công suất động (Dynamic Power Management - DPM).
  • Chương 8 (Test of Embedded Systems): Nghiên cứu các phương pháp kiểm thử mạch số và máy trạng thái hữu hạn, mô hình lỗi stuck-at, kỹ thuật tự kiểm tra tích hợp (Built-In Self-Test - BIST), quét đường dẫn (Scan path), thanh ghi dịch phản hồi tuyến tính (LFSR) và thiết kế hỗ trợ kiểm thử (Design for Testability - DfT).

Kiến thức nền tảng được xây dựng

Giáo trình xây dựng hệ thống lý thuyết dựa trên ba trụ cột chính:

+--------------------------------------------------------------------------+
|                      BA TRỤ CỘT KIẾN THỨC NỀN TẢNG                       |
+--------------------------------------------------------------------------+
| 1. Lý thuyết hệ thống lai (Hybrid Systems):                              |
|    - Mô hình hóa toán học kết hợp phương trình vi phân và sự kiện rời rạc |
|    - Phân tích hiệu ứng Zeno qua chuỗi thời gian hội tụ vô hạn           |
|                                                                          |
| 2. Nguyên lý thời gian thực và độ tin cậy:                               |
|    - Phân định ràng buộc thời gian ngặt (hard) và thời gian mềm (soft)    |
|    - Định lý thời điểm tới hạn (Critical Instant Theorem)                |
|    - Chỉ số khả dụng (Availability), độ tin cậy (Reliability: R(t))       |
|                                                                          |
| 3. Khung tối ưu hóa đa mục tiêu (Multi-Objective Optimization):          |
|    - Phân tích biên Pareto (Pareto optimality) giữa các tham số nghịch    |
|    - Cân bằng giữa hiệu năng tính toán, diện tích chip, công suất, nhiệt |
+--------------------------------------------------------------------------+

Kỹ năng phát triển

Thông qua việc tiếp thu nội dung văn bản, người học phát triển các nhóm năng lực kỹ thuật:

  • Kỹ năng phân tích và mô hình hóa: Khả năng chuyển đổi yêu cầu hệ thống vật lý sang các mô hình toán học chuẩn tắc (StateCharts, Petri nets, Kahn process networks, VHDL/SystemC).
  • Kỹ năng phân tích khả năng lập lịch (Schedulability Analysis): Khả năng tính toán hệ số sử dụng bộ xử lý (processor utilization), xác định cận trên thời gian hoàn thành tác vụ và lựa chọn thuật toán điều phối phù hợp trên hệ thống đơn nhân và đa nhân.
  • Kỹ năng tối ưu hóa tài nguyên: Kỹ năng phân bổ dữ liệu lên bộ nhớ SPM, thiết lập cấu hình quản lý công suất (DVS/DPM) và tối ưu hóa thời gian thực thi mã nguồn mức biên dịch.
  • Kỹ năng đánh giá độ an toàn và kiểm thử: Năng lực xây dựng cây lỗi hệ thống, tính toán tỷ lệ hư hỏng ($\lambda$), và thiết lập mẫu kiểm thử cho mạch logic dựa trên mô hình lỗi chuẩn.

Phương pháp giảng dạy và học tập

Giáo trình áp dụng mô hình sư phạm lớp học đảo ngược (Flipped Classroom Teaching) theo nghiên cứu của chính tác giả (Marwedel, 2014):

  1. Chuẩn bị ngoài lớp học: Sinh viên tiếp cận kiến thức lý thuyết thông qua việc đọc các phần định nghĩa, định lý, ví dụ trong sách kết hợp theo dõi hệ sinh thái bài giảng video mở được tác giả phát hành trên nền tảng YouTube (youtube.com/user/cyphysystems).
  2. Tương tác trên lớp: Giờ học trực tiếp được chuyển đổi hoàn toàn thành không gian giải quyết bài toán phức tạp, phân tích các ca nghiên cứu thực tế (case studies) như hệ thống kiểm soát đoàn tàu châu Âu (ETCS), phân tích rủi ro hàng không DO-178B, hoặc tối ưu hóa năng lượng cho thiết bị IoT.
  3. Thực hành và mô phỏng: Giáo trình kết nối với hệ thống công cụ mô phỏng phần mềm Levi chuyên dụng (gồm Levi FlexRay, Levi KPN, Levi RTS, Levi TDD), nền tảng mô hình hóa SystemC, OpenModelica, Virtualizer™ và các bài thí nghiệm trên phần cứng thực tế (bo mạch ARM/DSP, Raspberry Pi, Arduino, Odroid, Lego Mindstorms).
  4. Phương pháp đánh giá: Đánh giá năng lực dựa trên khả năng giải các bài toán quy hoạch tuyến tính nguyên (ILP) cho phân bổ bộ nhớ, tính toán phân tích thời gian thực (RTC Toolbox) và bài tập phân tích cây lỗi.

Điểm nổi bật và cập nhật

So với các lần xuất bản trước, ấn bản lần thứ 4 ghi nhận các cập nhật kỹ thuật và chuyển đổi phương thức phát hành quan trọng:

+--------------------------------------------------------------------------+
|                 BẢNG ĐỐI SOÁT CẬP NHẬT QUA CÁC ẤN BẢN                    |
+--------------------------------------------------------------------------+
| Tiêu chí       | Ấn bản 1 & 2 (2003, 2011) | Ấn bản 3 & 4 (2018, 2021)    |
+----------------+---------------------------+------------------------------+
| Bản quyền      | Thương mại (In ấn đóng)   | Open Access (CC BY 4.0)      |
| Cấu trúc xử lý | Tập trung Đơn lõi (Single)| Đa lõi (Multi-core / MPSoC)  |
| Trọng tâm      | Vi điều khiển nhúng (ES)  | Mở rộng CPS và IoT toàn diện |
| Mô hình hóa    | FSM, VHDL truyền thống    | Thêm PDE, TLM 2.0, Modelica  |
| Hệ điều hành   | Khái niệm RTOS cơ bản     | Bổ sung Embedded Linux, ERIKA|
| Tích hợp mới   | Tối ưu hóa tĩnh cơ bản    | Dark Silicon, AI biên (SFB876)|
| Phân định lệnh | Chưa phân tách chi tiết   | Làm rõ Job, Task, Thread, Process
+--------------------------------------------------------------------------+
  • Phát hành truy cập mở (Open Access): Lần đầu tiên toàn bộ nội dung giáo trình được công bố miễn phí theo giấy phép Creative Commons Attribution 4.0 (CC BY 4.0), hỗ trợ tiếp cận bình đẳng nguồn tài liệu học thuật cho sinh viên và giảng viên toàn cầu.
  • Cấu trúc lại nội dung an toàn và bảo mật: Phân định rõ ràng giữa an toàn chức năng (Safety - tuân thủ tiêu chuẩn IEC 61508, loại trừ rủi ro do lỗi nội tại phần cứng/phần mềm) và an toàn thông tin (Security - bảo vệ tính bí mật, toàn vẹn và khả dụng trước các tấn công bên ngoài).
  • Mở rộng mô hình thực nghiệm: Chi tiết hóa bài toán thực nghiệm va chạm quả bóng (bouncing ball) để minh họa hiện tượng Zeno và sự tương tác giữa biến trạng thái liên tục và sự kiện rời rạc.
  • Tích hợp kết quả nghiên cứu hiện đại: Bổ sung các nghiên cứu từ Trung tâm Nghiên cứu Hợp tác DFG SFB 876 về học máy và xử lý dữ liệu lớn trong điều kiện tài nguyên phần cứng bị giới hạn (Resource-Constrained Machine Learning).
  • Chuẩn hóa thuật ngữ lập lịch: Phân định chính xác các đơn vị thực thi từ công việc (jobs), tác vụ (tasks), luồng (threads) đến quy trình (processes), cập nhật các thuật toán lập lịch cho bộ xử lý đa nhân không đồng nhất.

Đối tượng sử dụng giáo trình

Giáo trình được biên soạn phục vụ các nhóm đối tượng học thuật và công nghiệp:

+--------------------------------------------------------------------------+
|                  ĐỐI TƯỢNG VÀ ĐIỀU KIỆN TIÊN QUYẾT                       |
+--------------------------------------------------------------------------+
| 1. Sinh viên Đại học (Năm 3, 4): Ngành Khoa học Máy tính, Kỹ thuật       |
|    Máy tính, Kỹ thuật Điện - Điện tử định hướng CPS/IoT.                 |
| 2. Học viên Cao học & NCS (Master/PhD): Sử dụng làm khung tài liệu tổng   |
|    quan trước khi thực hiện các đề tài nghiên cứu chuyên sâu.             |
| 3. Giảng viên Đại học: Sử dụng làm đề cương chuẩn và tài liệu giảng dạy  |
|    cho các học phần 3 - 4 tín chỉ.                                       |
| 4. Kỹ sư Công nghiệp: Kỹ sư phần cứng cần chuyển đổi sang thiết kế       |
|    phần mềm nhúng và tiếp cận các tiêu chuẩn AUTOSAR, MISRA-C.           |
|                                                                          |
| KIẾN THỨC TIÊN QUYẾT (PREREQUISITES):                                    |
| - Lập trình máy tính & Cấu trúc dữ liệu - Giải thuật                     |
| - Tổ chức và Kiến trúc máy tính (tương đương giáo trình Patterson/Hennessy)|
| - Nguyên lý Hệ điều hành & Mạng máy tính cơ sở                           |
| - Toán học: Giải tích, Đại số tuyến tính, Mạch số & Cổng logic cơ bản   |
+--------------------------------------------------------------------------+

Đối với sinh viên ngành Kỹ thuật Điện chưa nắm vững một số khái niệm khoa học máy tính hoặc ngược lại, sinh viên Khoa học Máy tính thiếu kiến thức phần cứng, các Phụ lục A (Quy hoạch tuyến tính nguyên), Phụ lục B (Định luật Kirchhoff và Khuếch đại thuật toán) và Phụ lục C (Quản lý phân trang bộ nhớ MMU) cung cấp đầy đủ lý thuyết bổ trợ để tự học.


Câu hỏi thường gặp

1. Giáo trình này phù hợp với đối tượng nào trong chương trình đào tạo?

Giáo trình được thiết kế chuẩn hóa cho sinh viên đại học năm thứ ba hoặc năm thứ tư thuộc các ngành Khoa học Máy tính, Kỹ thuật Máy tính, Điện tử - Viễn thông, đồng thời phù hợp làm tài liệu cơ sở cho học viên cao học và kỹ sư hệ thống nhúng trong công nghiệp.

2. Cần chuẩn bị kiến thức nền tảng nào trước khi học giáo trình này?

Người học cần hoàn thành các học phần cơ sở: Lập trình máy tính (C/C++), Cấu trúc dữ liệu và Giải thuật, Tổ chức máy tính, Nguyên lý hệ điều hành, Mạng máy tính, Toán vi tích phân, Đại số tuyến tính và kiến thức về mạch điện tử số cơ bản.

3. Điểm khác biệt lớn nhất giữa giáo trình này và các sách lập trình vi điều khiển thông thường là gì?

Sách không tập trung vào hướng dẫn lập trình cho một dòng chip vi điều khiển đơn lẻ, mà cung cấp khung phương pháp luận thiết kế hệ thống toàn diện: từ mô hình toán học (MoC), tối ưu hóa thời gian thực (WCET, RM, EDF), hiệu quả năng lượng, quản lý nhiệt đến độ tin cậy và kiểm thử phần cứng theo chuẩn ARTIST.

4. Người học có thể áp dụng phương pháp nào để tự học giáo trình hiệu quả?

Người học nên áp dụng mô hình lớp học đảo ngược: đọc các chương mục lý thuyết và chứng minh định lý trong sách, theo dõi chuỗi video bài giảng mở trên kênh YouTube của tác giả (cyphysystems), sau đó thực hành giải bài tập và chạy mô phỏng với các công cụ mã nguồn mở như SystemC, OpenModelica và bộ phần mềm Levi.

5. Có những tài liệu và công cụ bổ trợ nào đi kèm giáo trình?

Hệ sinh thái tài nguyên đi kèm gồm có website chính thức của tác giả (ls12-www.cs.tu-dortmund.de/~marwedel/es-book) chứa slide bài giảng, các bài tập mẫu, bộ phần mềm mô phỏng hệ thống Levi (FlexRay, KPN, RTS, TDD), các video bài giảng trên YouTube và ba phụ lục chuyên đề kỹ thuật (ILP, Định luật Kirchhoff, MMU).


Kết luận

Giáo trình Embedded System Design (Ấn bản lần thứ 4) của tác giả Peter Marwedel là tài liệu học thuật chuẩn tắc, hệ thống hóa toàn diện các nguyên lý cốt lõi của Hệ thống nhúng, Hệ thống mạng - vật lý (CPS) và Internet vạn vật (IoT).

Lộ trình tiếp cận kiến thức được định hình mạch lạc: bắt đầu từ các mô hình tính toán hình thức, đi qua kiến trúc phần cứng và phần mềm hệ thống, tiến đến các thuật toán lập lịch, tối ưu hóa đa mục tiêu và quy trình kiểm thử hoàn chỉnh. Với việc phát hành theo giấy phép truy cập mở (Open Access CC BY 4.0) cùng hệ sinh thái bài giảng video và phần mềm mô phỏng đi kèm, giáo trình là nguồn tư liệu học thuật quan trọng cho công tác giảng dạy, học tập và nghiên cứu trong lĩnh vực kỹ thuật máy tính hiện đại.