RISC: Perbedaan antara revisi
Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.9.2 |
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.3 |
||
Baris 106: | Baris 106: | ||
[[IBM]] memiliki 3 arsitektur RISC buatannya yaitu, [[PowerPC]], [[IBM POWER]], dan [[Power ISA]]. Ketiga arsitektur tersebut digunakan dalam banyak superkomputer, peladen kelas menengah dan stasiun kerja milik IBM. |
[[IBM]] memiliki 3 arsitektur RISC buatannya yaitu, [[PowerPC]], [[IBM POWER]], dan [[Power ISA]]. Ketiga arsitektur tersebut digunakan dalam banyak superkomputer, peladen kelas menengah dan stasiun kerja milik IBM. |
||
PowerPC digunakan pada permainan konsol [[GameCube]], [[Wii]], [[PlayStation 3]], [[Xbox 360]] dan [[Wii U]]. PowerPC juga pernah digunakan pada komputer Apple [[Macintosh]] dari 1994, setelah beralih dari prosesor keluarga [[Motorola 68000]], hingga 2005, ketika mereka beralih ke prosesor [[Intel x86]].<ref>{{Cite web|last=Bennett|first=Amy|date=2005-06-06|title=Apple shifting from PowerPC to Intel|url=https://www.computerworld.com/article/2809210/apple-shifting-from-powerpc-to-intel.html|website=Computerworld|language=en|access-date=2022-02-10}}</ref> |
PowerPC digunakan pada permainan konsol [[GameCube]], [[Wii]], [[PlayStation 3]], [[Xbox 360]] dan [[Wii U]]. PowerPC juga pernah digunakan pada komputer Apple [[Macintosh]] dari 1994, setelah beralih dari prosesor keluarga [[Motorola 68000]], hingga 2005, ketika mereka beralih ke prosesor [[Intel x86]].<ref>{{Cite web|last=Bennett|first=Amy|date=2005-06-06|title=Apple shifting from PowerPC to Intel|url=https://www.computerworld.com/article/2809210/apple-shifting-from-powerpc-to-intel.html|website=Computerworld|language=en|access-date=2022-02-10|archive-date=2020-11-13|archive-url=https://web.archive.org/web/20201113060929/https://www.computerworld.com/article/2809210/apple-shifting-from-powerpc-to-intel.html|dead-url=yes}}</ref> |
||
=== MIPS === |
=== MIPS === |
Revisi per 26 Februari 2023 11.44
![]() | artikel mengandung terlalu banyak istilah teknis. Tolong bantu mengembangkannya agar dapat dipahami oleh orang awam, tanpa harus menghilangkan aspek teknisnya. |
Dalam teknik komputer, komputer set instruksi yang dikurangi atau komputer set instruksi sederhana (Inggris: reduced instruction set computer, disingkat RISC) adalah komputer yang dirancang untuk menyederhanakan instruksi individu yang diberikan kepada komputer untuk mewujudkan suatu tugas. Berbeda dengan instruksi yang diberikan ke komputer set instruksi kompleks (CISC), dengan komputer RISC, tugas mungkin memerlukan lebih banyak instruksi (kode) untuk mewujudkan tugas, karena instruksi individu ditulis dalam kode yang lebih sederhana. Tujuannya adalah untuk mengimbangi kebutuhan untuk memproses lebih banyak instruksi dengan meningkatkan kecepatan setiap instruksi, khususnya, mengimplementasikan pipa instruksi mungkin lebih sederhana dengan instruksi yang lebih sederhana.[1]
Konsep operasional utama dari komputer RISC adalah bahwa setiap instruksi hanya melakukan satu fungsi (misalnya menyalin nilai dari memori ke register). Komputer RISC biasanya memiliki banyak (16 atau 32) register tujuan umum berkecepatan tinggi dengan arsitektur muat dan simpan di mana kode untuk instruksi register-register (untuk melakukan aritmatika dan tes) terpisah dari instruksi yang memberikan akses ke memori utama komputer. Desain CPU memungkinkan komputer RISC beberapa mode pengalamatan sederhana[2] dan waktu instruksi yang dapat diprediksi yang menyederhanakan desain sistem secara keseluruhan.
Perkembangan konseptual arsitektur komputer RISC dimulai dengan proyek IBM 801 pada akhir 1970-an, tetapi konsep ini tidak segera digunakan. Desainer di California mengambil konsep IBM 801 ke 2 proyek terpisah, Stanford MIPS dan Berkeley RISC. Mereka dikomersialkan pada 1980-an sebagai sistem MIPS dan SPARC. IBM akhirnya memproduksi desain RISC berdasarkan karya lebih lanjut pada konsep IBM 801, yaitu arsitektur set instruksi IBM POWER, PowerPC, dan Power ISA. Ketika proyek-proyek matang, banyak desain serupa diproduksi pada akhir 1980-an hingga awal 1990-an, menciptakan unit pemrosesan pusat yang meningkatkan utilitas komersil stasiun kerja Unix dan prosesor tertanam di pencetak laser, perute, dan produk serupa.
Sejarah
Sejumlah sistem pada tahun 1960-an, telah dikreditkan sebagai arsitektur RISC pertama, sebagian didasarkan pada penggunaan pendekatan muat dan simpan.[3] Istilah RISC diciptakan oleh David Patterson dari proyek Berkeley RISC, meskipun konsep yang agak mirip telah muncul sebelumnya.[4]
CDC 6600 yang dirancang oleh Seymour Cray pada tahun 1964 menggunakan arsitektur muat dan simpan dengan hanya 2 mode pengalamatan (register+register, dan register+konstanta langsung) dan 74 kode operasi, dengan siklus jam dasar 10 kali lebih cepat daripada waktu akses memori.[5] Sebagian karena arsitektur muat dan simpan yang dioptimalkan dari CDC 6600, Jack Dongarra mengatakan bahwa itu dapat dianggap sebagai pelopor sistem RISC modern, meskipun sejumlah hambatan teknis lainnya perlu diatasi untuk pengembangan sistem RISC modern.[6]
IBM 801
Michael J. Flynn memandang sistem RISC pertama sebagai desain IBM 801[7], dimulai pada tahun 1975 oleh John Cocke dan selesai pada tahun 1980. Sistem RISC 801 dikembangkan dari upaya untuk membangun prosesor berkecepatan tinggi 24-bit untuk digunakan sebagai dasar saklar telepon digital. Untuk mencapai tujuan peralihan 300 panggilan per detik (1 juta per jam), mereka menghitung bahwa CPU membutuhkan kinerja pada urutan 12 MIPS,[8] dibandingkan dengan mesin mainframe tercepat mereka saat itu, 370/168 yang bekerja pada 3,5 MIPS.[9]
Desain ini didasarkan pada studi tentang koleksi statistik IBM yang luas pada platform mereka yang ada. Mereka menunjukkan bahwa kode dalam pengaturan kinerja tinggi menggunakan register secara ekstensif, dan bahwa mereka sering kehabisan dari mereka. Ini menunjukkan bahwa register tambahan akan lebih meningkatkan kinerja. Selain itu, mereka memperhatikan bahwa penyusun umumnya mengabaikan sebagian besar instruksi yang tersedia, terutama mode pengalamatan ortogonal. Sebaliknya, mereka memilih versi tercepat dari setiap instruksi yang diberikan dan kemudian membangun rutinitas kecil menggunakan instruksi tersebut. Ini menunjukkan bahwa sebagian besar instruksi dapat dihapus tanpa mempengaruhi kode yang dihasilkan. Kedua kesimpulan ini bekerja bersama; menghapus instruksi akan memungkinkan kode instruksi menjadi lebih pendek, membebaskan bit dalam instruksi yang kemudian dapat digunakan untuk memilih di antara satu set register yang lebih besar.[8]
Program saklar telepon dibatalkan pada tahun 1975, tetapi pada saat itu tim telah menunjukkan bahwa desain yang sama akan menawarkan keuntungan kinerja yang signifikan berjalan hampir di semua kode. Dalam simulasi, mereka menunjukkan bahwa penyusun disetel untuk menggunakan register sedapat mungkin akan menjalankan kode sekitar 3 kali lebih cepat dari desain tradisional. Agak mengejutkan, kode yang sama akan berjalan sekitar 50% lebih cepat bahkan pada mesin yang ada karena penggunaan register yang ditingkatkan. Dalam praktiknya, penyusun PL/8 eksperimental mereka, versi PL/1 yang sedikit dipotong, secara konsisten menghasilkan kode yang berjalan jauh lebih cepat pada komputer bingkai utama mereka.[8]
Versi 32-bit dari IBM 801 akhirnya diproduksi dalam bentuk chip tunggal sebagai IBM ROMP pada tahun 1981.[10] CPU ini dirancang untuk tugas "mini", dan juga digunakan dalam IBM RT PC pada tahun 1986, yang ternyata merupakan kegagalan komersial.[11] Tetapi 801 mengilhami beberapa proyek penelitian, termasuk yang baru di IBM yang pada akhirnya akan mengarah pada arsitektur set instruksi IBM POWER.[12][13]
RISC dan MIPS
Pada akhir 1970-an, IBM 801 menjadi terkenal dalam kalangan industri. Ini bertepatan dengan teknik fabrikasi baru yang memungkinkan chip yang lebih kompleks untuk datang ke pasar. Zilog Z80 tahun 1976 memiliki 8.000 transistor, sedangkan Motorola 68000 (68k) tahun 1979 memiliki 68.000 transistor. Desain yang lebih baru ini umumnya menggunakan kompleksitas yang baru ditemukan untuk memperluas set instruksi untuk membuatnya lebih ortogonal. Sebagian besar desain, seperti 68k, menggunakan kode mikro untuk melakukan ini, membaca instruksi dan menerapkannya kembali sebagai urutan instruksi internal yang lebih sederhana. Pada 68k, 1/3 transistor penuh digunakan untuk pengkodean mikro ini.[14]
Pada tahun 1979, David Patterson dikirim cuti panjang dari University of California, Berkeley untuk membantu tim pantai barat DEC meningkatkan kode mikro VAX. Patterson dikejutkan oleh kompleksitas proses pengkodean dan menyimpulkan itu tidak dapat dipertahankan.[15] Dia pertama kali menulis makalah tentang cara meningkatkan pengkodean mikro, tetapi kemudian berubah pikiran dan memutuskan kode mikro itu sendiri adalah masalahnya. Dengan dana dari Program DARPA VLSI, Patterson memulai upaya Berkeley RISC. Program ini, secara praktik tidak diketahui hari ini, menyebabkan sejumlah besar kemajuan dalam desain chip, fabrikasi, dan bahkan grafis komputer. Mempertimbangkan berbagai program dari varian BSD Unix mereka, tim Berkeley menemukan, seperti halnya IBM, bahwa sebagian besar program tidak menggunakan berbagai macam instruksi di 68k.[16]
Pekerjaan awal David Patterson menunjukkan masalah penting dengan pendekatan tradisional yang lebih baik; bahkan instruksi yang sangat penting untuk eseluruhank inerja tertunda oleh perjalanan mereka melalui mkode mikro Jika kode mikro dihapus, maka program akan berjalan lebih cepat. Dan karena mkodeamikro khirnya mengambil instruksi yang kompleks dan memecahnya menjadi beberapa langkah, tidak ada alasan penyusun tidak bisa melakukan ini sebagai gantinya. Studi-studi ini menunjukkan bahwa, bahkan tanpa perubahan lain, seseorang dapat membuat chip dengan 1/3 transistor lebih sedikit yang akan berjalan lebih cepat.[16] Tim IBM 801 juga memperhatikan hal ini; ketika penyusun dihadapkan dengan pilihan kode operasi yang mungkin, mereka akan memilih salah satu yang penulis tahu telah dioptimalkan untuk menjalankan tercepat. Ini berarti kode mikro, yang membangun urutan operasi untuk melakukan kode operasi selalu melakukan hal yang sama berulang-ulang. Tugas itu memperkenalkan penundaan yang dapat dihilangkan jika kode mikro dihapus dan satu kode operasi yang benar-benar digunakan langsung tersedia untuk penyusun.[butuh rujukan]
Ditemukan juga bahwa pada implementasi berkode mikro dari arsitektur tertentu, operasi yang kompleks cenderung lebih lambat daripada urutan operasi yang lebih sederhana melakukan hal yang sama. Ini sebagian merupakan efek dari fakta bahwa banyak desain terburu-buru, dengan sedikit waktu untuk mengoptimalkan atau menyetel setiap instruksi; hanya yang paling sering digunakan yang dioptimalkan, dan urutan instruksi tersebut bisa lebih cepat daripada instruksi yang kurang disetel melakukan operasi yang setara dengan urutan itu. Salah satu contoh yang terkenal adalah instruksi INDEX
VAX.[17]
Pekerjaan Berkeley juga menghasilkan sejumlah poin tambahan. Di antaranya adalah kenyataan bahwa program menghabiskan banyak waktu melakukan panggilan dan pengembalian subrutin, dan tampaknya ada potensi untuk meningkatkan kinerja secara keseluruhan dengan mempercepat panggilan tersebut. Hal ini menyebabkan desain Berkeley untuk memilih metode yang dikenal sebagai jendela register yang secara signifikan dapat meningkatkan kinerja subrutin meskipun dengan biaya beberapa kompleksitas. Mereka juga memperhatikan bahwa sebagian besar instruksi matematika adalah tugas sederhana, hanya 1/3 dari mereka yang benar-benar melakukan operasi seperti penambahan atau pengurangan. Tetapi ketika operasi tersebut terjadi, mereka cenderung lambat. Hal ini menyebabkan penekanan yang jauh lebih besar pada unit data aritmatika yang mendasarinya, dibandingkan dengan desain sebelumnya di mana sebagian besar chip didedikasikan untuk kendali dan kode mikro.[16]
Berkeley RISC yang dihasilkan didasarkan pada peningkatan kinerja melalui penggunaan perpipaan dan penggunaan penjendelaan register yang agresif.[17][18] Dalam CPU tradisional, 1 CPU memiliki sejumlah kecil register, dan program dapat menggunakan register apa pun kapan saja. Dalam CPU dengan jendela register, ada sejumlah besar register, misalnya 128, tetapi program hanya dapat menggunakan sejumlah kecil dari mereka, misalnya delapan pada satu waktu. Sebuah program yang membatasi dirinya untuk delapan register per prosedur dapat membuat panggilan prosedur yang sangat cepat: Panggilan cukup memindahkan jendela "turun" sebanyak delapan, ke set delapan register yang digunakan oleh prosedur itu, dan pengembaliannya memindahkan jendela kembali.[19] Proyek Berkeley RISC mengirimkan prosesor RISC-I pada tahun 1982. Terdiri dari hanya 44.420 transistor (dibandingkan dengan rata-rata sekitar 100.000 dalam desain CISC yang lebih baru pada zaman itu) RISC-I hanya memiliki 32 instruksi, namun benar-benar mengungguli desain chip tunggal lainnya. Mereka melanjutkan proyek mereka dengan RISC-II yang memiliki 40.760 transistor dan 39 instruksi pada tahun 1983, yang berjalan lebih dari tiga kali lebih cepat dari RISC-I.[18]
Ketika proyek RISC mulai dikenal di Silicon Valley, proyek serupa dimulai di Stanford University pada tahun 1981. Proyek MIPS ini tumbuh dari kursus pascasarjana oleh John L. Hennessy, menghasilkan sistem yang berfungsi pada tahun 1983, dan dapat menjalankan program sederhana pada tahun 1984.[20] Pendekatan MIPS menekankan siklus jam yang agresif dan penggunaan pipa, memastikannya dapat dijalankan "sepenuh" mungkin.[20] Sistem MIPS diikuti oleh MIPS-X, dan pada tahun 1984, Hennessy dan rekan-rekannya membentuk MIPS Computer Systems.[20][21] Usaha komersial menghasilkan arsitektur baru yang juga disebut MIPS dan prosesor mikro R2000 pada tahun 1985.[21]
Filosofi keseluruhan konsep RISC dipahami secara luas pada paruh kedua tahun 1980-an, dan memimpin para perancang MIPS-X untuk mengatakannya seperti ini pada tahun 1987:
Tujuan dari setiap format instruksi harus: 1. dekode sederhana, 2. dekode sederhana, dan 3. dekode sederhana. Setiap upaya peningkatan kepadatan kode dengan mengorbankan kinerja CPU harus diejek di setiap kesempatan.[22]
Pelarian komersil
Pada awal 1980-an, ketidakpastian yang signifikan mengelilingi konsep RISC. Salah satu kekhawatiran melibatkan penggunaan memori; Satu instruksi dari prosesor tradisional seperti 68k dapat ditulis sebagai mungkin setengah lusin instruksi RISC yang lebih sederhana. Secara teori, ini bisa memperlambat sistem karena menghabiskan lebih banyak waktu untuk mengambil instruksi dari memori. Tetapi pada pertengahan 1980-an, konsep-konsepnya telah cukup matang untuk dilihat layak secara komersial.[11][20]
Desain RISC komersial mulai muncul pada pertengahan 1980-an. MIPS R2000 pertama muncul pada Januari 1986, diikuti tak lama kemudian oleh PA-RISC milik Hewlett-Packard di beberapa komputer mereka.[11] Sementara itu, upaya Berkeley telah menjadi begitu terkenal sehingga akhirnya menjadi nama untuk seluruh konsep. Pada tahun 1987, Sun Microsystems memulai menjual sistem dengan prosesor SPARC, langsung berdasarkan sistem Berkeley RISC II.[11][23] Komite Inovasi dalam Komputasi dan Komunikasi pemerintah AS memuji penerimaan kelangsungan hidup konsep RISC terhadap keberhasilan sistem SPARC.[11] Keberhasilan SPARC memperbarui minat dalam IBM, yang merilis sistem RISC baru pada tahun 1990 dan pada tahun 1995, prosesor RISC menjadi dasar dari industri peladen senilai $15 miliar.[11]
Pada akhir 1980-an, desain RISC baru dengan mudah mengungguli semua desain tradisional dengan margin yang lebar. Pada saat itu, semua merek lain memulai upaya RISC mereka sendiri. Di antaranya adalah DEC Alpha, AMD Am29000, Intel i860 dan i960, Motorola 88000, IBM POWER, dan, sedikit kemudian, Apple/IBM/Motorola PowerPC. Banyak dari mereka telah menghilang karena mereka sering tidak menawarkan keunggulan kompetitif di atas yang lain pada era yang sama. Mereka yang tersisa sering digunakan hanya di pasar kecil atau sebagai bagian dari sistem lain, hanya SPARC dan POWER yang memiliki pasar yang tersisa yang signifikan. Yang terakhir adalah ARM, yang sedang dalam kemitraan dengan Apple, mengembangkan desain berdaya rendah dan kemudian mengkhususkan diri di pasar itu, yang pada saat itu masih kecil. Dengan meningkatnya komputasi bergerak, terutama setelah diperkenalkannya iPhone, ARM sekarang menjadi desain CPU kelas tinggi yang paling banyak digunakan di pasar.
Persaingan antara pendekatan RISC dan CISC konvensional juga menjadi subjek analisis teoritis pada awal 1980-an, yang mengarah misalnya ke hukum besi kinerja prosesor.
Sejak 2010, arsitektur set instruksi (ISA) sumber terbuka baru, RISC-V, telah dikembangkan di University of California, Berkeley, untuk tujuan penelitian dan sebagai alternatif gratis untuk ISA berpemilik. Pada 2014, versi 2 dari ruang pengguna ISA diperbaiki. ISA ini dirancang untuk dapat diperluas dari inti barebone yang cukup untuk prosesor tertanam kecil ke superkomputer dan penggunaan komputasi awan dengan ekstensi dan koprosesor yang standar dan ditentukan oleh desainer chip. ISA ini telah diuji dalam desain silikon dengan SoC ROCKET yang juga tersedia sebagai penghasil prosesor sumber terbuka dalam bahasa CHISEL.
Ciri khas dan filosofi desain
Filosofi set instruksi
Kesalahpahaman umum pada kalimat "komputer set instruksi yang disederhanakan" adalah bahwa instruksi cukup dihilangkan, menghasilkan serangkaian instruksi yang lebih kecil.[24] Faktanya, selama bertahun-tahun, set instruksi RISC bertumbuh dalam ukuran, dan kini banyak dari mereka memiliki serangkaian instruksi yang lebih besar daripada banyak CPU CISC.[25][26] Contohnya, beberapa prosesor RISC seperti PowerPC memiliki set instruksi sebesar CISC IBM System/370. Sebaliknya, DEC PDP-8, yang merupakan CPU CISC karena banyak instruksinya melibatkan beberapa akses memori, hanya memiliki 8 instruksi dasar dan beberapa instruksi yang diperluas.[27] Istilah "disederhanakan" dalam kalimat itu dimaksudkan untuk menggambarkan fakta bahwa jumlah pekerjaan yang dicapai setiap instruksi tunggal dikurangi, paling banyak satu siklus memori data, dibandingkan dengan "instruksi kompleks" CPU CISC yang mungkin memerlukan puluhan siklus memori data untuk menjalankan satu instruksi.[28]
Istilah arsitektur muat-simpan terkadang lebih disukai.
Cara lain untuk melihat debat RISC/CISC adalah dengan mempertimbangkan apa yang dipaparkan ke penyusun. Dalam prosesor CISC, perangkat keras dapat secara internal menggunakan register dan bit bendera untuk menerapkan instruksi kompleks tunggal seperti STRING MOVE
, tetapi menyembunyikan detail tersebut dari kompiler. Operasi internal prosesor RISC "dipaparkan ke penyusun".[29][30]
Format instruksi
Kebanyakan arsitektur RISC memiliki instruksi panjang tetap (biasanya 32 bit) dan pengkodean sederhana, yang menyederhanakan pengambilan, dekode, dan mengeluarkan logika secara signifikan. Salah satu kelemahan dari instruksi 32-bit adalah berkurangnya kepadatan kode, yang lebih merugikan karakteristik dalam komputasi tertanam daripada di stasiun kerja dan peladen, yang mana arsitektur RISC pada awalnya dirancang. Untuk mengatasi masalah ini, beberapa arsitektur, seperti ARM, Power ISA, MIPS, RISC-V, dan Adapteva Epiphany, memiliki format instruksi tambahan yang pendek dan minim fitur, atau fitur kompresi instruksi. SH5 juga mengikuti pola ini, meskipun telah berevolusi ke arah yang berlawanan, setelah menambahkan instruksi media yang lebih panjang ke pengkodean 16-bit asli.
Pemanfaatan perangkat keras
Untuk tingkat kinerja umum tertentu, chip RISC biasanya akan memiliki transistor jauh lebih sedikit yang didedikasikan untuk logika inti yang awalnya memungkinkan desainer untuk meningkatkan ukuran set register dan meningkatkan paralelisme internal.
Fitur lainnya dari arsitektur RISC yaitu:
- Format instruksi seragam, menggunakan satu kata dengan kode operasi di posisi bit yang sama untuk proses dekode yang lebih sederhana
- Semua register tujuan umum dapat digunakan sama sebagai sumber/tujuan dalam semua instruksi, menyederhanakan desain kompiler (register titik kambang sering disimpan terpisah)
- Mode pengalamatan sederhana dengan pengalamatan kompleks yang dilakukan oleh urutan instruksi
- Tipe data dalam perangkat keras yang sedikit (misalnya, tidak ada string bita atau desimal berkode biner)
Desain RISC juga lebih mungkin menampilkan model memori Harvard, di mana aliran instruksi dan aliran data dipisahkan secara konseptual; ini berarti bahwa memodifikasi memori di mana kode dipegang mungkin tidak berpengaruh pada instruksi yang dijalankan oleh prosesor (karena CPU memiliki instruksi terpisah dan tembolok data), setidaknya sampai instruksi sinkronisasi khusus dikeluarkan; Prosesor CISC yang memiliki instruksi terpisah dan tembolok data umumnya menjaga mereka disinkronkan secara otomatis, untuk kompatibilitas mundur dengan prosesor yang lebih tua.
Banyak desain RISC awal juga berbagi karakteristik memiliki slot penundaan cabang, ruang instruksi yang segera setelah lompatan atau cabang. Instruksi di ruang ini dijalankan, apakah cabang diambil atau tidak (dengan kata lain efek cabang tertunda). Instruksi ini membuat ALU CPU sibuk untuk waktu tambahan yang biasanya diperlukan untuk melakukan cabang. Saat ini, slot penundaan cabang dianggap sebagai efek samping yang tidak menguntungkan dari strategi tertentu untuk menerapkan beberapa desain RISC, dan desain RISC modern umumnya menghilangkannya (seperti PowerPC dan versi SPARC dan MIPS yang lebih baru).[butuh rujukan]
Beberapa aspek yang dikaitkan dengan desain berlabel RISC pertama sekitar tahun 1975 termasuk pengamatan bahwa penyusun yang dibatasi memori saat itu sering tidak dapat memanfaatkan fitur yang dimaksudkan untuk memfasilitasi pengkodean perakitan manual, dan bahwa mode pengalamatan yang kompleks membutuhkan banyak siklus untuk dilakukan karena akses memori tambahan yang diperlukan. Dikatakan bahwa fungsi semacam itu akan lebih baik dilakukan dengan urutan instruksi yang lebih sederhana jika ini dapat menghasilkan implementasi yang cukup kecil untuk memberi ruang bagi banyak register, mengurangi jumlah akses memori yang lambat. Dalam desain sederhana ini, sebagian besar instruksi memiliki panjang seragam dan struktur yang serupa, operasi aritmatika terbatas pada register CPU dan hanya instruksi muat dan simpan terpisah yang mengakses memori. Properti ini memungkinkan penyeimbangan tahap pipa yang lebih baik dari sebelumnya, membuat pipa RISC secara signifikan lebih efisien dan memungkinkan frekuensi jam yang lebih tinggi.
Namun dorongan lain dari kedua RISC dan desain lainnya berasal dari pengukuran praktis pada program dunia nyata. Andrew Tanenbaum menyimpulkan banyak dari mereka, menunjukkan bahwa prosesor sering memiliki pendekat yang terlalu besar. Misalnya, ia menunjukkan bahwa 98% dari semua konstanta dalam sebuah program akan muat dalam 13 bit, namun banyak desain CPU yang didedikasikan 16 atau 32 bit untuk menyimpannya. Ini menunjukkan bahwa, untuk mengurangi jumlah akses memori, mesin panjang tetap dapat menyimpan konstanta dalam bit yang tidak terpakai dari kata instruksi itu sendiri, sehingga mereka akan segera siap ketika CPU membutuhkannya (seperti pengalamatan langsung dalam desain konvensional). Ini membutuhkan kode operasi kecil untuk meninggalkan ruang bagi konstanta berukuran wajar dalam kata instruksi 32-bit.
Karena banyak program dunia nyata menghabiskan sebagian besar waktu mereka untuk melakukan operasi sederhana, beberapa peneliti memutuskan untuk fokus pada pembuatan operasi tersebut secepat mungkin. Kecepatan jam CPU dibatasi oleh waktu yang dibutuhkan untuk menjalankan sub-operasi paling lambat dari instruksi apa pun; mengurangi waktu siklus itu sering mempercepat pelaksanaan instruksi lain.[31] Fokus pada "instruksi yang dikurangi" menyebabkan mesin yang dihasilkan disebut "komputer set instruksi yang dikurangi/disederhanakan" (RISC). Tujuannya adalah untuk membuat instruksi yang begitu sederhana sehingga mereka dapat dengan mudah disalurkan, untuk mencapai keluaran jam tunggal pada frekuensi tinggi.
Kemudian, dicatat bahwa salah satu karakteristik yang paling signifikan dari prosesor RISC adalah bahwa memori eksternal hanya dapat diakses oleh instruksi muat atau simpan. Semua instruksi lainnya terbatas pada register internal. Ini menyederhanakan banyak aspek desain prosesor: memungkinkan instruksi untuk menjadi panjang tetap, menyederhanakan pipa, dan mengisolasi logika untuk menangani keterlambatan dalam menyelesaikan akses memori (kehilangan tembolok, dll) ke hanya dua instruksi. Hal ini menyebabkan desain RISC disebut sebagai arsitektur muat-simpan.[32]
Perbandingan
Beberapa CPU telah dirancang khusus untuk memiliki serangkaian instruksi yang sangat kecil, tetapi desain tersebut sangat berbeda dari desain RISC klasik, sehingga mereka telah diberi nama lain seperti komputer set instruksi minimal (MISC) atau arsitektur terpicu transportasi (TTA).
Arsitektur RISC secara tradisional memiliki sedikit keberhasilan di PC desktop dan pasar peladen komoditas, di mana platform berbasis x86 tetap menjadi arsitektur prosesor yang dominan. Namun, hal ini dapat berubah, karena prosesor berbasis ARM sedang dikembangkan untuk sistem kinerja yang lebih tinggi.[33] Produsen termasuk Cavium, AMD, dan Qualcomm telah merilis prosesor server berdasarkan arsitektur ARM.[34][35] ARM selanjutnya bermitra dengan Cray pada tahun 2017 untuk memproduksi superkomputer berbasis ARM.[36] Di desktop, Microsoft mengumumkan bahwa mereka berencana untuk mendukung versi PC Windows 10 pada perangkat berbasis Qualcomm Snapdragon pada tahun 2017 sebagai bagian dari kemitraannya dengan Qualcomm. Perangkat berikut akan mendukung aplikasi Windows yang disusun untuk x86 32-bit melalui emulator prosesor x86 yang menerjemahkan kode x86 32-bit ke kode ARM64.[37][38] Apple mengumumkan mereka akan mengalihkan komputer desktop dan laptop Mac mereka dari prosesor Intel ke SoC berbasis ARM64 yang dikembangkan secara internal yang disebut silikon Apple; komputer pertama, menggunakan prosesor Apple M1, dirilis pada November 2020.[39] Mac dengan silikon Apple dapat menjalankan biner x86-64 dengan Rosetta 2, penerjemah x86-64 ke ARM64.[40]
Di luar arena desktop, bagaimanapun, arsitektur ARM RISC digunakan secara luas di ponsel cerdas, tablet dan berbagai bentuk perangkat tertanam. Sementara desain RISC awal berbeda secara signifikan dari desain CISC kontemporer, pada tahun 2000 CPU berkinerja tertinggi di garis RISC hampir tidak dapat dibedakan dari CPU berkinerja tertinggi di garis CISC.[41][42][43]
Arsitektur
Arsitektur RISC sekarang digunakan di berbagai perangkat, dari ponsel cerdas dan komputer tablet hingga beberapa superkomputer tercepat di dunia seperti Fugaku, yang tercepat dalam daftar TOP500 per November 2020, dan Summit, Sierra, dan Sunway TaihuLight, tiga berikutnya pada daftar itu.[44]
Terdapat beberapa arsitektur RISC lainnya, seperti prosesor ARC, AMD Am29000, LoongArch, Blackfin, Intel i860 dan i960, dan Motorola 88000.
ARM
Arsitektur ARM menguasai pasar untuk sistem terbenam rendah daya dan rendah harga (biasanya 200-1800MHz di 2014). Ini digunakan dalam banyak perangkat seperti perangkat berbasis Android, Apple iPhone dan iPad, Microsoft Windows Phone (dulunya Windows Mobile), perangkat RIM, Nintendo Game Boy Advance, DS, 3DS dan Switch, Raspberry Pi, dll.
Beberapa chromebook menggunakan sistem berbasis ARM sejak 2012.
Apple menggunakan prosesor buatannya berbasis ARM untuk jajaran komputer desktop dan laptop mereka, sejak beralih dari prosesor Intel,[45] dan komputer pertama mereka dirilis pada November 2020.[39]
Microsoft menggunakan prosesor berbasis ARM milik Qualcomm untuk jajaran produk Surface mereka.[46]
IBM
IBM memiliki 3 arsitektur RISC buatannya yaitu, PowerPC, IBM POWER, dan Power ISA. Ketiga arsitektur tersebut digunakan dalam banyak superkomputer, peladen kelas menengah dan stasiun kerja milik IBM.
PowerPC digunakan pada permainan konsol GameCube, Wii, PlayStation 3, Xbox 360 dan Wii U. PowerPC juga pernah digunakan pada komputer Apple Macintosh dari 1994, setelah beralih dari prosesor keluarga Motorola 68000, hingga 2005, ketika mereka beralih ke prosesor Intel x86.[47]
MIPS
Arsitektur MIPS dari Silicon Graphics digunakan pada permainan konsol PlayStation, PlayStation 2, Nintendo 64, PlayStation Portable, dan gerbang jaringan perumahan. MIPS juga digunakan dalam banyak komputer SGI, sebelum berhenti memproduksinya pada 2006.
SuperH
SuperH dari Hitachi, yang awalnya banyak digunakan dalam Sega Super 32X, Saturn dan Dreamcast, kini dikembangkan dan dijual oleh Renesas sebagai SH4.
AVR
Atmel AVR digunakan dalam berbagai produk, mulai dari pengontrol genggam Xbox, pengendali mikro sumber terbuka Arduino, hingga mobil BMW.
RISC-V
RISC-V, ISA Berkeley RISC kelima sumber terbuka, dengan ruang alamat 32-, 64-, atau 128-bit, set instruksi integer inti kecil dengan inti integer diperpanjang dengan titik mengambang, pemrosesan atom dan vektor, ISA "Terkompresi" eksperimental untuk kepadatan kode, diperluas dengan instruksi untuk jaringan, I/O dan pemrosesan data, dan dirancang untuk ekstensi tujuan standar dan khusus. Desain superskalar 64-bit, "Rocket", tersedia untuk diunduh. Ini diimplementasikan dalam prosesor Inisiatif Prosesor Eropa (EPI).
SPARC
SPARC dari Oracle (sebelumnya Sun Microsystems) dan Fujitsu, digunakan dalam berbagai komputer Sun SPARCstation.
PA-RISC
PA-RISC dari Hewlett-Packard, juga dikenal sebagai HP-PA, kini dihentikan produksinya pada akhir 2008.
Alpha
Alpha digunakan dalam komputer papan tunggal, stasiun kerja, peladen dan superkomputer dari Digital Equipment Corporation, kemudian Compaq, dan akhirnya Hewlett-Packard (dihentikan pada 2007).
Referensi
- ^ Berezinski, John. "RISC: Reduced Instruction set Computer". Department of Computer Science, Northern Illinois University. Diarsipkan dari versi asli tanggal 2017-02-28.
- ^ Flynn, Michael J. (1995). Computer architecture : pipelined and parallel processor design. Boston, MA: Jones and Bartlett. ISBN 0-86720-204-1. OCLC 31374251.
- ^ Fisher, Joseph A. (2005). Embedded computing : a VLIW approach to architecture, compilers and tools. Paolo Faraboschi, Clifford Young. San Francisco, Calif.: Morgan Kaufmann. ISBN 1-4175-7430-5. OCLC 57546513.
- ^ Reilly, Edwin D. (2003). Milestones in computer science and information technology. Westport, Conn.: Greenwood Press. ISBN 1-57356-521-0. OCLC 51258496.
- ^ Grishman, Ralph (1974). Assembly Language Programming for the Control Data 6000 Series and the Cyber 70 Series. Algorithmics Press. hlm. 12. OCLC 425963232.
- ^ Dongarra, J. J. (1998). Numerical linear algebra for high-performance computers. Iain S. Duff, D. C. Sorensen, H. A. van der Vorst. Philadelphia. ISBN 0-89871-428-1. OCLC 39890502.
- ^ Flynn, Michael J. (1995). Computer architecture : pipelined and parallel processor design. Boston, MA: Jones and Bartlett. ISBN 0-86720-204-1. OCLC 31374251.
- ^ a b c Cocke, John; Markstein, V. (1990-01). "The evolution of RISC technology at IBM". IBM Journal of Research and Development. 34 (1): 4–11. doi:10.1147/rd.341.0004. ISSN 0018-8646.
- ^ "Computer History: IBM 360/370/3090/390 Model Numbers". www.beagle-ears.com. Diakses tanggal 2022-02-10.
- ^ Šilc, Jurij (1999). Processor architecture : from dataflow to superscalar and beyond. Borut Robič, Theo Ungerer. Berlin: Springer. ISBN 3-540-64798-8. OCLC 41315354.
- ^ a b c d e f Funding a revolution : government support for computing research. National Research Council. Committee on Innovations in Computing and Communications: Lessons from History. Washington, D.C.: National Academy Press. 1999. ISBN 0-585-14273-4. OCLC 44965252.
- ^ Processor design : system-on-chip computing for ASICs and FPGAs. Jari Nurmi. Dordrecht: Springer. 2007. ISBN 978-1-4020-5530-0. OCLC 187946932.
- ^ Hill, Mark D. (2000). Readings in computer architecture. Norman P. Jouppi, Gurindar Sohi. San Francisco: Morgan Kaufmann. ISBN 1-55860-539-8. OCLC 41466334.
- ^ "Design Philosophy Behind Motorola's MC68000 (2)". www.easy68k.com. Diakses tanggal 2022-02-15.
- ^ May 30, David Patterson on; 2018 (2018-05-30). "RISCy History". SIGARCH (dalam bahasa Inggris). Diakses tanggal 2022-02-15.
- ^ a b c "Example: Berkeley RISC II". euler.mat.uson.mx. Diarsipkan dari versi asli tanggal 2022-02-15. Diakses tanggal 2022-02-15.
- ^ a b Patterson, David A.; Ditzel, David R. (1980-10). "The case for the reduced instruction set computer". ACM SIGARCH Computer Architecture News (dalam bahasa Inggris). 8 (6): 25–33. doi:10.1145/641914.641917. ISSN 0163-5964.
- ^ a b Patterson, David A.; Sequin, Carlo H. (1998). "RISC I: a reduced instruction set VLSI computer". 25 years of the international symposia on Computer architecture (selected papers) - ISCA '98 (dalam bahasa Inggris). Barcelona, Spain: ACM Press: 216–230. doi:10.1145/285930.285981. ISBN 978-1-58113-058-4.
- ^ "Design and Implementation of RISC I" (PDF).
- ^ a b c d The MIPS-X RISC microprocessor. Paul Chow. Boston: Kluwer Academic Publishers. 1989. ISBN 0-7923-9045-8. OCLC 20170305.
- ^ a b Processor design : system-on-chip computing for ASICs and FPGAs. Jari Nurmi. Dordrecht: Springer. 2007. ISBN 978-1-4020-5530-0. OCLC 187946932.
- ^ "Code Density Concerns for New Architectures" (PDF).
- ^ Computer science handbook. Allen B. Tucker (edisi ke-2nd ed). Boca Raton, Fla.: Chapman & Hall/CRC. 2004. ISBN 1-58488-360-X. OCLC 53796951.
- ^ "Section 2: The confusion around the RISC concept". www.inf.fu-berlin.de. Diakses tanggal 2022-02-10.
- ^ "Ars Technica: RISC vs. CISC: the Post-RISC Era - Page 5 - (10/1999)". archive.arstechnica.com. Diakses tanggal 2022-02-10.
- ^ "Lloyd Borrett - Computing - Articles - RISC vs CISC". www.borrett.id.au. Diakses tanggal 2022-02-10.
- ^ "Doug Jones's DEC PDP-8 FAQs". homepage.cs.uiowa.edu. Diakses tanggal 2022-02-10.
- ^ Dandamudi, Sivarama P. (2005). Guide to RISC processors : for programmers and engineers. New York: Springer. ISBN 0-387-21017-2. OCLC 64201240.
- ^ "CISC and RISC". Embedded Software (dalam bahasa Inggris). 2016-04-18. Diakses tanggal 2022-02-15.
- ^ Fisher, Joseph A. (2005). Embedded computing : a VLIW approach to architecture, compilers and tools. Paolo Faraboschi, Clifford Young. San Francisco, Calif.: Morgan Kaufmann. ISBN 1-4175-7430-5. OCLC 57546513.
- ^ Andrew Schulman. "Programmer's Bookshelf". Dr. Dobb's. Diakses tanggal 2022-02-15.
- ^ Dowd, Kevin (1993). High performance computing. Michael Kosta Loukides. Sebastopol, CA: O'Reilly & Associates. ISBN 1-56592-032-5. OCLC 28304678.
- ^ Vincent, James (2017-03-09). "Microsoft unveils new ARM server designs, threatening Intel's dominance". The Verge (dalam bahasa Inggris). Diakses tanggal 2022-02-10.
- ^ "Cavium Unveils ThunderX2 Plans, Reports ARM Traction is Growing". HPCwire (dalam bahasa Inggris). 2016-05-31. Diakses tanggal 2022-02-10.
- ^ "AMD's first ARM-based processor, the Opteron A1100, is finally here - ExtremeTech". www.extremetech.com. Diakses tanggal 2022-02-10.
- ^ "Cray to Deliver ARM-Powered Supercomputer to UK Consortium | TOP500". www.top500.org. Diakses tanggal 2022-02-15.
- ^ Warren, Tom (2016-12-07). "Microsoft is bringing Windows desktop apps to mobile ARM processors". The Verge (dalam bahasa Inggris). Diakses tanggal 2022-02-15.
- ^ hickeys. "How x86 and ARM32 emulation work on ARM - UWP applications". docs.microsoft.com (dalam bahasa Inggris). Diarsipkan dari versi asli tanggal 2022-02-15. Diakses tanggal 2022-02-15.
- ^ a b "Introducing the next generation of Mac". Apple Newsroom (dalam bahasa Inggris). Diakses tanggal 2022-02-10.
- ^ "macOS Big Sur is here". Apple Newsroom (dalam bahasa Inggris). Diakses tanggal 2022-02-15.
- ^ Carter, Nicholas (2002). Schaum's outline of computer architecture. New York: McGraw-Hill. ISBN 0-07-136207-X. OCLC 48092237.
- ^ "CISC, RISC, and DSP Microprocessors" (PDF).
- ^ "A History of Apple's Operating Systems". Diarsipkan dari versi asli tanggal 2020-04-04.
- ^ "November 2020 | TOP500". www.top500.org. Diakses tanggal 2022-02-10.
- ^ "Apple starts its two-year transition to ARM this week". Engadget (dalam bahasa Inggris). Diakses tanggal 2022-02-10.
- ^ "Microsoft to launch a new ARM-based Surface this fall". www.msn.com. Diakses tanggal 2021-04-28.
- ^ Bennett, Amy (2005-06-06). "Apple shifting from PowerPC to Intel". Computerworld (dalam bahasa Inggris). Diarsipkan dari versi asli tanggal 2020-11-13. Diakses tanggal 2022-02-10.