eTPU是新一代時(shí)間處理單元(TPU)。除了硬件增強(qiáng)之外,還對(duì)附帶的軟件開(kāi)發(fā)工具進(jìn)行了重大改進(jìn);這些工具使增強(qiáng)的時(shí)間處理單元(eTPU)易于使用。已經(jīng)開(kāi)發(fā)了一個(gè)高級(jí)語(yǔ)言(C)編譯器,允許用戶(hù)使用C語(yǔ)言而不是微碼對(duì)eTPU進(jìn)行編程。
為了有效地對(duì)eTPU進(jìn)行編程,程序員仍然需要清楚地了解eTPU硬件的工作原理。用C語(yǔ)言編碼,程序員可以更專(zhuān)注于應(yīng)用程序邏輯,將eTPU編程的機(jī)制留給編譯器(即寄存器使用和跟蹤、參數(shù)打包、微指令打包等)。在eTPU模擬器和調(diào)試器的幫助下,eTPU軟件可以像主機(jī)CPU的軟件一樣開(kāi)發(fā)。軟件開(kāi)發(fā)的生產(chǎn)力可以顯著提高。
eTPU C編譯器的引入也改變了主機(jī)與eTPU函數(shù)的接口方式。在編譯器的幫助下,eTPU和主機(jī)軟件都可以引用相同的符號(hào)。主機(jī)軟件可以通過(guò)API函數(shù)與eTPU函數(shù)接口,而不是訪問(wèn)物理內(nèi)存位置和寄存器。對(duì)于每個(gè)eTPU函數(shù),現(xiàn)在可以開(kāi)發(fā)一個(gè)主機(jī)接口API函數(shù)作為eTPU C程序的一部分。主機(jī)應(yīng)用程序可以調(diào)用這些API函數(shù)來(lái)與eTPU接口。對(duì)這些API函數(shù)和參數(shù)符號(hào)的引用在編譯時(shí)解析。
eTPU函數(shù)的實(shí)現(xiàn)細(xì)節(jié)對(duì)宿主應(yīng)用程序隱藏。這種設(shè)計(jì)提高了eTPU函數(shù)實(shí)現(xiàn)的靈活性和主機(jī)應(yīng)用程序代碼的可移植性。本應(yīng)用程序說(shuō)明討論了如何為eTPU函數(shù)構(gòu)建主機(jī)接口。
本應(yīng)用程序說(shuō)明顯示了如何構(gòu)建主機(jī)接口以訪問(wèn)eTPU函數(shù)。以eTPU PWM驅(qū)動(dòng)器為例,說(shuō)明主機(jī)需要做什么來(lái)配置eTPU模塊、通道和初始化PWM功能。appRev 2應(yīng)用程序說(shuō)明還描述了如何將eTPU軟件信息導(dǎo)出到主機(jī)編譯器的詳細(xì)信息。工作代碼示例見(jiàn)附錄。用戶(hù)可以編譯主機(jī)和eTPU代碼,然后下載到實(shí)際硬件進(jìn)行測(cè)試。