Pemproses seni bina risc berbeza kerana... Mikropemproses dengan seni bina RISC. Kaedah Menangani dan Jenis Perintah

Bahagian sebelumnya:

Penciptaan seni bina RISC

Seperti yang telah disebutkan beberapa kali, semua pemproses x86, penyelesaian Motorola, dan sebahagian besar cip yang dikeluarkan pada tahun 1980-an mempunyai seni bina CISC (Complex Instruction Set Computing). Gabungan semua ciri telah membawa kepada fakta bahawa cip telah menjadi bukan sahaja kompleks dan mahal untuk dihasilkan, tetapi juga telah mencapai siling prestasi mereka. Untuk meningkatkan lagi prestasi, adalah perlu untuk meningkatkan bilangan transistor, tetapi piawaian teknologi yang dikuasai tidak membenarkan penciptaan penyelesaian yang lebih kompleks. Intel menemui ini apabila mengeluarkan keluarga i486. Untuk meningkatkan prestasi, mereka membuat perubahan pada seni bina pemproses, menambah memori cache, pengganda dan saluran paip. Ringkasnya, "batu" ke-486 menerima beberapa "cip" seni bina RISC. Namun begitu, ke arah penciptaan platform RISC syarikat Amerika tidak mempunyai hubungan. Seni bina ini berhutang penciptaannya kepada jurutera Amerika David Patterson, yang mengetuai projek Berkeley RISC dari 1980 hingga 1984.

David Patterson - Bapa RISC

Idea awal, yang kemudiannya menjadi projek Berkeley RISC berskala besar, adalah kajian Motorola 68000. Semasa pemerhatian, ternyata program itu tidak menggunakan sebahagian besar arahan yang tertanam dalam pemproses. Sebagai contoh, sistem Unix hanya menggunakan 30% daripada arahan apabila disusun. Oleh itu, sebagai sebahagian daripada projek Berkeley RISC, ia telah dirancang untuk mencipta pemproses yang mengandungi hanya arahan yang paling diperlukan.

Selepas beberapa tahun penyelidikan dan pembangunan, beberapa sampel pemproses telah dikeluarkan, yang memberikan nama kepada keseluruhan seni bina. Singkatan RISC sendiri bermaksud Komputer Set Arahan Terhad (Dikurangkan), yang diterjemahkan sebagai "komputer dengan set arahan yang dikurangkan." “Set arahan yang dikurangkan” tidak bermakna bilangan arahan adalah kurang daripada bilangan arahan pada kristal CISC. Perbezaannya ialah mana-mana arahan platform RISC adalah mudah dan dilaksanakan dalam satu kitaran jam (sekurang-kurangnya ia harus dilaksanakan), manakala arahan RISC boleh mengambil beberapa dozen kitaran jam untuk dilaksanakan. Dalam kes ini, panjang arahan ditetapkan. Sebagai contoh, 32 bit. RISC juga mempunyai banyak lagi daftar tujuan am. Selain itu, seni bina ini dicirikan oleh saluran paip. Penggunaannya (bersama-sama dengan arahan yang dipermudahkan) yang membolehkan anda meningkatkan kekerapan jam pemproses RISC dengan berkesan.

Pasukan Projek RISC Berkeley

Penyelesaian sulung ialah RISC I dan RISC II - hasil idea Patterson dan projek RISC Berkeley. Yang pertama mengandungi lebih daripada 44,000 transistor dan beroperasi pada frekuensi 4 MHz. Apabila menjalankan program kecil, pemproses sedemikian secara purata dua kali lebih pantas daripada VAX 11/780 dan kira-kira empat kali lebih produktif daripada "batu" Zilog Z8000. RISC II berbeza daripada pendahulunya dalam bilangan arahan yang lebih besar: 39 berbanding 32. Ia lebih pantas. Kelebihannya berbanding pemproses VAX mencapai 200%, dan Motorola 68000 adalah kira-kira empat kali lebih perlahan dalam beberapa program.

Perlu diingat bahawa Berkeley RISC adalah sebahagian daripada projek yang lebih besar yang dipanggil VLSI. Ini juga termasuk projek MIPS Universiti Stanford, yang bermula pada tahun 1981.

pemproses MIPS

Ketua projek MIPS ialah saintis Universiti Stanford John Hannessy. Seperti Berkeley RISC, matlamat permulaan adalah untuk menyelidik dan mencipta pemproses yang akan menggunakan saluran paip dan set arahan yang dikurangkan. Seni bina penyelesaian MIPS juga menyediakan kehadiran blok tambahan dalam kristal: contohnya, modul untuk bekerja dengan ingatan, ALU integer (unit logik aritmetik) dan penyahkod arahan. Perbezaan antara pelan MIPS dan Berkeley RISC ialah penggunaan saluran paip lanjutan. Seni bina RISC, pada dasarnya, melibatkan penggunaan saluran paip, tetapi Hannessy pergi lebih jauh dan mencadangkan untuk memanjangkan saluran paip dalam pemproses sebanyak mungkin, iaitu, untuk "memecahkan" pelaksanaan satu operasi dengan lebih banyak lagi. Pendekatan ini membuka skop yang lebih besar untuk pengembangan kekerapan jam. Pada masa yang sama, memanjangkan saluran paip memastikan selari pelaksanaan arahan yang lebih cekap. Pada masa itu, penyejajaran adalah ciri tersendiri seni bina RISC, kerana tiada pemproses CISC melaksanakan fungsi ini sehingga kemunculan saluran paip. Sebagai contoh, dalam MIPS, seperti dalam RISC, satu arahan mungkin tidak menyelesaikan pelaksanaan apabila yang lain bermula. Dalam pemproses CISC, untuk mula melaksanakan satu arahan, pemprosesan yang lain perlu diselesaikan.

John Hannessy - pencipta seni bina MIPS dan kini presiden Universiti Stanford

Spesifikasi pemproses MIPS asal tidak termasuk sokongan untuk operasi asas seperti pendaraban dan pembahagian. Ini dilakukan dengan sengaja. Oleh itu, pemaju ingin menyingkirkan keperluan untuk menggunakan kunci saluran paip yang dipanggil. Penyekatan itu sendiri adalah penggantungan penghantar dalam kes di mana operasi pada peringkat tertentu penghantar tidak dapat diselesaikan dalam satu kitaran jam. Walau bagaimanapun, pelaksanaan pertama seni bina MIPS berfungsi dengan kunci dan juga menyokong operasi pendaraban dan pembahagian. Ia mengambil sedikit masa sebelum idea asal dilaksanakan dalam pemproses.

Pada tahun 1984, Hannessy meninggalkan Stanford University dan mengasaskan syarikat MIPS Computer Systems, yang mula menghasilkan pemproses dengan seni bina yang sama. Setahun kemudian, produk pertama syarikat itu dikeluarkan - "batu" 32-bit R2000. Ia menjadi model RISC pertama yang tersedia secara komersial dalam sejarah. Pada tahun 1988, pemproses generasi seterusnya yang dipanggil R3000 muncul. Berbanding dengan R2000, ia menerima sokongan untuk berbilang pemprosesan dan arahan dan cache data. "Tiga Ribu" ternyata berjaya secara komersial. Pemproses itu digunakan dalam sistem pelayan dan stesen kerja daripada syarikat seperti Silicon Graphics, DEC, Seiko Epson dan banyak lagi. Selain itu, R3000 menjadi nadi konsol permainan Sony PlayStation.

Pemproses MIPS R3000

Ia mengambil masa tiga tahun untuk membangunkan pemproses MIPS generasi akan datang. Pemproses R4000 telah diperkenalkan pada tahun 1991. Ia mempunyai seni bina 64-bit, coprocessor terbina dalam dan beroperasi pada kelajuan jam yang lebih tinggi daripada pendahulunya. Oleh itu, kekerapan minimum R4000 ialah 100 MHz. Arahan dan cache data ialah 8 KB setiap satu. Dua tahun kemudian, versi pemproses yang diubah suai dengan indeks R4400 telah dibentangkan. Kristal baharu mempunyai cache dua kali ganda dan menyokong cache tahap kedua yang lebih besar. Di samping itu, banyak pepijat apabila bekerja dalam mod 64-bit telah diperbaiki.

Anehnya, di sebalik kejayaan komersial pemprosesnya, MIPS mengalami masalah kewangan dan akhirnya dibeli oleh SGI dan dinamakan semula sebagai MIPS Technologies. Selepas itu, lesen untuk pengeluaran klon mula dikeluarkan kepada syarikat pihak ketiga. Oleh itu, syarikat QED (Quantum Effects Devices) mencipta pemproses MIPS murah yang digunakan dalam penghala Cisco. Dan NEC terlibat dalam pengeluaran "batu" VR4300, yang "didaftarkan" dalam konsol permainan Nintendo 64.

Pemproses NEC VR4300 digunakan dalam konsol Nintendo 64

Pada tahun 1994, pemproses R8000 muncul. Ia menjadi penyelesaian MIPS pertama dengan seni bina superscalar, yang membayangkan pelaksanaan selari arahan, dengan syarat pelaksanaan satu arahan tidak bergantung pada keputusan yang lain. Sebagai contoh, R8000 boleh memproses sehingga empat arahan setiap kitaran jam.

Pada Januari 1996, MIPS memperkenalkan pemproses generasi seterusnya yang dipanggil R10000. "Sepuluh Ribu" menggunakan seni bina superscalar yang sama seperti R8000, dan, sebenarnya, adalah versi yang diubah suai daripada pendahulunya. Pemproses juga mempunyai arahan dan cache data sebanyak 32 KB setiap satu dan beroperasi pada frekuensi 175 MHz atau 195 MHz. Pada tahun 1997, versi cip dengan frekuensi 250 MHz juga muncul. Tetapi walaupun pada 195 MHz, R10000 adalah salah satu pemproses terpantas pada zamannya.

Pemproses R10000 yang dikeluarkan oleh Toshiba

Malangnya, selepas pelancaran R10000, SGI meninggalkan seni bina MIPS. Semua kristal berikutnya adalah berdasarkan teras "sepuluh ribu" dan tidak mempunyai sebarang perbezaan asas berbanding dengannya. Sebagai contoh, pemproses R12000, yang diperkenalkan pada tahun 1998, menerima peringkat tambahan dalam perancangan dan pengendalian baris arahan yang lebih baik. Kelajuan jamnya ialah 270 MHz, 300 MHz atau 360 MHz. Selepas R12000, dua lagi generasi pemproses MIPS dikeluarkan: R14000 dan R16000. Mereka menerima sokongan untuk bas sistem yang lebih pantas, peningkatan frekuensi dan memori cache yang lebih besar. Sebagai contoh, R16000 boleh berjalan pada 700 MHz dan menyokong 64 KB arahan dan cache data.

Selepas ini, MIPS mula menjual lesen untuk seni bina 32-bit dan 64-bit MIPS32 dan MIPS64.

pemproses SPARC

Sun Microsystems juga memutuskan untuk membangunkan seni bina - SPARC (Scalable Processor ARChitecture). Jadi, jurutera mengambil inspirasi daripada projek Berkeley RISC. Dan David Patterson sendiri juga terlibat dalam projek itu sebagai perunding. Walau bagaimanapun, hasilnya ialah SPARC kelihatan lebih seperti seni bina MIPS. Sebagai contoh, set arahan platform juga tidak mempunyai arahan pendaraban dan pembahagian. Satu ciri seni bina SPARC ialah penggunaan tetingkap daftar, dengan bantuan proses memanggil fungsi dalam program sedikit berubah. Biasanya, apabila memanggil program, pemproses mengingati keadaannya (iaitu, ia mengingati keadaan beberapa umum dan tujuan khas), meneruskan untuk melaksanakan fungsi, dan kemudian kembali ke keadaan asalnya sebelum fungsi dipanggil. Dan dalam pemproses SPARC, apabila fungsi dipanggil, data yang diperlukan telah ditulis ke penghujung tetingkap daftar, dan tetingkap daftar itu sendiri dipindahkan di sekeliling fail supaya data berakhir pada permulaan tetingkap. Pendekatan ini, secara teori, memberikan lebih banyak lagi kelajuan tinggi kerja.

Pemproses SPARC V7 dikeluarkan oleh Fujitsu

Versi pertama seni bina dipanggil SPARC V7. Pemproses dengan nama yang sama berdasarkannya telah dihasilkan sehingga tahun 1992. Kemudian seni bina generasi seterusnya muncul - SPARC V8. Dia tidak mengalami sebarang perubahan drastik. Perbezaan utama ialah penambahan operasi darab dan bahagi, serta peningkatan prestasi aritmetik titik terapung. Seperti SPARC V7, SPARC V8 kekal sebagai seni bina 32-bit, di mana pemproses microSPARC dicipta. Ia tergolong dalam segmen Low-End dan digunakan dalam stesen kerja kecil dan sistem terbenam. Oleh syarikat Alat Texas dan Fujitsu juga mengeluarkan klon yang dipertingkatkan. Pemproses SuperSPARC menjadi penyelesaian yang lebih produktif.

Penciptaan seni bina generasi seterusnya yang dipanggil SPARC V9 sudah pun menjadi kerja seluruh organisasi, Jawatankuasa Seni Bina SPARC, yang, sebagai tambahan kepada Sun sendiri, termasuk syarikat seperti Texas Instruments, Fujitsu, Philips dan banyak lagi. Platform ini dilanjutkan kepada 64 bit dan superscalar dengan saluran paip 9 peringkat. SPARC V9 menyediakan penggunaan cache peringkat pertama, dibahagikan kepada arahan dan data dengan kapasiti 16 KB setiap satu, serta tahap kedua dengan kapasiti 512-4096 KB. Pelaksanaan seni bina adalah pemproses UltraSPARC dengan frekuensi 143-200 MHz.

Pemproses UltraSPARC II

UltraSPARC bukanlah satu-satunya pemproses dengan seni bina SPARC V9. Pada tahun 1997, UltraSPARC II telah diperkenalkan.

pemproses ARM

Sejarah pemproses ARM yang kini popular, atau lebih tepatnya seni bina ARM itu sendiri, bermula dengan Acorn Computers dan komputer BBC Micronya. Ia menggunakan "batu" MOS Technology 6502, tetapi prestasinya tidak mencukupi untuk mencipta desktop generasi seterusnya. Atas pelbagai sebab, pemproses lain yang tersedia juga tidak memenuhi keperluan Acorn, jadi syarikat itu mula berfikir tentang mencipta cipnya sendiri. Selepas mengkaji pelbagai seni bina, jurutera Acorn menggunakan pemproses RISC dan MOS Technology 6502 die yang sama sebagai asas.

Komputer Mikro BBC

Pemproses MOS, sebagai contoh, meminjam seni bina akses memori dan set arahannya. Setiap arahan telah ditambah dengan kod keadaan empat bit khas. Bergantung pada nilai kod (benar atau palsu), arahan itu boleh dilaksanakan atau tidak dilaksanakan. Ini memungkinkan untuk mengurangkan bilangan peralihan semasa menjalankan operasi yang menjejaskan prestasi seni bina saluran paip secara negatif. Pembangun juga termasuk dalam semakan awal pasukan seni bina yang melakukan beberapa operasi asas. Pendek kata, kami menyimpang sedikit daripada peraturan RISC. Walau bagaimanapun, ini akhirnya hanya meningkatkan prestasi pemproses.

Seni bina telah siap pada tahun 1985 dengan penciptaan pemproses ARM. Versi komersial pertama muncul pada tahun 1986 dan dipanggil ARM2. Berbanding dengan pemproses CISC, ARM2 adalah sangat mudah - ia mengandungi hanya 30,000 transistor. Pada masa yang sama, ia menggunakan sedikit tenaga dan pada masa yang sama agak produktif. Tidak lama kemudian, pemproses ARM muncul, yang mana 4 KB memori cache telah ditambahkan, yang meningkatkan lagi prestasi kristal.

Pemproses ARM2

Menjelang akhir 1980-an, Acorn tidak lagi membangunkan seni bina ARM sahaja - Apple menyertainya. Dalam hal ini, bahagian yang berurusan secara langsung dengan pemproses ARM telah diubah menjadi syarikat yang berasingan - Mesin RISC Lanjutan. Produk pertama syarikat baharu itu ialah teras pemproses ARM6 dan pemproses ARM610, yang digunakan dalam salah satu PDA pertama di dunia, Apple Newton.

Walau bagaimanapun, pemproses ARM tidak lagi dapat bersaing dengan penyelesaian CISC dari segi prestasi, dan pemproses dengan seni bina MIPS mendominasi segmen RISC. Kemudian ARM mengambil jalan yang berbeza. Syarikat itu mula meletakkan ARM6 sebagai teras terbenam yang boleh digunakan oleh mana-mana pengeluar pihak ketiga dalam pemproses mereka dengan sedikit wang. Dasar ini membuahkan hasil, dan teras ARM menjadi sangat popular, dan syarikat itu sendiri berjaya secara komersial.

Bersama DEC, seni bina telah dibangunkan untuk penyelesaian ARM yang lebih berkuasa yang dipanggil StrongARM, yang merupakan seni bina skalar klasik dengan saluran paip 5 peringkat. Seni bina mempunyai unit pengurusan memori dan arahan yang disokong dan cache data sebanyak 16 KB setiap satu.

Pemproses berasaskan StrongARM pertama, SA-110, telah diperkenalkan pada Februari 1996. Ia berjalan pada kelajuan jam 100 MHz, 160 MHz atau 200 MHz. "Rock" telah digunakan dalam Apple MessagePad 2000, serta sistem Acorn Computer Risc PC dan Eidos Optima. Sepanjang tahun 1996, SA-110 kekal sebagai pemproses mudah alih yang paling berkuasa.

Apple MessagePad 2000 menggunakan pemproses SA-110

Pada tahun 1997, hak untuk seni bina StrongARM telah dijual kepada Intel, yang mula membangunkan platform generasi seterusnya. Ia diperkenalkan pada tahun 2000, tetapi seni bina (atau lebih tepatnya pelaksanaan seni bina) mempunyai nama yang berbeza - Xscale. Platform telah menerima banyak perubahan. Sebagai contoh, panjang penghantar dinaikkan kepada 8 peringkat. Saiz cache untuk kedua-dua arahan dan data telah meningkat kepada 32 KB. XScale telah digunakan dalam peranti seperti RIM Blackberry, Dell Axim, telefon bimbit Motorola A780 dan peranti lain.

Pemproses PowerPC

Untuk menjadi tepat sekali, syarikat pertama yang mula membangunkan seni bina RISC ialah IBM. Kembali pada tahun 1974, pembangunan pemproses IBM 801 bermula, yang meletakkan asas pertama untuk platform ini. Dan projek Berkeley RISC akhirnya membentuk seni bina.

Pada awal 80-an, beberapa pemproses IBM untuk sistem terbenam menggunakan seni bina 801. Pemproses berdasarkannya juga "didaftarkan" dalam komputer IBM 9370.

Pada tahun 1985, IBM mula membangunkan seni bina RISC generasi akan datang. Projek itu dipanggil Projek Amerika. Pembangunan pemproses dan set arahannya berakhir pada tahun 1990. Kristal itu sendiri dipanggil POWER1 dan digunakan dalam pelayan dan stesen kerja IBM. Ia mempunyai tahap prestasi yang agak tinggi, tetapi mempunyai susun atur berbilang cip dan terdiri daripada 11 cip berbeza. Pada tahun 1992, IBM memperkenalkan versi bajet pemproses POWER1, yang dimuatkan ke dalam satu cip.

Pemproses POWER1. Malah, sebaliknya, chipset

Pada tahun 1993, generasi kedua seni bina POWER2 telah diperkenalkan. Satu persatu ditambah padanya blok tambahan operasi aritmetik-logik dan pengiraan titik terapung. Set arahan juga telah dikembangkan: sebagai contoh, operasi mengira punca kuasa dua nombor pada tahap perkakasan telah ditambah. Kelajuan jam pemproses berbeza daripada 55 MHz hingga 71 MHz, dan cache data dan arahan masing-masing adalah 256 KB dan 32 KB. Seperti pendahulunya, pemproses baharu mempunyai susun atur berbilang cip. Tetapi pada Mei 1994, versi cip tunggal juga dikeluarkan.

Walau bagaimanapun, sebelum pengeluaran POWER2, ​​​​IBM, bersama-sama dengan Apple dan Motorola, membentuk pakatan AIM dan bersetuju untuk mencipta seni bina yang lebih baik berdasarkan POWER. Ketiga-tiga syarikat mendapat manfaat, menerima salah satu pemproses RISC terpantas di pasaran. Seni bina yang dibangunkan bersama dipanggil PowerPC. Sebagai tambahan kepada set asas fungsi platform POWER, sokongan untuk operasi dalam dua mod (big-endian dan little-endian), arahan baharu untuk pengiraan titik terapung dan keserasian ke belakang dengan mod operasi 32-bit untuk seni bina 64-bit.

Pemproses PowerPC generasi pertama

Tidak seperti seni bina RISC yang lain, yang menduduki ceruk pasaran yang sempit, PowerPC diletakkan sebagai platform pesaing kepada x86. Tujuan utamanya ialah komputer peribadi. Oleh itu, pemproses berasaskan PowerPC telah digunakan dalam komputer untuk masa yang agak lama. Apple Macintosh- sehingga 2006.

Seni bina bersaing setanding dengan x86 sehingga 2001, tetapi selepas itu ia tidak dapat bersaing dengan pemproses Intel dan AMD. Walaupun begitu, pemproses berasaskan PowerPC telah digunakan dalam konsol permainan Sony PlayStation 3 dan Microsoft Xbox 360.

Konsol Sony PlayStation 3 dan Microsoft Xbox 360 dikuasakan oleh pemproses PowerPC

Pada tahun 90-an, IBM berjaya mengeluarkan generasi ketiga pemproses yang dipanggil POWER3, yang, sebenarnya, menjadi pelaksanaan seni bina PowerPC 64-bit. Cip dicipta dengan tumpuan ke arah penggunaan dalam pelayan dan stesen kerja, tetapi akhirnya aplikasi utamanya ialah sistem IBM RS/6000.

pemproses Alpha DEC

Seni bina DEC VAX sudah ketinggalan zaman dan pada awal 90-an syarikat mula berfikir tentang membangunkan platform RISCnya sendiri. Ia menjadi Alpha, dikeluarkan pada tahun 1994. Pemproses pertama ialah Alpha 21064, dengan nama kod EV4. Ia adalah acuan superscalar 64-bit dengan seni bina saluran paip. Iaitu, ia mempunyai reka bentuk RISC klasik. Pemproses DEC dibezakan oleh operasi semua unitnya yang berfungsi dengan baik. Jadi, pada kekerapan yang sama seperti "batu" lain, EV4 menunjukkan prestasi yang lebih tinggi. Bas luaran pemproses adalah 128-bit. Ia mempunyai 16 KB data dan cache arahan dan dihasilkan menggunakan teknologi CMOS-4. Kelajuan jam EV4 ialah 150 MHz atau 200 MHz. Tidak lama kemudian, pengubahsuaian muncul dipanggil 21064A, yang boleh beroperasi pada kelajuan sehingga 300 MHz, yang memberikan kristal itu gelaran pemproses terpantas pada masa itu. Aplikasi utama EV4 ialah pelayan dan stesen kerja.

Pemproses Alpha 21064

Alpha 21064A kekal sebagai model teratas DEC sehingga pemproses generasi seterusnya, 21164 (EV5), dikeluarkan. Ia mempunyai dua unit integer dan dua unit titik terapung. EV5 sudah mempunyai tiga tahap memori cache: dua terletak terus dalam pemproses, dan yang ketiga adalah luaran. Cache L1 dibahagikan kepada dua bahagian: cache data dan cache arahan sebanyak 8 KB setiap satu. Kelantangan cache tahap kedua ialah 96 KB. Kelajuan jam pemproses berbeza-beza daripada 266 MHz hingga 333 MHz. Alpha 21164 mengambil alih daripada Alpha 21064A dan merupakan pemproses terpantas sehingga keluaran Pentium Pro. Walau bagaimanapun, maklum balas DEC tidak lama lagi - syarikat mengeluarkan lebih banyak lagi pemproses yang berkuasa Alpha 21164A berjalan pada kelajuan jam yang lebih tinggi (sehingga 666 MHz). Pemproses telah digunakan dalam stesen kerja dan komputer pelayan daripada syarikat seperti Digital, Network Appliance dan Cray Research.

Pemproses Alpha 21264

Pada tahun 1996, pemproses DEC generasi seterusnya telah diperkenalkan - Alpha 21264 (EV6). Cip tersebut telah menerima beberapa perubahan penting berbanding model sebelum ini. Sebagai contoh, ia menyokong pelaksanaan arahan yang tidak tertib, yang memerlukan penyusunan semula lengkap kernel. Integer dan blok muat/simpan telah digabungkan menjadi satu modul Ebox dan blok titik terapung diperuntukkan ke dalam modul Fbox. Sebagai tambahan kepada blok itu sendiri, unit ini juga mengandungi fail daftar. Struktur memori cache sekali lagi menjadi dua peringkat - ia menggantikan organisasi cache tiga peringkat dalam Alpha 21164. Cache peringkat pertama mengekalkan pembahagian ke dalam memori untuk arahan dan untuk data. Isipadu setiap bahagian ialah 64 KB. Bagi cache tahap kedua, volumnya boleh berkisar antara 1 MB hingga 16 MB. Selain itu, pemproses menerima sokongan untuk ramalan cawangan. Dari masa ke masa, semakin banyak versi baru pemproses Alpha 21264 dikeluarkan, di mana, pertama sekali, kekerapan jam telah meningkat. Pengubahsuaian terkini ialah Alpha 21264E, yang beroperasi pada frekuensi 1250 MHz.

Malangnya, barisan pemproses Alpha 21264 menjadi DEC "bebas" terakhir dalam sejarah. Pada awal tahun 1998, DEC telah diisytiharkan muflis dan telah diambil alih oleh Compaq.

Seni bina Intel P5

Pemproses dengan seni bina RISC sebahagian besarnya menduduki niche khusus mereka, tetapi sistem desktop masih terus menggunakan kristal dengan seni bina x86. Perkembangan mereka berterusan, walaupun dengan beberapa perubahan.

Walaupun fakta bahawa Intel memasuki pasaran pemproses RISC dengan penyelesaian i860 dan i960, syarikat itu masih banyak bergantung pada cip x86. Generasi "batu" seterusnya ialah Pentium yang terkenal berdasarkan seni bina P5, yang dikeluarkan pada tahun 1993.

Banyak kerja telah dilakukan. Pertama, P5 menjadi superscalar. Seni bina dikendalikan menggunakan dua saluran paip, setiap satunya boleh melakukan dua operasi setiap kitaran jam. Kedua, bas data menjadi 64-bit, yang memungkinkan untuk memindahkan dua kali jumlah data setiap kitaran. Ketiga, cache data dan arahan dibahagikan kepada dua blok berasingan 8 KB setiap satu. Selain itu, unit ramalan cawangan telah ditambahkan pada pemproses, dan modul pengiraan titik terapung menjadi lebih produktif.

Pemproses Pentium pertama berjalan pada 60 MHz atau 66 MHz. Pada masa yang sama, operasi mereka memerlukan voltan 5 V, jadi mereka menjadi sangat panas. Juga, "tunggul" pertama menjadi terkenal kerana operasi unit titik terapung yang tidak betul, yang dalam beberapa kes menghasilkan hasil yang salah apabila membahagikan nombor. Oleh itu, Intel tidak lama lagi melancarkan pemproses dengan seni bina P54C yang diperbetulkan.

Pemproses Intel Pentium

P54C menjadi sejenis kerja pada kesilapan. Pengeluaran pemproses baharu telah dipindahkan kepada teknologi proses 0.6 mikron. Kristal itu sendiri kini beroperasi pada voltan 3.3 V, yang menyelesaikan masalah terlalu panas. Bagi perubahan pada peringkat seni bina, pengganda satu setengah telah ditambahkan pada P54C - mulai sekarang pemproses bekerja pada lebih banyak berfrekuensi tinggi daripada bas sistem. Kelajuan pemproses ialah 75 MHz, 90 MHz atau 100 MHz. P54C juga dipasang dalam penyambung Socket 5 atau Socket 7. Tidak seperti P5, yang hanya menyokong Socket 4. Seni bina P54C sendiri menerima kemas kini lain pada tahun 1995, apabila ia dipindahkan ke teknologi proses 350 nm. Ini membolehkan sekali lagi mengurangkan penggunaan kuasa kristal, serta meningkatkan kekerapan jamnya kepada 200 MHz.

1.1 Perbezaan utama antara seni bina CISC dan RISC

Dua seni bina set arahan utama yang digunakan oleh industri komputer pada peringkat perkembangan teknologi pengkomputeran sekarang (mengikut) ialah seni bina CISC dan RISC. Pengasas seni bina CISC boleh dianggap sebagai syarikat IBM dengan seni bina asas /360, yang terasnya telah digunakan sejak 1964 dan telah bertahan hingga ke hari ini, sebagai contoh, dalam kerangka utama moden seperti IBM ES/9000. peneraju dalam pembangunan mikropemproses c set penuh pasukan (CISC - Komputer Set Arahan Lengkap) dianggap sebagai Intel dengan siri x86 dan Pentiumnya. Seni bina ini adalah standard praktikal untuk pasaran mikrokomputer. Pemproses CISC dicirikan oleh: secara relatif bilangan kecil daftar tujuan am; sejumlah besar arahan mesin, beberapa daripadanya dimuatkan secara semantik serupa dengan pengendali bahasa peringkat tinggi pengaturcaraan dan dilaksanakan dalam banyak kitaran jam; sebilangan besar kaedah menangani; sebilangan besar format arahan pelbagai saiz bit; penguasaan format arahan dua alamat; kehadiran perintah pemprosesan jenis daftar-memori.

Asas seni bina stesen kerja dan pelayan moden adalah seni bina komputer dengan set arahan yang dikurangkan (RISC - Reduced Instruction Set Computer). Permulaan seni bina ini kembali kepada komputer CDC6600, yang pembangunnya (Thornton, Cray, dll.) menyedari kepentingan memudahkan set arahan untuk membina pantas komputer. S. Cray berjaya menerapkan tradisi memudahkan seni bina ini apabila mencipta siri superkomputer yang terkenal daripada Cray Research. Walau bagaimanapun, konsep RISC dalam erti kata modennya akhirnya dibentuk berdasarkan tiga projek penyelidikan komputer: pemproses 801 dari IBM, pemproses RISC dari Universiti Berkeley, dan pemproses MIPS dari Universiti Stanford.

Ciri-ciri lain seni bina RISC termasuk kehadiran fail daftar yang agak besar (pemproses RISC biasa melaksanakan 32 atau lebih daftar, berbanding 8 hingga 16 daftar dalam seni bina CISC), yang membolehkan lebih banyak data disimpan dalam daftar pada cip pemproses. masa dan memudahkan kerja pengkompil dalam memperuntukkan daftar kepada pembolehubah.

Untuk pemprosesan, sebagai peraturan, arahan tiga alamat digunakan, yang, sebagai tambahan kepada memudahkan penyahsulitan, memungkinkan untuk menyimpan bilangan pembolehubah yang lebih besar dalam daftar tanpa pemuatan semula berikutnya.

Pembangunan seni bina RISC sebahagian besarnya ditentukan oleh kemajuan dalam penciptaan pengoptimuman penyusun. Teknik kompilasi moden yang memungkinkan untuk memanfaatkan fail daftar yang lebih besar, organisasi saluran paip dan kelajuan pelaksanaan arahan yang lebih besar. Penyusun moden juga mengambil kesempatan daripada teknik pengoptimuman prestasi lain yang biasa ditemui dalam pemproses RISC: pelaksanaan cawangan tertunda dan pemprosesan superscalar, yang membolehkan berbilang arahan dilaksanakan pada masa yang sama.

Perlu diingatkan bahawa perkembangan terkini daripada Intel (bermaksud Pentium dan Pentium Pro), serta pesaingnya (AMD R5, Cyrix M1, NexGen Nx586, dll.) secara meluas menggunakan idea yang dilaksanakan dalam mikropemproses RISC, begitu banyak perbezaan antara CISC dan RISC semakin kabur. Walau bagaimanapun, kerumitan seni bina x86 dan set arahan kekal sebagai faktor utama yang mengehadkan prestasi pemproses berdasarkannya.

Kelebihan dan kekurangan seni bina Hewlett Packard PA-RISC

Asas untuk pembangunan produk Hewlett-Packard moden ialah seni bina PA-RISC. Ia telah dibangunkan oleh syarikat itu pada tahun 1986 dan sejak itu telah melalui beberapa peringkat pembangunannya berkat kejayaan teknologi bersepadu daripada reka bentuk berbilang cip kepada cip tunggal. Pada September 1992, Hewlett-Packard mengumumkan penciptaan pemproses superscalar PA-7100, yang sejak itu telah menjadi asas untuk rangkaian stesen kerja HP ​​9000 Series 700 dan keluarga pelayan perniagaan HP 9000 Series 800. Pada masa ini terdapat 33, 50 - dan pelaksanaan 99 MHz kristal PA-7100. Di samping itu, diubah suai, ditambah baik dalam banyak aspek, kristal PA-7100LC dengan frekuensi jam 64, 80 dan 100 MHz, dan PA-7150 dengan frekuensi jam 125 MHz, serta PA-7200 dengan frekuensi jam 90 dan 100 MHz telah dibebaskan. Syarikat itu sedang giat membangunkan pemproses HP 8000 generasi akan datang, yang akan beroperasi pada kelajuan jam 200 MHz dan menyediakan 360 unit SPECint92 dan 550 unit SPECfp92. Kemunculan kristal ini dijangka pada tahun 1996. Di samping itu, Hewlett-Packard, dengan kerjasama Intel, merancang untuk mencipta pemproses baharu dengan perkataan arahan yang sangat panjang (seni bina VLIW), yang akan serasi dengan kedua-duanya. keluarga Intel x86 dan keluarga PA-RISC. Pengeluaran pemproses ini dirancang untuk tahun 1998.

1.3 Ciri-ciri pemproses berdasarkan seni bina PA-RISC

1.3.1 Ciri dan ciri pemproses PA 7100

Satu ciri seni bina PA-RISC ialah pelaksanaan luar cip cache, yang memungkinkan untuk melaksanakan jumlah memori cache yang berbeza dan mengoptimumkan reka bentuk bergantung pada keadaan aplikasi (Rajah 1.3.1). Arahan dan data disimpan dalam cache berasingan, dan pemproses menyambung kepada mereka menggunakan bas 64-bit berkelajuan tinggi. Memori cache dilaksanakan pada cip memori statik berkelajuan tinggi (SRAM), yang disegerakkan terus ke kelajuan jam pemproses. Pada 100 MHz, setiap cache mempunyai lebar jalur baca 800 MB/s dan lebar jalur tulis 400 MB/s. Perkakasan mikropemproses menyokong jumlah memori cache yang berbeza: cache arahan boleh mempunyai volum dari 4 KB hingga 1 MB, cache data - dari 4 KB hingga 2 MB.

Untuk mengurangkan kadar kehilangan, mekanisme pencincangan alamat digunakan. Kedua-dua cache menggunakan bit semak tambahan untuk meningkatkan kebolehpercayaan, dan ralat cache arahan dibetulkan oleh perkakasan.

Rajah.1.3.1 Gambar rajah blok pemproses PA 7100

Pemproses disambungkan ke memori dan subsistem I/O melalui bas segerak. Pemproses boleh beroperasi pada tiga nisbah berbeza bagi kelajuan jam dalaman dan luaran bergantung pada kekerapan bas luaran: 1:1, 3:2 dan 2:1. Ini membolehkan sistem menggunakan cip memori dengan kelajuan yang berbeza.

Dari segi struktur, cip PA-7100 mengandungi: pemproses integer, pemproses titik terapung, peranti pengurusan cache, penimbal TLB bersatu, peranti kawalan dan beberapa litar antara muka. Pemproses integer termasuk ALU, shifter, penambah cawangan, litar semakan kod keadaan, litar pintasan, fail daftar tujuan umum, daftar kawalan dan daftar saluran paip alamat. Pengurus cache mengandungi daftar yang menetapkan semula cache apabila terlepas berlaku dan memantau koheren memori. Peranti ini juga mengandungi daftar alamat segmen, penimbal terjemahan alamat TLB dan perkakasan pencincangan yang mengawal pemuatan semula TLB. Pemproses titik terapung termasuk unit darab, unit logik aritmetik, unit pembahagian dan punca kuasa dua, fail daftar dan litar litar pintas hasil. Peranti antara muka termasuk semua litar yang diperlukan untuk berkomunikasi dengan arahan dan cache data dan bas data. TLB umum mengandungi 120 baris memori bersekutu saiz tetap dan 16 baris saiz berubah.

Unit titik terapung melaksanakan aritmetik ketepatan tunggal dan berganda dalam piawaian IEEE 754. Unit darabnya juga digunakan untuk melaksanakan operasi pendaraban integer. Unit bahagian dan punca kuasa dua beroperasi pada dua kali kelajuan pemproses. Unit logik aritmetik melaksanakan operasi penambahan, penolakan dan penukaran format data. Fail daftar terdiri daripada 28 daftar 64-bit, setiap satunya boleh digunakan sebagai dua daftar 32-bit untuk melaksanakan operasi titik terapung ketepatan tunggal. Fail daftar mempunyai lima port baca dan tiga port tulis, yang membolehkan operasi darab, tambah dan muat/tulis serentak.

Penghantar telah direka dengan tujuan pembesaran maksimum masa yang diperlukan untuk melengkapkan bacaan daripada cache data SRAM luaran akan mati. Ini membolehkan kekerapan pemproses dimaksimumkan untuk kelajuan SRAM tertentu. Semua arahan beban (LOAD) dilaksanakan dalam satu kitaran jam dan hanya memerlukan satu kitaran jam lebar jalur cache data. Memandangkan perintah dan cache data terletak pada bas yang berbeza, tiada kerugian dalam saluran paip yang dikaitkan dengan konflik antara panggilan ke cache data dan cache arahan.

Pemproses boleh mengeluarkan satu arahan integer dan satu arahan titik terapung untuk pelaksanaan dalam setiap kitaran jam. Jalur lebar cache arahan adalah mencukupi untuk menyokong pengeluaran berterusan dua arahan setiap kitaran jam. Tiada sekatan pada penjajaran atau susunan sepasang arahan yang dilaksanakan bersama. Di samping itu, tiada kitaran jam yang dikaitkan dengan beralih daripada melaksanakan dua arahan kepada melaksanakan satu arahan.

Penjagaan khusus telah diambil untuk memastikan bahawa mengeluarkan dua arahan dalam satu kitaran jam tidak mengehadkan kekerapan jam. Untuk mencapai matlamat ini, bit pra-nyahkod khusus telah dilaksanakan dalam cache arahan untuk memisahkan arahan peranti integer daripada arahan peranti titik terapung. Bit pra-penyahkod arahan ini meminimumkan masa yang diperlukan untuk memisahkan arahan dengan betul.

Kerugian yang berkaitan dengan kebergantungan data dan kawalan adalah minimum dalam perancangan ini. Muatkan arahan dilaksanakan dalam satu kitaran jam, melainkan arahan berikutnya menggunakan daftar destinasi arahan LOAD. Sebagai peraturan, pengkompil membolehkan anda memintas kerugian seperti satu kitaran. Untuk mengurangkan kerugian yang berkaitan dengan arahan cawangan bersyarat, pemproses menggunakan algoritma untuk meramalkan arah pemindahan kawalan. Untuk mengoptimumkan prestasi gelung, pemindahan kawalan ke hadapan melalui program diramalkan sebagai cawangan tidak dilaksanakan, dan pemindahan kawalan ke belakang melalui program diramalkan sebagai cawangan dilaksanakan. Cawangan bersyarat yang diramalkan dengan betul dilaksanakan dalam satu kitaran jam.

Bilangan tanda yang diperlukan untuk menulis perkataan atau kata ganda dengan arahan STORE telah dikurangkan daripada tiga kepada dua tanda. Dalam pelaksanaan seni bina PA-RISC yang lebih awal, satu kitaran jam tambahan diperlukan untuk membaca teg cache untuk memastikan hit, dan juga untuk menggabungkan data baris cache data lama dengan data yang sedang ditulis. PA 7100 menggunakan bas tag alamat yang berasingan untuk memasa bacaan tag dengan menulis data arahan STORE sebelumnya. Di samping itu, mempunyai isyarat membolehkan tulis berasingan untuk setiap perkataan baris cache menghapuskan keperluan untuk menggabungkan data lama dengan data baharu daripada arahan tulis perkataan atau dword. Algoritma ini memerlukan penulisan kepada cip SRAM berlaku hanya selepas ia ditentukan bahawa penulisan itu disertai dengan hit cache dan tidak menyebabkan gangguan. Ini memerlukan langkah saluran paip tambahan antara membaca teg dan menulis data. Saluran paip ini tidak menyebabkan kitaran jam terbuang tambahan kerana pemproses melaksanakan litar pintasan khas yang membenarkan data arahan tulis tertunda dihalakan ke arahan beban berikutnya atau perintah STORE yang menulis hanya sebahagian daripada perkataan. Untuk pemproses tertentu, overhed saluran paip untuk arahan menulis perkataan atau kata ganda dikurangkan kepada sifar melainkan arahan yang seterusnya serta-merta ialah arahan beban atau tulis. Jika tidak, kerugian adalah sama dengan satu kitaran. Kerugian untuk merakam sebahagian daripada perkataan boleh berkisar antara sifar hingga dua kitaran jam. Simulasi menunjukkan bahawa sebahagian besar arahan tulis sebenarnya beroperasi dalam format satu perkataan atau dua perkataan.

Semua operasi titik terapung, kecuali arahan pembahagian dan punca kuasa dua, disambungkan sepenuhnya dan mempunyai kependaman tolak-tarik dalam kedua-dua mod ketepatan tunggal dan berganda. Pemproses boleh mengeluarkan arahan titik terapung bebas untuk pelaksanaan dalam setiap kitaran jam tanpa sebarang kerugian. Operasi berturut-turut dengan kebergantungan daftar mengakibatkan kehilangan satu kitaran. Arahan pembahagian dan punca kuasa dua dilaksanakan dalam 8 kitaran jam untuk ketepatan tunggal dan 15 kitaran jam untuk ketepatan berganda. Pelaksanaan arahan tidak dihentikan oleh arahan pembahagian / punca kuasa dua sehingga daftar keputusan diperlukan atau arahan pembahagian / punca kuasa dua dikeluarkan.

Pemproses boleh melaksanakan satu arahan integer dan satu arahan titik terapung secara selari. Dalam kes ini, "arahan integer" juga termasuk arahan untuk memuatkan dan menulis daftar titik terapung, dan "arahan titik terapung" termasuk arahan FMPYADD dan FMPYSUB. Arahan terakhir ini menggabungkan operasi darab dengan operasi tambah atau tolak, masing-masing, yang dilaksanakan secara selari. Prestasi puncak ialah 200 MFLOPS untuk urutan arahan FMPYADD di mana arahan bersebelahan didaftarkan secara bebas.

Kerugian untuk operasi titik terapung menggunakan pramuat operan arahan LOAD ialah satu kitaran jam jika arahan beban dan aritmetik terapung bersebelahan, dan dua kitaran jam jika ia dikeluarkan untuk pelaksanaan secara serentak. Untuk arahan tulis yang menggunakan hasil operasi titik terapung, tiada kerugian, walaupun ia dilaksanakan secara selari.

Overhed kesilapan cache data diminimumkan melalui penggunaan empat teknik berbeza: hit-on-miss untuk arahan LOAD dan STORE, threading cache data, pengekodan khas arahan tulis untuk mengelakkan penyalinan baris yang terlepas dan operasi semaphore dalam ingatan cache. Sifat pertama membenarkan apa-apa jenis perintah lain dilaksanakan semasa memproses kehilangan cache data. Untuk kesilapan yang berlaku semasa arahan LOAD, pemprosesan arahan seterusnya boleh diteruskan sehingga daftar keputusan arahan LOAD diperlukan sebagai daftar operan untuk arahan lain. Pengkompil boleh menggunakan sifat ini untuk mengambil semula data yang diperlukan ke dalam cache lama sebelum ia benar-benar diperlukan. Untuk kesilapan yang berlaku semasa arahan STORE, pemprosesan arahan pemuatan berikutnya atau penulisan sebahagian daripada perkataan diteruskan sehingga tiada rujukan kepada baris tempat kehilangan itu berlaku. Pengkompil boleh menggunakan sifat ini untuk melaksanakan arahan semasa merekodkan hasil pengiraan sebelumnya. Semasa kelewatan pemprosesan terlepas, arahan LOAD dan STORE lain yang memukul cache data boleh dilaksanakan seperti arahan integer dan titik terapung lain. Semasa keseluruhan masa pemprosesan kesilapan arahan STORE, arahan tulis lain ke baris cache yang sama boleh berlaku tanpa kehilangan masa tambahan. Untuk setiap perkataan dalam baris cache, pemproses mempunyai bit petunjuk khas yang menghalang perkataan daripada baris yang ditulis oleh arahan STORE daripada disalin daripada memori. Keupayaan ini digunakan untuk operasi LOAD dan STORE integer dan terapung.

Pelaksanaan arahan berhenti apabila daftar destinasi arahan LOAD yang tidak dilaksanakan diperlukan sebagai operan kepada arahan lain. Sifat threading membenarkan pelaksanaan diteruskan sebaik sahaja perkataan atau kata ganda yang dikehendaki dikembalikan daripada ingatan. Oleh itu, pelaksanaan arahan boleh diteruskan semasa kelewatan yang berkaitan dengan pemprosesan miss dan semasa baris yang sepadan diisi apabila miss berlaku.

Apabila melakukan salinan blok data, dalam beberapa kes pengkompil mengetahui terlebih dahulu bahawa rakaman harus dijalankan dalam baris penuh ingatan cache. Untuk mengoptimumkan pengendalian situasi sedemikian, seni bina PA-RISC 1.1 mentakrifkan pengekodan khas bagi arahan tulis ("salinan blok"), yang bermaksud bahawa perkakasan tidak perlu mengambil baris dari memori yang boleh menyebabkan kehilangan cache. Dalam kes ini, masa capaian cache data ialah jumlah masa yang diperlukan untuk menyalin baris cache lama ke dalam memori pada alamat yang sama dalam cache (jika ia kotor) dan masa yang diperlukan untuk menulis tag cache baharu. Pemproses PA 7100 menyediakan keupayaan ini untuk kedua-dua arahan istimewa dan tidak istimewa.

Penambahbaikan terkini kepada pengurusan cache data melibatkan pelaksanaan operasi semaphore "beban sifar" terus ke dalam cache. Jika operasi semaphore dilakukan dalam cache, maka masa yang hilang semasa pelaksanaannya tidak melebihi kehilangan operasi tulis biasa. Ini bukan sahaja mengurangkan overhed saluran paip, tetapi juga mengurangkan trafik bas memori. Seni bina PA-RISC 1.1 juga menyediakan satu lagi jenis pengekodan arahan khas yang menghapuskan keperluan untuk menyegerakkan operasi semaphore dengan peranti I/O.

Pengurusan ingatan cache arahan membenarkan, sekiranya berlaku kesilapan, untuk terus melaksanakan arahan serta-merta selepas arahan yang tiada dalam cache tiba dari ingatan. Bas data 64-bit yang digunakan untuk mengisi blok cache arahan sepadan dengan lebar jalur bas memori luaran maksimum 400 MB/s pada 100 MHz.

Pemproses juga menyediakan beberapa langkah untuk meminimumkan kerugian yang berkaitan dengan penukaran alamat maya kepada alamat fizikal.

Reka bentuk pemproses menyediakan pelaksanaan dua cara untuk membina sistem berbilang pemproses. Dalam kaedah pertama, setiap pemproses disambungkan ke cip antara muka, yang memantau semua transaksi pada bas memori utama. Dalam sistem sedemikian, semua fungsi untuk mengekalkan keadaan koheren memori cache diberikan kepada kristal antara muka, yang menghantar transaksi yang sepadan kepada pemproses. Cache data dibina berdasarkan prinsip lazy-back dan setiap blok cache mengekalkan bit keadaan peribadi, kotor dan sah, yang nilainya berubah mengikut transaksi yang dikeluarkan oleh atau menerima pemproses.

Kaedah kedua mengatur sistem berbilang pemproses membolehkan anda menggabungkan dua pemproses dan memori dan pengawal I/O pada bas memori tempatan yang sama. Konfigurasi ini tidak memerlukan cip antara muka tambahan dan serasi dengan sistem memori sedia ada. Keselarasan cache dipastikan dengan memantau bas memori tempatan. Pemindahan talian antara cache dilakukan tanpa penyertaan pengawal memori dan I/O. Konfigurasi ini memungkinkan untuk membina sistem multipemproses berprestasi tinggi dengan kos yang sangat rendah.

Pemproses menyokong beberapa operasi yang diperlukan untuk meningkatkan prestasi grafik stesen kerja 700 siri: pemindahan blok, penimbalan Z, interpolasi warna dan arahan pemindahan data titik terapung untuk pertukaran dengan ruang I/O.

Pemproses ini dibina di atas teknologi proses CMOS dengan piawaian reka bentuk 0.8 mikron, yang menyediakan frekuensi jam 100 MHz.

1.3.2 Ciri dan ciri pemproses PA 7200

Pemproses PA 7200 mempunyai beberapa penambahbaikan seni bina berbanding PA 7100, yang utama ialah penambahan saluran paip integer kedua, pembinaan cache data tambahan pada cip dan pelaksanaan antara muka 64-bit baharu kepada bas ingatan.

Pemproses PA 7200, seperti pendahulunya, menyediakan mod operasi superscalar dengan pengeluaran serentak sehingga dua arahan dalam satu kitaran jam. Semua arahan pemproses boleh dibahagikan kepada tiga kumpulan: operasi integer, operasi muat/tulis dan operasi titik terapung. PA 7200 secara serentak mengeluarkan dua arahan kepunyaan kumpulan berbeza, atau dua arahan integer (disebabkan kehadiran saluran paip integer kedua dengan ALU dan port baca dan tulis tambahan dalam fail daftar). Arahan lompatan dilaksanakan dalam saluran paip integer, dan lompatan ini boleh dipasangkan untuk dikeluarkan serentak hanya dengan arahan sebelumnya.

Meningkatkan kekerapan jam pemproses memerlukan memudahkan penyahkodan arahan pada peringkat mengeluarkan. Untuk tujuan ini, penyahsulitan awal aliran arahan dijalankan pada peringkat memuatkan memori cache. Untuk setiap kata ganda, cache arahan termasuk 6 bit tambahan yang mengandungi maklumat tentang kehadiran kebergantungan data dan konflik sumber, yang sangat memudahkan pengeluaran arahan dalam mod superscalar.

Pemproses PA 7200 melaksanakan algoritma yang cekap arahan prefetching, yang juga berfungsi dengan baik dalam bahagian linear program.

Seperti PA 7100, pemproses melaksanakan antara muka dengan cache data luaran yang beroperasi pada frekuensi jam pemproses dengan kependaman satu kitaran. Cache data luaran dibina berdasarkan prinsip pemetaan langsung. Di samping itu, untuk meningkatkan kecekapan, cache tambahan kecil dengan kapasiti 64 baris dilaksanakan pada cip pemproses. Pembentukan, terjemahan alamat dan akses kepada cache data utama dan tambahan dilakukan pada dua peringkat saluran paip. Kelewatan maksimum apabila mengesan pukulan ialah satu kitaran jam.

Cache dalaman tambahan mengandungi 64 baris 32-bait. Apabila mengakses memori cache, 65 tag disemak: 64 tag cache tambahan dan satu tag cache data luaran. Apabila padanan ditemui, data dimajukan ke peranti berfungsi yang dikehendaki.

Jika talian yang diperlukan tiada dalam memori cache, ia dimuatkan daripada memori utama. Dalam kes ini, garisan memasuki cache tambahan, yang dalam beberapa kes memungkinkan untuk mengurangkan bilangan muat semula memori cache luaran, yang dianjurkan mengikut prinsip pemetaan langsung. Seni bina pemproses baharu untuk perintah muat/tulis menyediakan pengekodan ciri khas penempatan data setempat ("tempatan ruang sahaja"). Apabila melaksanakan arahan beban yang ditandakan dengan bendera ini, baris cache tambahan diisi seperti biasa. Walau bagaimanapun, penulisan baris berikutnya dijalankan terus ke dalam ingatan utama, memintas cache data luaran, yang dengan ketara meningkatkan kecekapan bekerja dengan tatasusunan data besar yang saiz garis cache dipetakan langsung tidak mencukupi.

Set arahan pemproses yang diperluaskan membolehkan anda melaksanakan alat pengindeksan automatik untuk meningkatkan kecekapan bekerja dengan tatasusunan, serta arahan praambil yang diletakkan dalam cache dalaman tambahan. Cache tambahan ini menyediakan sambungan dinamik keterkaitan cache dipetakan langsung utama dan merupakan alternatif yang lebih mudah kepada organisasi bersekutu set.

Pemproses PA 7200 termasuk antara muka multipleks 64-bit baharu bas sistem Landasan, yang melaksanakan pemisahan transaksi dan sokongan untuk protokol koheren memori. Antara muka ini termasuk penimbal transaksi, litar timbang tara dan litar untuk mengawal nisbah kadar jam luaran dan dalaman.

1.3.3 Ciri-ciri pemproses superscalar PA 8000

Pemproses PA-8000 telah diumumkan pada Mac 1995 di persidangan COMPCON 95. Telah diumumkan bahawa penunjuk prestasinya masing-masing akan mencapai 8.6 unit SPECint95 dan 15 unit SPECfp95 untuk operasi integer dan aritmetik sebenar. Pada masa ini, tahap prestasi yang sangat tinggi ini disahkan oleh ujian stesen kerja dan pelayan yang dibina berdasarkan pemproses ini.

Pemproses PA-8000 mempunyai semuanya kaedah yang diketahui mempercepatkan pelaksanaan arahan. Ia adalah berdasarkan konsep "pelaksanaan pintar", yang berdasarkan prinsip pelaksanaan perintah di luar perintah. Ciri ini membolehkan PA-8000 mencapai prestasi superscalar puncak terima kasih kepada penggunaan meluas mekanisme untuk penyelesaian konflik automatik untuk pengurusan data dan perkakasan. Alat ini melengkapkan komponen seni bina lain yang tertanam dalam struktur cip: sebilangan besar unit fungsi eksekutif, cara untuk meramalkan arah peralihan dan melaksanakan arahan dengan andaian, organisasi memori cache yang dioptimumkan dan antara muka bas berprestasi tinggi.

Prestasi tinggi PA-8000 sebahagian besarnya ditentukan oleh kehadiran satu set besar peranti berfungsi, yang merangkumi 10 penggerak: dua unit logik aritmetik integer (ALU), dua unit anjakan/cantum, dua unit darab/tambah titik terapung, dua unit bahagi/ punca kuasa dua, dan dua rekod unit beban/beban.

Keupayaan pelaksanaan tertunggak pemproses PA-8000 menyediakan penjadualan perkakasan beban saluran paip dan penggunaan unit berfungsi yang lebih baik. Dalam setiap kitaran jam, sehingga empat arahan boleh dikeluarkan, yang memasuki penimbal susunan semula 56 baris. Penampan ini membolehkan anda mengekalkan penghunian peranti yang berfungsi secara berterusan dan memastikan pengurangan konflik sumber yang berkesan. konflik sumber. Kristal boleh menganalisis semua 56 baris arahan serentak dan mengeluarkan 4 arahan sedia untuk dilaksanakan kepada peranti berfungsi dalam setiap kitaran. Ini membolehkan pemproses mengesan keselarian peringkat arahan secara automatik.

Pemproses superscalar PA-8000 menyediakan rangkaian penuh operasi 64-bit, termasuk alamat, titik tetap dan aritmetik titik terapung. Pada masa yang sama, kristal kekal serasi sepenuhnya dengan aplikasi 32-bit. Ini adalah pemproses pertama yang melaksanakan seni bina PA-RISC 64-bit. Ia kekal serasi sepenuhnya dengan pelaksanaan PA-RISC sebelumnya dan akan datang.

Kristal ini dihasilkan menggunakan teknologi CMOS 0.5-mikron dengan voltan bekalan 3.3 Volt dan kami boleh mengharapkan pengurangan selanjutnya dalam saiz elemen pada masa hadapan.

2. CIRI-CIRI PELAYANG HEWLETT-PACKARD BERDASARKAN PEMPROSES DENGAN ARKITEK PA-RISC

Hewlett-Packard diasaskan di California pada tahun 1938 untuk mencipta peralatan ujian dan pengukuran elektronik. Pada masa ini, syarikat membangunkan, mengeluarkan, memasarkan dan sistem perkhidmatan untuk aplikasi komersial, automasi proses pengeluaran, proses pembangunan, ujian dan pengukuran, serta instrumen dan sistem analisis dan perubatan, peralatan pinggiran, kalkulator dan komponen untuk digunakan dalam pelbagai industri. Ia menjual lebih daripada 4,500 produk yang digunakan dalam industri, perniagaan, sains, pendidikan, perubatan dan kejuruteraan.

Asas untuk pembangunan komputer Hewlett-Packard moden ialah seni bina PA-RISC. Ia telah dibangunkan oleh syarikat itu pada tahun 1986, dan sejak itu, berkat kejayaan teknologi bersepadu, ia telah melalui beberapa peringkat pembangunannya daripada reka bentuk berbilang cip kepada satu cip. Seni bina PA-RISC dibangunkan dengan mengambil kira kemungkinan membina sistem berbilang pemproses, yang dilaksanakan dalam model pelayan lama.

2.1 Pelayan Kelas D HP9000

Dalam pasaran pelayan kumpulan kerja, HP mempunyai barisan sistem Kelas D HP9000 yang agak luas. Ini adalah siri sistem kos yang agak rendah yang bersaing dengan pelayan berasaskan PC. Sistem ini adalah berdasarkan seni bina pemproses PA-RISC (75 dan 100 MHz PA-7100LC, 100 dan 120 MHz PA-7200 dan 160 MHz PA-8000) dan dijalankan sistem operasi HP-UNIX.

D200, D210 dan D310 adalah (mengikut) sistem pemproses tunggal. Model D250, D260, D270 dan D350 boleh dilengkapi sama ada satu atau dua pemproses. Dalam model D3XXnya, HP menekankan ciri ketersediaan tinggi seperti pemacu cakera dalaman boleh tukar panas, keupayaan storan RAID dan bekalan kuasa yang tidak terganggu. Model ini juga mempunyai keupayaan lanjutan untuk mengembangkan subsistem RAM dan I/O.

Model D2XX mempunyai 5 slot pengembangan I/O dan 2 ruang pemacu SCSI-2. Dalam model D3XX, bilangan slot pengembangan I/O telah dikembangkan kepada 8; 5 ruang boleh memuatkan pemacu cakera dengan antara muka SCSI-2 Pantas/Lebar, yang boleh diganti tanpa mematikan kuasa sistem.

Model lama siri ini memberikan keupayaan untuk mengembangkan ECC RAM sehingga 1.5 GB, manakala faktor lapisan boleh meningkat kepada 12. Jumlah maksimum ruang cakera apabila menggunakan tatasusunan cakera luaran ia boleh mencapai 5.0 TB.

2.2 Pelayan Kelas K HP9000

Pelayan Kelas K HP9000 ialah sistem jarak pertengahan yang menyokong pemproses berbilang simetri (sehingga 4 pemproses). Sama seperti sistem kelas D, ia berdasarkan seni bina PA-RISC (120 MHz PA-7200 dengan perintah/cache data peringkat pertama 256/256 KB atau 1/1 MB, serta 160 MHz dan 180 MHz PA- 8000 dengan cache arahan/ingatan data peringkat pertama 1/1 MB, beroperasi pada kelajuan jam pemproses).

Reka bentuk pelayan Kelas K memastikan daya pemprosesan sistem yang tinggi. Komponen utama untuk mengekalkan prestasi tinggi ialah bas sistem dengan daya pemprosesan puncak 960 MB / s, RAM yang besar dengan kawalan ralat dan pembetulan ralat tunggal (ECC) dengan kapasiti sehingga 4 GB dengan jalur 32 kali ganda, a subsistem I/O berbilang saluran dengan daya pemprosesan sehingga 288 MB/s, bas SCSI-2 Berbeza Pantas/Lebar berkelajuan tinggi standard, serta keupayaan tambahan untuk menyambungkan rangkaian dan saluran berkelajuan tinggi seperti FDDI, ATM dan Saluran Fiber.

Reka bentuk pelayan menyediakan 4 ruang untuk memasang pemacu cakera, dan dengan bantuan rak khas (kabinet) kapasiti boleh diperluas ingatan cakera Sistem ini boleh ditingkatkan kepada 8.3 TB.

2.3 Pelayan berbilang pemproses simetri Kelas T HP9000

Barisan pelayan perusahaan berasaskan UNIX yang paling berkuasa dan boleh skala HP ialah keluarga kelas T HP9000. Ini adalah pelayan generasi seterusnya yang dibangunkan oleh syarikat berikutan model HP9000 870. Sistem HP9000 T500, yang boleh memuatkan sehingga 12 pemproses PA7100 , pertama kali diperkenalkan ke pasaran. HP kemudiannya mengumumkan sistem T520 14-pemproses berdasarkan pemproses PA7150 120 MHz. Pada masa ini, sistem T600 12-pemproses berdasarkan pemproses PA-8000 telah diumumkan, dengan penghantaran dijadualkan bermula pada tahun 1997. Sistem sedia ada(T500 dan T520) membenarkan penggantian pemproses lama dengan pemproses PA-8000.

Ciri ciri seni bina pelayan kelas T ialah kapasiti besar memori cache arahan (1 MB) dan data (1 MB) untuk setiap pemproses sistem. Pelayan Kelas T menggunakan bas transaksi split 64-bit yang menyokong sehingga 14 pemproses yang berjalan pada 120 MHz. Kecekapan bas ini, seperti bas Runway, adalah 80%, yang menyediakan daya tampung keadaan mantap sebanyak 768 MB/s dengan prestasi puncak 960 MB/s.

Pelayan Kelas T boleh menyokong sehingga 8 saluran HP-PB (HP Precision Bus) yang berjalan pada 32 MB/s, tetapi hanya satu saluran HP-PB disokong dalam rak sistem utama. Untuk memastikan konfigurasi lengkap subsistem I/O, perlu memasang 7 rak pengembangan, menduduki kawasan yang agak besar. Jumlah lebar jalur I/O puncak dalam sistem 8 rak yang dikonfigurasikan sepenuhnya ialah 256 MB/s, iaitu kurang daripada lebar jalur I/O pelayan Kelas K. Walau bagaimanapun, kapasiti storan cakera maksimum apabila menggunakan tatasusunan RAID adalah sehingga 20 TB.

Struktur bas dwi peringkat pelayan menyediakan keseimbangan optimum antara pemproses dan keperluan I/O, memastikan daya pemprosesan sistem yang tinggi walaupun di bawah beban kerja yang berat. Pemproses mengakses memori utama melalui bas sistem memori pemproses yang berkuasa, yang mengekalkan keadaan koheren ingatan cache seluruh sistem. Dalam sistem akan datang, peningkatan 4 kali ganda dalam daya pemprosesan I/O dirancang.

2.4 Keluarga Pelayan Selari Perusahaan HP9000

Salah satu produk terbaharu yang dikeluarkan oleh HP ialah keluarga sistem selari, yang kini diwakili oleh dua model ESP21 dan ESP30. Konsep asas yang mendasari sistem ini agak mudah. Ia terdiri dalam mewujudkan struktur gabungan yang menggabungkan keupayaan dan kekuatan terbukti berbilang pemprosesan simetri berprestasi tinggi dengan potensi hampir tidak terhad untuk keuntungan prestasi dan kebolehskalaan yang boleh dicapai melalui seni bina selari. Hasil daripada gabungan ini ialah seni bina berprestasi tinggi yang memberikan tahap penyejajaran pengiraan yang sangat tinggi.

Tidak seperti beberapa seni bina selari lain yang menggunakan nod pemproses tunggal yang digandingkan secara longgar, seni bina selari pelayan ESP21 dan ESP30 menggunakan teknologi SMP berprestasi tinggi sebagai blok binaan berskala. Kelebihan pendekatan ini ialah sistem aplikasi boleh digunakan kuasa pengkomputeran dan keupayaan berbilang pemproses yang digandingkan rapat dalam infrastruktur SMP dan cukup cekap dalam menyampaikan prestasi aplikasi yang terbaik. Seperti yang diperlukan, modul SMP tambahan boleh ditambah pada sistem untuk meningkatkan tahap keselarian untuk menskalakan prestasi keseluruhan sistem, kapasiti, daya pemprosesan I/O, atau sebagainya. sumber sistem kedua-dua memori utama dan cakera.

Produk dalam siri ini direka bentuk terutamanya untuk menyediakan kebolehskalaan melebihi keupayaan biasa seni bina SMP untuk sistem membuat keputusan berskala besar, sistem pemprosesan transaksi dalam talian dan membina gudang data di Internet. Untuk kebanyakan aplikasi, model ESP memberikan peningkatan hampir linear dalam tahap prestasi. Ini dicapai dengan memanfaatkan seni bina bas SMP berprestasi tinggi nod ESP digabungkan dengan keupayaan untuk memasang nod SMP tambahan menggunakan Suis Perusahaan Fiber Channel HP. Semua sumber sistem diuruskan daripada konsol pengurusan tunggal.

Apabila ketersediaan tinggi diperlukan, sistem ESP menyokong lapisan khas perisian MC/ServiceGuard. Alat ini menyediakan gabungan berkesan prestasi tinggi, kebolehskalaan dan ketersediaan tinggi, dan sebagai tambahan kepada keupayaan RAS standard (kebolehpercayaan, ketersediaan dan kebolehkhidmatan), ia membenarkan nod diganti tanpa menghentikan sistem.

Pada asasnya, siri EPS menyediakan cara untuk menggabungkan model kelas K (EPS21) dan kelas T (EPS30) ke dalam satu sistem. Suis Saluran Fiber 16 saluran membenarkan sehingga 64 pemproses dalam model EPS21 (sehingga 256 pemproses pada masa hadapan) dan sehingga 224 pemproses dalam model EPS30 (sehingga 768 pemproses pada masa hadapan). Jumlah pemprosesan puncak sistem boleh mencapai 15 GB/s.

pengenalan

hidup di fasa ini Pembangunan saintifik dan teknologi, pilihan platform perkakasan dan konfigurasi sistem adalah tugas yang sangat kompleks. Ini disebabkan, khususnya, kepada watak sistem aplikasi, yang sebahagian besarnya boleh menentukan beban kerja kompleks pengkomputeran secara keseluruhan. Walau bagaimanapun, ia sering menjadi sukar untuk meramalkan beban itu sendiri dengan ketepatan yang mencukupi, terutamanya jika sistem mesti melayani beberapa kumpulan pengguna dengan keperluan heterogen. Perlu diingatkan bahawa pilihan platform dan konfigurasi perkakasan tertentu juga ditentukan oleh beberapa keperluan umum yang digunakan untuk ciri-ciri sistem pengkomputeran moden. Ini termasuk: nisbah kos/prestasi, kebolehpercayaan dan toleransi kesalahan, skalabiliti, keserasian dan mobiliti perisian. Cabaran utama dalam mereka bentuk keseluruhan rangkaian model sistem PA-RISC adalah untuk mencipta seni bina yang akan sama dari sudut pandangan pengguna untuk semua model sistem, tanpa mengira harga dan prestasi setiap model. Kelebihan besar pendekatan ini, yang membolehkan mengekalkan asas perisian sedia ada apabila beralih kepada model baru, telah dihargai dengan cepat oleh kedua-dua pengeluar dan pengguna komputer, dan sejak itu, hampir semua pembekal peralatan komputer menerima pakai prinsip ini, membekalkan satu siri yang serasi. komputer.

Perumusan masalah

Semasa menjalankan projek kursus ini, adalah perlu untuk mempertimbangkan jenis seni bina pemproses sedia ada dan mencirikan kelebihan dan kekurangannya. Anda harus mempertimbangkan secara terperinci mana-mana seni bina (dalam kes ini, ia adalah seni bina PA-RISC Hewlett Packard), dan juga mempertimbangkan bidang aplikasi pemproses dengan seni bina yang dipilih (ciri pelayan Hewlett Packard berdasarkan pemproses PA-RISC) . Ia juga perlu untuk membangunkan program pemacu untuk menghantar maklumat antara stesen kerja pada rangkaian tempatan.

Kesimpulan

Projek kursus ini mengkaji seni bina pemproses utama. Seni bina PA-RISC Hewlett Packard diteliti secara terperinci, kebaikan dan keburukan seni bina ini dianalisis. Bidang aplikasi pemproses dengan seni bina PA-RISC juga dipertimbangkan (ciri pelayan Hewlett Packard berdasarkan pemproses PA-RISC). Lampiran mengandungi program yang memastikan pemindahan maklumat antara stesen kerja pada rangkaian tempatan.

Lapisan seni bina arahan termasuk satu set arahan mesin yang dilaksanakan oleh perisian tegar atau perkakasan jurubahasa.

Dua seni bina set arahan utama yang digunakan oleh industri komputer hari ini ialah seni bina CISC dan RISC.

– Komputer Set Arahan Lengkap (seni bina CISC, komputer berasaskan mikropemproses dengan set arahan penuh)

– Komputer Set Arahan Berkurang (seni bina RISC, komputer dengan set arahan yang dikurangkan)

CISC RISC
Pengasas, model IBM, IBM/360 CDC6600 (Cray)
Pemimpin hari ini x86 Alfa, PowerPC, SPARC
Pasaran Komputer peribadi(disebabkan keserasian dengan perisian model kelas bawah, jumlah kosnya - pada awal 90-an - berjumlah beberapa bilion dolar AS) Komputer berprestasi tinggi (kos perisian tidak begitu ketara)
Perlaksanaan Perisian tegar (tafsiran) Perkakasan
Bilangan daftar tujuan umum kecil besar
Format Perintah sebilangan besar format arahan pelbagai saiz bit panjang tetap dan arahan format tetap
Menangani sebilangan besar kaedah menangani, dominasi format arahan dua alamat kaedah pengalamatan mudah, format arahan tiga alamat

Pengasas, model

Organisasi model pemproses pertama - i8086/8088 - bertujuan, khususnya, untuk mengurangkan jumlah program, yang penting untuk sistem pada masa itu, yang dicirikan oleh kecil. Ram. Memperluaskan julat operasi yang dilaksanakan oleh sistem arahan memungkinkan untuk mengurangkan saiz program, serta kerumitan menulis dan menyahpepijatnya. Walau bagaimanapun, peningkatan dalam bilangan arahan meningkatkan kerumitan membangunkan pelaksanaan topologi dan program mikro mereka. Yang terakhir menunjukkan dirinya dalam lanjutan masa pembangunan pemproses CISC, serta dalam manifestasi pelbagai kesalahan dalam kerja mereka.

Kelemahan ini memerlukan pembangunan seni bina alternatif - RISC, yang bertujuan terutamanya untuk mengurangkan ketidakteraturan aliran arahan dengan mengurangkan jumlah bilangannya.

Pemimpin hari ini

Pemproses Intel, bermula dengan 486, mengandungi teras RISC yang melaksanakan arahan paling mudah (dan biasanya paling biasa) dalam satu kitaran laluan data, dan teknologi konvensional CISC mentafsir perintah yang lebih kompleks. Akibatnya, arahan biasa dilaksanakan dengan cepat, manakala arahan yang lebih kompleks dan jarang dilaksanakan secara perlahan. Walaupun pendekatan "hibrid" ini tidak sepantas RISC, seni bina mempunyai beberapa kelebihan kerana ia membolehkan perisian legasi digunakan tanpa pengubahsuaian.

Model pertama pemproses Intel, yang hampir dengan seni bina RISC– PentiumPRO (Organisasi RISC Ketepatan - Seni bina RISC sepenuhnya).

Perlaksanaan

Menghapuskan lapisan tafsiran memastikan kelajuan pelaksanaan yang tinggi untuk kebanyakan arahan. Dalam komputer CISC, arahan yang lebih kompleks boleh dipecahkan kepada beberapa bahagian, yang kemudiannya dilaksanakan sebagai urutan arahan mikro. Operasi tambahan ini mengurangkan kelajuan mesin, tetapi ia boleh berguna untuk arahan yang jarang berlaku.

Bilangan daftar

Pembangunan seni bina RISC sebahagian besarnya ditentukan oleh kemajuan dalam penciptaan pengoptimuman penyusun. Ia adalah teknologi kompilasi moden yang memungkinkan untuk memanfaatkan bilangan daftar yang lebih besar, organisasi saluran paip dan perlaksanaan arahan yang lebih pantas.

Sebilangan besar daftar membolehkan lebih banyak data disimpan dalam daftar pada cip pemproses untuk masa yang lebih lama dan memudahkan pengkompil untuk memperuntukkan daftar kepada pembolehubah.

Format Perintah

Perintah harus mudah untuk dinyahkod. Had bilangan arahan yang dipanggil sesaat bergantung pada proses penyahkodan arahan individu. Perintah dinyahkod untuk menentukan sumber yang mereka perlukan dan tindakan yang perlu dilakukan. Sebarang cara yang membantu memudahkan proses ini adalah berguna. Sebagai contoh, mereka digunakan pasukan biasa dengan panjang tetap dan bilangan medan yang kecil. Lebih kurang format yang berbeza pasukan, lebih baik.

Menangani

Kaedah pengalamatan mudah secara mendadak boleh memudahkan penyahkodan arahan. Organisasi struktur daftar adalah kelebihan utama dan masalah utama RISC. Hampir mana-mana pelaksanaan seni bina RISC menggunakan operasi pemprosesan tiga kali ganda, di mana hasil dan dua operan mempunyai pengalamatan bebas - R1:= R2, R3. Ini membolehkan anda memilih operan daripada yang boleh dialamatkan tanpa perbelanjaan masa yang ketara. daftar operasi dan tulis hasil operasi ke daftar. Di samping itu, operasi tiga kali ganda memberikan pengkompil lebih fleksibel daripada operasi memori daftar berganda biasa seni bina CISC. Apabila digabungkan dengan aritmetik berkelajuan tinggi, operasi daftar-untuk-daftar RISC menjadi cara yang sangat berkuasa untuk meningkatkan prestasi pemproses.

· Pengenalan

RISC (Reduced Instruction Set Computer) - komputer dengan set arahan yang dikurangkan. RISC dicirikan oleh sifat berikut:

· Panjang tetap arahan mesin (cth 32 bit) dan format arahan mudah.

· Perintah khusus untuk operasi ingatan - membaca atau menulis. Tiada operasi baca-ubah suai-tulis. Sebarang operasi "perubahan" dilakukan hanya pada kandungan daftar (seni bina muat dan simpan).

· Sebilangan besar daftar tujuan umum (32 atau lebih).

· Kekurangan sokongan untuk operasi "ubah" pada jenis data yang dipendekkan - bait, perkataan 16-bit. Sebagai contoh, set arahan DEC Alpha hanya mengandungi operasi pada perkataan 64-bit, dan memerlukan pembangunan dan panggilan prosedur seterusnya untuk melaksanakan operasi pada perkataan bait, 16-bit dan 32-bit.

· Kekurangan program mikro di dalam pemproses itu sendiri. Apa yang dilaksanakan oleh mikroprogram dalam pemproses CISC dilaksanakan dalam pemproses RISC sebagai kod mesin biasa (walaupun diletakkan dalam storan khas), yang pada asasnya tidak berbeza daripada kod kernel dan aplikasi OS.

Penyelesaian RISC biasa:

· Pelaksanaan spekulatif. Apabila menghadapi arahan cawangan bersyarat, pemproses melaksanakan (atau sekurang-kurangnya membaca ke dalam cache arahan) kedua-dua cawangan sekaligus sehingga pengiraan ungkapan kawalan cawangan selesai. Membolehkan anda menghapuskan masa henti saluran paip semasa peralihan bersyarat.

· Menamakan semula Daftar. Setiap daftar pemproses sebenarnya adalah beberapa daftar selari yang menyimpan berbilang versi nilai. Digunakan untuk melaksanakan pelaksanaan spekulatif.

Pemproses RISC mempunyai peningkatan prestasi dengan memudahkan arahan supaya penyahkodan lebih mudah dan masa pelaksanaan lebih singkat. Pemproses RISC pertama tidak mempunyai arahan darab dan bahagi. Ini juga memudahkan untuk meningkatkan kelajuan jam dan menjadikan superscalarization (arahan selari merentas berbilang unit pelaksanaan) lebih cekap.

Dalam seni bina RISC pertama, kebanyakan arahan adalah sama panjang untuk memudahkan penyahkodan. struktur yang serupa, operasi aritmetik Ia berfungsi hanya dengan daftar, dan kerja dengan memori berlaku melalui beban berasingan dan arahan stor. Ciri-ciri ini memungkinkan untuk mengimbangi peringkat saluran paip dengan lebih baik, menjadikan saluran paip RISC lebih cekap dan membolehkan kelajuan jam yang lebih tinggi.

Memfokuskan pada arahan mudah membawa kepada seni bina RISC, yang matlamatnya adalah untuk menjadikan arahan begitu mudah supaya ia mudah disalurkan dan menghabiskan tidak lebih daripada satu kitaran jam pada setiap langkah saluran paip pada frekuensi tinggi.


Ia kemudiannya diperhatikan bahawa ciri RISC yang paling ketara ialah pemisahan arahan untuk pemprosesan data dan akses memori - memori diakses hanya melalui arahan memuatkan dan menyimpan, dan semua arahan lain terhad kepada daftar dalaman. Ini memudahkan seni bina pemproses dengan membenarkan arahan mempunyai panjang tetap, memudahkan saluran paip dan mengasingkan logik yang berkaitan dengan kependaman akses memori kepada hanya dua arahan. Akibatnya, seni bina RISC juga dipanggil seni bina beban/simpan.

"Set arahan berkurangan" disalah ertikan bermaksud meminimumkan bilangan arahan dalam set arahan. Malah, banyak pemproses RISC mempunyai lebih banyak arahan daripada pemproses CISC. Malah, jumlah (dan masa) kerja untuk setiap arahan individu dikurangkan - paling banyak satu kitaran capaian memori. Arahan kompleks mengenai pemproses CISC boleh memerlukan beratus-ratus kitaran capaian memori untuk diselesaikan.

Sistem pertama yang boleh dipanggil sistem RISC ialah superkomputer CDC 6600, yang dicipta pada tahun 1964 oleh Seymour Creme. Ia kemudiannya bergurau bahawa istilah RISC sebenarnya bermaksud "Benar-benar dicipta oleh Seymour Cray."

Percubaan pertama untuk mencipta pemproses RISC pada cip telah dibuat di IBM pada tahun 1975. Kerja ini membawa kepada penciptaan keluarga pemproses IBM 801, yang dikeluarkan dalam bentuk cip di bawah nama ROMP pada tahun 1981. ROMP adalah singkatan kepada Research OPD (Bahagian Produk Pejabat) Pemproses Mikro, kemudian ada "MP Penyelidikan". Beberapa projek penyelidikan diikuti, salah satunya menghasilkan sistem POWER.

Selepas pemproses x86 ditukar kepada seni bina RISC superscalar, kita boleh mengatakan bahawa sebahagian besar pemproses yang wujud hari ini adalah berdasarkan seni bina RISC.

Seni bina RISC ialah komputer dengan set arahan yang dikurangkan. Ia adalah sejenis seni bina mikropemproses yang menggunakan set arahan yang kecil dan dioptimumkan, berbanding dengan jenis seni bina sebelumnya dengan set data algoritma yang diperluaskan. Istilah RISC dicipta oleh David Patterson dari projek RISC Berkeley.

Definisi

Komputer set arahan ialah peranti yang seni bina set arahan (ISA) mempunyai set atribut yang membolehkannya mempunyai kitaran setiap arahan (CPI) yang lebih rendah daripada komputer set arahan kompleks (CISC). Konsep umum RISC ialah konsep komputer yang mengandungi set kecil algoritma ringkas dan umum, tetapi bukan set lanjutan urutan kompleks dan khusus. Satu lagi ciri umum RISC ialah seni bina muat/simpan, di mana memori diakses hanya dengan arahan tertentu.

Sejarah dan perkembangan

Projek RISC pertama datang daripada IBM, Stanford dan UC-Berkeley pada tahun 70-an dan 80-an. abad XX. IBM 801, Stanford MIPS, dan Berkeley RISC I dan II telah dibangunkan dengan falsafah yang sama, yang dikenali sebagai RISC. Beberapa ciri reka bentuk adalah biasa kepada kebanyakan pemproses RISC:


Walaupun sebilangan komputer pada tahun 1960-an dan 70-an adalah pelopor kepada RISC, konsep moden bermula sejak tahun 1980-an. Khususnya, dua projek di Stanford dan University of California sedang meningkatkan ini idea konseptual. MIPS Stanford akan menjadi model yang berjaya secara komersial, manakala Universiti Berkeley memberikan namanya kepada keseluruhan konsep, yang dikomersialkan sebagai SPARC. Satu lagi kejayaan era ini ialah usaha IBM, yang akhirnya membawa kepada Seni Bina Kuasa. Apabila trend ini berkembang pada akhir 1980-an, dan terutamanya pada awal 1990-an, banyak projek yang serupa berkembang pesat, mewakili kuasa utama dalam pasaran stesen kerja Unix, serta pemproses terbenam dalam pencetak laser, penghala dan produk yang serupa.

Kebaikan dan keburukan seni bina RISC

Cara paling mudah untuk mengkaji kekuatan dan kelemahan seni bina RISC adalah dengan membezakannya dengan pendahulunya, seni bina CISC. Matlamat utama seni bina CISC adalah untuk menyelesaikan tugas dalam baris pemasangan yang lebih sedikit. Ini dicapai dengan mencipta perkakasan pemprosesan yang boleh memahami dan melaksanakan pelbagai operasi. Untuk ini tugas tertentu Pemproses CISC datang dengan arahan khusus (MULT). Apabila dilaksanakan, arahan ini memuatkan dua nilai ke dalam daftar berasingan, mendarabkan operan dalam modul pelaksanaan, dan kemudian menyimpan produk dalam daftar yang sesuai. Oleh itu, keseluruhan tugas untuk mendarab dua nombor boleh diselesaikan dengan satu arahan: MULT 2: 3, 5: 2. Seni bina CISC dan RISC ialah penyelesaian seni bina pendahulu dan pengganti.

MULT ialah apa yang dikenali sebagai "arahan kompleks". Perintah ini beroperasi secara langsung dalam bank memori komputer dan tidak memerlukan pengaturcara untuk secara eksplisit memanggil sebarang beban atau menyimpan fungsi. Ia sangat serupa dengan arahan dalam bahasa peringkat tinggi. Sebagai contoh, jika kita menganggap bahawa a mewakili nilai 2:3, dan b mewakili nilai 5:2, maka perintah ini adalah sama dengan ungkapan C a = a * b.

Salah satu kelebihan utama sistem ini ialah pengkompil perlu melakukan kerja minimum untuk menterjemah rumusan bahasa peringkat tinggi ke dalam himpunan. Oleh kerana panjang kod agak pendek, sangat sedikit RAM diperlukan untuk menyimpan arahan. Apabila membandingkan seni bina pemproses CISC dan RISC, penekanan adalah pada melaksanakan arahan kompleks secara langsung dalam perkakasan.

pendekatan RISC

Pemproses RISC hanya menggunakan arahan asas yang dilaksanakan dalam satu kitaran jam. Oleh itu, arahan MULT yang diterangkan di atas boleh dibahagikan kepada tiga arahan berasingan: LOAD, yang memindahkan data dari bank memori ke daftar PROD, yang mencari produk dua operan yang terletak di dalam daftar, dan STORE, yang memindahkan data dari daftar. kepada bank memori. Untuk melaksanakan siri langkah yang tepat yang diterangkan dalam pendekatan CISC, seorang pengaturcara perlu mengekod empat baris pemasangan:

BEBAN A, 2:3.
BEBAN B, 5:2.
PROD A, B.
KEDAI 2:3, A.

Pada mulanya ia mungkin kelihatan lebih kurang cara yang berkesan operasi selesai kerana terdapat lebih banyak baris kod dan lebih banyak RAM diperlukan untuk menyimpan arahan peringkat pemasangan. Pengkompil juga perlu melakukan lebih banyak kerja untuk menukar rumusan bahasa peringkat tinggi kepada kod borang ini.

Perbandingan CISC dan RISC

Di bawah ialah perbandingan seni bina CISC dan RISC:

  • Fokus pada perkakasan.
  • Termasuk jam arahan yang kompleks.
  • Saiz kod kecil, kitaran tinggi sesaat.
  • Transistor digunakan untuk menyimpan arahan yang kompleks.
  • Penekanan kepada perisian.
  • Arahan padat yang tidak memerlukan banyak masa.
  • Kitaran rendah sesaat, saiz kod besar.
  • Membelanjakan lebih banyak transistor pada daftar memori.

Strategi RISC membawa beberapa faedah yang sangat penting. Memandangkan setiap arahan memerlukan hanya satu kitaran jam untuk dilaksanakan, keseluruhan program akan dilaksanakan dalam lebih kurang jumlah masa yang sama seperti arahan MULT berbilang silinder. "Arahan dipendekkan" RISC ini memerlukan lebih sedikit ruang perkakasan transistor daripada arahan yang kompleks, meninggalkan lebih banyak ruang untuk daftar biasa. Memandangkan semua arahan dilaksanakan pada masa yang sama (cth., satu kitaran jam), saluran paip adalah mungkin.

Ciri-ciri proses

Mengasingkan arahan LOAD dan STORE sebenarnya mengurangkan jumlah kerja yang perlu dilakukan oleh komputer. Selepas melaksanakan arahan MULT gaya CISC, pemproses secara automatik memadamkan daftar. Jika salah satu operan perlu digunakan untuk pengiraan lain, pemproses mesti memuatkan semula data dari bank memori ke dalam daftar. Dalam RISC, operan akan kekal dalam daftar sehingga nilai lain dimuatkan ke dalamnya.

Pendekatan CISC cuba meminimumkan bilangan arahan untuk setiap program dengan mengorbankan bilangan kitaran setiap arahan. RISC, sebaliknya, mengurangkan bilangan kitaran dengan menyediakan arahan untuk setiap program.

Kesukaran pelaksanaan komersial

Walaupun terdapat kelebihan pemprosesan berasaskan RISC, beberapa dekad sebelum cip RISK tersedia secara komersial. Ini sebahagian besarnya disebabkan oleh kekurangan sokongan perisian.

Walaupun talian Power Macintosh Apple, yang menggunakan cip berasaskan RISC dan Windows NT, adalah serasi dengan RISC, Windows 3.1 dan Windows 95 telah direka bentuk dengan mengambil kira pemproses CISC. Banyak syarikat tidak bersedia untuk mengambil risiko dengan teknologi RISC yang baru muncul. Tanpa minat komersial, pereka bentuk pemproses tidak dapat menghasilkan cip RISC dalam jumlah yang cukup besar untuk menjadikan harga mereka kompetitif.

Satu lagi halangan utama ialah kehadiran Intel. Walaupun cip CISC mereka menjadi semakin besar dan sukar untuk direka bentuk, Intel mempunyai sumber untuk membangunkan pemproses yang berkuasa. Walaupun cip RISC boleh mengatasi usaha Intel dalam bidang tertentu, perbezaannya tidak cukup besar untuk meyakinkan pembeli untuk menukar teknologi.

Kelebihan RISC Keseluruhan

Hari ini, Intel x86 adalah satu-satunya cip yang mengekalkan seni bina CISC. Ini disebabkan terutamanya oleh kemajuan dalam bidang lain kelengkapan komputer. Harga RAM telah turun mendadak. Pada tahun 1977, 1 MB DRAM berharga kira-kira $5,000. Menjelang tahun 1994, jumlah memori yang sama berharga hanya AS$6 (dilaraskan untuk inflasi). Teknologi pengkompil juga menjadi lebih canggih, jadi penggunaan RISC RAM dan penekanan pada perisian menjadi ideal.

Falsafah Set Arahan

Salah faham takrif RISIKO ialah idea bahawa prosedur dihapuskan, mengakibatkan set algoritma berkurangan. Rutin RISC telah berkembang dalam saiz selama bertahun-tahun, dan kini banyak yang mempunyai set ciri yang lebih luas daripada CPU CISC.

Istilah "set rutin berkurangan" merujuk kepada fakta bahawa jumlah kerja yang dilakukan oleh setiap arahan dikurangkan (tidak lebih daripada satu kitaran memori) berbanding rutin CISC kompleks yang memerlukan berpuluh-puluh kitaran untuk melaksanakan satu arahan. Seni bina RISC biasanya mempunyai input/output dan algoritma pemprosesan data yang berasingan.

Format arahan

Kebanyakan seni bina RISC mempunyai arahan panjang tetap (biasanya 32 bit) dan pengekodan mudah, menjadikan pengambilan logik, penyahkodan dan output lebih mudah. Salah satu kelemahan arahan 32-bit ialah pengurangan ketumpatan kod, yang tidak menguntungkan untuk pengkomputeran terbenam pada stesen kerja dan pelayan. Seni bina RISC pada asalnya direka untuk perkhidmatan. Untuk menangani isu ini, beberapa seni bina seperti ARM, Power ISA, MIPS, RISC-V dan Adipteva Epiphany mempunyai format arahan dipendekkan pilihan atau ciri pemampatan arahan. SH5 juga mengikuti corak ini, walaupun ia telah berkembang ke arah yang bertentangan, menambah lebih lama arahan multimedia kepada pengekodan 16-bit asal.

Penggunaan peralatan

Untuk mana-mana tahap prestasi keseluruhan tertentu, cip RISC biasanya mempunyai jauh lebih sedikit transistor khusus untuk logik teras yang pada asalnya membenarkan pereka bentuk untuk meningkatkan saiz daftar dan selari dalaman.

Ciri-ciri lain yang biasa ditemui dalam seni bina RISC:

  • Prestasi pemproses purata menghampiri satu arahan setiap kitaran.
  • Format arahan seragam - menggunakan satu perkataan dengan opcode dalam kedudukan yang sama untuk penyahkodan yang lebih mudah.
  • Semua daftar tujuan umum boleh digunakan sebagai sumber/destinasi dalam semua arahan, memudahkan reka bentuk pengkompil (daftar titik terapung selalunya disimpan secara berasingan).
  • Mod ringkas dengan pengalamatan kompleks, dilaksanakan mengikut urutan arahan.
  • Berbilang jenis data dalam perkakasan (cth rentetan bait atau BCD).

Reka bentuk RISC juga memperkenalkan model memori Harvard, di mana arahan dan data diasingkan secara konsep. Ini bermakna menukar memori di mana kod disimpan mungkin tidak menjejaskan arahan yang dilaksanakan oleh pemproses (memandangkan CPU mempunyai arahan berasingan dan cache data) sehingga arahan penyegerakan khas dikeluarkan. Sebaliknya, ia membolehkan cache diakses secara serentak, yang sering meningkatkan prestasi.

Ciri-ciri seni bina RISC

Pada masa awal industri komputer, pengaturcaraan dilakukan dalam kod mesin, yang menggalakkan penggunaan arahan yang berkuasa dan mudah digunakan. Jadi pereka CPU cuba mereka bentuk algoritma yang boleh melakukan sebanyak mungkin kerja. Dengan kemunculan bahasa peringkat tinggi, arkitek mula mencipta arahan khas untuk pelaksanaan langsung mekanisme pusat tertentu. Matlamat umum kedua adalah untuk menyediakan semua mod pengalamatan yang mungkin untuk setiap algoritma, yang dikenali sebagai ortogonal, untuk memudahkan pelaksanaan pengkompil.

Sikap pada masa itu adalah reka bentuk itu perkakasan adalah lebih matang daripada reka bentuk pengkompil, jadi ia sendiri juga merupakan sebab untuk melaksanakan bahagian fungsi dalam perkakasan atau mikrokod, dan bukan hanya dalam pengkompil yang dikekang memori (atau dalam kod yang dihasilkannya). Selepas kemunculan RISC, pendekatan ini dikenali sebagai pengkomputeran set arahan kompleks, atau CISC.

Pemproses juga mempunyai sedikit daftar atas beberapa sebab:


Penggunaan praktikal

Seni bina pemproses RISC kini digunakan pada pelbagai platform, daripada telefon pintar dan tablet kepada beberapa superkomputer paling berkuasa di dunia, seperti 2011 Top 500 K Computer.

Menjelang awal abad ke-21, kebanyakan berprofil rendah dan sistem mudah alih berdasarkan seni bina RISC. Contoh:

  • menguasai pasaran untuk sistem terbenam berkuasa rendah dan kos rendah (200-1800 MHz pada 2014). Ia digunakan dalam beberapa kebanyakan sistem Android, Apple iPhone dan iPad, Microsoft Windows telefon ( bekas Windows Mudah alih), peranti RIM (topic.risc.architecture), Nintendo Game Boy Advance, DS/3DS dan Switch.
  • Barisan MIPS (pada satu ketika digunakan dalam banyak komputer SGI) dan kini dalam PlayStation, PlayStation 2, Nintendo 64 (ipb.risc.architecture), konsol permainan PlayStation Portable dan pintu masuk kediaman seperti Linksys WRT54G.
  • Hitachi SuperH, yang digunakan dalam Sega Super 32X, Saturn dan Dreamcast (viewtopic.php.risc.architecture), kini dibangunkan dan dijual oleh Renesas sebagai SH4.
  • Atmel AVR digunakan dalam pelbagai barisan produk, daripada pengawal pegang tangan Xbox kepada kereta BMW.
  • RISC-V (vbulletin.risc.architecture), Berkeley RISC ISA sumber terbuka kelima, dengan ruang alamat 32-bit, teras set arahan integer kecil, ISA "termampat" eksperimen untuk ketumpatan kod dan direka bentuk untuk standard dan sambungan tersuai.
  • Stesen kerja, pelayan dan superkomputer.
  • MIPS (powered.by.smf.risc.architecture), Silicon Graphics (berhenti mencipta sistem berasaskan MIPS pada tahun 2006).
  • SPARC, Oracle (dahulunya Sun Microsystems) dan Fujitsu (phorum.risc.architecture).
  • IBM Power Architecture, digunakan dalam kebanyakan superkomputer IBM, pelayan jarak pertengahan dan stesen terminal.
  • Hewlett-Packard PA-RISC (phpbb.risc.architecture), juga dirujuk sebagai HP-PA (dihentikan lewat 2008).
  • Alpha, digunakan dalam stesen kerja, pelayan dan superkomputer daripada Digital Equipment Corporation, Compaq dan HP (dihentikan pada tahun 2007).
  • RISC-V (powered.phpbb.risc.architecture), Berkeley RISC ISA yang kelima, sumber terbuka, dengan ruang alamat 64 atau 128-bit dan keseluruhan teras dilanjutkan dengan titik terapung, pengabusan dan pemprosesan vektor, dan direka untuk sambungan dengan arahan untuk rangkaian, input-output, pemprosesan data. Reka bentuk superscalar 64-bit Rocket tersedia untuk dimuat turun.

Perbandingan dengan seni bina lain

Sesetengah pemproses direka bentuk khusus dengan set arahan yang sangat kecil, tetapi reka bentuk ini berbeza dengan ketara daripada seni bina RISC tradisional, jadi mereka diberikan data yang berbeza, seperti set arahan minimum (MISC) atau seni bina yang dimulakan pengangkutan (TTA).

Seni bina RISC secara tradisinya mempunyai sedikit kejayaan dalam pasaran desktop dan pelayan komoditi, di mana platform berasaskan x86 kekal sebagai seni bina pemproses yang dominan. Walau bagaimanapun, ini mungkin berubah apabila pemproses berdasarkan seni bina ARM dibangunkan untuk sistem prestasi yang lebih tinggi. Pengeluar termasuk Cavium, AMD dan Qualcomm telah mengeluarkan peranti berdasarkan seni bina ARM. ARM juga bekerjasama dengan Cray pada 2017 untuk mencipta superkomputer berdasarkan seni bina ARM. Pemimpin industri komputer Microsoft mengumumkan bahawa, sebagai sebahagian daripada perkongsian dengan Qualcomm, ia merancang untuk menyokong Windows versi PC 10 pada peranti berasaskan Qualcomm Snapdragon. Peranti ini akan menyokong perisian Win32 berasaskan x86 menggunakan emulator pemproses x86.

Walau bagaimanapun, di luar arena desktop, seni bina ARM RISC digunakan secara meluas dalam telefon pintar, tablet dan banyak bentuk peranti terbenam. Juga Intel Pentium Pro (P6) menggunakan teras pemproses RISC dalaman untuk pemprosesnya.

Walaupun reka bentuk awal seni bina pemproses RISC berbeza dengan ketara daripada reka bentuk CISC yang inovatif, menjelang tahun 2000 pemproses paling tinggi dalam barisan RISC hampir tidak dapat dibezakan daripada pemproses paling tinggi dalam barisan CISC.