Gambar rajah blok seni bina Risc. Analisis perbandingan seni bina CISC dan RISC. Senibina Set Arahan Terkurang

Ini ialah peranti yang merupakan satu atau lebih litar bersepadu besar (LSI) yang melaksanakan fungsi pemproses komputer. Peranti pengkomputeran klasik terdiri daripada unit aritmetik (AU), unit kawalan (CU), unit storan (SRAM) dan peranti input/output (I/O) .

Terdapat pemproses pelbagai seni bina.

CISC(eng. Pengkomputeran Set Arahan Kompleks) ialah konsep reka bentuk pemproses yang dicirikan oleh set sifat berikut:

· sejumlah besar arahan dengan format dan panjang yang berbeza;

· pengenalan sejumlah besar mod pengalamatan yang berbeza;

· mempunyai pengekodan arahan yang kompleks.

Pemproses CISC perlu berurusan dengan arahan yang lebih kompleks dengan panjang yang tidak sama. Satu arahan CISC boleh dilaksanakan dengan lebih pantas, tetapi memproses berbilang arahan CISC secara selari adalah lebih sukar.

Memudahkan penyahpepijatan atur cara dalam pemasang memerlukan kekacauan unit mikropemproses dengan nod. Untuk meningkatkan prestasi, kekerapan jam dan tahap penyepaduan mesti ditingkatkan, yang memerlukan teknologi yang lebih baik dan, akibatnya, pengeluaran yang lebih mahal.

Kelebihan seni bina CISC

  1. Set arahan padat mengurangkan saiz program dan mengurangkan bilangan akses memori.
  2. Set arahan termasuk sokongan untuk pembinaan pengaturcaraan peringkat tinggi.

Kelemahan seni bina CISC

  1. Aliran arahan yang tidak teratur.
  2. Kos perkakasan yang tinggi.
  3. Kesukaran dengan pengiraan selari.

RISC(Pengkomputeran Set Arahan Terkurang). Pemproses dengan set arahan yang dikurangkan. Sistem arahan dipermudahkan. Semua arahan mempunyai format yang sama dengan pengekodan mudah. Memori diakses menggunakan arahan muat dan tulis; arahan yang selebihnya adalah daripada jenis daftar-daftar. Perintah yang memasuki CPU sudah dibahagikan kepada medan dan tidak memerlukan penyahsulitan tambahan.

Sebahagian daripada kristal dibebaskan untuk dimasukkan komponen tambahan. Tahap penyepaduan adalah lebih rendah daripada varian seni bina sebelumnya, jadi kelajuan jam yang lebih rendah dibenarkan untuk prestasi tinggi. Perintah itu mengacaukan RAM kurang, CPU lebih murah. Seni bina ini tidak serasi dengan perisian. Menyahpepijat program RISC adalah lebih sukar. Teknologi ini boleh dilaksanakan dalam perisian yang serasi dengan teknologi CISC (contohnya, teknologi superscalar).

Kerana arahan RISC adalah mudah, ia memerlukan lebih sedikit unsur logik, yang akhirnya mengurangkan kos pemproses. Tetapi kebanyakannya perisian Hari ini ia ditulis dan disusun khusus untuk pemproses CISC daripada Intel. Untuk menggunakan seni bina RISC, program semasa mesti disusun semula dan kadangkala ditulis semula.

Kelebihan Seni Bina RISC

1.mengurangkan ketidakteraturan aliran arahan

2. pengayaan dengan selari ruang

Kelemahan RISC Architecture

MISC(Komputer Set Pengajaran Serbaguna). Asas elemen terdiri daripada dua bahagian, yang sama ada dibuat dalam perumah berasingan atau digabungkan. Bahagian utama ialah CPU RISC, boleh dikembangkan dengan menyambungkan bahagian kedua - ROM kawalan program mikro. Sistem memperoleh sifat CISC. Arahan asas dijalankan pada CPU RISC, dan arahan pengembangan diterjemahkan ke alamat perisian tegar. CPU RISC melaksanakan semua arahan dalam satu kitaran jam, dan bahagian kedua adalah bersamaan dengan CPU dengan set arahan yang kompleks. Kehadiran ROM menghapuskan kelemahan RISC, dinyatakan dalam fakta bahawa apabila disusun daripada bahasa tahap tinggi Kod mikro dijana daripada perpustakaan fungsi standard, yang mengambil banyak ruang dalam RAM. Memandangkan perisian tegar telah dinyahsulit dan dibuka kepada pengaturcara, tiada masa pengambilan daripada RAM diperlukan untuk penyahsulitan.

Jika anda tidak boleh memaksa orang lain, kerja sendiri. Pada suatu masa dahulu, saya meminta Konstantin Afanasyev untuk memberitahu pembaca tentang pemproses yang bukan Pentium. "Kami akan melakukannya," jawab Afanasyev. Jadi kita buat.

Seperti yang anda ketahui, jantung mana-mana komputer peribadi moden ialah mikropemproses. Bagi kebanyakan orang, perkataan ini jelas dikaitkan dengan Intel, yang pernah mengeluarkan pemproses 8086 yang digunakan secara meluas dan sejak itu berpuas hati dengan kejayaannya, mencipta versi yang lebih berkuasa. Walau bagaimanapun, cahaya tidak menumpu pada keluarga ini, dan pemproses Pentium II bukanlah mahkota evolusi, yang mana manusia dikatakan sebagai langkah perantaraan.

Perkembangan mikrokomputer yang singkat tetapi pesat membawa kepada kemunculan dua cabang evolusi yang dominan - Intel X86 dan RISC. Yang pertama muncul lebih awal dan berjaya menduduki bahagian pasaran yang besar, tetapi komputer RISC yang dibangunkan pada pertengahan tahun 80-an ternyata jauh lebih berkuasa dan mengukir niche untuk sistem berprestasi tinggi.

Pemproses yang tidak tergolong dalam kelas RISC (Reduced Instruction Set Computing) biasanya dipanggil CISC (Complex ISC, complex instruction set computing). Kebetulan daripada jumlah ini, hanya keluarga X86 dengan bagasi program terkumpulnya yang terselamat dalam pertandingan itu, malah wakil moden keluarga X86 ( Pentium Pro, Pentium II, K5, K6) menggunakan seni bina RISC yang sama secara dalaman. Oleh itu, RISC boleh dipanggil baru, atau, selama bertahun-tahun, peringkat seterusnya dalam pembangunan pemproses.

Dan ia adalah seperti ini. Pada tahun 80-an, pertumbuhan prestasi mikropemproses telah dihalang oleh peranti kawalan pusat yang kompleks yang dikaitkan dengan satu set besar arahan yang diwarisi daripada komputer tradisional. Kajian teori telah menunjukkan bahawa mengurangkan set arahan kepada minimum yang paling kerap digunakan akan membolehkan, dengan meningkatkan sedikit saiz program, untuk mencapai penyederhanaan pemproses yang ketara.

Kemudian prinsip asas RISC telah dirumuskan:

  1. Setiap arahan, tanpa mengira jenisnya, dilaksanakan dalam satu kitaran jam.
  2. Semua arahan mestilah sama panjang dan menggunakan minimum format alamat.
  3. Semua pemprosesan data dijalankan dalam daftar pemproses; memori diakses hanya apabila melakukan operasi tulis dan baca.
  4. Sistem arahan mesti menyediakan sokongan untuk bahasa peringkat tinggi.

Kawasan kristal yang dibebaskan sebagai hasilnya digunakan untuk meningkatkan kapasiti bit dan prestasi pemproses. Sebagai contoh, pemproses 32-bit ARM (Advanced RISC Machine) yang dikeluarkan pada tahun 1985, dengan prestasi yang jauh lebih tinggi dari segi penyepaduan, adalah setanding dengan Intel 8080 8-bit (25 ribu transistor). Dan kini 64 bit adalah norma untuk pemproses RISC, tetapi masa depan yang jauh untuk X86.

Ruang simpanan yang sama pada cip telah digunakan untuk semua jenis helah untuk meningkatkan kelajuan pemprosesan data. Sepanjang setengah abad kewujudan komputer, banyak loceng dan wisel sedemikian telah dibangunkan yang tidak ada tempat untuk diletakkan dalam pemproses CISC.

Kelebihan RISC bukan sahaja menjimatkan ruang. Penggunaan aktif daftar mengurangkan bilangan akses memori kepada minimum. Pemuatan daftar, iaitu, pertukaran antara daftar dan memori, dijalankan dalam dua cara berbeza - perkakasan dan perisian.

Perkakasan yang digunakan dalam pemproses SPARC melibatkan pelaksanaan 138 daftar, sepuluh daripadanya sentiasa kelihatan, dan baki 128 dibahagikan kepada lapan tetingkap bertindih yang menggantikan satu sama lain apabila subrutin dipanggil. Skim ini dipanggil MORS (Multiple Overlapping Register Sets) atau Rolodex.

Dalam kes ini, prosedur dipanggil tanpa mengakses memori, parameter dipindahkan melalui daftar biasa dua tetingkap, tetapi untuk memanggil prosedur kesembilan seseorang perlu menggunakan penyelesaian teknikal yang kompleks, dan menyimpan 138 daftar dalam ingatan apabila proses penukaran konteks dalam multitasking. sistem menyebabkan kelewatan yang tidak dapat diramalkan.

Oleh itu, kebanyakan pemproses RISC menggunakan kawalan perisian untuk akses memori. Bilangan daftar adalah kecil (biasanya 32); panggilan prosedur menggunakan mekanisme tindanan biasa. Diandaikan bahawa akses memori masih diserap oleh cache. Tugas penggunaan rasional daftar terletak pada pengkompil.

Seni bina RISC biasanya dicirikan dengan memberikan semua dan semua tugas kepada pengkompil. Kelajuan menjalankan program yang sama pada pemproses RISC boleh berubah beberapa kali bergantung pada pengkompil, dan pengoptimuman manual boleh mengurangkan masa berjalan serpihan program sebanyak separuh lagi.

Satu lagi kelemahan RISC ialah peningkatan dalam saiz kod kira-kira satu setengah kali ganda disebabkan oleh set arahan yang dikurangkan dan panjang tetapnya. Walau bagaimanapun, pada zaman kita yang mempunyai banyak megabait, ini tidak begitu kritikal - pembangunan multimedia telah membawa kepada fakta bahawa jumlah data yang diproses jelas menjadi lebih besar daripada saiz kod, dan prestasi mengikut definisi tidak mencukupi (lihat epigraf ).

Dmitry BORODAENKO,
[e-mel dilindungi]

Siapa yang memerlukan pengkomputeran 64-bit

Sebelum kami mempunyai masa untuk selesa dengan pengkomputeran Windows 95 dan 32-bit, ternyata ini tidak mencukupi. Perlumbaan untuk bilangan bit berterusan, dan perkara di sini bukan sahaja dan bukan dalam ruang alamat yang tersedia. Cuma pada zaman mesin besar, telah terbukti bahawa untuk pengiraan integer, perwakilan 32-bit adalah optimum, dan untuk nombor titik terapung 64 bit adalah perlu dan mencukupi.

Oleh itu, pemproses 32-bit dengan nombor nyata ketepatan penuh boleh mengendalikan hanya dua pas, yang bagi seni bina RISC dengan keperluannya untuk meminimumkan format dengan sekurang-kurangnya tak selesa. Menggandakan kapasiti bit data yang diproses memerlukan sama ada menggandakan kapasiti bit pemproses atau empat kali ganda kekerapan jam. Ini sebahagiannya mengapa PowerPC 32-bit berada di belakang rakan 64-bit sepenuhnya dalam pengiraan titik terapung.

Pada tahun 70-an abad ke-20, saintis mengemukakan idea revolusioner pada masa itu untuk mencipta mikropemproses yang "memahami" hanya bilangan arahan minimum yang mungkin.

Idea pemproses RISC (Reduced Instruction Set Computer) lahir sebagai hasilnya penyelidikan praktikal kekerapan penggunaan arahan oleh pengaturcara, dijalankan pada tahun 70-an di Amerika Syarikat dan England. Keputusan segera mereka ialah "peraturan 80/20" yang terkenal: dalam 80% kod program permohonan Hanya 20% daripada arahan mesin yang paling mudah daripada keseluruhan set yang tersedia digunakan. peranti elektronik pemproses mikropengawal

Pemproses RISC 31 arahan "benar" pertama telah dicipta di bawah arahan David Patterson di Universiti Berkeley, diikuti oleh pemproses 39 arahan. Mereka termasuk 20-50 ribu transistor. Hasil kerja Patterson telah diambil kesempatan oleh Sun Microsystems, yang membangunkan seni bina SPARC dengan 75 pasukan pada akhir 70-an. Pada tahun 1981, projek MIPS telah dilancarkan di Universiti Stanford untuk menghasilkan pemproses RISC dengan 39 pasukan. Hasilnya, Mips Computer Corporation telah diasaskan pada pertengahan 80-an dan pemproses seterusnya dengan 74 arahan telah direka.

Menurut syarikat bebas IDC, pada tahun 1992, seni bina SPARC menduduki 56% pasaran, diikuti oleh MIPS - 15% dan PA-RISC - 12.2%

Sekitar masa yang sama masa Intel membangunkan siri 80386, pemproses CISC "sebenar" terakhir dalam keluarga IA-32. Kali terakhir, peningkatan prestasi dicapai hanya dengan meningkatkan kerumitan seni bina pemproses: daripada 16-bit kepada 32-bit, komponen perkakasan tambahan disokong ingatan maya, dan beberapa pasukan baharu telah ditambah.

Ciri utama pemproses RISC:

  • - Mengurangkan set arahan (dari 80 kepada 150 arahan).
  • - Kebanyakan arahan dilaksanakan dalam 1 kitaran jam.
  • - Sebilangan besar daftar tujuan umum.
  • - Ketersediaan penghantar berbilang peringkat tegar.
  • - Semua arahan mempunyai format yang mudah dan beberapa kaedah pengalamatan digunakan.
  • - Ketersediaan memori cache berasingan yang luas.
  • - Penggunaan pengoptimuman penyusun yang menganalisis sumber dan sebahagiannya mengubah susunan arahan.

Pemproses RISC generasi ke-3

Pembangun terbesar pemproses RISC ialah Sun Microsystems (SPARC - Seni bina Ultra SPARC), IBM (pemproses Kuasa berbilang cip, PowerPC cip tunggal - PowerPC 620), Peralatan Digital (Alpha - Alpha 21164), Mips Technologies (Rxx00 - R 10000 keluarga), serta Hewlett-Packard (seni bina PA-RISC - PA-8000).

Semua pemproses RISC generasi ketiga:

  • - adalah 64-bit dan superscalar (sekurang-kurangnya 4 arahan dilancarkan setiap kitaran jam);
  • - mempunyai unit aritmetik titik terapung saluran paip terbina dalam;
  • - mempunyai memori cache berbilang peringkat. Kebanyakan pemproses RISC menyimpan arahan pra-nyahsulit;
  • - dihasilkan menggunakan teknologi CMOS dengan 4 lapisan metalisasi.

Untuk memproses data, algoritma ramalan cawangan dinamik dan kaedah penugasan semula daftar digunakan, yang membolehkan pelaksanaan perintah di luar pesanan.

Meningkatkan prestasi pemproses RISC dicapai dengan meningkatkan kelajuan jam dan meningkatkan kerumitan reka bentuk cip. Wakil arah pertama ialah pemproses Alpha daripada DEC; pemproses yang paling kompleks kekal daripada Hewlett-Packard.

Mengurangkan set arahan mesin dalam seni bina RISC memungkinkan untuk meletakkan sejumlah besar daftar tujuan umum pada cip teras pengkomputeran. Menambahkan bilangan daftar tujuan umum memungkinkan untuk meminimumkan akses kepada RAM yang perlahan, meninggalkan hanya operasi membaca data dari RAM ke dalam daftar dan menulis data dari daftar ke dalam RAM untuk berfungsi dengan RAM; semua arahan mesin lain menggunakan umum- daftar tujuan sebagai operan.

Kelebihan utama seni bina RISC adalah sifat berikut:

  • - Nombor besar daftar tujuan am.
  • - Format universal semua operasi mikro.
  • - Masa pelaksanaan yang sama untuk semua arahan mesin.
  • - Hampir semua operasi pemindahan data dijalankan di sepanjang laluan daftar-daftar.

Masa pelaksanaan yang sama bagi semua arahan mesin memungkinkan untuk memproses aliran arahan arahan menggunakan prinsip saluran paip, i.e. penyegerakan perkakasan dilakukan dengan mengambil kira pemindahan kawalan berurutan daripada satu unit perkakasan kepada yang lain.

Unit perkakasan dalam seni bina RISC:

Blok pemuatan arahan termasuk komponen berikut: blok untuk mengambil arahan daripada memori arahan, daftar arahan di mana arahan diletakkan selepas ia diambil, dan blok penyahkod arahan. Peringkat ini dipanggil peringkat pengambilan arahan.

Daftar tujuan am, bersama dengan unit kawalan daftar, membentuk peringkat kedua saluran paip, bertanggungjawab untuk membaca operan arahan. Operan boleh disimpan dalam arahan itu sendiri atau dalam salah satu daftar tujuan umum. Peringkat ini dipanggil peringkat pengambilan operan.

Unit logik aritmetik dan, jika dilaksanakan dalam seni bina tertentu, penumpuk, bersama dengan logik kawalan, yang, berdasarkan kandungan daftar arahan, menentukan jenis operasi mikro yang akan dilakukan. Sebagai tambahan kepada daftar arahan, sumber data boleh menjadi pembilang program apabila melakukan operasi mikro lompatan bersyarat atau tanpa syarat. Peringkat ini dipanggil peringkat eksekutif penghantar.

Satu set daftar tujuan umum, menulis logik, dan kadangkala RAM membentuk peringkat penyimpanan data. Pada peringkat ini, hasil pelaksanaan arahan ditulis ke daftar tujuan umum atau ingatan utama.

Walau bagaimanapun, pada masa seni bina RISC dibangunkan, seni bina Intel x86, berdasarkan prinsip seni bina CISC, telah menjadi piawaian industri de facto untuk mikropemproses. Ketersediaan sejumlah besar program yang ditulis untuk Seni bina Intel x86, menjadikannya mustahil untuk peralihan besar-besaran komputer kepada seni bina RISC. Atas sebab ini, kes penggunaan utama untuk seni bina RISC adalah mikropengawal, kerana fakta bahawa mereka tidak terikat dengan perisian sedia ada. Di samping itu, beberapa pengeluar komputer, yang diketuai oleh IBM, juga mula menghasilkan komputer yang dibina pada seni bina RISC, tetapi ketidakserasian perisian antara Intel x86 dan seni bina RISC mengehadkan pengedaran yang terakhir.

Walau bagaimanapun, faedah seni bina RISC sangat penting sehingga jurutera menemui cara untuk beralih kepada komputer seni bina RISC tanpa meninggalkan perisian sedia ada. Teras kebanyakan mikropemproses moden yang menyokong seni bina Intel x86 dibuat mengikut seni bina RISC dengan sokongan untuk pemprosesan saluran paip berbilang skala. Mikropemproses menerima arahan dalam format Intel x86 sebagai input; kami menggantikannya dengan beberapa (sehingga 4) arahan RISC.

Oleh itu, teras kebanyakan mikropemproses moden, bermula dengan Intel 486DX, dibuat mengikut seni bina RISC dengan sokongan untuk antara muka Intel x86 luaran. Di samping itu, sebahagian besar mikropengawal, serta beberapa mikropemproses, dihasilkan menggunakan seni bina RISC.

Pemproses RISC moden menggunakan sekurang-kurangnya 32 daftar, selalunya lebih daripada 100, manakala komputer digital klasik biasanya mempunyai 8-16 daftar tujuan umum. Akibatnya, pemproses mengakses RAM 20%-30% kurang kerap, yang juga meningkatkan kelajuan pemprosesan data. Selain itu, kehadiran Kuantiti yang besar registers memudahkan kerja pengkompil dalam memperuntukkan daftar kepada pembolehubah. Topologi pemproses, dilaksanakan sebagai satu, telah dipermudahkan litar bersepadu, masa pembangunannya telah dikurangkan, dan ia menjadi lebih murah.

Selepas kemunculan pemproses RISC, pemproses tradisional telah ditetapkan CISC - iaitu, dengan set penuh arahan (Komputer Set Arahan Lengkap).

Pada masa ini, pemproses RISC digunakan secara meluas. Pemproses RISC moden dicirikan oleh yang berikut:

  • - set perintah yang dipermudahkan;
  • - arahan panjang tetap dan format tetap digunakan, kaedah pengalamatan mudah digunakan, yang memudahkan logik penyahkodan perintah;
  • - kebanyakan arahan dilaksanakan dalam satu kitaran pemproses;
  • - logik untuk melaksanakan arahan untuk meningkatkan prestasi tertumpu pada perkakasan dan bukannya pelaksanaan perisian tegar; tiada arahan makro yang merumitkan struktur pemproses dan mengurangkan kelajuan operasinya;
  • - interaksi dengan RAM terhad kepada operasi pemindahan data;
  • - untuk pemprosesan, sebagai peraturan, arahan tiga alamat digunakan, yang, sebagai tambahan kepada memudahkan penyahsulitan, memungkinkan untuk menyimpan lebih banyak pembolehubah dalam daftar tanpa memuat semula seterusnya;
  • - saluran paip arahan telah dibuat yang membolehkan anda memproses beberapa daripadanya secara serentak;
  • - kehadiran sejumlah besar daftar;
  • - memori berkelajuan tinggi digunakan.

Dalam pemproses RISC, pemprosesan arahan mesin dibahagikan kepada beberapa peringkat, setiap peringkat dilayan oleh perkakasan yang berasingan dan pemindahan data diatur dari satu peringkat ke peringkat seterusnya.

Produktiviti meningkat disebabkan oleh fakta bahawa beberapa arahan dilaksanakan secara serentak pada peringkat saluran paip yang berbeza.

Pelaksanaan perintah biasa boleh dibahagikan kepada langkah-langkah berikut:

  • - IF command fetch - pada alamat yang ditentukan oleh pembilang program, arahan diambil dari memori;
  • - 2) menyahkod arahan ID - mengetahui maknanya, memilih operan daripada daftar;
  • - 3) melaksanakan operasi EX, jika perlu, mengakses memori - mengira alamat fizikal;
  • - 4) akses kepada memori ME;
  • - 5)menghafal keputusan WB

Dalam pemproses dengan seni bina RISC, satu set arahan boleh laku dikurangkan kepada minimum. Untuk melaksanakan operasi yang lebih kompleks, anda perlu menggabungkan arahan. Dalam kes ini, semua arahan mempunyai format panjang tetap (contohnya, 12, 14 atau 16 bit), arahan diambil daripada memori dan dilaksanakan dalam satu kitaran penyegerakan (kitaran). Sistem arahan pemproses RISC menganggap kemungkinan penggunaan yang sama bagi semua daftar pemproses. Ini memberikan fleksibiliti tambahan untuk beberapa operasi. MCU dengan pemproses RISC termasuk MCU AVR daripada Atmel, PIC16 dan PIC17 MCU daripada Microchip, dan lain-lain.

Pada pandangan pertama, MCU dengan pemproses RISC sepatutnya mempunyai lebih banyak lagi prestasi tinggi berbanding CISC MK pada frekuensi jam bas dalaman yang sama. Walau bagaimanapun, secara praktikalnya isu produktiviti adalah lebih kompleks dan samar-samar.

Rajah.2

Seni bina Harvard hampir tidak digunakan sehingga lewat 70-an, sehingga pengeluar MK menyedari bahawa ia memberikan kelebihan tertentu kepada pemaju sistem autonomi pengurusan.

Hakikatnya, berdasarkan pengalaman menggunakan MPS untuk mengawal pelbagai objek, untuk pelaksanaan kebanyakan algoritma kawalan, kelebihan seni bina von Neumann seperti fleksibiliti dan serba boleh tidak mempunyai. amat penting. Analisis program sebenar kawalan menunjukkan bahawa jumlah memori data MK yang diperlukan digunakan untuk menyimpan keputusan pertengahan, sebagai peraturan, adalah susunan magnitud kurang daripada jumlah memori program yang diperlukan. Di bawah keadaan ini, penggunaan ruang alamat tunggal membawa kepada peningkatan dalam format arahan disebabkan oleh peningkatan dalam bilangan bit untuk menangani operan. Penggunaan memori data yang berasingan dan kecil membantu mengurangkan panjang arahan dan mempercepatkan pencarian maklumat dalam memori data.

Di samping itu, seni bina Harvard menyediakan lebih banyak lagi kelajuan tinggi pelaksanaan program berbanding von Neumann kerana kemungkinan pelaksanaan operasi selari. Pengambilan arahan seterusnya boleh berlaku serentak dengan pelaksanaan yang sebelumnya, dan tidak perlu menghentikan pemproses semasa arahan itu diambil. Kaedah pelaksanaan operasi ini membolehkan pelaksanaan pelbagai arahan dalam bilangan kitaran jam yang sama, yang memungkinkan untuk lebih mudah menentukan masa pelaksanaan kitaran dan bahagian kritikal program.

Kebanyakan pengeluar MCU 8-bit moden menggunakan seni bina Harvard. Walau bagaimanapun, seni bina Harvard tidak cukup fleksibel untuk melaksanakan beberapa prosedur perisian. Oleh itu, perbandingan mikropengawal yang dibuat menggunakan seni bina yang berbeza harus dijalankan berhubung dengan aplikasi tertentu.

seni bina RISC melibatkan pelaksanaan dalam komputer satu set perintah mudah tetapi kerap digunakan yang dikurangkan, yang memungkinkan untuk memudahkan perkakasan pemproses dan dengan itu dapat meningkatkan prestasinya.

Apabila menggunakan seni bina RISC, pilihan set arahan dan struktur pemproses (mikropemproses) bertujuan untuk memastikan arahan dalam set dilaksanakan dalam satu kitaran mesin pemproses. Subrutin menyediakan operasi yang lebih kompleks tetapi jarang ditemui.

Dalam komputer dengan RISC Kitaran mesin ialah masa di mana dua operan diambil daripada daftar, operasi dilakukan dalam ALU, dan hasilnya disimpan dalam daftar. Kebanyakan pasukan dalam RISC adalah arahan cepat daripada jenis "daftar-daftar" dan dilaksanakan tanpa mengakses OP. Akses kepada OP disimpan hanya dalam arahan untuk memuatkan daftar dari memori dan menyimpannya dalam OP. Untuk ini menjadi mungkin, pemproses mesti mengandungi bilangan daftar kongsi yang cukup besar.

Terima kasih kepada ciri ciri seni bina RISC - set arahan yang dikurangkan (biasanya tidak lebih daripada 50-100), sebilangan kecil(biasanya 2-3) cara mudah menangani (kebanyakannya mendaftar), sebilangan kecil format mudah pasukan dengan saiz tetap dan tujuan fungsi bidang mereka - peranti kawalan pemproses dipermudahkan, yang dalam kes ini dilakukan tanpa tahap kawalan mikroprogram dan memori kawalan, dan unit kawalannya boleh dilaksanakan pada "logik litar".

Pengurangan dalam bilangan arahan yang dilaksanakan dan ciri-ciri lain seni bina RISC yang dinyatakan di atas membawa kepada penyederhanaan struktur pemproses yang begitu ketara sehingga menjadi mungkin untuk melaksanakannya pada satu cip bersama-sama dengan fail daftar dan cache yang besar.

Sebilangan besar daftar, terutamanya jika ada yang menyediakannya penggunaan yang cekap"mengoptimumkan pengkompil", membolehkan anda mengurangkan akses kepada OP kepada had dengan menyimpan hasil perantaraan dalam daftar, memindahkan operan daripada satu program ke program lain atau subrutin melalui daftar, dan enggan memindahkan untuk menyimpan kandungan daftar dalam OP semasa gangguan.

Ciri seni bina RISC ialah mekanismenya tingkap daftar bertindih, direka untuk mengurangkan bilangan akses kepada OP dan pemindahan antara pendaftaran, yang membantu meningkatkan prestasi komputer.

Prosedur diperuntukkan secara dinamik kumpulan kecil daftar tetap panjang (tetingkap daftar). Tetingkap prosedur yang dilaksanakan secara berurutan bertindih, menjadikannya mungkin untuk memindahkan parameter dari satu prosedur ke prosedur yang lain. Apabila prosedur dipanggil, pemproses beralih untuk bekerja dengan tetingkap daftar lain, tanpa perlu memindahkan kandungan daftar ke memori.



Tetingkap ini terdiri daripada tiga subkumpulan daftar (Rajah 9.21). Subkumpulan pertama mengandungi parameter yang dihantar kepada prosedur ini daripada pemanggilnya, dan keputusan untuk prosedur panggilan apabila kembali kepadanya. Subkumpulan kedua mengandungi pembolehubah prosedur tempatan. Yang ketiga, sebagai penampan untuk pertukaran dua hala antara prosedur ini dan prosedur seterusnya yang dipanggilnya, memindahkan parameter daripada yang ini kepada yang terakhir, yang seterusnya, menerima hasil daripada prosedur yang dipanggil melalui penimbal ini. Oleh itu, subkumpulan yang sama untuk prosedur yang diberikan ialah daftar simpanan sementara, dan untuk yang seterusnya ialah daftar parameter. Tetingkap berasingan, boleh diakses oleh semua prosedur program, diperuntukkan untuk pembolehubah globalnya.

Pada masa ini, beberapa mikropemproses dengan seni bina RISC telah dikeluarkan di luar negara. Contohnya ialah stesen berprestasi tinggi berdasarkan mikropemproses Alpha 21264, mikropemproses untuk WindowsCE Intel StrongARM.

Walaupun permulaan penggunaan seni bina RISC dalam komputer yang dihasilkan secara industri, perbincangan diteruskan mengenai kelebihan dan kekurangan seni bina ini. Yang terakhir, khususnya, termasuk panjang kod program yang lebih besar selepas penyusunan berbanding dengan panjang kod mesin seni bina konvensional. Sebagai contoh, apabila meniru arahan x86, secara purata, setiap arahan memerlukan lima hingga enam arahan daripada mesin dengan seni bina RISC. Walau bagaimanapun, seperti yang ditunjukkan oleh kajian, keuntungan dalam kelajuan pelaksanaan arahan melebihi kerugian daripada memanjangkan kod objek program.

Pada tahun 1989 Intel berjaya mencipta mikropemproses cip tunggal 80860 berdasarkan seni bina RISC, yang boleh dikatakan setara silikon superkomputer Grey-1.

Klasifikasi seni bina mikropemproses

Pembangunan seni bina komputer, yang bertujuan untuk meningkatkan prestasi mereka, dalam banyak kes mengikuti laluan meningkatkan kerumitan pemproses dengan mengembangkan sistem (set) arahan, memperkenalkan perintah kompleks yang melaksanakan prosedur mendekati primitif bahasa peringkat tinggi, meningkatkan bilangan kaedah pengalamatan yang digunakan, dsb.

Walau bagaimanapun, pengembangan dan kerumitan set arahan juga menimbulkan beberapa kesan sampingan yang tidak diingini.

Memperluas set arahan, meningkatkan bilangan kaedah pengalamatan, dan memperkenalkan perintah kompleks disertai dengan peningkatan panjang kod arahan, terutamanya kod operasi, yang boleh membawa kepada penggunaan "kod operasi mengembangkan" dan peningkatan dalam bilangan format arahan. Ini merumitkan dan memperlahankan proses penyahkodan kod operasi dan prosedur pemprosesan arahan lain. Kerumitan prosedur pemprosesan arahan yang semakin meningkat memaksa seseorang untuk menggunakan peranti kawalan mikroprogram dengan mengawal ingatan bukannya unit kawalan yang lebih pantas dengan logik “keras” (“litar”).

Meningkatkan kerumitan pemproses menjadikannya lebih sukar atau bahkan mustahil untuk melaksanakannya pada satu cip litar bersepadu, yang, dengan mengurangkan panjang interkoneksi, akan memudahkan untuk mencapai prestasi tinggi.

Analisis kod program yang dijana oleh penyusun bahasa peringkat tinggi telah menunjukkan bahawa hanya satu set terhad perintah mudah format "daftar, daftar -> daftar" dan "daftar<->memori." Penyusun tidak dapat menggunakan arahan yang kompleks dengan cekap. Pemerhatian inilah yang menyumbang kepada pembentukan konsep pemproses dengan set arahan yang dikurangkan, yang dipanggil pemproses RISC.

Satu lagi keadaan yang sebenarnya membawa kepada kemunculan pemproses RISC ialah pembangunan seni bina pemproses saluran paip jenis Cray. Pemproses ini menggunakan set arahan berasingan untuk bekerja dengan memori dan set arahan berasingan untuk menukar maklumat dalam daftar pemproses. Setiap arahan tersebut dibahagikan secara seragam kepada sebilangan kecil peringkat dengan masa pelaksanaan yang sama (mengambil arahan, menyahkod arahan, melaksanakan, merekodkan hasilnya), yang memungkinkan untuk membina saluran paip pemproses yang berkesan yang mampu menghasilkan hasil pelaksanaan arahan seterusnya setiap kitaran jam.

Walau bagaimanapun, perlaksanaan arahan secara bersambung telah menimbulkan masalah yang berkaitan dengan data dan kebergantungan kawalan antara arahan yang dilancarkan secara berurutan ke dalam saluran paip. Sebagai contoh, jika arahan seterusnya menggunakan hasil daripada yang sebelumnya, maka pelaksanaannya adalah mustahil semasa beberapa kitaran jam yang diperlukan untuk mendapatkan hasil ini. Masalah yang sama timbul apabila melaksanakan arahan lompat bersyarat, apabila data di mana lompatan dibuat belum lagi sedia pada masa arahan lompat bersyarat dinyahsulit.

Masalah ini diselesaikan sama ada oleh pengkompil, yang menetapkan susunan perintah dijalankan dalam saluran paip dan memasukkan arahan "Tiada operasi" apabila arahan seterusnya tidak dapat dilancarkan, atau oleh perkakasan pemproses khas yang memantau kebergantungan antara arahan dan menghapuskan konflik.

Selepas pemisahan pemproses RISC ke dalam kelas yang berasingan, pemproses dengan set arahan tradisional mula dipanggil pemproses CISC dengan set arahan penuh. Sebagai peraturan, dalam pemproses ini arahan mempunyai banyak format yang berbeza dan memerlukan bilangan sel memori yang berbeza untuk perwakilannya. Ini menentukan jenis arahan semasa penyahsulitannya semasa pelaksanaan, yang merumitkan peranti kawalan pemproses dan menghalang kekerapan jam daripada meningkat ke tahap yang boleh dicapai dalam pemproses RISC pada asas elemen yang sama.

Jelas sekali, pemproses RISC berkesan dalam aplikasi tersebut di mana kaedah struktur boleh digunakan secara produktif untuk mengurangkan masa capaian kepada RAM. Jika program menjana urutan rawak alamat akses memori dan setiap unit data hanya digunakan untuk melaksanakan satu arahan, maka prestasi pemproses sebenarnya ditentukan oleh masa yang diperlukan untuk mengakses memori utama. Dalam kes ini, menggunakan set arahan yang dikurangkan hanya mengurangkan kecekapan, kerana ia memerlukan pemindahan operan antara memori dan daftar dan bukannya melaksanakan memori, memori - arahan memori. Pengaturcara mesti mengambil kira keperluan untuk penempatan tempatan data yang diproses, supaya apabila memindahkan antara tahap memori, jika boleh, semua data dalam blok data yang dipindahkan mengambil bahagian dalam pemprosesan. Jika program ditulis sedemikian rupa sehingga data diletakkan secara huru-hara dan hanya sebahagian kecil daripadanya digunakan dari setiap blok data yang dipindahkan, maka kelajuan pemprosesan akan menjadi perlahan beberapa kali kepada kelajuan memori utama. Sebagai contoh, kami membentangkan dalam Jadual 1.1 keputusan pengukuran prestasi mikropemproses Alpha 21066 233 MHz apabila melaksanakan transformasi Hadamard pada n = 8 - 20.

Jadual 1.1 Prestasi mikropemproses Alpha 2I066 semasa melakukan transformasi Hadamard

Contoh menunjukkan bahawa selagi data berada dalam cache pada cip, prestasi adalah baik. Sebaik sahaja volum data melebihi saiz memori cache dan akses memori pergi ke alamat yang diagihkan secara "rata" ke atas volum, prestasi menurun lebih daripada 7 kali ganda.

Pembangunan mikropemproses berlaku dengan keinginan berterusan untuk mengekalkan kesinambungan perisian (perisian) dan meningkatkan produktiviti dengan menambah baik seni bina dan meningkatkan kekerapan jam. Mengekalkan kesinambungan perisian dan meningkatkan produktiviti, secara amnya, bercanggah. Pemproses dengan set arahan x86, diklasifikasikan sebagai pemproses CISC, mempunyai kelajuan jam yang lebih rendah berbanding mikropemproses daripada pengeluar pemproses RISC terkemuka. Terdapat aplikasi di mana prestasi mikropemproses x86 jauh lebih rendah daripada pemproses RISC yang dilaksanakan pada asas elemen yang sama. Walau bagaimanapun, keupayaan untuk menggunakan perisian yang serasi untuk generasi yang berbeza pemproses x86 yang dikeluarkan sejak sedekad lalu memberikan mereka kedudukan dominan yang stabil dalam pasaran.

Pada masa ini, berdasarkan perkembangan perintis NexGen dan AMD, yang diambil oleh Intel, percubaan telah dibuat untuk menyelesaikan masalah peningkatan prestasi dalam seni bina x86. Dalam perkembangan terkini mereka, syarikat-syarikat ini, sambil mengekalkan kesinambungan dalam sistem arahan dengan mikropemproses CISC keluarga x86, mencipta peranti baharu menggunakan elemen seni bina RISC. Contoh pendekatan ini ialah mikropemproses Nx586 (NexGen), K5, K6 (AMD), Pentium PRO, Pentium II (Intel), menggunakan konsep seni bina decoupled dan teras RISC. Penterjemah perkakasan dibina ke dalam mikropemproses, menukar arahan x86 kepada perintah pemproses RISC. Dalam kes ini, satu arahan x86 boleh menjana sehingga empat perintah pemproses RISC. Pelaksanaan arahan berlaku seperti dalam pemproses superscalar yang dibangunkan. Syarikat Intel menggunakan pendekatan ini dalam mikropemproses Pentium Pro, yang sangat mengukuhkan kedudukannya dengan latar belakang kemajuan dalam seni bina RISC.

Pemproses superscalar

  • Terjemahan

Nota penterjemah. Dalam artikel asal, penulis (salah seorang daripada mereka adalah perintis pemproses RISC D. Patterson) berhujah tentang keperluan untuk membangunkan ISA terbuka (seni bina set arahan, set arahan pemproses) dan produk berdasarkannya. Hujah yang dikemukakan adalah untuk merangsang pembangunan bidang pengkomputeran dan niche ekonomi di mana syarikat komersial tidak berminat atau tidak cukup fleksibel. Ia adalah peringatan tentang kejayaan piawaian terbuka dan perisian percuma.

Saya menemui versi lanjutan artikel ini (serta artikel balas daripada wakil ARM dan perenggan balas balas daripada penulis!) dalam Laporan Mikropemproses (MPR) edisi Ogos. Akses kepada MPR adalah terhad dan meluas hanya kepada pelanggan, tetapi akses terbuka Terdapat laporan asal yang disiarkan di laman web Universiti Berkeley. Saya menawarkan terjemahannya di bawah.

Set Arahan Harus Percuma: Kes Untuk RISC-V oleh Krste Asanović dan David A. Patterson. Jabatan EECS, Universiti California, Berkeley - Laporan Teknikal No. UCB/EECS-2014-146 www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-146.html

Notis hak cipta dan penafian

Hak Cipta 2014, oleh pengarang.
Hak cipta terpelihara.
Kebenaran untuk membuat salinan digital atau cetak bagi semua atau sebahagian daripada karya ini untuk kegunaan peribadi atau bilik darjah diberikan tanpa bayaran dengan syarat salinan tidak dibuat atau diedarkan untuk keuntungan atau keuntungan komersial dan salinan tersebut mengandungi notis ini dan yang penuh petikan di muka surat pertama. Untuk menyalin sebaliknya, untuk menerbitkan semula, untuk menyiarkan pada pelayan atau untuk mengedarkan semula ke senarai, memerlukan kebenaran khusus terlebih dahulu.



Sistem tersuai pada cip (SoC), di mana pemproses dan temboloknya hanya menduduki sebahagian kecil daripada cetakan, semakin menjadi-jadi di mana-mana; susah nak jumpa hari ni peranti elektronik, yang tidak menggunakan pemproses sebagai sebahagian daripada SoC. Oleh itu, lebih banyak syarikat mereka bentuk cip yang termasuk pemproses berbanding sebelum ini. Memandangkan revolusi yang telah dibawa oleh piawaian terbuka dan perisian terbuka - seperti protokol rangkaian TCP/IP dan sistem pengendalian Linux - mengapakah salah satu antara muka yang paling penting kekal proprietari?

Hujah secara percuma, buka ISA

Sudah tentu, beberapa set arahan pemproses (ISA, seni bina set arahan bahasa Inggeris) mungkin menjadi hak milik atas sebab sejarah dan komersial. Walau bagaimanapun, tidak ada satu pepejal teknikal sebab untuk menjelaskan kekurangan pilihan percuma dan terbuka.
  1. Ini bukan kesilapan atau ketinggalan. Syarikat yang memiliki ISA yang berjaya, seperti ARM, IBM, dan Intel, memegang paten mengenai keanehan set arahan mereka, yang menghalang orang lain daripada menggunakannya tanpa lesen 1 . Rundingan untuk penggunaan lepas 6-24 bulan dan boleh menelan belanja mana-mana dari $1 juta hingga $10 juta, yang tidak termasuk organisasi akademik dan sesiapa sahaja yang memerlukan jumlah pengeluaran yang kecil sahaja daripada proses 2 . Lesen dari ARM tidak membenarkan anda untuk mereka bentuk teras sendiri; anda hanya menerima hak untuk menggunakan mereka reka bentuk (hanya kira-kira 15 syarikat besar mempunyai hak untuk mencipta teras ARM baharu). Malah "OpenPOWER" ialah oxymoron; anda dikehendaki membayar IBM untuk menggunakan ISA ini. Munasabah dari sudut pandangan perniagaan, amalan yang serupa pelesenan menyekat persaingan dan inovasi dengan menghalang ramai daripada mereka bentuk dan berkongsi kernel mereka sendiri yang mematuhi ISA.
  2. Ini bukan kerana pemilik ISA sendiri menghasilkan sebahagian besar perisian untuk sistem mereka. Walaupun saiz ekosistem perisian yang telah berkembang di sekitar ISA yang popular, bahagian terbesar perisian untuk mereka ditulis oleh orang luar.
  3. Syarikat-syarikat ini tidak memiliki pengetahuan suci yang diperlukan untuk mewujudkan ISA yang mencukupi. Ia adalah banyak kerja, tetapi ramai orang hari ini boleh mereka bentuk satu set arahan.
  4. ISA yang paling popular bukanlah yang paling elegan. Kedua-dua 80x86 dan ARM tidak dianggap sebagai piawaian reka bentuk yang baik.
  5. Kawalan syarikat tidak diperlukan untuk mengesahkan pematuhan ISA. Organisasi terbuka membangunkan mekanisme untuk mengesahkan keserasian perkakasan bertahun-tahun yang lalu. Contoh: standard titik terapung IEEE 754, Ethernet, PCIe. Jika ini tidak begitu, piawaian IT terbuka tidak akan begitu popular.
  6. Akhirnya, tiada jaminan bahawa ISA proprietari akan bertahan lama. Jika sebuah syarikat bangkrut dan hilang, ia mengambil ISA dengannya. Kematian DEC menamatkan pembangunan set arahan Alpha dan VAX.

Ambil perhatian bahawa ISA sebenarnya adalah spesifikasi antara muka, bukan pelaksanaan. Terdapat tiga pendekatan untuk melaksanakan antara muka:

1. Peribadi ditutup, serupa dengan Apple iOS.
2. Sumber terbuka berlesen, seperti Wind River VxWorks.
3. Percuma dan terbuka, di mana pengguna boleh menukar dan berkongsi, seperti yang dilakukan di Linux.

ISA proprietari dalam amalan membolehkan anda bekerja dengan dua pendekatan pertama, tetapi anda memerlukan ISA sumber terbuka percuma untuk menyokong ketiga-tiga pendekatan.

Oleh itu, kami menyimpulkan bahawa industri akan mendapat manfaat daripada ISA sumber terbuka yang boleh didapati secara percuma seperti mana ia telah mendapat manfaat daripada pembangunan perisian sumber terbuka percuma. Sebagai contoh, ini akan mencipta pasaran terbuka yang benar-benar bebas untuk reka bentuk pemproses, yang kini terhalang oleh paten pada kebiasaan ISA.

Ini boleh menyebabkan:

1. Inovasi melalui persaingan dalam pasaran bebas banyak pereka, termasuk pelaksanaan ISA terbuka dan tertutup.
2. Reka bentuk teras terbuka umum, yang akan mengakibatkan pengurangan masa ke pasaran, pengurangan kos penggunaan semula, lebih sedikit kesilapan kerana perhatian ramai orang 3, dan dalam ketelusan, yang, sebagai contoh, akan menyukarkan agensi kerajaan untuk melaksanakan pintu belakang rahsia.
3. Pemproses tersedia untuk lebih peranti, yang akan membantu membangunkan Internet Perkara (IoT), dengan kos kira-kira satu dolar.

Hujah untuk RISC sebagai gaya untuk ISA terbuka yang percuma

Untuk mana-mana ISA diterima oleh komuniti sumber terbuka, kami percaya ia mesti mempunyai sejarah penggunaan komersial yang berjaya. Soalan pertama ialah apakah gaya ISA yang menunjukkan sejarah sedemikian? Sepanjang 30 tahun yang lalu, sejarah tidak mengetahui satu pun kejayaan timbunan seni bina ( Nota penterjemah: kenyataan yang pelik, memandangkan kejayaan Java bytecode dan .NET CLI - stack architectures). Kecuali dalam segmen aplikasi DSP (pemprosesan isyarat digital), VLIW juga gagal: Multiflow melayang, dan Itanium, walaupun berbilion dolar dalam pelaburan daripada HP dan Intel, tidak menerima pengiktirafan. Selama beberapa dekad sekarang, tiada satu pun yang baru CISC ISA tidak berjaya. Seni bina CISC yang masih hidup menterjemah arahan kompleks mereka kepada ISA yang lebih mudah, yang sangat masuk akal untuk menjalankan pangkalan kod warisan yang berharga. ISA baharu, mengikut definisi, tidak akan mempunyai asas sedemikian, jadi kos perkakasan tambahan dan penggunaan kuasa yang diperlukan untuk penyiaran sukar untuk dibenarkan: mengapa tidak menggunakan ISA yang lebih mudah sahaja? RISC Set arahan stor beban seperti telah diketahui sekurang-kurangnya 50 tahun, sejak era CDC 6600 Seymour Cray. Walaupun 80x86 memenangi perang PC, RISC menguasai tablet dan telefon era pasca PC. Lebih daripada 10 bilion ARM telah dijual pada 2013, berbanding 0.3 bilion x86s. Mengulangi apa yang kami katakan pada tahun 19804, kami percaya bahawa RISC adalah pilihan terbaik untuk ISA percuma dan terbuka.

Selain itu, RISC ISA baharu mungkin lebih baik daripada pendahulunya jika kesilapan mereka diambil kira semasa pembangunannya:

  1. Terdapat terlalu banyak pengecualian: kekurangan arahan muat/simpan untuk bait dan separuh perkataan dalam ISA Alpha pertama dan kekurangan muatan/simpan untuk nombor titik terapung dalam MIPS I.
  2. Menghidupkan lebihan: peralihan terbina dalam dalam arahan ARM dan tetingkap daftar SPARC.
  3. Kesan butiran seni bina mikro pada ISA: cawangan tertunda dalam MIPS dan SPARC, halangan perangkap untuk nombor titik terapung pada Alpha.

Untuk memenuhi keperluan pasaran terbenam, RISC malah menyediakan penyelesaian kepada masalah saiz kod: ARM Thumb dan MIPS16 menambah format 16-bit untuk menjadikan kod lebih pendek daripada 80x86. Oleh itu, terdapat persetujuan meluas mengenai rupa RISC ISA yang baik secara amnya.

Hujah untuk menggunakan RISC ISA terbuka percuma sedia ada

Sudah ada tiga RISC ISA 5 percuma dan sumber terbuka:
  • SPARC V8 - untuk kredit Sun Microsystems, mereka membuat SPARC V8 piawaian IEEE pada tahun 1994.
  • OpenRISC ialah projek sumber terbuka berlesen GNU yang dimulakan pada tahun 2000, dengan ISA 64-bit siap pada tahun 2011.
  • RISC-V - pada tahun 2010, sebahagiannya disebabkan oleh had IP ARM dan kekurangan mod 64-bit, dan juga disebabkan oleh keanehan umum ARM v7, kami dan pelajar kami Andrew Waterman dan Yunsup Lee membangunkan RISC-V 6 (disebut "RISC -5") untuk tujuan penyelidikan dan pengajaran kami dan telah mengeluarkannya di bawah lesen BSD.

Memandangkan ia biasanya mengambil masa bertahun-tahun untuk menggilap mata yang lebih halus—OpenRISC mengambil masa 11 tahun untuk matang, manakala RISC-V mengambil masa 4 tahun—ia adalah lebih sesuai untuk bermula dengan ISA sedia ada daripada membentuk jawatankuasa dan bermula dari awal. Semua RISC adalah serupa, jadi mana-mana daripada mereka boleh menjadi calon yang baik.

Memandangkan ISA boleh bertahan selama beberapa dekad, adalah perlu untuk mengekstrapolasi dan menerangkan landskap masa depan terlebih dahulu teknologi maklumat, untuk memahami ciri yang mungkin penting untuk memudahkan proses keutamaan. Kemungkinan besar, tiga platform akan diguna pakai: IoT - berbilion peranti murah dengan alamat IP dan akses Internet; 2) peribadi peranti mudah alih, seperti telefon moden dan tablet; 3) pusat data (Komputer Skala Gudang, WSC). Adalah mungkin untuk mempunyai ISA yang berbeza untuk setiap jenis platform, tetapi kehidupan akan menjadi lebih mudah jika ada di mana-mana sahaja. Gambar masa depan ini menawarkan empat keperluan utama untuknya.

1. Format ISA asas tambah sambungan 7. Untuk meningkatkan kecekapan dan mengurangkan kos, sistem SoC menambah pemecut khusus aplikasi mereka sendiri. Untuk mencapai matlamat ini, dan juga untuk mengekalkan asas kod yang stabil, ISA terbuka percuma mesti mempunyai: a) teras kecil arahan yang diketahui oleh pengkompil dan OS, b) sambungan standard tetapi pilihan untuk senario peribadi yang kerap menyesuaikan SoC kepada aplikasi tertentu, c) ruang untuk kod arahan baharu sepenuhnya untuk operasi pemecut.

2. Pengekodan perintah padat. Kurang kod adalah wajar kerana sensitiviti harga aplikasi IoT kepada jumlah memori yang digunakan.

3. Pengiraan kepersisan empat kali ganda (QP, kepersisan empat kali ganda) pada nombor titik terapung sebagai tambahan kepada ketepatan dua kali ganda dan tunggal. Sesetengah aplikasi yang berjalan di pusat data hari ini memproses volum data yang besar sehinggakan mereka sudah menggunakan perpustakaan perisian untuk QP.

4. Pengalamatan 128-bit sebagai tambahan kepada 32- dan 64-bit. Had memori peranti IoT bermakna pengalamatan 32-bit akan kekal relevan untuk masa yang lama. Alamat 64-bit adalah standard de facto untuk semua orang sistem yang besar. Walaupun industri WSC tidak memerlukan semua 2,128 bait, adalah munasabah bahawa dalam tempoh sedekad bilangan yang melebihi 2,64 (16 exabait) akan diperlukan untuk menangani storan SSD. Saiz ruang alamat terhad adalah salah satu pepijat ISA yang sukar untuk dibetulkan, 8 dan adalah bijak untuk merancang untuk alamat yang lebih besar sekarang.

Jadual berikut meringkaskan maklumat tentang tiga ISA sumber terbuka percuma berdasarkan empat kriteria ini, serta ketersediaan sokongan pengkompil dan OS port.

Hujah untuk RISC-V sebagai ISA Terbuka yang Percuma

Komuniti kita perlu bersatu di belakang satu ISA untuk menguji bahawa ISA yang bebas dan terbuka boleh berfungsi secara praktikal. Hanya RISC-V yang memenuhi keempat-empat keperluan. Ia juga 10 hingga 20 tahun lebih muda daripada RISC lain, jadi kami dapat menganalisis dan membetulkan pepijat mereka, seperti slot kelewatan cawangan SPARC dan OpenRISC. Oleh itu, sistem arahan RISC-V adalah mudah dan jelas (lihat jadual 4 dan 5 artikel asal, serta www.riscv.org). Sebagai tambahan kepada fakta bahawa ISA yang lain tidak memenuhi banyak keperluan, terdapat persoalan tentang fakta bahawa SPARC V9 64-bit adalah proprietari dan OpenRISC telah kehilangan momentum.
RISC-V masih mempunyai banyak momentum. Senarai jadual 1 pelbagai kumpulan, mereka bentuk SoC berdasarkan RISC-V. Sebahagiannya disebabkan oleh penggunaan yang sangat produktif, sistem terbuka Reka bentuk perkakasan pahat 9, Universiti Berkeley sudah mempunyai 8 jenis cip dan pembangunan baharu sedang dijalankan. Jadual 2 menunjukkan bahawa teras RISC-V 64-bit tunggal mengambil separuh daripada kawasan, menggunakan separuh kuasa, dan masih lebih pantas daripada ARM 32-bit dengan saluran paip atau teknologi proses yang serupa. Walaupun sukar untuk menghapuskan berat sebelah kami sepenuhnya terhadap isu ini, kami percaya bahawa RISC-V ialah pilihan terbaik dan paling selamat untuk RISC ISA terbuka yang percuma. Oleh itu, kami akan menjalankan satu siri 10 bengkel untuk mengembangkan komuniti RISC-V dan, diilhamkan oleh contoh dalam Jadual 3, kami merancang untuk mewujudkan asas bukan keuntungan untuk tugas memperakui pelaksanaan dan untuk menyokong dan membangunkan ISA .

Kesimpulan

Hujah kami adalah lebih jelas untuk ISA terbuka daripada untuk OS terbuka, kerana ISA berubah dengan sangat perlahan, manakala inovasi algoritma dan aplikasi baharu memerlukan evolusi berterusan OS. Sama seperti TCP/IP, ia adalah standard antara muka yang lebih mudah untuk diselenggara dan dibangunkan daripada OS.

ISA terbuka telah digunakan sebelum ini, tetapi ia tidak pernah menjadi popular kerana kekurangan permintaan untuknya. Harga rendah dan penggunaan kuasa IoT, keinginan untuk mempunyai alternatif 80x86 untuk pusat data dan hakikat bahawa teras pemproses- hanya sebahagian kecil tetapi terdapat di mana-mana daripada semua SoC digabungkan menjadi tawaran yang boleh memenuhi permintaan yang muncul. RISC-V ditujukan terutamanya kepada SoC, dengan set teras arahan yang tidak pernah berubah memandangkan hayat idea RISC yang panjang, dengan subset sambungan pilihan yang berkembang perlahan, serta arahan unik yang tidak akan digunakan semula. Walaupun papan anjal pertama untuk RISC-V mungkin IoT atau WSC, matlamat kami adalah lebih luas: sama seperti Linux telah menjadi OS standard untuk kebanyakan peranti pengkomputeran, kami membayangkan RISC-V sebagai ISA standard untuk semua peranti pengkomputeran masa hadapan.