Đặt vấn đề Các ứng dụng quan trọng nhƣ quân sự, hàng không vũ trụ, ô tô và y tế yêu cầu phải thực hiện chiến lƣợc chịu lỗi để đảm bảo hoạt động tin cậy trong thời gian sống của hệ thống. Một khiếm khuyết trong quá trình hoạt động của các hệ thống an toàn, quan trọng có thể gây nguy hiểm cho cuộc sống của con ngƣời hoặc môi trƣờng hoặc có thể dẫn đến thiệt hại nặng nề về tài chính. Các yêu cầu nghiêm ngặt về độ tin cậy đặt ra những thách thức mới cho ngành thiết kế điện tử. Các ứng dụng trong lĩnh vực không gian, các ứng dụng từ xa đã gặp phải vấn đề này do không thể sửa chữa hệ thống một khi chúng đƣợc khởi chạy trong trong môi trƣờng riêng biệt.
Nghiên cứu những công nghệ cao và tìm kiếm các giải pháp trong ngành công nghiệp là cố gắng để giảm bớt thiệt hại khi thực hiện các chƣơng trình chịu lỗi. Gần đây, ngành công nghiệp ô tô đã cho thấy một quá trình chuyển đổi đáng kể từ kỹ thuật cơ khí sang các sản phẩm cơ điện tử. Các điều khiển cơ khí là ít hơn, và đang đƣợc thay thế bởi các thành phần điện tử (điều khiển X-by-wire) đƣợc gọi là ECU (bộ điều khiển điện tử). ECU có ở khắp nơi đã dẫn ngành công nghiệp điện tử ô tô để đối mặt với những thách thức tƣơng tự nhƣ các yêu cầu an toàn trong các thiết bị điện tử ở lĩnh vực hàng không vũ trụ.
Ngoài ra, do quá trình biến thể và lão hóa, sau một thời gian dài hoạt động, các mạch điện tử sinh lỗi. Hậu quả của loại lỗi này là vĩnh viễn và không thể giải quyết bằng cách sử dụng các chiến lƣợc áp dụng cho những lỗi thoáng qua. Thông thƣờng, các giải pháp áp dụng để đối phó hiệu quả với các vấn đề an toàn thƣờng có xu hƣớng tăng tài nguyên máy tính và dựa trên dự phòng phần tử xử lý. Các hoạt động chính xác của toàn bộ hệ thống cần phải đƣợc đảm bảo và lỗi của hệ thống thực tế chỉ xuất hiện do lỗi thiết kế.
Thật không may, dự phòng trở thành một vấn đề chính trong kỹ thuật tăng khả năng chịu lỗi trong tổng chi phí xây dựng và phát triển sản phẩm. Dự phòng phần cứng rõ ràng là cần thêm tài nguyên để thực hiện một chức năng. Bên cạnh các vấn đề chi phí, dự phòng tài nguyên máy tính đặt ra vấn đề về tỷ lệ sử dụng chúng trong tổng chi phí tài nguyên. Tổng chi phí tài nguyên của một mô-đun có thể hạn chế việc thực hiện các chức năng cụ thể trong một nền tảng nhất định, cũng có khả năng nó hạn chế sức mạnh xử lý của tổng thể hệ thống.
Hạn chế về hiệu suất xử lý có thể có tác động đáng kể trên các ứng dụng ngày nay. Càng nhiều ứng dụng phức tạp hơn cho hệ thống điện tử nói chung và cho các điều khiển điện tử ô tô nói riêng đã dẫn đến một sự tích hợp quy mô lớn của các thành phần điện tử. Xu hƣớng này đã tạo ra các thống tính toán song song để giải quyết các vấn đề phức tạp với những hạn chế thời gian cụ thể. Một hệ thống tính toán song song đƣợc tạo thành từ các phần tử xử lý khác nhau (PE – Processing Element) làm việc hợp tác để giải quyết một vấn đề.
Các hệ thống nhúng có chứa các bộ xử lý có mục Nguyễn Viết Hiếu – K16D2 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 9 đích chung để tăng sự linh hoạt của chƣơng trình phần mềm và các thành phần phần cứng chuyên dụng để tăng hiệu xuất xử lý. Ngày nay, các hệ thống nhúng cần sức mạnh tính toán hơn để đáp ứng nhu cầu của các ứng dụng nhƣ âm thanh / hình ảnh, mã hóa / giải mã, xử lý hình ảnh,. Chíp xử lý đa nhân (MPSoC) là một lựa chọn để giải quyết các yêu cầu tính toán ngày càng tăng này. Cách tiếp cận này dựa trên sự linh hoạt nhất định để lập trình lại phần mềm.
Hơn nữa, một hệ thống hiệu suất cao có thể đƣợc xây dựng lên với việc thực hiện các chức năng song song trên các lõi xử lý khác nhau. Gần đây, các tiến bộ công nghệ và quy trình trong ngành công nghiệp bán dẫn cho phép các nhà sản xuất phát triển và hỗ trợ các công nghệ mới để nâng cao chất lƣợng, hiệu suất và độ tin cậy của hệ thống. Vi mạch tích hợp chuyên dụng (ASIC) có thể đáp ứng các ràng buộc về thời gian thực và cho phép các xây dựng các phƣơng án với độ tin cao, nhƣng chúng không cung cấp sự linh hoạt cần thiết. Nhƣ vậy, tính linh hoạt, tăng tốc phần cứng có thể lập trình đƣợc là cần thiết.
Cùng với các yêu cầu tăng hiệu suất, chất lƣợng và độ tin cậy, các ngành công nghiệp điện tử cũng tập trung tới vấn đề về giảm chi phí sản phẩm. Những kỳ vọng về giảm chi phí bắt buộc các nhà sản xuất để phát triển các công nghệ mới trong khi nâng cao hiệu quả sản xuất để đáp ứng mục tiêu cắt giảm chi phí. Giải pháp ASIC thƣờng đòi hỏi chi phí đáng kể về tiến độ và chi phí không có tính kỹ thuật (NRE) để chuyển những thiết kế tới quá trình chế tạo, đó là mâu thuẫn với các xu hƣớng công nghiệp hiện hành. Một giải pháp cho vấn đề này, đƣợc chấp nhận trong ngành công nghiệp ô tô, là công nghệ ―mảng các cổng logic lập trình đƣợc‖ (FPGA) cho phép thêm tính linh hoạt, giảm chi phí và hỗ trợ thực hiện yêu cầu.
Các nhà cung cấp FPGA tận dụng cách mạng công nghệ để cung cấp các thiết bị cấu hình lại có thể bao gồm hàng triệu cổng logic lập trình đƣợc cùng với nhiều MB bộ nhớ nội và các lõi xử lý phù hợp cho các tùy biến của một lƣợng lớn các ứng dụng. Sự kết hợp của việc tái sử dụng tài sản trí tuệ (IP), chi phí đơn vị thấp và tƣơng đối dễ dàng thực hiện đã dẫn đến xuất hiện FPGA ngày càng tăng trong ngành công nghiệp. Ngƣời thiết kế chuyển sang giải pháp FPGA để có thể thực hiện các tính năng cần thiết hay các tính năng không sẵn có với các thành phần tiêu chuẩn. Công nghệ này phổ biến một phần do nỗ lực tăng cƣờng tiếp thị các nhà sản xuất FPGA, nhƣng chủ yếu là do giá ngày càng thấp hơn của sản phẩm.
Tuy nhiên, FPGA không chỉ hấp dẫn về vấn đề giá, mà việc giảm thời gian đƣa sản phẩm điện tử ra thị trƣờng cũng rất quan trọng. Việc sử dụng các FPGA có thể cho phép nhà sản xuất đƣa ra nhanh chóng những chức năng mới mà không cần nhiều thời gian nhƣ sự phát triển để tùy biến ASIC. Điều này là hiển nhiên bởi các nỗ lực kết hợp của các nhà cung cấp FPGA và các nhà cung cấp bên thứ ba để cung cấp nội dung cụ thể, chẳng hạn nhƣ lõi điều khiển truyền thông đặc biệt cho các ứng dụng ô tô (CAN, MOST, FlexRay, vv). Hơn nữa, lợi thế chi phí của một FPGA so với một loại ASIC Nguyễn Viết Hiếu – K16D2 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 10 đặc biệt là quy mô, làm giảm quá trình các bƣớc công nghệ thực tế, chi phí thiết kế lại có thể vƣợt quá một triệu đô la [48].
Đƣợc công nhận rằng các mạch logic có thể tái cấu hình đáp ứng các yêu cầu về hiệu suất xử lý và khả năng mở rộng của các ứng dụng. Ƣu điểm chính của loại giải pháp này không chỉ nằm trong khả năng của hệ thống có thể tăng số lƣợng các thành phần xử lý, mà là về tổng quát kiến trúc đƣợc đề xuất để tối ƣu hóa việc sử dụng các tài nguyên, đặc biệt là sau thời gian nhàn rỗi. Khái niệm về lập trình lại đã quyết định nhiều về phƣơng pháp tiếp cận để thiết kế FPGA. Không giống nhƣ một ASIC, chi phí thiết kế lại có thể vƣợt quá một triệu đô la, chi phí để sửa chữa hay thay đổi một thiết kế FPGA đƣợc coi là tƣơng đối thấp.
Do đó, FPGA xuất hiện để cho phép tạo nhanh và thử nghiệm tích hợp ở mức hệ thống của thiết kế, tinh chỉnh và sửa đổi thiết kế đƣợc hoàn thành thông qua lập trình lại nhiều lần trên thiết bị. Hơn nữa, những tính năng tiên tiến gần đây đƣợc giới thiệu trong các FPGA hiện đại, cấu hình lại từng phần linh động (DPR - dynamic partial reconfiguration) cung cấp cơ hội hơn nữa để tăng cƣờng sự linh hoạt và có độ tin cậy của hệ thống mục tiêu. DPR cho phép thiết kế nhiều mô-đun trong cùng thời gian. Tính năng này cho phép sửa đổi trong thời gian chạy, bổ sung từng phần của FPGA trong khi phần còn lại của mạch vẫn chạy.
Bằng cách sử dụng DPR, các nhà thiết kế có thể làm tăng đáng kể chức năng của chỉ một FPGA, cho phép một hệ thống đƣợc thực hiện ít thiết bị hơn và nhỏ hơn so với các công nghệ khác. Khai thác DPR cho hệ thống điện tử trên ô tô cho phép thực hiện các kỹ thuật chịu lỗi theo kiểu truyền thống nhƣ dự phòng cổ điển bằng cách sử dụng các nguồn tài nguyên có thể cấu hình lại sẵn có. Hơn nữa, mô hình DPR cho phép phát triển các chiến lƣợc mới cho thiết kế các hệ thống chịu lỗi. Ví dụ, DPR dễ dàng thực hiện các cơ chế phục hồi hệ thống sau khi xảy ra lỗi, hoặc là đƣa mô-đun bị lỗi đến các hoạt động đúng với nhiệm vụ của mình mà không làm gián đoạn các mô-đun khác, hoặc sửa đổi một mô-đun để thực hiện các nhiệm vụ bị gián đoạn.
Tính năng này không chỉ có một mức độ linh hoạt cao, mà tính liên tục của dịch vụ còn đƣợc tăng lên đáng kể. Không cần khởi động lại toàn bộ FPGA, trạng thái hoạt động của hệ thống vẫn đƣợc đảm bảo, có thể cho phép dễ dàng chuyển đổi một chế độ bị xuống cấp trong khi vẫn duy trì hầu hết các dịch vụ quan trọng. Một xu hƣớng mới là đƣa các tính năng DPR vào thiết kế với nền tảng đa bộ xử lý nhƣ MPSoC động. Sự phối hợp này đƣa đến một mức độ mới của sự tự do thiết kế hệ thống và hành vi trong thời gian chạy.
Trong một hệ thống nhƣ vậy, không chỉ các phần mềm, giống nhƣ trong MPSoC tĩnh, mà phần cứng cũng có thể đƣợc điều chỉnh phù hợp trong thời gian chạy.