Upload
phungnguyet
View
213
Download
0
Embed Size (px)
Citation preview
1
Cấu hình lại phần cứng trong kiến trúc hệ thống
nhúng như một khả năng tăng tính linh hoạt của hệ
thống tự động
Nguyễn Viết Hiếu
Trường Đại học Công nghệ
Luận văn Thạc sĩ ngành: Kỹ thuật điện tử; Mã số: 60 52 70
Người hướng dẫn: PGS.TS. Ngô Diên Tập
Năm bảo vệ: 2012
Abstract: Trình bày các khái niệm: kiến trúc tái cấu hình; tái cấu hình linh động; khả năng chịu
lỗi trong kiến trúc tái cấu hình; các phương án giảm thiểu lỗi cổ điển; chiến lược giảm (sự kiện
đơn nhiễu loạn, bức xạ) SEU trong các (mảng cổng logic lập trình được) FPGA dựa trên SRAM.
Nghiên cứu chịu lỗi trong chip hệ thống đa nhân động (DyMPSoC): tóm tắt; giới thiệu; (chíp hệ
thống đa nhân động chịu lỗi) FT-DyMPSoC; thay đổi quy trình thiết kế; cải tiến FT-DyMPSoC;
thực hiện chi tiết. Tìm hiểu các mô hình phân tích.
Keywords: Kỹ thuật điện tử; Hệ thống nhúng; Điều khiển điện tử; Hệ thống tự động
Content
CHƢƠNG 1: GIỚI THIỆU
1.1. Đặ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. 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ử.
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.
Hình 1.1: Các xu hương trong ngành công nghiệp ô tô (dữ liệu được cung cấp bởi TRW Auto-motive)
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.
2
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. 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) 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êuVài nét về dự án “The CIFAER”
Các hoạt động nghiên cứu trong dự án CIFAER (Communication Intra-véhicule Flexible et
Architecture Embarquée Reconfigurable) (hình 1.2) là tập trung vào định nghĩa của một kiến trúc xây
dựng xung quanh một đơn vị xử lý hỗ trợ DPR (bộ xử lý chung kết hợp với một khu vực tái cấu hình
được) và hỗ trợ giao diện truyền thông linh hoạt.
Hình 1.2: Tổ chức dự án CIFAER
Việc xây dựng một ECU tái cấu hình được cần phải khai thác một số lợi ích của truyền thông PLC
hoặc RF. Thật vậy, những kết nối này sẽ cho phép thêm các chức năng (với chi phí thấp) trong xe hoặc có
thể mang dữ liệu giới hạn trước đây vào trong một ECU duy nhất. Các khía cạnh cấu hình lại có ba mục
tiêu chủ yếu:
1. Hỗ trợ các kênh truyền thông mới
2. Hỗ trợ cập nhật tính năng mới trong xe
3. Đảm bảo độ tin cậy bằng cách truy cập dữ liệu của một ECU bị lỗi
Chủ đề của luận văn này phù hợp với nội dung của dự án CIFAER. Dự án nhằm mục đích cung cấp
một mạng truyền thông linh hoạt để xem xét việc chuyển đổi nhiệm vụ. Nhiệm vụ quan trọng cần phải
được duy trì bằng cách chuyển chúng từ ECU bị lỗi tới ECU khác không lỗi.
1.2. Mục tiêu của luận văn
Trong luận văn này, các dịch vụ có khả năng chịu lỗi trong hệ thống ô tô sử dụng mô hình cấu hình lại
từng phần linh động sẽ được giới thiệu. Việc sử dụng máy tính có khả năng cấu hình lại linh động có hai
mục tiêu:
1. Giảm số lượng các ECU, do đó giảm chi phí phát triển và đưa vào dự phòng phần cứng cũng như
việc thực hiện thống nhất cho tất cả các nhiệm vụ, cho dù quan trọng hay không.
2. Hỗ trợ phương pháp tiếp cận cổ điển và công nghiệp hiệu quả cho các khía cạnh về độ tin cậy. Bằng
cách thực hiện một phát hiện lỗi, sử dụng máy tính cấu hình lại và khớp nối với một sự chuyển đổi nhiệm
vụ (phần cứng và phần mềm), nó có thể làm tăng đáng kể sự vững mạnh của hệ thống, trong khi duy trì
hiệu suất tối ưu.
Căn cứ vào kiến trúc phần cứng và phần mềm điều khiển của nó, luận văn này sẽ giới thiệu quá trình
thực hiện cấu hình lại từng phần linh hoạt cũng như các dịch vụ quản lý chiến lược khả năng chịu lỗi.
1.3. Các nội dung đóng góp
FT-DyMPSoC là một hệ thống không chỉ phối hợp tất cả các tính năng của một MPSoC linh động mà
còn tích hợp các kỹ thuật chịu lỗi để đối phó với các lỗi tiềm năng.
Luận văn này cũng giới thiệu một sửa đổi về quy trình thiết kế giúp tạo ra các bộ vi xử lý hoàn toàn
linh động. Quy trình thay đổi đòi hỏi phải định nghĩa khái niệm WRAPPER và SOCKET.
Mô hình phân tích được đưa ra trong Chương 4 để giúp dễ dàng đánh giá hiệu suất / sự cân bằng độ tin
cậy trong khi bao gồm cả kỹ thuật chịu lỗi vào các hệ thống mục tiêu.
3
4
CHƢƠNG 2: CÁC KHÁI NIỆM VÀ CÁC CÔNG VIỆC LIÊN QUAN
2.1. Kiến trúc tái cấu hình
2.1.1. Giới thiệu
Thiết bị có thể cấu hình lại chi tiết chủ yếu là đại diện bởi các thiết bị logic có thể lập trình được phức
tạp (CPLD) và mảng cổng logic lập trình được (FPGA).
Hình 2.1 cung cấp một cấu trúc đơn giản của một FPGA. Các kiến trúc cơ bản của FPGA bao gồm ba
loại thành phần: các khối logic, định tuyến, và các khối vào ra. Nói chung, FPGA bao gồm một mảng các
khối logic có thể cấu hình được (CLB) có thể được kết nối với nhau cũng như các khối I/O có thể lập
trình được thông qua một số loại kiến trúc định tuyến có thể lập trình được.
Hình 2.1: Kiến trúc chung của FPGA
Các công ty FPGA lớn cũng cung cấp nhiều thành phần dạng thô được nhúng trong các thiết bị lai của
họ theo nhu cầu thị trường. Ví dụ, Xilinx nhúng trong một số họ Virtex bộ xử lý 32-bit RISC PowerPC.
2.1.2. Bộ xử lý tái cấu hình
Trong các FPGA hiện đại, bên cạnh các nguồn tài nguyên mật độ cao có thể cấu hình lại được thông
thường, còn cung cấp cho các nhà thiết kế khả năng thực hiện các bộ vi xử lý có thể cấu hình lại, có các
tính năng theo các thành phần của hiệp định thương mại (COTS). Thiết bị Xilinx FPGA bao gồm hai loại
bộ vi xử lý: các bộ vi xử lý lõi cứng (hard-core) nhúng sẵn (PowerPC) và các bộ vi xử lý lõi mềm dẻo
(soft-core) (MicroBlaze, PicoBlaze). Altera cũng cung cấp hai loại bộ xử lý: bộ vi xử lý lõi cứng dựa trên
ARM (Excalibur) và bộ vi xử lý lõi mềm dẻo (Nios).
2.2. Tái cấu hình linh động
2.2.1. Định nghĩa
Hệ thống có thể thay đổi hành vi của mình theo môi trường hoặc các sự kiện bên ngoài trong thời gian
chạy. Trong số các công ty FPGA, Xilinx được biết đến như một trong các công ty lớn nhất cung cấp họ
Virtex thương mại với khả năng cấu hình lại từng phần.
Các hành vi của FPGA được xác định bởi một bitstream (một luồng bit dữ liệu) cấu hình bao gồm một
chuỗi các tập lệnh và tín hiệu điều khiển bit dữ liệu..
Hình 2.2: Hệ thống dựa trên vi xử lý kiểm soát các tài nguyên có thể cấu hình lại
Hình 2.2 mô tả một cấu trúc điển hình của một hệ thống dựa trên bộ xử lý trong một thiết bị Xilinx
Virtex.
5
2.2.2. Quy trình thiết kế
Quy trình thiết kế tiêu chuẩn cho cấu hình lại kiểu mô-đun bằng cách sử dụng FPGA Xilinx được dựa
trên công cụ được cung cấp: bộ phát triển nhúng (EDK), môi trường phần mềm tích hợp (ISE) và
PlanAhead, như trong hình 2.3.
Hình 2.3: Quy trình thiết kế tiêu chuẩn cho hệ thống tái cấu hình linh động
2.3. Khả năng chịu lỗi trong kiến trúc tái cấu hình
Các kỹ thuật chịu lỗi có thể được phân thành hai loại: những thay đổi công nghệ của quá trình chế tạo,
và những thay đổi cấu trúc thiết kế của một hệ thống. Khả năng đầu tiên ngụ ý để thiết kế ma trận FPGA
mới bao gồm các thành phần chịu lỗi mà có thể thay thế những cái cũ. Khả năng thứ hai là để bảo vệ các
mô tả mức cao của các mô-đun bằng cách sử dụng một số loại dư thừa.
Mỗi giải pháp có chỗ đứng riêng của mình trên thị trường, cũng như mỗi ứng dụng có những hạn chế
riêng của nó.
2.3.1. Các mô hình lỗi trong kiến trúc tái cấu hình
Việc phân loại của SEE được trình bày trong hình 2.4.
Hình 2.4: Phân loại SEE
SEE có thể có ảnh ở mức hưởng phá hủy hoặc chỉ thoáng qua, theo số lượng năng lượng tích tụ lại bởi
các hạt tích điện và điểm tác động trong thiết bị
2.3.1.1. Ảnh hưởng của sự kiện đơn (SEE)
Sự kiện nhiễu loại đơn (SEU) trong tế bào SRAM:
Hình 2.5: Ảnh hưởng SEU đến trạng thái của tế bào nhớ
Sự kiện ngắt chức năng đơn: (SEFI).
Sự kiện rò dòng đơn: (SEL).
Sự kiện hỏng cổng đơn: SEGR (SEGB).
6
2.3.1.2. Tích lũy xuống cấp lâu dài
Các hiện tượng xuống cấp về hiệu năng của mạch điện tử được gọi "lão hóa". HCE có thể gây ra các
lỗi thường trú sau khi hoạt động lâu dài, không thể được loại bỏ bằng cách cấu hình lại.
2.3.2. Những ảnh hưởng SEU trong bộ nhớ cấu hình
Thay đổi nội dung một LUT: thay đổi chức năng tổ hợp
Thay đổi cấu hình I/O: đảo hướng I/O
Thay đổi ma trận kết nối: gây ra một kết nối mở hoặc ngắn mạch
Hình 2.6: Các ảnh hưởng SEU trong bộ nhớ cấu hình của Xilinx Virtex
Bit không nhạy cảm:
Bit nhạy cảm:
Bit không ổn định: Bit ổn định:
Hình 2.7: Rối loạn không liên tục Hình 2.8: Rối loạn liên tục
2.4. Các phƣơng án giảm thiểu lỗi cổ điển
Sự quan tâm trong việc áp dụng kỹ thuật chịu lỗi ngày càng tăng.
2.4.1. Mức kiến trúc
Các phương pháp tiếp cận được dựa trên sự dư thừa dự phòng.
2.4.1.1. Dự phòng phần cứng
Hai phương pháp tiếp cận chủ yếu là DWC và TMR.
Hình 2.9: Nhân đôi và so sánh (DWC)
Hình 2.10: Phát hiện lỗi trong ECU của dự án SAPECS
7
Trong phương án TMR, nó có thể để xác định lỗi dựa trên ba khối tài nguyên và khối xác định chính
(hình 2.11).
Hình 2.11: Dự phòng TMR Hình 2.12: Bộ xác định chính, bảng chân lý
Trong phương án XTMR (hình 2.13), bộ xác định chính được nhân ba và các bộ xác định thiểu số
được thêm vào.
Hình 2.13: Phương án Xilinx TMR—XTMR
2.4.1.2. Dự phòng thời gian
Được sử dụng để phát hiện SET trong logic tổ hợp, trong khi dự phòng phần cứng có thể giúp xác định
một SEU trong logic tuần tự.
Hình 2.14: Phương án dự phòng thời gian cho logic tổ hợp
2.4.1.3. Mã sửa lỗi - ECC
ECC cũng được sử dụng để giảm thiểu SEU trong các mạch tích hợp.
2.4.2. Mức hệ thống
Mô hình của ReCoNets chứa 4 FPGA với 1 bộ xử lý bên trong mỗi FPGA. Nếu một FPGA là bị ngắt
kết nối do một số lỗi, nhiệm vụ của nó sẽ được tự động phân phối vào ba FPGA khác, và hệ thống tiếp tục
hoạt động.
Hình 2.15: Mô hình của ReCoNets về Multi-FPGA
2.4.3. Chiến lược phục hồi bối cảnh
2.4.3.1. Giới thiệu về bối cảnh
Bối cảnh là một tập hợp các thông tin cần thiết để xác định trạng thái của mô-đun tại một thời điểm
nhất định.
Tồn tại nhiều kỹ thuật phục hồi bối cảnh khác nhau vào lúc này để lưu trữ và khôi phục lại bối cảnh.
8
2.4.3.2. Checkpointing and Rollback [1]
Trong quá trình thực hiện nhiệm vụ, mô-đun được thường xuyên kiểm tra gọi là điểm kiểm soát
(check-point). Sự phục hồi ngữ cảnh trong trường hợp này được gọi là rollback.
Hình 2.16: Rollback checkpoint Hình 2.17: Rollback hệ thống song công
Rollback thường được sử dụng trong các hệ thống song công mà không cần biết về các mô-đun lỗi.
Hình 2.17 miêu tả một kịch bản khi một lỗi xảy ra giữa hai điểm kiểm soát.
2.4.3.3. Rollforward [1]
Hệ thống có khả năng của cô lập hóa các lỗi, rollforward có thể được sử dụng.
Hình 2.18: Phương án Rollforward
2.5. Chiến lƣợc giảm SEU trong các FPGA dựa trên SRAM
Theo loại SEU khác nhau trong bộ nhớ cấu hình, các chiến lược thích hợp được chọn để đối phó với
mỗi SEU cấu hình cụ thể.
2.5.1. Readback
Readback là một hoạt động đọc thông tin cấu hình của bộ nhớ cấu hình.
2.5.2. Tái cấu hình từng phần
Cấu hình lại từng phần để chỉ làm mới các mô-đun có liên quan mà không làm gián đoạn phần còn lại
của mạch.
Cấu hình sạch, Kỹ thuật làm sạch, Tái cấu hình dựa trên mô-đun, Kỹ thuật lát gạch - Tiling. Hình 2.19
mô tả các nguyên lý tiling.
Hình 2.19: Nguyên lý lát gạch - Tiling
Tiling là một trong những kỹ thuật phổ biến nhất để đối phó với sự cố thường trú.
2.5.3. Kết hợp các hướng tiếp cận
Sự kết hợp của vài phương pháp tiếp cận chịu lỗi đã được khai thác.
2.5.4. Tiêm lỗi
Để đánh giá độ tin cậy của một hệ thống, cần thiết để đánh giá hiệu quả các phương án giảm lỗi áp
dụng trong hệ thống. Điều này liên quan đến các thí nghiệm tiêm lỗi để ước lượng các tham số lỗi.
9
2.6. Tóm tắt và kết luận
Có hai cách để thực hiện các mạch chịu lỗi trong các FPGA dựa trên SRAM, như mô tả trong sơ đồ
của hình 2.20.
Hình 2.20: Quy trình thiết kế giảm SEU và SET
10
CHƢƠNG 3: CHỊU LỖI TRONG CHIP HỆ THỐNG ĐA NHÂN ĐỘNG (MPSoC)
3.1. Tóm tắt
Chương này trình bày hệ thống trên chip đa xử lý chịu lỗi (MPSoC) dựa trên tái cấu hình linh động
trên toàn bộ nền tảng.
3.2. Giới thiệu
Để đáp ứng những thách thức ngày càng phức tạp, yêu cầu sức mạnh tính toán tăng rất nhanh chóng.
Hiện tại có hai chiến lược chính để đối phó với vấn đề này:
1. Tăng tần số hoạt động.
2. Sử dụng xử lý song song.
Trong chương này sẽ giới thiệu khả năng chịu lỗi của FT-DyMPSoC.
i) Đối phó với các lỗi xảy ra trong các bộ vi xử lý.
ii) Tự động thay đổi các chức năng của bộ xử lý để thích ứng với các sự kiện và các ràng buộc khác
nhau bên ngoài.
3.3. FT-DyMPSoC
FT-DyMPSoC được xây dựng bằng cách sử dụng cấu hình lại từng phần linh động của FPGA Xilinx
Virtex.
Hình 3.1: Cấu trúc FT-DyMPSoC
Hệ thống FT-DyMPSoC (hình 3.1) bao gồm vài số bộ MicroBlaze (P1, P2, P3, vv), SDRAM DDR2,
một bộ điều khiển ngắt (INT) và một bộ nhớ Compact Flash. Các bộ xử lý giao tiếp với nhau như một
mạng lưới bằng cách sử dụng liên kết một chiều nhanh kiểu điểm – điểm (FSL)..
Trong FT-DyMPSoC, phương án phát hiện lỗi được thực hiện ở hai cấp: cấp độ bộ xử lý, cấp độ
MPSoC.
Hình 3.2: Thuật toán giữa các ma trận kết nối
Thuật toán của các ma trận kết nối được sử dụng trong quá trình đồng bộ hóa cho phép phát hiện các
lỗi trong FT-DyMPSoC.
11
Hình 3.3: Giản đồ thời gian của FT-DyMPSoC
Tùy thuộc vào loại lỗi, kỹ thuật cấu hình lại khác nhau được lựa chọn: cấu hình lại từng phần cho một
lỗi tạm thời hoặc kỹ thuật “lát gạch” cho lỗi thường trú.
3.4. Thay đổi quy trình thiết kế
Luận văn này giới thiệu về sửa đổi quy trình thiết kế này. Sửa đổi đòi hỏi phải định nghĩa các thành
phần Socket và Wrapper.
3.4.1. Thay đổi quy trình thiết kế
Hình 3.7: Quy trình thiết kế cho hệ thống tự động cấu hình lại phức tạp
3.4.2. Socket
Mục tiêu của xây dựng Socket là để giới thiệu sự hiện diện của các thiết bị ngoại vi tồn tại trong hệ
thống con khác.
3.4.3. Wrapper
Tất cả các giao diện kết nối của mỗi mô-đun có thể cấu hình lại được khai báo trong wrapper của nó,
do đó, wrapper của PRM khác nhau cho một PRR phải giống nhau. Wrapper thực tế là một hộp đen được
viết bằng ngôn ngữ HDL.
3.5. Cải tiến FT-DyMPSoC
Hệ thống FT-DyMPSoC sử dụng một NoC thay vì liên kết điểm – điểm. Hệ thống Re2DA sử dụng
một mạng dựa trên NoC được gọi là DRAFT.
3.5.1. Hệ thống Re2DA
FT-DyMPSoC sử dụng DRAFT như kiến trúc truyền thông trung tâm trong các bộ vi xử lý trong một
hệ thống MPSoC.
12
Hình 3.8: Cấu trúc nội của Re2DA
3.5.2. Nền tảng nhiều FPGA
Hình 3.9: Chịu lỗi trong multi-FPGA Hình 3.10: Chiến lược phục hồi
Hệ thống (hình 3.9) bao gồm bốn FPGA kết nối với nhau bằng cách sử dụng hai mạng Ethernet..
Như hình 3.10 (a), bitstream của mỗi FPGA hiện tại trong bộ nhớ nội của nó và cũng có trong bộ nhớ
nội của FPGA trước đó trong cấu trúc liên kết vòng.
Độ chịu lỗi được duy trì ở hai cấp độ trong hệ thống: mức Intra-FPGA và mức Inter-FPGA.
3.6. Thực hiện chi tiết
Triển khai thực hiện hệ thống FT-DyMPSoC trên Virtex-5 XC5VSXT50T.
Hình 3.11: Tổng quan hệ thống trên FPGA Editor với ứng dụng trên oto
Hệ thống Re2DA: Trong phần thực hiện này, có 4 MicroBlazes và một DRAFT hoạt động ở 100
MHz, trong khi DDR2 hoạt động ở 200 MHz.
Nền tảng đa FPGA: Một nền tảng bao gồm ba Virtex-5 XC5VSXT50T sử dụng giao tiếp ethernet
được thực hiện. Mỗi FPGA có chứa một hệ thống FT-DyMPSoC 4 MicroBlazes
3.7. Kết luận
Trong chương này, trình bày một hệ thống đa xử lý linh động hoàn trong bối cảnh của kiến trúc lại cấu
hình tự động có thể đối phó với những lỗi có thể trong kiến trúc cấu hình lại với chi phí về thời gian thấp.
Một phiên bản FT-DyMPSoC sử dụng DRAFT - Re2DA cũng được trình bày trong chương này.
Nền tảng đa FPGA cung cấp một hiệu suất cao, giải pháp linh hoạt. Chiến lược chịu lỗi đảm bảo hoạt
động chính xác của toàn bộ nền tảng mặc dù xảy ra lỗi..
Tất cả các mô hình hệ thống đề xuất có thể tự động thích ứng với ràng buộc về khả năng chịu lỗi khác
nhau: tỷ lệ lỗi khác nhau, yêu cầu độ tin cậy, hoặc các ứng dụng ràng buộc người sử dụng bằng cách điều
chỉnh khoảng thời gian gián khi đang chạy.
CHƢƠNG 4: CÁC MÔ HÌNH PHÂN TÍCH
4.1. Tóm tắt
Chương này trình bày một cách tiếp cận phân tích cho FT-DyMPSoC có thể chống lại
SEU. Các mô hình phân tích được giới thiệu để đánh giá hiệu suất, độ tin cậy và tính thương
mại một hệ thống MPSoC chịu lỗi. Ngoài ra, một vài so sánh với các giải pháp chịu lỗi cổ
điển để thấy được lợi thế của hệ thống này.
4.2. Giới thiệu
Khi thiết kế một hệ thống chịu lỗi, việc cân nhắc giữa hiệu suất và độ tin cậy trở thành một
yếu tố đáng kể. Vì vậy, sự cần thiết của một mô hình phân tích để đánh giá.
4.3. Mô hình phân tích
4.3.1. Các định nghĩa chung
Định nghĩa về khẳ năng sẵn sàng của hệ thống, sức mạch tính toán của hệ thống, xác suất
sửa chữa, xác suất lỗi,.. Những định nghĩa trên đây sẽ được áp dụng cho hệ thống FT-
DyMPSoC bằng cách sử dụng FPGA theo COTS.
4.3.2. Mô hình phân tích cho FT-DyMPSoC
Áp dụng phương thức tính toán và phân tích cho FT-DyMPSoC.
4.3.3. Mô hình ứng dụng cho kỹ thuật làm sạch
Áp dụng phương thức tính toán và phân tích cho kỹ thuật làm sạch.
4.4. So sánh và kiểm thử chi tiết
4.4.1. Thực hiện
Chỉ đưa vào các lỗi trong các bộ xử lý linh động, không phải các bộ lọc. SDRAM DDR2
được sử dụng để lưu trữ các bối cảnh bộ xử lý, cho khung đệm video và để thúc đẩy quá trình
cấu hình lại.
Bảng 4.1: Các kết quả thử nghiệm
Bitstream Size Occup. Ratio TReconf
µP1 194 (KBytes) 69% 99 ms
µP1 177 (KBytes) 76% 91 ms
µP1 158 (KBytes) 85% 80 ms
4.4.2. So sánh và kết luận
Trong một hệ thống MPSoC chịu lỗi, đánh đổi luôn luôn tồn tại giữa hiệu suất và độ tin
cậy: đạt được hiệu suất mong muốn đi kèm với mất mát trong độ tin cậy. Mô hình này cho
phép người thiết kế hệ thống để lựa chọn đặc tính hệ thống theo yêu cầu thiết kế trước.
4.5. Mô phỏng và mô hình kiểm tra cho MPSoC chịu lỗi
Phát triển và xác thực hệ thống MPSoC với tính năng chịu lỗi là phức tạp. Tính năng này
phải được lên kế hoạch càng sớm càng tốt trong quy trình thiết kế.
Hình 4.4 cho thấy mô hình có chứa các mô-đun bộ xử lý (µP), kết nối điểm-điểm giữa các
bộ xử lý dựa trên các kênh FIFO, một bộ nhớ chia sẻ (SM) và một bộ công cụ có khả năng
chịu lỗi.
14
Hình 4.4: Mô hình của MPSoC chịu lỗi
Công cụ chịu lỗi bao gồm hai khối: một bộ điều khiển ngắt và một điều khiển cấu hình lại.
Công cụ này có ba chức năng nội tại: phát hiện lỗi, sửa lỗi và phục hồi bối cảnh sau khi loại
bỏ lỗi.
Hình 4.5: Cơ chế chịu lỗi cho mô hình đề xuất
Mô hình hoạt động của cơ chế chịu lỗi này được đưa ra trong hình 4.5.
Hình 4.6: Thực hiện mô hình của bộ xử lý
Mô hình thực hiện của bộ xử lý được minh họa trong hình 4.6. Bộ điều khiển cấu hình lại
kết nối với tất cả các bộ xử lý và cấu hình lại các bộ vi xử lý bị lỗi.
15
Việc vận hành của bộ vi xử lý bị lỗi phải dừng lại và chờ đợi các sự kiện được tạo ra bởi
bộ điều khiển cấu hình. Điều này được minh họa trong hình hình 4.6.
4.5.1. Thực hiện các thành phần mô hình
Tất cả các thành phần được mô hình hóa trong SystemC.
4.5.2. Phân tích
Khái niệm xác thực của phương pháp chịu lỗi được thực hiện bằng cách mô tả các lỗi trong
các mô-đun bộ xử lý và sau đó kiểm tra, hệ thống phát hiện và sửa chữa lỗi này hay không.
Loại lỗi là một sự thay đổi bên trong bitstream đại diện của các mô hình bộ xử lý liên quan.
Phân tích để nhận thấy khoảng thời gian ngắt thay đổi và ảnh hưởng đến hiệu suất và khả
năng chỉnh sửa.
Cần phải có một số đánh đổi trong việc lựa chọn các điểm ngắt, để xác suất điều chỉnh và
hiệu suất không có ảnh hưởng tiêu cực. Điều này phụ thuộc vào ứng dụng quan trọng chạy
trên MPSoC.
CHƢƠNG 5: KẾT LUẬN VÀ QUAN ĐIỂM
5.1. Kết luận
Trong luận văn này, nghiên cứu các giải pháp kỹ thuật cao về khả năng chịu lỗi không chỉ
nhắm mục tiêu trong lĩnh vực ô tô. Tổng hợp các giải pháp để thực hiện một MPSoC lỗi chịu
hoàn toàn linh động có thể đối phó với lỗi tạm thời và thường trú trong FPGA. Một số
phương án giảm lỗi được giới thiệu và thực hiện trong hệ thống FT-DyMPSoC: các thuật toán
ma trận kết nối để phát hiện các lỗi, cấu hình lại từng phần và kỹ thuật lát gạch để sửa lỗi, và
rollback kết hợp với checkpointing để phục hồi bối cảnh phần mềm hệ thống sau khi xảy ra
lỗi.
Các phương án và thay đổi quy trình thiết kế tiêu chuẩn để tạo điều kiện và tốc độ xây
dựng FT-DyMPSoC cũng được giới thiệu. Khái niệm về socket và wrapper được thêm vào để
dễ dàng sửa đổi thiết kế trên thiết kế ban đầu.
Mô hình phân tích được giới thiệu để đánh giá cân nhắc lựa chọn của các chương trình
chịu lỗi. Sử dụng mô hình này, đánh giá hệ thống FT-DyMPSoC so với kỹ thuật làm sạch.
Việc giảm hiệu suất một chút có thể đạt được thành công đáng kể về độ tin cậy. Mô hình này
có áp dụng cho bất kỳ chương trình chịu lỗi nào bằng cách thêm các thông số thích hợp để mô
hình hóa.
5.2. Quan điểm
Trong luận văn, các phương án đang có được tổng hợp và giới thiệu. Có nhiều cơ sở để
thực hiện các công trình trong tương lai nhằm tăng cường các phương án tổng hợp này.
Mô hình phân tích được giới thiệu cung cấp một phương pháp đánh giá nhanh chóng để
kiểm tra xác minh cho các phương án giảm lỗi. Tuy nhiên, tính chính xác của mô hình này
vẫn cần phải tiếp tục được xác minh và cần phải có kết quả khác nhau từ các chiến dịch tiêm
lỗi khác nhau về các phương án giảm lỗi khác.
Một thiết kế FPGA mới với nguồn tài nguyên tự động cấu hình lại, với một ma trận FPGA,
chúng ta có thể thấy một bộ xử lý DSP, một bộ xử lý lõi cứng như PowerPC hoặc ARM.
Trong ma trận thiết bị mới này, tất cả các vấn đề trong luận văn có thể được nhanh chóng
được triển khai. Hơn nữa, nhờ vào sự đa dạng các thành phần, lỗi sẽ xuất hiện chỉ trong một
mô-đun vì giai đoạn phát triển của mỗi mô-đun được hoàn toàn tách rời.
16
Nền tảng phần cứng được phát triển nhanh chóng từ một bộ xử lý duy nhất thành hệ thống
đa bộ xử lý để đáp ứng yêu cầu của khách hàng. Xu hướng này bắt buộc các chức năng cụ thể
của người dùng cuối phải được tích hợp vào hệ thống như phần mềm hơn là phần cứng. Từ đó
cho thấy các chức năng phần mềm thêm vào tùy biến giúp thị trường phần mềm nhúng trong
lĩnh vực ô tô, cũng như các lĩnh vực khác tăng trưởng theo cấp số nhân. Do đó, nền tảng phần
mềm nhất định phải phù hợp với tiêu chuẩn công nghiệp để giúp làm giảm bớt sự hội nhập
của nền tảng phần cứng mới. Autosar đã được tạo ra để phát triển một chuẩn công nghiệp mở
cho các kiến trúc phần mềm ô tô. Autosar cung cấp một cơ sở hạ tầng phần mềm phổ biến dựa
trên các giao thức tiêu chuẩn hóa cho các tầng khác nhau để đạt được các mục tiêu kỹ thuật
của mô đun về khả năng mở rộng, chuyển giao, và có thể dùng lại chức năng,. Trong Autosar,
phát triển phần mềm được liên kết với kiến trúc phần cứng (ECU) để cho phép tái sử dụng và
tái lập các chức năng của xe ô tô. Do đó, có ràng buộc trong việc thiết kế một hệ thống điện tử
ô tô là phải tuân thủ với tiêu chuẩn Autosar.
References
Tiếng Anh
1. A. Avizienis, J.C. Laprie, B. Randell, and C. Landwehr. (2004), "Basic Concepts and
Taxonomy Of Dependable and Secure Computing", IEEE Transactions on Dependable
and Secure Computing, 1(1): 11–33, ISSN 1545-5971.
2. A. Grama. (2003), Introduction to Parallel Computing, Addison-Wesley.
3. A. Kanamaru, H. Kawai, Y. Yamaguchi, and M. Yasunaga. (2009), "Tile-Based Fault
Tol-erant Approach Using Partial Reconfiguration", In Proc. Int. Workshop on Recon-
figurable Computing: Architectures, Tools and Applications, LNCS, volume 5453, pp
293–299.
4. A. Klimm, L. Braun, and J. Becker. (2008), "An Adaptive and Scalable Multiprocessor
System for Xilinx FPGAs Using Minimal Sized Processor Cores", In IEEE International
Symposium on Parallel and Distributed Processing.
5. A. Montone, V. Rana, M.D. Santambrogio, D. Sciuto, and P. di Milano. (2008),
"HARPE: A Harvard-based Processing Element Tailored for Partial Dynamic
Reconfigurable Architectures", In IEEE International Symposium on Parallel and
Distributed Processing.
6. A.A.M. Bsoul, N. Manjikian, and L. Shang. (2010), "Reliability-and Process Variation-
Aware Placement for FPGAs", In Design, Automation and Test in Europe.
7. Actel Inc. (2010), RTAX-S/SL and RTAX-DSP Radiation-Tolerant FPGAs.
8. AD Houghton. (1997), The Engineer’s Error Coding Handbook, Chapman & Hall.
9. Altera Corporation. (2002), Excalibur Devices Hardware Reference Manual, (V3.1).
10. Altera Corporation. (2005), Nios II Processor Reference Handbook.
11. Atmel. (2007), Secured Architecture and Protocols for Enhanced Car Safety, (SAPECS).
12. Austin Lesea. (2009), Continuing Experiments of Atmospheric Neutron Effects on Deep
Submicron Integrated Circuits, (WP286), Technical report, Xilinx Inc, URL
www.xilinx.com/support/documentation/white_papers/wp286.pdf.
13. AUTOSAR GbR. "AUTomotive Open System Architecture", URL http: //www.
autosar.org/.
17
14. B. Dutton and C. Stroud. (2009), "Single Event Upset Detection and Correction in
Virtex-4 and Virtex-5 FPGAs", In Int. Conf. on Computers and Their Applications, pp
57–62.
15. C. Amicucci, et al. (2006), "SyCERS: A SystemC Design Exploration Framework for
SoC Reconfigurable Architecture", In ERSA’06, pp 63–69.
16. C. Haubelt, D. Koch, and J. Teich. (2004), "Basic OS Support for Distributed Reconfig-
urable Hardware", In Computer Systems: Third and Fourth International Workshops,
SAMOS 2003 and SAMOS 2004.
17. C. Pilotto, J.R. Azambuja, and F.L. Kastensmidt. (2008), "Synchronizing Triple Modular
Redundant Designs in Dynamic Partial Reconfiguration Applications", In The 21st
Annual Symposium on Integrated Circuits and System Design, pp 199–204.
18. Carl Carmichael, Michael Caffrey, Anthony Salazar. (2000), Correcting Single-Event
Upsets Through Virtex Partial Configuration, Xilinx(XAPP216 v1.0), Los Alamos
National Laboratories, http: //www.xilinx.com/support/documentation/
application_notes/xapp216.pdf.
19. D. Gohringer, M. Hubner, T. Perschke, and J Becker. (2008), "New Dimensions for
Multi-processor Architectures: On Demand Heterogeneity, Infrastructure and
Performance Through Reconfigurability-The RAMPSoC Approach", In International
Conference on Field Programmable Logic and Applications, pp 495–498.
20. Dhiraj. K. Pradhan and Nitin. H. Vaidya. (1997), "Brief Contributions: Roll-Forward and
Rollback Recovery: Performance-Reliability Trade-Off", IEEE Transactions on
Computer, 46(3), pp 372–378.
21. E. Salminen, A. Kulmala, and T. D. Hamalainen. (2008), Survey of network-on-chip pro-
posals, OCP-IP White Paper, http: //www.ocpip.org/whitepapers.php.
22. Exida. (2006), "IEC 61508 Overview Report", Technical report, URL http:
//www.iec.ch/cgi-bin/procgi.pl/www/iecwww.p?wwwlang=e&wwwprog=seabox
1.p&progdb=db1&seabox1=61508.
23. F. Abate et al. (2009), "New Techniques for Improving the Performance of the Lockstep
Ar-chitecture for SEEs Mitigation in FPGA Embedded Processors", IEEE Transactions
on Nuclear Science, 56(4): 1992–2000.
24. F. Lima, L. Carro, and R. Reis. (2003), "Designing Fault Tolerant Systems into SRAM-
based FPGAs", In Design Automation Conference, pp 650–655. ACM New York, NY,
USA.
25. G, Beltrame, et al. (2008), "High-Level Modeling and Exploration of Reconfigurable
MP-SoCs". In AHS-2008, pp 330–337.
26. G.E. Moore. (1975), "Progress in Digital Integrated Electronics", In Digest of the 1975
International Electron Devices Meeting, pp 11–13, New York. Bibliography 115.
27. H. Castro, A.A. Coelho, and R.J. Silveira. (2008), "Fault-Tolerance in FPGA’s through
CRC Voting", In The 21st Annual Symposium on Integrated Circuits and System Design,
pp 188–192. ACM New York, NY, USA.
28. H. Guzmán-Miranda, M.A. Aguirre, and J. Tombs. (2009), "Noninvasive Fault
Classification, Robustness and Recovery Time Measurement in Microprocessor-Type
18
Architectures Subjected to Radiation-Induced Errors", IEEE Transactions on
Instrumentation and Measurement, 58(5).
29. H. Zheng, L. Fan, and S. Yue. (2008), "FITVS: A FPGA-Based Emulation Tool For
High-Efficiency Hardness Evaluation", In IEEE International Symposium on Parallel
and Distributed Processing with Applications, pp 525–531. IEEE Computer Society.
30. H.C. Hsieh, W. Carter, J. Ja, E. Cheung, S. Schreifels, C. Erickson, P. Freidin, L. Tinkey,
and R. Kanazawa. (1990), "Third-generation Architecture Boosts Speed and Density of
Field-Programmable Gate Arrays", In IEEE Custom Integrated Circuits Conference, pp
31.2.1–31.2.7.
31. H-M. Pham, S. Pillement, and D. Demigny. (2009), "A Fault-Tolerant Layer For
Dynamically Reconfigurable Multi-Processor System-on-Chip", In International
Conference on ReConFigurable Computing and FPGAs, pp 284–289, Cancun, Mexico.
32. IBM. Instruction Set Simulator User’s Guide, (v1.3).
33. J.C. Laprie, J. Arlat, J.P. Blanquart, A. Costes, Y. Crouzet, Y. Deswarte, J.C. Fabre, H.
Guillermain, M. Kaâniche, K. Kanoun, et al. (1995), Guide de la sûreté de
fonctionnement, Cépaduès, ISBN 2854283414.
34. K. Kyriakoulakos and D. Pnevmatikatos. (2009), "A Novel SRAM-Based FPGA
Architecture for Efficient TMR-Processor Fault Tolerance Support", In International
Conference on Field Programmable Logic and Applications.
35. LightWeight IP, LightWeight IP, http: //savannah.nongnu.org/projects/lwip.
36. Ludovic Devaux, Sana Ben Sassi, Sebastien Pillement, Daniel Chillet, and Didier
Demigny. (2010), "Flexible Interconnection Network for Dynamically and Partially
Recon-figurable Architectures", International Journal of Reconfigurable Computing,
2010 (390545): 10.1155/2010/390545.
37. M. Lanuzza, P. Zicari, F. Frustaci, S. Perri, and P. Corsonello. (2009), "An Efficient and
Low-Cost Design Methodology to Improve SRAM-Based FPGA Robustness in Space
and Avionics Applications" In Proc. Int. Workshop on Reconfigurable Computing:
Architectures, Tools and Applications, LNCS, volume 5453, pp 74–84.
38. M. Monchiero, et al. (2008), "A Modular Approach to Model Heterogeneous MPSoC at
Cycle Level", In DSD’08, pp 158–164.
39. M. Nicolaidis. (1999), "Time Redundancy Based Soft-Error Tolerance to Rescue
Nanometer Technologies", In IEEE VLSI Test Symposium. IEEE Computer Society
Washington, DC, USA.
40. NASA. Radiation Effects on Digital Systems, URL http://radhome.gsfc.nasa.gov/
top.htm.
41. P. Tanguy, F. Nouvel, and P. Maziéro. (2009), "Power Line Communication Standards
for in-Vehicle Networks", In Proceedings of the International Conference on ITS
Telecom-munication.
42. RC Baumann. (2005), "Single-Event Effects in Advanced CMOS Technology", In IEEE
Nuclear and Space Radiation Effects.
19
43. S. Mahapatra, R. Rao, B. Cheng, M. Khare, C.D. Parikh, JCS Woo, and J. Vasi. (2001),
"Performance and Hot-Carrier Reliability of 100 nm Channel Length Jet Vapor De-
posited Si3N4 MNSFETs", IEEE Transactions on Electron Devices, 48(4): 679–84.
44. S. Srinivasan, P. Mangalagiri, Y. Xie, N. Vijaykrishnan, and K. Sarpatwari. (2006),
"FLAW: FPGA Lifetime Awareness", In The 43rd Annual Design Automation
Conference, pp 635. ACM.
45. S. Tanoue, T. Ishida, Y. Ichinomiya, M. Amagasaki, M. Kuga, and T. Sueyoshi. (2009),
"A Novel States Recovery Technique for the TMR Softcore Processors", In Proc. Int.
Conf. on Field Programmable Logic and Applications, pp 543–546.
46. S. Trimberger. (1995), "Effects of FPGA Architecture on FPGA Routing", In The 32nd
annual ACM/IEEE Design Automation Conference, pp 574–578.
47. S. Xu, et al. (2008), "A Multi-MicroBlaze Based SoC System: From SystemC Modeling
to FPGA Prototyping", In RSP’08, pp 121–127.
48. S. Young. (2002), Maximizing Silicon ROI: The Cost of Failure and Success, Nassda
White Paper WP020522-1A
49. S.Y. Yu and E.J. McCluskey. (2001), "Permanent Fault Repair For FPGAs With Limited
Redundant Area", In IEEE International Symposium on Defect and Fault Tolerance in
VLSI Systems, pp 125–133.
50. T. Bjerregaard and S. Mahadevan. (2006), A survey of research and practices of network-
on-chip, ACM Computing Surveys (CSUR), 38: 1–51.
51. TRW Automotive, http: //ir.trw.com/.
52. University of Erlangen-Nuremberg, Project ReCoNets, URL http: //www.reconets.de/.
53. W.W. Peterson and E.J. Weldon. (1972), Error-Correcting Codes.
54. Wei-Je Huang and Edward J. McCluskey. (2001), "Column-Based Precompiled
Configuration Techniques for FPGA Fault Tolerance", In Proc. Annu. Int. IEEE Symp.
Field-Programmable Custom Computing Machines, pp 137–146.
55. Xilinx, Inc. (2009), Virtex-5 FPGA Configuration User Guide UG191 (v3.6), URL:
www.xilinx.com/support/documentation/user_guides/ug191.pdf.
56. Xilinx, Inc. (2004), PowerPC 405 Processor Block Reference Guide, URL
www.xilinx.com/support/documentation/user_guides/ug018.pdf.
57. Xilinx, Inc. (2009), MicroBlaze Processor Reference Guide UG081 (v10.3), URL http:
//www.xilinx.com/support/documentation/sw_manuals/mb_ref_guide.pdf.
58. Xilinx, Inc. (2010), PicoBlaze 8-bit Embedded Microcontroller User Guide, UG129
(v2.0).
59. Xilinx, Inc. (2002), Two Flows for Partial Reconfiguration: Module Based or Small Bit
Manipulations, (XAPP290).
60. Xilinx, Inc. (2008), Early Access Partial Reconfiguration User Guide, UG208.
61. Xilinx, Inc. (2009), Virtex-4 FPGA Configuration User Guide, UG071 (v1.11).
62. Xilinx, Inc. (2010), Virtex-6 FPGA Configuration User Guide, UG360 (v3.1).
63. Xilinx, Inc. (2009), Embedded System Tools Reference Guide, UG111.
64. Xilinx, Inc. http: //www.xilinx.com/.
20
65. Xilinx, Inc. (2009), Xilinx PlanAhead User Guide, (UG632 v11.4), URL http:
//www.xilinx.com/support/documentation/sw_manuals/xilinx11/cgd.pdf.
66. Xilinx, Inc. (2010), Radiation-Hardened, Space-Grade Virtex-5QV Family Overview,
DS192 (v1.1).
67. Xilinx, Inc. (2007), PPC405 Lockstep System on ML310, (XAPP564 v1.0.2), URL:
http://www.xilinx.com/support/documentation/application_notes/xapp564.pdf.
68. Xilinx, Inc. (2005), Virtex FPGA Series Configuration and Readback, XAPP138 (v2.8).
69. Xilinx, Inc. (2009), SEU Strategies for Virtex-5 Devices, (XAPP864), URL http:
//www.xilinx.com/support/documentation/application_notes/xapp864.pdf.
70. Xilinx, Inc. JBits 3.0 SDK, URL www.xilinx.com/labs/projects/jbits/.
71. Xilinx, Inc. (2008), Single-Event Upset Mitigation Selection Guide, (XAPP987 v1.0),
URL http://www.xilinx.com/support/documentation/application_notes/xapp 987. pdf.
72. Xilinx, Inc. (2010), Multi-Port Memory Controller, (MPMC), (DS643 v6.00.a).
73. Xilinx, Inc. (2007), Fast Simplex Link (FSL) Bus, (DS449), URL http:
//www.xilinx.com/support/documentation/ip_documentation/fsl_v20.pdf.
74. Xilinx, Inc. (2009), Constraints Guide (UG625 v11.4), URL http:
//www.xilinx.com/support/documentation/sw_manuals/xilinx11/cgd.pdf.
75. Xilinx, Inc. (2010), LogiCORE IP XPS Timer/Counter (DS573 v1.02a).
76. Xilinx, Inc. (2009), Device Reliability Report (UG116).
77. Y. Ichinomiya, S. Tanoue, M. Amagasaki, M. Iida, M. Kuga, and T. Sueyoshi. (2010),
"Improving the Robustness of a Softcore Processor against SEUs by Using TMR and
Partial Reconfiguration", In IEEE Annual International Symposium on Field-
Programmable Custom Computing Machines, pp 47–54.
78. http://www.insa-rennes.fr/ietr-cifaer.