研究生: |
林璟汶 Lin, Ching-Wen |
---|---|
論文名稱: |
作業系統管理的處理器與快取記憶體系統平台之在線式自我測試方案設計 An Effective On-Line Self-Testing Methodology for an OS-Managed Processor Core and Cache Platform |
指導教授: |
陳中和
Chen, Chung-Ho |
學位類別: |
博士 Doctor |
系所名稱: |
電機資訊學院 - 電腦與通信工程研究所 Institute of Computer & Communication Engineering |
論文出版年: | 2017 |
畢業學年度: | 105 |
語文別: | 英文 |
論文頁數: | 83 |
中文關鍵詞: | 軟體式自我測試 、可測試性設計 、動態電壓頻率調整 、保護頻帶 、電晶體老化效應 |
外文關鍵詞: | Design for testing (DFT), guardband, on-line testing, software-based self-test (SBST), transistor aging |
相關次數: | 點閱:140 下載:3 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
軟體式自我測試對於處理器系統的製造測試是一種非常有效的方法。同時軟體式自我測試亦可以用來偵測處理器在晶片系統運作當中所產生的電路錯誤。本篇論文提出一套完整的系統架構層級方案,讓高錯誤涵蓋率的測試程式可以順利地執行在被作業系統所管理的處理器與快取記憶體系統上,並且不影響作業系統與其他程序的正常執行。這套方案我們稱為Processor Shield,其包括一套完整的軟體框架(software framework)與硬體可測試性設計(design for testing)。即便處理器系統發生錯誤而無法通過程式測試,本方案也具備保持作業系統不被毀損的能力。我們將所提出之方案實現在相容於ARMv5指令集的處理器上,並且將開發的測試程式執行於Linux作業系統之中。利用本方案執行的測試程式可以對於處理器核心與快取記憶體系統之測試涵蓋率達到99%以上。本方案之硬體成本為原處理器面積的0.494%,而測試程式執行在1GHz的處理器上均可以在8ms之內完成,其約相當於兩次上下文交換(context switch)之時間間隔。另外,我們也提出讓軟體式自我測試與動態電壓頻率調整(dynamic voltage and frequency scaling, DVFS)合作的機制。利用此機制可以動態校正所需要的最低保護頻帶(guardband),以期得到更低的功率耗損並且減緩電晶體老化效應(transistor-aging effect)。
Software-based self-test (SBST) is an effective method to detect operational faults of a processor system. We propose an architectural approach to support high fault-coverage on-line SBST: Processor Shield, which tackles the difficult-to-test issues raised due to the protection of an operating system. The processor shield, including a software framework and design for testing (DFT) hardware, creates an on-line self-testing environment without influencing other processes and on-bus devices even if the SBST fails. We present a case study that demonstrates SBST executions under Linux kernel on an ARMv5-compatible processor system. For CPU testing, the stuck-at fault coverage is over 99% while the transition fault coverage is higher than 93%. For cache control logic testing, the stuck-at fault coverage is over 99% while the transition fault coverage is higher than 95%. For RAM module testing, the fault coverage is nearly 100%. Cache SBSTs finish in a context-switch interval of less than 4ms while CPU SBST finishes in less than 8ms for 1 GHz clock. The hardware overhead of the processor shield is only 0.494% of the whole processor area. We also present an SBST-DVFS application that calibrates the dynamic minimal guardbands and helps achieving lower power consumption and mitigating transistor-aging effect.
[1] A. Paschalis and D. Gizopoulos, “Effective software-based self-test strategies for on-line periodic testing of embedded processors,” IEEE Trans. Comput.-Aided Design Integr. Circuits Syst., vol. 24, no. 1, pp. 88–99, Jan. 2005.
[2] F. Corno, E. Sanchez, M. S. Reorda, and G. Squillero, “Automatic test program generation: A case study,” IEEE Des. Test. Comput., vol. 21, no. 2, pp. 102–109, Mar./Apr. 2004.
[3] M. Scholzel, T. Koal, and H. T. Vierhaus, “Systematic generation of diagnostic software-based self-test routines for processor components,” in Proc. IEEE Eur. Test Symp. (ETS), May 2014, pp. 1–6.
[4] P. Singh, D. L. Landis, and V. Narayanan, “Test generation for precise interrupts on out-of-order microprocessors,” in Proc. IEEE Int. Workshop Microprocessor Test Verification (MTV), Dec. 2009, pp. 79–82.
[5] E. Sanchez and M. S. Reorda, “On the functional test of branch prediction units,” IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol.23, no. 9, pp. 1675–1688, Sep. 2015.
[6] D. Sabena, M. S. Reorda, and L. Sterpone, “A new SBST algorithm for testing the register file of VLIW processors,” in Proc. Des. Autom. Test Eur. Conf. Exhib. (DATE), Mar. 2012, pp. 412–417.
[7] P. Bernardi, L. Ciganda, M. De Carvalho, M. Grosso, J. Lagos-Benites, E. Sanchez, M. S. Reorda, and O. Ballan, “On-line software-based self-test of the address calculation unit in RISC processors,” in Proc. IEEE Eur. Test Symp. (ETS), May 2012, pp. 1–6.
[8] P. Bernardi, R. Cantoro, L. Ciganda, B. Du, E. Sanchez, M. S. Reorda, M. Grosso, and O. Ballan, “On the functional test of the register forwarding and pipeline interlocking unit in pipelined processors,” in Proc. IEEE Int. Workshop Microprocessor Test Verification (MTV), Dec. 2013, pp. 52–57.
[9] P. Bernardi, R. Cantoro, L. Ciganda, E. Sanchez, M. S. Reorda, S. De Luca, R. Meregalli, and A. Sansonetti, “On the in-field functional testing of decode units in pipelined RISC processors,” in Proc. IEEE Int. Symp. Defect Fault Tolerance Nanotechnol. Syst. (DFT), Oct. 2014, pp. 299–304.
[10] N. Kranitis, A. Paschalis, D. Gizopoulos, and G. Xenoulis, “Software-based self-testing of embedded processors,” IEEE Trans. Computers, vol. 54, no. 4, pp. 461–475, Apr. 2005.
[11] C.-H. Chen, C.-K. Wei, T.-H. Lu, and H.-W. Gao, “Software-based self-testing with multiple-level abstractions for soft processor cores,” IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol. 15, no. 5, pp. 505–517, May 2007.
[12] T.-H. Lu, C.-H. Chen, and K.-J. Lee, “Effective hybrid test program development for software-based self-testing of pipeline processor cores,” IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol. 19, no. 3, pp. 516–520, Mar. 2011.
[13] N. Kranitis, A. Merentitis, G. Theodorou, A. Paschalis, and D. Gizopoulos, “Hybrid-SBST methodology for efficient testing of processor cores,” IEEE Des. Test. Comput., vol. 25, no. 1, pp. 64–75, Jan./Feb. 2008.
[14] N. Kranitis, A. Paschalis, D. Gizopoulos, and Y. Zorian, “Effective software self-test methodology for processor cores,” in Proc. Des. Autom. Test Eur. (DATE), Mar. 2002, pp. 592–597.
[15] D. Gizopoulos, M. Psarakis, M. Hatzimihail, M. Maniatakos, A. Paschalis, A. Raghunathan, and S. Ravi, “Systematic software-based self-test for pipelined processors,” IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol. 16, no. 11, pp. 1441–1453, Nov. 2008.
[16] L. Chen, S. Ravi, A. Raghunathan, and S. Dey, “A scalable software-based self-test methodology for programmable processors,” in Proc. IEEE/ACM Design Autom. Conf. (DAC), Jun. 2003, pp. 548–553.
[17] L. Lingappan and N. K. Jha, “Satisfiability-based automatic test program generation and design for testability for microprocessors,” IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol. 15, no. 5, pp. 518–530, May 2007.
[18] V. Singh, M. Inoue, K. K. Saluja, and H. Fujiwara, “Instruction-based self-testing of delay faults in pipelined processors,” IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol. 14, no. 11, pp. 1203–1215, Nov. 2006.
[19] A. Riefert, R. Cantoro, M. Sauer, M. S. Reorda, and B. Becker, “A flexible framework for the automatic generation of SBST programs,” IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol. 24, nol. 10, pp. 3055–3066, Oct. 2016.
[20] K. Batcher and C. Papachristou, “Instruction randomization self test for processor cores,” in Proc. IEEE VLSI Test Symp. (VTS), Apr. 1999, pp. 34-40.
[21] S. M. Al-Harbi, F. Noor, and F. M. Al-Turjman, “March DSS: A new diagnostic march test for all memory simple static faults,” IEEE Trans. Comput.-Aided Design Integr. Circuits Syst., vol. 26, no. 9, pp. 1713–1720, Sep. 2007.
[22] S. Hamdioui, A. J. van de Goor, and M. Rodgers, “March SS: A test for all static simple RAM faults,” in Proc. IEEE Int. Workshop Memory Technol., Des. and Testing (MTDT), July 2002, pp. 95–100.
[23] A. J. van de Goor, I. B. S. Tlili, and S. Hamdioui, “Converting March tests for bit-oriented memories into tests for word-oriented memories,” in Proc. Int. Workshop Memory Technol., Design, Testing (MTDT), Aug. 1998, pp. 46–52.
[24] P. Bernardi, R. Cantoro, S. De Luca, E. Sánchez, and A. Sansonetti, “Development flow for on-line core self-test of automotive microcontrollers,” IEEE Trans. Computers, vol. 65, no. 3, pp. 744–754, Mar. 2016.
[25] M. A. Skitsas, A. Nicopoulos, and M. K. Michael, “DaemonGuard: Enabling O/S-orchestrated fine-grained software-based selective-testing in multi-/many-core microprocessors,” IEEE Trans. Computers, vol. 65, no. 5, pp. 1453-1466, May 2016.
[26] K. Constantinides, O. Mutlu, T. Austin, and V. Bertacco, “A flexible software-based framework for online detection of hardware defects,” IEEE Trans. Computers, vol. 58, no. 8, pp. 1063–1079, Aug. 2009.
[27] P. Bernardi, L. M. Ciganda, E. Sanchez, and M. S. Reorda, “MIHST: A hardware technique for embedded microprocessor functional on-line self-test,” IEEE Trans. Computers, vol. 63, no. 11, pp. 2760–2771, Nov. 2014.
[28] G. Theodorou, N. Kranitis, A. Paschalis, and D. Gizopoulos, “Software-based self-test for small caches in microprocessors,” IEEE Trans. Comput.-Aided Design Integr. Circuits Syst., vol. 33, no. 12, pp. 1991–2004, Dec. 2014.
[29] J. Sosnowski, “In system testing of cache memories,” in Proc. Int. Test Conf. (ITC), Oct. 1995, pp. 384–393.
[30] S. M. Al-Harbi and S. K. Gupta, “A Methodology for transforming memory tests for in-system testing of direct-mapped cache tags,” in Proc. IEEE VLSI Test Symp. (VTS), Apr. 1998, pp. 394–400.
[31] Y.-C. Lin, Y.-Y. Tsai, K.-J. Lee, C.-W. Yen, and C.-H. Chen, “A software based test methodology for direct mapped data cache,” in Proc. Asian Test Symp. (ATS), Nov. 2008, pp. 363–368.
[32] C.-W. Lin and C.-H. Chen, “Unambiguous I-cache testing using software-based self-testing methodology,” in Proc. IEEE Int. Symp. Circuits and Systems (ISCAS), June 2014, pp. 1756–1759.
[33] D. K. Pradhan and S. K. Gupta, “A new framework for designing and analyzing BIST techniques and zero aliasing compression,” IEEE Trans. Computers, vol. 40, no. 6, pp. 743–763, June 1991.
[34] C.-F. Wu, C.-T. Huang, and C.-W. Wu, “RAMSES: a fast memory fault simulator,” in Proc. IEEE Int. Symp. Defect and Fault Tolerance in VLSI Systems (DFT), Nov. 1999, pp. 165–173.
[35] Synopsys Inc., San Jose, CA, “TetraMAX,” version L-2016.03, [Online]. Available: http://www.synopsys.com/, June 2017.
[36] HP Inc., Palo Alto, CA, “Cacti,” version 5.3, [Online] Available: http://www.hpl.hp.com/research/cacti/, June 2017.
[37] G. Chen, K. Y. Chuah, M. F. Li, D. S. H. Chan, C. H. Ang, J. Z. Zheng, Y. Jin, and D. L. Kwong, “Dynamic NBTI of PMOS transistors and its impact on device lifetime,” in Proc. IEEE Int. Reliab. Phys. Symp. (IRPS), Mar. 2003, pp. 196–202.
[38] J. Abella, X. Vera, and A. Gonzalez, “Penelope: The NBTI-Aware Processor,” in Proc. IEEE Int. Symp. Microarchitecture (MICRO), Dec. 2007, pp. 85-96.
[39] E. Mintarno, J. Skaf, R. Zheng, J. Velamala, Y. Cao, S. Boyd, R. Dutton, and S. Mitra, “Self-tuning for maximized lifetime energy-efficiency in the presence of circuit aging,” IEEE Trans. Comput.-Aided Design Integr. Circuits Syst., vol. 30, no. 5, pp. 760–773, May 2011.
[40] C.-W. Lin and C.-H. Chen, “A Processor Shield for Software-Based On-Line Self-Test,” in Proc. IEEE Asia Pacific Conf. Circuits and Systems (APCCAS), Oct. 2016, pp. 149–152.
[41] C.-W. Lin and C.-H. Chen, “Processor Shield for L1 Data Cache Software-Based On-line Self-testing,” in Proc. Asia South Pacific Des. Autom. Conf. (ASPDAC), Jan. 2017, pp. 420–425.
[42] Synopsys Inc., San Jose, CA, “PrimeTime,” version M-2016.12, [Online]. Available: http://www.synopsys.com/, June 2017.
[43] W. J. Perez, J. Velasco, D. Ravotto, E. Sanchez, and M. S. Reorda, “A Hybrid Approach to the Test of Cache Memory Controllers Embedded in SoCs,” in Proc. IEEE Int. On-Line Test. Symp. (IOLTS), July 2008, pp. 143–148.