MIPS mimarisi açık. 10 günde tamamen ücretsiz bir MIPS işlemci tasarlayın (kaynak koduyla)

Wave, son zamanlarda MIPS komut setinin (ISA) dünya çapındaki müşterilere serbestçe yetkilendirileceğini resmen duyurdu. Yeni nesil SOC'ler geliştirmek için dünyanın dört bir yanındaki yarı iletken şirketler, geliştiriciler ve üniversiteler için ücretsiz MIPS mimarisi sağlayın. MIPS mimarisi açık planı, tüm katılımcılara mimari lisans ücretleri ve telif hakkı ücretleri ödemeden en yeni 32 bit ve 64 bit MIPS mimarilerini ücretsiz olarak sunacak.Aynı zamanda, MIPS mimarisinin tüm kullanıcılarına dünya çapında yüzlerce öğe sağlayacaktır. Patent koruması var.

Bu hareket kısa bir süre içinde tam teşekküllü X86 ve ARM üzerinde çok fazla etkiye sahip olmayacak olsa da, şu anda oyuncuları katılmaları için bir afiş olarak açık kaynağa dayanan RISC-V'ye bir darbe için elverişli değil. RISC-V'nin birçok üretici arasında popüler olmasının nedeni, dünyadaki herhangi bir IC tasarım biriminin, herhangi bir fikri mülkiyet sorunu olmaksızın RISC-V tabanlı CPU'lar tasarlayabilmesidir. Bu, IC tasarım şirketlerini RISC-V ile çok ilgilenir.

Bununla birlikte, MIPS ayrıca ücretsiz lisansı duyurduktan sonra, RISC-V'nin sahip olduğu avantajlara yol açmıştır, MIPS de buna sahiptir ve herkes MIPS tabanlı CPU tasarlayabilir. MIPS komut seti ücretsiz olarak yetkilendirildikten sonra, daha iyi ekoloji ve daha iyi performans nedeniyle RISC-V üzerinde büyük bir etkiye sahip olacağı söylenebilir.

Elbette, Mips çekirdeği açık kaynaklı değildir ve temel lisanslama işi hala devam etmektedir. Bu çok mantıklı bir ticari düzenlemedir.Tüm komut setinin ekosistemi, açık kaynak komut seti aracılığıyla genişletilir ve ardından çekirdek yetkilendirme işi, genişletilmiş ekosistem tarafından geri beslenerek tam bir ticari kapalı döngü tamamlanır.

Birkaç yıl önce, EETOP OpenMips topluluğunu kurdu Moderatör herkes için daha gelişmiş bir MIPS tasarımını ve kodunu paylaştı, ancak o sırada Mips açık değildi, bu nedenle sadece öğrenme sürümü ve öğretme sürümü olarak adlandırılabilirdi.

Topluluk ekran görüntüsü

Moderatör, topluluktaki Mips CPU'nun 10 günlük tasarımı için geliştirme notlarını ve uygulama kodunu paylaştı, şimdi size tanıtacağım ve öğrenebilirsiniz.

Geliştirme notları

EETOP'taki tüm öğrencilere ve moderatör tyxuanyuanlx'e "Bubu Jingxin-Soft Core İşlemci İç Tasarım Analizi" kitabına verdikleri destek için teşekkür etmek amacıyla, açık kaynaklı bir işlemci OpenMIPS'e katkıda bulunacağım.

Harvard mimarisine sahip 32 bitlik skaler bir işlemci olan OpenMIPS, MIPS32 mimarisiyle uyumludur, böylece mevcut MIPS derleme ortamı kullanılabilir. OpenMIPS aşağıdaki özelliklere sahiptir:

(1) Beş aşamalı tamsayı ardışık düzeni, yani: getirme, kod çözme, yürütme, getirme ve geri yazma

(2) Harvard yapısı, ayrı komut ve veri arayüzü

(3) 32 adet 32 bit tam sayı kaydı

(4) Big-endian modu

(5) Vektörize edilmiş istisna işleme, hassas istisna işlemeyi destekler

(6) 8 harici kesinti

(7) 32bit veri ve adres veriyolu genişliği

(8) Tek döngülü çarpma

(9) Gecikmeli aktarımı destekleyin

(10) MIPS32 komut setindeki tüm tamsayı talimatlarını destekleyen MIPS32 mimarisiyle uyumludur

(11) Çoğu talimat bir saat döngüsünde tamamlanabilir

(12) Entegre edilebilir

On gün içinde arka arkaya yayınlanması planlanıyor, bu nedenle başlık "İşlemci-OpenMIPS geliştirme notlarını uygulamak için 10 gün". Umarım onu daha fazla kullanabilir ve iyileştirme için önerilerde bulunabilirsiniz. Genel plan aşağıdaki gibidir:

1.gün

(1) OpenMIPS'e Giriş

(2) Deneysel ortam yapımı

(3) Genel kayıt Kayıt Dosyasını gerçekleştirin

(4) Yönerge belleği imemini gerçekleştirin

(5) Veri depolamayı gerçekleştirin dmem

2. gün

(1) Beş aşamalı bir ardışık düzen çerçevesi elde edin

(2) İlk talimatı gerçekleştirin-ORI

3. gün

(1) Boru hattı verileriyle ilgili sorunları çözün

(2) Mantık çalıştırma talimatlarının geri kalanını gerçekleştirin - AND, ANDI, LUI, NOR, OR, XOR, XORI

4. gün

(1) Vardiya operasyon talimatlarını uygulayın - SLL, SLLV, SRA, SRAV, SRL, SRLV

(2) Çarpma ve bölme-ADD, ADDI, ADDIU, ADDU, CLO, CLZ, SLT, SLTI, SLTIU, SLTU, SUB, SUBU hariç tüm aritmetik işlem talimatlarını gerçekleştirin

5. Gün

(1) Çarpma talimatlarını uygulayın - MADD, MADDU, MSUB, MSUBU, MUL, MULT, MULTU

(2) Bölme talimatını gerçekleştirin-DIV, DIVU

6. gün

(1) Mobil işletim talimatlarını gerçekleştirin - MFHI, MFLO, MOVN, MOVZ, MTHI, MTLO

(2) Kontrol komutlarını gerçekleştirin-NOP, SSNOP

7. Gün

(1) Atlama talimatlarını gerçekleştirin-J, JAL, JALR, JR

(2) Şube talimatlarını gerçekleştirin-B, BAL, BEQ, BGEZ, BGEZAL, BGTZ, BLEZ, BLTZ, BLTZAL, BNE

8. Gün

(1) Yükleme talimatlarını uygulayın - LB, LBU, LH, LHU, LL, LW, LWL, LWR

(2) Depolama talimatlarını uygulayın - SB, SC, SH, SW, SWL, SWR

9. Gün

(1) İşlemci CP0'ın bazı kayıtlarını gerçekleştirin

(2) Yardımcı işlemci erişim talimatlarını uygulayın-MFC0, MTC0

10. gün

(1) Kendiliğinden yakalanan talimatları uygulayın - SYSCALL, TEQ, TEQI, TGE, TGEI, TGEIU, TGEU, TLT, TLTI, TLTIU, TLTU, TNE, TNEI

(2) Kesinti işlemeyi gerçekleştirin

(3) Anormal iade talimatı uygulayın-ERET

Burada sadece her gün ne yapılacağının bir özetini veriyoruz.Tüm bu detaylı tasarım moderatörleri ek olarak forumdaki ilgili mesajlara yüklendi. Orijinal indirmeyi okumak için makalenin sonuna tıklayabilirsiniz.

Kod uygulama talimatları

OpenMIPS öğretim sürümü ile karşılaştırıldığında, OpenMIPS uygulama sürümünün en büyük özelliği Wishbone veri yolu arayüzünün tanıtımı ve SDRAM denetleyicisi, GPIO denetleyicisi, flaş denetleyicisi, UART denetleyicisi ve gerçek test için DE2'ye indirilen SOPC'nin oluşturulmasıdır. SOPC'nin yapısı aşağıdaki gibidir:

Dosya dizini aşağıdaki gibidir: (Kod, verilog ve vhdl'yi içerir, burada örnek olarak vhdl verilmiştir)

Her klasörün açıklaması aşağıdaki gibidir:

rtl

OpenMIPS uygulamalı sürümünün tüm kaynak kodu dosyaları bu klasörde, ardışık düzen dosyası iu.vhd, bölme modülü div.vhd, kayıt dosyası Regfile.vhd, en üst dosya OpenMIPS.vhd, makro tanımlama dosyası stdlib.vhd dahil

min_sopc

Çeşitli IP çekirdekleri dahil: GPIO, UART, SDRAM denetleyici, flash denetleyici, Wishbone veri yolu ara bağlantı matrisi, vb. Ve Wishbone aracılığıyla OpenMIPS'in en küçük SOPC'sini test etmek için kullanılan bir üst düzey dosya OpenMIPS_min_sopc.vhd Veriyolu bağlantı matrisi, bir SOPC oluşturmak için OpenMIPS ile bağlanır. SOPC'nin yapısı Bölüm 8'de tanıtılacaktır. Buradaki çeşitli IP çekirdeklerinin tümü OpenCores'dan indirilir ve tümü Wishbone veri yolu arabirim spesifikasyonuna uygundur.

araçlar

Spesifik değerlendirme panosuyla ilgili bazı araçları içerir.Yazar, değerlendirme panosu olarak çoğunlukla Altera'nın DE2'sini kullanır, bu nedenle araçlar altında, DE2'nin DE2_control_panel araç yazılımını içeren bir Altera / DE2 dizini vardır. flaş çipi.

Bu dizin ayrıca, BootLoader ve SimpleOS deneylerinde yararlı olan ve BootLoader ve SimpleOS tarafından oluşturulan ikili dosyaları birleştirmek için kullanılan bir BinMerge.exe yazılımı içerir.

belge

Bazı dokümantasyon içerir, özellikle: "MIPS32 Komut Seti", "Programcılar için MIPS Mimarisi Cilt III", "OpenMIPS Hızlı Başlangıç Kılavuzu (Pratik Baskı)", "İşlemci-OpenMIPS büyüme notunu gerçekleştirmek için 10 gün" ve min_sopc dosyası Çeşitli IP çekirdeklerinin kullanım kılavuzlarını klipsleyin.

asm_test

GPIO, UART, SDRAM ve kapsamlı bir programı test etmek için kullanılan, tümü assembly'de yazılmış birkaç test programı içerir. Entegre program, BootLoader ve SimpleOS'tan oluşur ve bir işletim sisteminin başlatılmasını simüle etmek için kullanılır.

OpenMips CPU modülü bağlantı şeması

Dünyadaki birçok ülke ilk kez RMB tahvili çıkarmak için acele ediyor ve siyah dolar sıkıntısı konusunda uyarıda bulunuyor!
önceki
Çin'in en çok asılı olan yedi fotoğrafı, her adımı görmek için şok edici!
Sonraki
Yine gök gürültülü fırtına mevsimi, bu 6 sürüş becerisini öğrenmezseniz hala tehlikelidir
BWF'nin en son sıralaması: Lin Dan art arda 3 sıraya yükseliyor ve ilk ona yaklaşıyor Ulusal Badminton 5 bireysel öğe IELTS'de yalnızca birinci sırada yer alıyor
Sürmesi kolay ve dayanıklıdır ve bu "kutsal arabaların" kalitesi gerçekten zor!
Hindistan, dolar kıtlığından daha büyük bir krize düşebilir ve aniden doların altın fiyatlandırma gücüne resmen hayır diyebilir
gururlu! Pekin Normal Üniversitesi'nden yüzlerce usta ve öğrenci, milenyumun porselen başkentinde seramik kültürünün cazibesini yaşamak için Jingdezhen'e yürüdü.
Çiçeklerle şımarık bu küçük kasabalar, sonsuza dek hayalinizdeki yer neresi?
Liaoning fanatikler! Li Yongbo bu yıl 4. ev maçını izledi ve tapınakları beyaz ve biraz eski.
Nani! Japonya'daki Fuji Dağı gerçekten kiralanmış mı?
2018 Çin-ABD Silahlı Kuvvetleri Ortak İnsani Yardım ve Afet Azaltma Tatbikatı, üç önemli noktayı göstererek tamamlandı
Yabancı medya: Kısa satış yapan Çin ağır bir fiyat aldı ve Amerika Birleşik Devletleri ve Avrupa'ya açığa satış yapmaya başladı Rogers: Lütfen kırsal Çin'de daha fazlasını yapın
Köfte sadece Çin'de mevcut değil! Harika köfte küresel envanteri, yiyebilir misin?
Güçlü Mattu çıkış yaptı, kendi markası "Leopard" üst düzey rotayı izliyor
To Top