Your browser does not support JavaScript!
分類清單
star
Sgreen
首頁 > 技術推廣 > 每週之星
※每週之星※ 微處理器暨系統晶片技術

黃英哲教授 研究團隊 / 國立中山大學資訊工程學系

Ing-Jer Huang

Distinguished Professor, ASE Endowed Chair Professor

Department Chair

Department of Computer Science and Engineering

National Sun Yat-Sen University

 

Ing-Jer Huang received the BS degree in electrical engineering from National Taiwan University, Taiwan, R. O. C., in 1986, and the MS and Ph.D. degrees in computer engineering from the University of Southern California, U. S. A., in 1989 and 1994, respectively. He is currently a professor in the Department of Computer Science and Engineering at National Sun Yat-Sen University in Taiwan. He was a visiting professor at University of California, Irvine, USA, during 2008-2009.

During the recent years, he has been working on the development of SoC infrastructure and related IP’s to support real time on-chip tracing, debugging, verification and monitoring for advanced on-chip connection.

In addition, he is currently leading a large scale joint project consisting of eight professors in the development of the hardware/software of a 3D graphics/stereo SoC for consumer electronics, in which multidisciplinary research issues are explored, including computer graphics algorithms, application interface, middleware, compiler, device drivers, operating system, development environment, low power design, system modeling/exploration, hardware architecture, SoC integration / monitoring / debugging / testing, FPGA / chip implementation and verification, etc.

He is a distinguished professor and an ASE endowed chair professor at the university. He is currently the department chair and was the vice CEO of Operation Center for Industry and University Cooperation of the university. In addition, he has won many awards, including Excellent Professor in Engineering, Chinese Institute of Engineers, 2007, Invention Awards, National Sun Yat-Sen University, 2005/2007, iENA Gold medal 2011 and Excellent Advisor, National Sun Yat-Sen University, 1999.

 

 

專長學科

1.    計算機結構

2.    晶片設計

3.    VLSI電腦輔助設計

4.    系統軟體

5.    嵌入式系統

聯絡方式

高雄市鼓山區蓮海路70號
研究室:電資大樓F5004室
實驗室:電資大樓F5014室
07-525-2000 ext.4315
ijhuang@cse.nsysu.edu.tw

 

團隊介紹    嵌入式系統實驗室    團隊介紹影片

實驗室特色 Lab Feature

    黃英哲於近19年內持續致力於微處理器 (microprocessors) / 微控制器 (microcontrollers) 及其系統整合之相關軟硬體模組之設計及相關電腦輔助設計工具 (computer-aided design tools) 之開發:包括致力於開發可重複使用(reusable)、適用於系統晶片(system-on-chip, SOC)之整合的微處理器/微控器及其周邊裝置的矽智產(silicon intellectual property, SIP),並將電腦輔助設計技術應用於相關的設計議題上,把系統化的設計概念導入這一原本仰賴人工設計的領域。黃教授之研究有三點特色:

一、  理論與實作並重:黃教授研究的理念不只在於發表研究論文,而且在於「理論之發展必須有扎實之實作為後盾,以驗證理論之可行性及其具體化」。黃教授大部分的研發成果都同時發表為論文並實際驗證或應用於工業界之設計上。

二、  持續密切的產學合作:工學院之研究發展應該與工業界密切結合;黃教授致力於將研發技術成果推廣至工業界,多年來已陸續與15家公司合作,執行過25個以上產學合作及推廣計畫,並締造常年持續之技術授權績效,自1999年起平均每年1.8件。

三、  研發、實作及專業教學之成果受國內外肯定,多次受邀演講、訪問、安排短期課程及參與專業服務,並致力於學生潛能之啟發,所指導之學生大部份均有突破性之成長。已指導學生參與全國性競賽得獎超過30次,自87學年度起學生每年持續穩定獲獎,平均每年獲獎次數為2.7次。

   

實驗室宗旨 Lab Principle

Ø  探討微處理器 (microprocessor)/微控器(microcontroller)在各式應用環境之下的最佳化設計,及效能、成本之分析。

Ø  系統晶片(System on Chip)之設計、整合及其基礎建設。

Ø  微處理器/微控器之系統軟體及發展系統之研發。

Ø  嵌入式系統(如網路、多媒體、智慧型控制)之軟硬體整合。

Ø  探討相關軟、硬體設計之間的互動關係 (hardware/software co-design)

Ø  相關電腦輔助設計工具之研發。

Ø  著重與工業界之合作及技術交流。

 

團隊重點技術

技術1:ARM Linux Compatible 32-bit微處理器核心及其Linux作業系統

ARM-Base嵌入式微處理器/微控器是高性能、高整合度之系統晶片(System-on-Chip)之重要核心元件,亦是主要的技術指標,特別是近年來台灣IC產業提升其技術層次及產品附加價值所亟需的元件。有鑑於此,黃教授長期投入心力,發展低耗電、可重複使用的嵌入式微處理器/微控器的矽智產 ,並自主開發內部技術專利,迴避外國重要專利,可適用於各種特殊用途之系統晶片。此外,為了配合矽智產之使用,我們亦開發了完整的測試環境(verification environment)及測試程式(benchmarks)。並已於近期內完成Linux Porting。

 

技術2:消費性電子3D圖形加速處理器之軟硬體技術及系統整合

整合了國立中山大學(蕭勝夫、張雲南、李宗南、希家史提夫、鄺獻榮、郭可驥)、國立高雄大學(洪進華)等相關教授成立一個電腦繪圖晶片研究團隊,共同開發適用於消費性電子產品的的三維電腦繪圖處理器及相對應的繪圖應用程式開發工具鏈(包含支援 Khronos GLSL Syntax之Shader Compiler, 相容於OpenGL ES 2.0之API)。並將此系統應用於3D立體顯示與虛擬實境互動程式之開發。本團隊是台灣第一個提供完整3D Graphics軟硬體技術及整合的團隊,於2007~2012年間所發展之可程式化三維電腦繪圖晶片系統具有以下之特色:

 

特色說明

實體展示

硬體部分

² 支援OpenGL ES 2.0 Shading Language

² 同時支援定點和浮點運算

² 內含特殊函數求值功能單元

² 具有多執行緒功能之著色處理器設計

² Rasterization支援裁切功能並提昇裁切效能

² 可節省匯流排資料傳遞量的智慧型緩衝區管理機制

² 以特定硬體實現立體影像合成

軟體部分

² 符合OpenGL ES 2.0 規格,API支援80% OpenGL ES 2.0 Functions

² OpenGL ES 2.0 相容性測試 (Conformance Test:通過khronos大部分相容性測試)

² 使用Linux作業系統

² 完整驅動程式支援

² OpenGL ES 2.0 GL Shading Language (GLSL) Compiler

視訊及影像技術

² 實現Dynamic-Programming (DP)-based stereo matching架構根據左右眼視角產生深度圖

² 實現混合warping/hole-filling運算之

² Depth-Image-Based Rendering (DIBR)架構

² 即時攝影機監控之車距和車道偏移偵測系統

 

效能分析工具

² Graphics Performance Tuning Tool (GPTT)

² A Performance Monitoring Tool Suite for Software and SoC on-chip Bus

² QEMU-SystemC with Timing Model

² ATTILA GPU Simulation Supports OpenGL ES 2.0

 

 

已實際下線製作完成的晶片:

Chip Photo / Layout

Chip Spec.

Process Technology

TSMC 90 nm CMOS 1P9M

TMSC 0.18μm CMOS 1P6M

Power Consumption

419.5 mW

472.6mW

Gate Count

1.45 million gates

986.5K Gates

Die Size

2.78 × 2.78 mm2

3.96x3.96mm2

Package

CQFP128 Pins

PBGA 256 Pins

Operating Freq.

166 MHz

139MHz

3D Graphics Perf.

- 10.45 Mvertices/s

- 333 Mpixels/s

- Fully Support OpenGL-ES 1.0

Functions

- Up to 640x480

- 8.68 M vertices/s

- 278 M Pixels/s

- Fully Support OpenGL-ES 1.0

Functions

- Up to 640x480

Special Features

- An ARM Linux Compatible Academic ARM7-like CPU

- An Dedicated Clipping Engine

- Embedded Debugging/ Performance Monitoring Engine

- Embedded Debugging/ Performance Monitoring Engine

 

 

 

已在FPGA展示平台完成OpenGL ES 2.0 3D Graphics SoC之軟硬體整合並預計於2013/08實際下線製作的晶片:

Chip Photo / Layout

Chip Spec.

Process Technology

TSMC 90 nm CMOS 1P9M

Power Consumption

230.96 mW

Gate Count

3.59 million gates

Die Size

8,330,377.5um2( 2.89 × 2.89 mm2)

Package

CQFP208 Pins

Operating Freq.

166MHz

3D Graphics Perf.

- 16.66 Mvertices/s

- 4 Mpixels/s

- Fully Support OpenGL-ES 2.0 functions

- Up to 4096x4096

Special Features

- 3D Stereo vision using a programmable graphics processor

- Hardware-software co-design of 3D culling, clipping, and rasterization module

 

 

技術3:軟體及系統單晶片匯流排之效能量測套件

現今嵌入式系統因軟、硬體日益複雜的設計,效能瓶頸有可能會發生在軟、硬體端或兩者,但現有工具只可監測其中一端的效能。為改善嵌入式系統的效能,我們提出針對Linux嵌入式系統的效能監測套件,整合監測軟體端之使用者空間的應用程式、核心空間的驅動程式及硬體端之AMBA AHB匯流排的效能,提供不需修改使用者程式之Cycle-accurate timestamp的效能資訊,並即時分析出系統之效能瓶頸。

分析系統的效能可分成軟體和硬體兩個部分。對於監測軟體的效能,我們專注於如何測量軟體在Linux下所執行的時間;Linux作業系統常用來管理有限的硬體資源,例如:系統保護機制就是記憶體空間會切割為使用者空間及核心空間,各自擁有不同的資源存取權限,當執行使用者空間的應用程式時,若無核心及硬體的支援,則無法取得完整的系統效能資訊。而監測硬體的效能的關鍵則是單晶片系統上AHB匯流排使用的效率和壅塞的情況,例如:Master/Slave的等待週期數、Master X/Master Y競爭匯流排的週期數等。

量測效能套件的實驗環境(見圖1,橘色框出量測效能套件,Target Board端分為Hardware、Software Image。Software Image包含目標使用者程式、量測效能套件之驅動程式(Device Driver)和嵌入式系統Linux作業系統,Host PC端則執行量測效能套件之使用者介面,提供更直觀、方便的技術。Hardware可分為以下兩大類並具有以下功能:

1.     Program Monitor(PM):紀錄核心處理器執行時間標記及記憶體位址

2.     Bus Monitor(BM):紀錄匯流排傳輸資料量與壅塞週期數

 

    為了監測匯流排對於系統整合的效能影響,BM模組又可細分為以下三個子模組:

Ø Bus Utilization Monitor(BUM):紀錄Master/Slave的等待週期數(Wait Cycle Count)、活動週期數(Active Cycle Count)、資料傳輸大小(Read/Write Data Transfer Size Count)。

Ø Bus Contention Monitor(BCM):紀錄Master X/Master Y>競爭匯流排的週期數
           (Contention Cycle Count)

Ø Bus Global Monitor(BGM):紀錄匯流排總體的活動週期數(Active Cycle Count)、閒置週期數
(Idle Cycle Count)

圖1:硬體/軟體效能量測套件之架構與控制

 

技術4:虛擬平台之軟硬體驗證與除錯

智慧型手機上的應用程式效能大部分都依賴著其內部的GPU(Graphic Process Unit),這意味著這些應用程式需要大量時間與GPU作資料的交換,而它們之間的溝通幾乎都必須靠記憶體來交換資料,因此,若能夠對記憶體作追蹤,必能夠發現許多在運行時所發生的錯誤主要原因。

目前被廣泛使用的記憶體追蹤技術是使用匯流排追蹤(Bus Trace)技術,其透過匯流排追蹤器(Bus Tracer)來追蹤匯流排上的所有元件對記憶體的存取,而這必須在匯流排上額外增加一個追蹤器來記錄匯流排上所有的請求和回應訊息,透過slave port來設定要追蹤的記憶體位置,而bus tracer則將指定的記憶體位置的訊息直接透過test port傳到on-chip memory,而不需要額外的晶片腳位。但使用bus tracing的問題為1.需要直接在系統匯流排上進行修改,這意味著設計者必須要有系統匯流排的原始碼或是修改授權;2.on-chip memory的容量有限,無法進行大量或長時間的追蹤;3.若系統匯流排是網路型態將會增加追蹤的難度,如AXI bus。因此,若要避免掉這些問題,我們提出方法;在之前所設計的記憶體時間模組中記錄所有的記憶體存取資訊,如圖 2,如此不僅可以準確地記錄下精確的記憶體存取時間,還可避免掉上述的多項問題。

圖2:Proposed Memory Tracing Architecture

 

為了讓使用者可以更明確地了解每一筆記憶體存取之發生時間,我們利用之前所設計之SystemC時間模型,其可精確計算出全系統之模擬時間,其中包含快取記憶體(Cache)、主記憶體(DRAM)延遲時間、指令(Instruction)所需執行時間以及TLB(Translation Lookaside Buffer)存取時間,如圖 2所示,當QEMU所執行過的指令會送至SystemC中的CPU timing model,此時會計算出每個指令所需要花費的時間,接著若發生cache miss,則會透過匯流排(BUS)至記憶體中取對應的資料,此時則會計算出匯流排的延遲時間以及記憶體中搜尋資料的延遲時間,因此我們在DRAM timing model中加入記憶體追蹤的程式碼,其所記錄之記憶體存取資訊將包含指令的執行時間以及匯流排的延遲時間,而後將其計算出的系統模擬時間伴隨每一個記憶體存取位址記錄到Trace File中。

 

技術5:AMBA On-Chip Bus矽智產及其發展環境:Bus Tracer、Protocol Checker

AMBA (Advanced Microprocessor Bus Architecture)是由英商ARM Ltd.所發展的匯流排標準,用於整合單晶片上之硬體模組,對於系統晶片(System-on-Chip, SoC)之設計、應用及驗證十分重要。我們開發了相關的參數化硬體模組(parameterized synthesizable modules)、模擬軟體及協定監視模組(protocol monitor modules)。藉由參數化硬體模組,使用者可以快速產生符合自己需求的系統匯流排架構,同時因為有了標準的系統匯流排,使得系統各功能模組(functional blocks)只要遵循匯流排的介面定義,便可以快速的整合至一系統晶片中,大大的節省系統晶片開發的時程。藉由模擬軟體及協定監視器(monitor),使用者可以容易針對此系統晶片做驗證及除錯的動作。

匯流排訊號追蹤分析器 (AMBA Bus Signal Analyzer)

現今多數的系統晶片皆以(AMBA AHB/AXI)匯流排為系統發展平台,在匯流排上整合系統所需之矽智產元件,這些元件透過系統匯流排來傳遞資料。系統匯流排訊號追蹤(bus signal trace)技術可以有效的對系統功能、整合元件之功能行為及軟體程式進行除錯,與對系統架構、記憶體進行效能的分析。我們設計了一個「多重解析度之匯流排訊號追蹤分析器」,不但可以有效的壓縮龐大的匯流排追蹤資料,亦可以利用最詳細解析度之追蹤來還原完整的匯流排傳輸記錄。經過實驗證明,我們的多重解析度匯流排追蹤分析器能達到近90%以上的壓縮量;在相同的儲存容量而言,較大的壓縮率表示可以達到較大的追蹤深度。舉例而言,利用最高抽象層次來追蹤,其追蹤深度是最低抽象層次(其它相關研究最常見的做法)追蹤深度的三倍,所以若利用最低抽象層次可以追蹤1000 cycles,則本技術之最高抽象層次可以追蹤3000 cycles。所以本技術可以大幅提昇以微處理器為基礎的系統晶片除錯及追蹤能力。

匯流排傳輸協定驗證 (AMBA Bus Protocol Checker)

AMBA是目前非常熱門的系統匯流排平台,因此許多系統晶片皆採用AMBA來開發其設計。要將系統所需之矽智產功能元件整合至AMBA上時,功能元件之和AMBA有關的輸出輸入(I/O)訊號時序必須要和AMBA所規範的一致;意即必須符合AMBA所規定之傳輸協定(transfer protocol)。因此,我們設計了一個「AMBA匯流排傳輸協定驗證器 (AMBA Bus Protocol Checker)」,可以有效的為欲整合至AMBA上的元件進行協定上的驗證,以確保在AMBA上的所有元件都能符合AMBA的規範。

 

技術6:具位址追蹤壓縮之快取記憶體

於現有的快取記憶體功能下,結合了記憶體系統的使用以及處理器核心的除錯機制,開發出利用晶片內快取記憶體執行即時程式追蹤之壓縮,利用隱含於快取記憶體中的位址資訊,將資料以其在快取記憶體中之相對應查詢結果資料來編碼,以較短的相對應查詢結果資料來替代完整指令位址的記錄,使得處理器核心執行程式時的即時狀態能在有限的頻寬下被擷取出來,以輔助設計者進行後續的驗證除錯。本發明之系統及方法能在不影響原本快取記憶體的功能下,同時兼具程式追蹤資料的壓縮功能,使之除了達到減少壓縮器硬體成本的目的,同時也能達到快取記憶體的多樣功能性。不僅有效的使用了晶片內的快取記憶體,也增加了對晶片內部的除錯能力,於多樣功能性的快取記憶體使用中,本技術是第一個使用快取記憶體來執行即時程式追蹤壓縮的方法。

 

技術7:嵌入式微處理器程式位址即時追蹤壓縮技術

程式的位址追蹤(program address trace)可以有效的對軟體進行除錯和對系統架構、記憶體進行效能的分析。因微處理器在執行程式一段時間後,位址追蹤記錄量將會非常龐大,若採用硬體設備(如外接硬碟)來儲存每筆位址追蹤記錄,將會造成設計成本上的負擔。因此,我們設計了一個「即時程式位址追蹤記錄壓縮器(Real-Time Address Trace Compressor)」,不但可以有效的壓縮龐大的位址追蹤資料,亦可以容易的還原完整的程式執行流程記錄。經過實驗證明,我們的即時位址追蹤壓縮器能達到近454:1的壓縮量,比市面上所製作的電路擬真模擬器多出 20 倍的追蹤深度,可以大幅提昇以微處理器為基礎的系統晶片除錯及追蹤能力。

 

技術8:自動備份及還原暫存器內資料之系統及方法

ARM是嵌入式系統中熱門的微處理器之一。其中,banked register的設計使得ARM在不同模式存取暫存器時能夠提升效能,且此設計亦是ARM的專利之一。我們提出另一種先進的設計:具有自動備份及還原暫存器內資料之系統,可以和ARM保有相容性和一定的效能。本系統在例外中斷事件發生時,除可具有減少記憶體與暫存器之間的資料搬移動作之功效外,亦可減少存取暫存器時間。

 

技術9:嵌入式電路模擬器 (Embedded In-Circuit Emulator/Emulation)

以往開發以微處理器為主的電路板系統(microprocessor-based board-level system)時可以使用的外接式的仿真器(in-circuit emulator, ICE)已無法應用在以微處理器為主的系統晶片(microprocessor-based SoC chips)的測試與開發上。為了因應此一新的挑戰,我們參考了IEEE 1149.1的標準,開發了可重複使用、具有可調參數(configurable)的embedded ICE的矽智產。它提供break points, single stepping, tracing, boundary scan, partial scan等硬體功能,而且提供了一致的軟體界面。因此它可以輕易地與不同的微處理器結合,卻可以共享相同的軟體模組如驅動程式等,大大地提高了系統晶片整合的容易度。目前已成功地與四個不同架構的微控器/微處理器(8-bit embedded microcontrollers HT48x00 and A1009, 32-bit embedded microprocessors SYS-32TM, SYS-32TME and LEON processor, and ITRI-STC’s PAC DSP processor)結合並完成FPGA雛形驗證。

 

團隊近年執行之計畫

NSC 101-2220-E-110-005、NSC 100-2220-E-110-005、NSC 99-2220-E-110-007

「用於互動式三維多視角顯示系統之智慧型綠能多核心圖形處理器技術」

總計畫(三年期)

99/08/01~102/07/31

NSC 101-2220-E-110-005、NSC 100-2220-E-110-006、NSC 99-2220-E-110-008

「用於互動式三維多視角顯示系統之智慧型綠能多核心圖形處理器技術」

總計畫暨子計畫一「互動式三維多視角顯示系統晶片之整合及架構分析」

(三年期)

99/08/01~102/07/31

NSC 97-2221-E-110-076-MY3

「基於匯流排驗證和評估之系統晶片基礎建設自動化產生器」(三年期)

97/08/01~100/07/31

NSC 100-2221-E-110-054

「用於系統單晶片效能偵測及分析之軟/硬體套件:以3D Graphics系統晶片為例」

100/08/01~101/07/31

NSC 101-2923-P-110-002-MY2、NSC 100-3113-P-110-001

「台加國合計畫-多核心系統晶片監測及除錯基礎建設」(三年期)

 (雙邊國際合作計畫:EW晶片系統國家型計畫)

101/05/01~103/04/30

100/01/01~100/12/31

NSC 102-2218-E-110 -003 -

「先進繪圖與視訊基礎技術研發」

102/01/01~102/12/31

NSC 102-2221-E-110 -035 -MY3

「具準確時間資訊之QEMU-SystemC異質多核整合虛擬平台」(三年期)

102/08/01~105/07/31

 

團隊已申請及獲證專利

專利技術名稱

國別

公開/公告日期

公開/公告號

具有自動備份及還原暫存器內資料之系統及方法

(Automatic Register Backup/Restore System and Method)

中華民國

2004/11/21

I223756

美國

2004/10

US 7143271, B2

中國大陸

 

ZL200410080522.3

多重測試指令集切換系統及方法Multiple

(Test Instruction Set Switching System and Method)

中華民國

2005/11/21

I243985

切片轉換式資料壓縮方法與系統Data

(Compression Method and System Based on a Slicing and Transformation Approach)

中華民國

2005/12/11

I245497

反相壓縮系統及方法

(Backward Compression System and Method)

中華民國

2012/11/19

I387873

美國

2011/06/07

US 7,956,775 B2

應用於循環存儲器的壓縮數據管理的系統及方法 (Compressed Data Managing System and Method for Circular Buffer)

美國

2012/12/11

US8,332,551 B2

中華民國

申覆中

098125254

中國大陸

申覆中

200910209429.0

利用快取記憶體之資料追蹤系統及方法

(Data Trace System and Method using Cache)

中華民國

申請中

099102122

 
 

團隊近年榮譽

得獎名稱

頒獎單位

得獎日期

「2013年度國科會整合型計畫績優計畫獎」

計畫名稱:互動式三維多視角顯示系統晶片之整合及架構分析

計畫主持人:黃英哲教授

智慧電子國家型科技計畫

2013/08/01

2013年日內瓦國際發明展榮獲銀牌獎

Reverse Encoding for Efficient Circular Buffer Management

楊馥璟、陳岱鋒

指導教授:黃英哲

日內瓦發明展大會

2013/04/14

2013年日內瓦國際發明展榮獲銀牌獎

Versatile Instruction Cache System for Program Tracing Support

賴俊宏、楊允中

指導教授:黃英哲

日內瓦發明展大會

2013/04

101年度全國微電腦應用系統設計製作競賽榮獲第三名

Linux-based應用軟體/作業系統/硬體整合式效能量測套件
吳庭萱、黃宗澤

指導教授:黃英哲

教育部

2012/12

樂活百年搶先大賽系統整合實作類榮獲優秀

PAC SoC 除錯效能之提昇

陳建宏、黃士桐、黃鋒翔

指導教授:黃英哲

經濟部

2012/01

2011年德國紐倫堡國際發明展(IENA)榮獲金牌獎

Backward Compression System and Method

楊馥璟、侯少杰

指導教授:黃英哲

紐倫堡發明展大會

2011/11

2010年度國科會整合型計畫績優計畫獎

計畫名稱:具有即時效能/功率監控功能的高效率可程式化三維電腦繪圖晶片系統:軟硬體開發及整合

計畫主持人:黃英哲教授

智慧電子國家型科技計畫

2010/11

2010年度全國電子設計創意競賽資訊類榮獲第一名

用於三維圖形加速系統晶片開發之嵌入式除錯/效能監視引擎及其圖形化介面軟體工具

朱俊承、江政隆、林純守、郭冠甫、陳良弼、黃子銘

指導教授:黃英哲

教育部

2010/06

2009年度全國微電腦應用系統設計製作競賽榮獲第三名

題目:三維圖形系統單晶片效能偵測及驗證之分析平台

設計者:葉期財、何宗諭、郭冠甫

指導教授:黃英哲

教育部

2009/06

 

 

瀏覽數  
將此文章推薦給親友
請輸入此驗證碼
Voice Play
更換驗證碼