UML ve SystemC'ye dayalı GPU geometri ardışık düzeni pikselleştirme donanım modellemesi

Mikroelektronik teknolojisinin hızla gelişmesi ve insanların grafik kartları için gittikçe artan gereksinimleri ile grafik işlemede kullanılan bilgisayarlar, şimdiye kadar grafik iş istasyonlarından tek yongalı grafik işlemci yongalarına (GPU'lar) kademeli olarak evrildi. Entegre devrelerin ölçeği ve karmaşıklığı iki katına çıktı.

GPU'nun tasarımında ve geliştirilmesinde, RTL tasarımına referans sağlamak için RTL tasarımından önce mimariyi ve algoritmaları olabildiğince erken doğrulamak gerekir. RTL modelleri, analiz için daha doğru zaman bilgisi sağlasa da, geliştirme, işlem düzeyinde modellemeden (İşlem Seviyesi Modelleme) daha zordur.Yapısal optimizasyon yapıldığında, fiziksel ayrıntılara sahip modellerin değiştirilmesi TLM'den daha zordur. .

GPU çiziminin özü geometrik ardışık düzen ve rasterleştirmedir. Çizimin temel ilkeleri noktalar, çizgiler ve üçgenlerdir. Bu makalede oluşturulan GPU modeli, geometri motoru mimarisini ve çizgi ilkel rasterleştirmeyi hedefleyerek geometrik boru hattını ve rasterleştirmeyi geometri motoru birimlerinde kapsamaktadır Standartlaştırılmış algoritma, Birleşik Modelleme Diline (UML) dayalı bir model oluşturur ve TLM modelini ve simülasyonunu uygulamak için SystemC dilini kullanır. Model tarafından çizilen görüntüler, mimari ve algoritmanın doğruluğunu ve modelin geçerliliğini kanıtlar Ve fizibilite.

1 UML modelleme dili

UML, iyi tanımlanmış, ifade etmesi kolay, güçlü ve evrensel olarak uygulanabilir bir modelleme dilidir.UML, nesneye yönelik teknoloji ile her tür sistemi tanımlamak için uygundur ve gereksinim spesifikasyonunun tanımından sistem tamamlanmasına kadar farklı sistem geliştirme aşamaları için uygundur. Test ve bakımdan sonra. UML'de, sistemin herhangi bir açıdan soyutlanmasının birkaç model diyagramla açıklanması gerekebilir ve farklı açılardan bu model diyagramları nihayet sistemin tam modelini oluşturur.

2 TLM modeli

Bu makalede oluşturulan model TLM modeline aittir. TLM, sistemin davranışını daha yüksek bir seviyeden tanımlar.Modellenecek hedef sistem çok karmaşık olduğunda, TLM hızlı bir şekilde modellemek için kullanılır, böylece tasarımcı RTL tasarımını yapmadan önce hedef sistemi daha iyi anlayabilir. Açık bir anlayış, donanım mimarisinin, yazılım ve donanım bölümünün ve işbirlikçi tasarımın performans analizi ve davranış analizi için elverişlidir ve işlem düzeyinde model, çok hızlı donanım simülasyon hızı sağlayabilen ve doğru olan döngü performansı analizi için zaman bilgilerini taşıyabilir Döngü modeli.

3 UML modelleme

Bu makale, GPU geometri motoru birimi için UML modelini oluşturur. Tüm geliştirme süreci, sistemin modelleme davranışı tarafından yönlendirilir. Modellemeden önce, sistem gereksinimleri analiz edilmelidir. Modellemenin farklı aşamalarına göre, büyükten küçüğe, farklı modelleme aşamalarına göre, Birimin mimarisi ve algoritması katman katman sıralanır. Modelleme yöntemi ve süreci esas olarak aşağıdaki görüşleri içerir.

3.1 Sınıf diyagramı

Nesneye yönelik modelleme teknolojisinde sınıflar, nesneler ve bunların ilişkileri en temel modelleme öğeleridir. Sınıf diyagramı, sistemdeki sınıfları ve bunlar arasındaki çeşitli ilişkileri açıklar ve özü, sistemde bulunan çeşitli nesnelerin türlerini ve nesneler arasındaki çeşitli statik ilişkileri yansıtır.

Bu makalede oluşturulan geometri motoru birimi (GEU), GPU sisteminin bir alt modülüdür. Arabirim girişi boya çıkış kontrol birimidir (OCU) ve çıktı, görev planlama birimi (JSU), derinlik arabelleği (ZCACHE) ve kayıt arabirimidir (SPMU) . Boya çıkış kontrol ünitesi, köşe verilerini geometri motor ünitesine gönderir. Geometri motoru ünitesi işlemeyi bitirdikten sonra, parça verilerini oluşturur ve bunu görev planlama ünitesine çıkarır. Görev planlama ünitesi, veri özelliği tipine göre ve aynı zamanda derinlik tampon arayüzü aracılığıyla alt üniteye kapsüller ve gönderir. Derinlik bilgisi, derinlik testi için derinlik tamponuna yazılır ve kayıt, sonraki birim hesaplamaları için kayıt arayüzü aracılığıyla güncellenir. Şekil 1, arayüz diyagramı olarak da bilinen geometri motor ünitesinin sınıf diyagramıdır.

3.2 Yapı şeması

Yapı diyagramı, bu modül ile sistemin diğer bölümleri arasındaki etkileşim noktaları da dahil olmak üzere sınıf elemanının iç yapısını gösterir ve ayrıca sınıftaki modüller arasındaki ilişkiyi gösterir ve bu modüller sınıfın davranışını birlikte gerçekleştirir. Geometri motor ünitesinin yapısını yapı diyagramları ile oluşturmak, ünite içindeki bileşenleri ve ünite içindeki veri yolunu açıkça gösterebilir. Geometri motor ünitesinin mimarisi, ilkel montaj, düzlem kırpma, projeksiyon dönüşümü, üç boyutlu kırpma, pencere dönüşümü, arka kesme ve rasterleştirme ünitesi olan grafiklerin geometri boru hattı ve rasterleştirme prensibine dayalı aşağıdaki 7 modülden oluşmaktadır. Grafik modelleme Şekil 2'de gösterilmektedir.

3.3 Davranış diyagramı

Davranış diyagramları, nesneler arasındaki dinamik etkileşimi açıklayan, bu tür nesnelerin olası durumlarını ve belirli olaylar meydana geldiğinde durumlarının geçişini gösteren, sınıfların tamamlayıcı bir açıklamasıdır. Bilgisayar grafiği algoritmalarını anlamak için öncelikle iyi bir matematiksel temel, iyi bir uzamsal düşünme ve çok net düşünme gerekir. Rasterleştirmenin geometri motor biriminin son adımı olduğu yapı şemasından görülebilmektedir.Uygulama programı tarafından belirlenen köşeler, yapı diyagramının akışına göre rasterleştirme için yürütülmektedir.Bir dizi uzamsal dönüşüm tamamlandıktan sonra, rasterleştirme birimi köşelerden ilkellere çizilir. Yapılacak şeyler.

Rasterleştirme algoritması, tüm modeldeki en karmaşık algoritmadır.Davranış diyagramı, algoritmanın fikrini ve uygulamasını doğru ve metodik olarak tanımlayabilir ve algoritmanın ayrıntılarını ve veri akışı ve kontrol akışını mantıksal olarak ifade edebilir. Bu makale, çizgi ilkel rasterleştirme algoritmasına odaklanır ve modelini oluşturmak için davranış diyagramlarını kullanır.Şekil 3, hat ilkel tarama algoritmasının genel akışıdır.Ayrıntılar her bir alt modülde ayrıntılı olarak açıklanmıştır.

Bu makale modeli hiyerarşik olarak GPU'nun genel mimarisinden oluşturur.Öncelikle geometri motor biriminin harici arabağlantı modelleme sınıf diyagramı kullanılır, ardından ünitenin iç yapı diyagramı prensibe göre rafine edilir.Son olarak, çizgi ilkel rasterleştirmenin algoritma davranış diyagramı ayrıntılı olarak açıklanır ve doğru bir şekilde tanımlanır. UML'ye dayalı bir model oluşturma yöntemi ve süreci geliştirin.

4 SystemC modelleme ve simülasyon

Bu makale, TLM modelini ve simülasyonunu uygulamak için SystemC dilini kullanır.SystemC, sistem düzeyinde ve işlem düzeyinde tasarım süreçleri için bir yazılım / donanım modelleme ve simülasyon platformudur. Donanım kitaplığını ve simülasyon çekirdeğini C ++ temelinde genişletir ve bir donanım açıklama diline sahiptir. Temel özellikler. SystemC, donanım açıklamalarını destekleyen bir sınıf kitaplığı ve donanım açıklamalarını yorumlayan ve C ++ 'dan yazılımı tanımlama yeteneğini devralan bir sınıf kitaplığı sağlar. Donanım ve yazılımı tanımlayabilen bir modelleme dilidir. SystemC'nin en büyük özelliği, yazılım / donanım ortak tasarımını ve simülasyonunu destekleyebilmesi ve donanım tanımlama dillerine göre çok yüksek simülasyon hızına sahip olmasıdır. TLM, modeller arasındaki iletişim ayrıntılarını işlev birimi veya iletişim mimarisinin ayrıntılarından ayırır, iletişim mekanizması bir kanal olarak modellenir ve bir SystemC arabirim sınıfı şeklinde modüle sunulur.

UML modelleme sürecine göre, bu makale modeli SystemC dili aracılığıyla uygular ve simüle eder.

4.1 UML sınıf diyagramlarına dayalı modelleme

SystemC, modüllerin tanımını destekler Bir modül, aslında giriş / çıkış portları, dahili sinyaller ve yöntemler / iş parçacıkları içeren bir sınıftır. SystemC tarafından tanımlanan modül, RTL kodundaki modüle karşılık gelebilir.

Her modülün tanımını ve açıklamasını tamamladıktan sonra, eksiksiz bir işlevsel mimari elde etmek için modülün bağlantı noktalarını bağlamak gerekir. Örneğin, Şekil 1'deki görev planlama biriminde ve geometri motoru biriminde, görev programlama birimi köşe özniteliklerini bir bağlantı noktası aracılığıyla geometri motoru birimine iletir ve ardından bir arayüz tanımlanır. Aynı zamanda, görev planlama biriminde ve geometri motoru biriminde bu arabirim türünün bağlantı noktasını tanımlayın ve arabirim işlevini geometri motor birimi içinde uygulayın.

Geometri motoru birim modülünün dahili tanımı aşağıdaki gibidir:

4.2 UML yapı şemasına dayalı modelleme

Geometri motoru birimi sınıfı G3D_GEU dahili olarak 7 alt modülü somutlaştırır:

G3D_GEU_PAU * pau;

G3D_GEU_PCU * pcu;

G3D_GEU_PTU * ptu;

G3D_GEU_TDU * tdu;

G3D_GEU_VTU * vtu;

G3D_GEU_BCU * bcu;

G3D_GEU_PRU * pru;

4.3 UML davranış diyagramlarına dayalı modelleme

Modül içindeki algoritma detayları dişler tarafından uygulanmaktadır.İşler her saat değişen kenarda yürütülür (yükselen kenar, düşen kenar veya yükselen kenar olabilir) ve modelin zamanlama performans analizi için kullanılabilecek zamanlama tanıtılmıştır. Bir modülde birden fazla iş parçacığı olabilir. Rasterleştirme modülünde, nokta ilkellerinin, çizgi ilkellerinin ve üçgen ilkellerinin rasterleştirilmesini gerçekleştiren iş parçacıkları vardır. Bu makale, modelleme yöntemini açıklamak için örnek olarak çizgi ilkelleri alır.

4.4 Model simülasyonu

SystemC modellemesini tamamladıktan sonra, modelin simüle edilmesi ve hata ayıklanması gerekir. SystemC kitaplığı, olayları planlamak için bir simülasyon çekirdeği ve iş parçacığının yürütme sırası ile birlikte gelir. Verilog ve VHDL'ye benzer şekilde, SystemC'nin simülasyon çekirdeği delta döngüsünü, anlık olay tetikleyicisini ve gecikmeli olay tetikleyicisini destekler. SystemC'nin simülasyon çekirdeği tüm iş parçacıklarını belirli kurallara göre planlar ve çalıştırır. Modelin simülasyonunu ve hata ayıklamasını tamamladıktan sonra, model RTL simülasyonu için referans model olarak ve RTL ile birlikte simülasyon olarak kullanılabilir.Bu bir sonraki adımdır.

Bu makalede oluşturulan GPU modeli OpenGL 2.0 standardını uygular.Çizgi temel rasterleştirme algoritması ve geometri motoru birimi mimarisi için simülasyon doğrulama örnek diyagramı aşağıdaki gibidir. Şekil 4 ve Şekil 5, noktalama modu etkinleştirilmiş model ve Mesa çizgisi temel öğeleridir. . Mesa, uluslararası bir resmi kuruluş tarafından yayınlanan OpenGL uygulama programı arayüzünü uygulayan ve herhangi bir donanıma bağlı olmayan, tamamen yumuşak bir modeldir.

Bu yazıda modelde (Şekil 4) belirlenen çözünürlük 2048 × 1536 ve Mesa'da (Şekil 5) belirlenen çözünürlük 1024 × 768'dir.Bu nedenle iki modelin sonuçları karşılaştırıldığında Şekil 4 temelde Şekil 5'in yoğunluğudur. İki kez, ancak iki resmin noktalama etkisi aynıdır, bu da geometri motoru mimarisinin ve çizgi ilkel rasterleştirme algoritmasının doğru olduğunu gösterir.

5. Sonuç

Bu makale, UML görünümlerine dayalı bir GPU geometri ardışık düzen oluşturma modeli oluşturur ve sistem mimarisini ve algoritmalarını hızlı bir şekilde doğrulamak ve RTL tasarımı için bir referans sağlamak üzere SystemC dili aracılığıyla simülasyon doğrulaması yapar; aynı zamanda, doğrulamayı kısaltmak için RTL tasarımı için bir erken doğrulama platformu kurun Zaman; ve doğrulamanın doğruluğunu ve eksiksizliğini geliştirmek için RTL doğrulama platformunun bir referans modeli olarak kullanılabilir; GPU yazılımını ve donanım ortak tasarımını hızlandırır.

Referanslar

SWAN S. SystemC 2.0.cadence tasarım sistemlerinde sistem düzeyinde modellemeye giriş. 2001.

IEEE 1666-2011, standart systemc dili başvuru kılavuzu için IEEE standardı. 2011.

SystemC Initiative, SystemC 2.0 Kullanıcı Kılavuzu'nu açın.

Zhang Junxin SystemC'ye Dayalı Nesne Düzeyinde Modelleme Araştırması Wuhan: Wuhan Üniversitesi, 2004.

Wang Zhonghai, Ye Yizheng, Yu Mingyan. SoC tasarım modelleme ve simülasyon için SystemC 2.0 kullanımı Bilgisayar simülasyonu, 2005, 22 (5): 78-81.

Tang Jin SystemC bir köprü inşa etti. China Integrated Circuits, 2005 (5): 44-46.

Shi Ke. SystemC'ye dayalı gömülü sistem yazılımı ve donanım işbirlikçi tasarımı Bilgisayar Uygulama Araştırması, 2002, 19 (6): 117-119.

Li Hui, Chen Xi. SystemC Elektronik Sistem Tasarımı. Beijing: Science Press, 2010.

yazar bilgileri:

Chen Jia 1, Tian Ze 1, 2, Wu Xiaocheng 1, Lou Xiaoqiang 1

(1. Xi'an Havacılık Hesaplama Teknolojisi Enstitüsü, AVIC, Xi'an 710068, Shaanxi;

2. Havacılık Teknolojisi Entegre Devre ve Mikrosistem Tasarımı Anahtar Laboratuvarı, Xi'an, Shaanxi 710068)

"Yakıt tasarrufu" ile ilgili olarak, çevremizde hangi sağduyu hataları var?
önceki
Önden Apple Watch: Fitbitin ilk gerçek akıllı saati | IFA 2017
Sonraki
Asya Oyunları "League of Legends" sergisi maçında Çin takımı, Güney Kore'yi 3: 1 yenerek şampiyonluğu kazandı!
NVIDIA 2019 mali raporunu yayınladı, oyun endüstrisi geliri rekor kırdı
"Industry Hotspot" IP temel fikri mülkiyeti, entegre devre endüstrisinin temel rekabet gücü haline geldi
"Kahramanların Gerçek Renkleri 2018" Wang Kai, Wang Kai, "The Prodigal Son Dönüyor" ve Ma Tianyu "Son Olarak"
HKBTÜ IFLYTEK'in hisse senedi fiyatı düşüyor ve trend bilinmiyor.Sesli interaktif endüstri büyük riskler mi?
Otomatik şanzımanlı SUV 100.000'den az, bu dört bağımsız SUV uygun maliyetli
Rüzgar ve yağmurda başınızı kaldırın, yetişmeniz gereken Çin markalı otomobiller neler?
Shenzhen'de çocuk istismarcılarının ebeveynleri cezai zorlayıcı önlemler aldı
Beidou'nun yeni gelişimi! Ziguang Zhanrui, Beidou'nun üçüncü neslini destekleyen dördü bir arada çipi piyasaya sürdü
"Su Bu Hafta Ne Yedi" nin ilk hayran refahı etkinliklerinin gözden geçirilmesi
Sinemalarda gül ve ağla! "Game of the Brave" üç önemli an, "Super 8" ve "Dream Traveling" i geride bırakıyor
"Dream Simulation War 12" 7 Şubat 2019'da yayınlanacak. Klasik mod orijinal karakter setini değiştirebilir
To Top