Lompat ke isi

CISC: Perbedaan antara revisi

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Konten dihapus Konten ditambahkan
kTidak ada ringkasan suntingan
DPQB.web (bicara | kontrib)
Tidak ada ringkasan suntingan
Tag: kemungkinan perlu pemeriksaan terjemahan VisualEditor
 
Baris 1: Baris 1:
{{rapikan|topik=teknologi informasi}}'''Komputer set instruksi kompleks''' ([[Bahasa Inggris|Inggris]]: '''''complex instruction set computer''','' '''CISC''') adalah [[arsitektur komputer]] di mana [[Set instruksi|instruksi]] tunggal dapat mengeksekusi beberapa operasi tingkat rendah (seperti beban dari [[Memori (komputer)|memori]], [[Operator (pemrograman)|operasi]] [[aritmatika]], dan [[Memori (komputer)|penyimpanan memori]]) atau mampu melakukan operasi multi-langkah atau [[mode pengalamatan]] dalam instruksi tunggal. Istilah ini secara retroaktif diciptakan berbeda dengan [[RISC|komputer set instruksi yang dikurangi]] (RISC)<ref>{{Cite journal|last=Patterson|first=David A.|last2=Ditzel|first2=David R.|date=1980-10|title=The case for the reduced instruction set computer|url=https://dl.acm.org/doi/10.1145/641914.641917|journal=ACM SIGARCH Computer Architecture News|language=en|volume=8|issue=6|pages=25–33|doi=10.1145/641914.641917|issn=0163-5964}}</ref> dan oleh karena itu telah menjadi [[Hiponim dan hipernim|istilah umum]] untuk segala sesuatu yang bukan RISC, di mana karakteristik pembeda yang khas adalah bahwa sebagian besar desain RISC menggunakan panjang instruksi yang seragam untuk hampir semua instruksi, dan menerapkan instruksi pemuatan dan penyimpanan yang sangat terpisah.
{{rapikan|topik=teknologi informasi}}


Contoh arsitektur CISC termasuk [[komputer bingkai utama]] yang kompleks hingga mikrokontroler sederhana di mana beban memori dan operasi penyimpanan tidak dipisahkan dari instruksi aritmatika. Arsitektur set instruksi khusus yang telah diberi label CISC secara retroaktif adalah [[System/360]] hingga [[z/Architecture]], arsitektur [[PDP-11]] dan [[VAX]], dan banyak lainnya. Mikroprosesor dan mikrokontroler terkenal yang juga telah diberi label CISC di banyak publikasi akademis termasuk keluarga [[Motorola 6800]], [[6809]] dan [[68000]]; keluarga Intel [[8080]], [[iAPX432]] dan [[x86]]; keluarga Zilog [[Z80]], [[Zilog Z8|Z8]] dan [[Z8000]]; [[National Semiconductor]] [[32016]] dan garis [[NS320xx]]; keluarga MOS Technology [[6502]]; keluarga Intel [[8051]]; dan lain-lain.
{{for|topik lain|CISC (disambiguasi)}}
'''''Complex instruction-set computing''''' atau '''''Complex Instruction-Set Computer''''' ('''CISC'''; "Kumpulan instruksi komputasi kompleks") adalah sebuah arsitektur dari set instruksi [[komputer]] di mana setiap instruksi akan menjalankan beberapa operasi tingkat rendah, seperti pengambilan dari memori, [[aritmetika|operasi aritmetika]], dan penyimpanan ke dalam memory, semuanya sekaligus hanya di dalam sebuah instruksi. Karakteristik CISC dapat dikatakan bertolak-belakang dengan RISC.


Beberapa desain telah dianggap sebagai kasus batas oleh beberapa penulis. Misalnya, [[Mikrokontroller PIC|PIC]] [[Microchip Technology]] telah diberi label RISC di beberapa kalangan dan CISC di kalangan lain. [[6502]] dan [[6809]] keduanya telah digambarkan seperti RISC, meskipun mereka memiliki mode pengalamatan yang kompleks serta instruksi aritmatika yang beroperasi pada memori, bertentangan dengan prinsip RISC.
Contoh-contoh prosesor CISC adalah [[System/360]], [[VAX]], [[PDP-11]], varian [[Motorola]] 68000, dan [[CPU AMD]] dan [[Intel x86]].


== Sejarah ==
== Hasutan dan manfaat ==
Sebelum proses [[RISC]] didesain untuk pertama kalinya, banyak [[arsitektur komputer|arsitek komputer]] mencoba menjembatani celah semantik, yaitu bagaimana cara membuat set-set instruksi untuk mempermudah pemrograman level tinggi dengan menyediakan instruksi "level tinggi" seperti pemanggilan procedure, proses pengulangan dan mode-mode pengalamatan kompleks sehingga struktur data dan akses array dapat dikombinasikan dengan sebuah instruksi. Karakteristik CISC yg "sarat informasi" ini memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat.
Sebelum filosofi RISC menjadi menonjol, banyak arsitek komputer mencoba menjembatani apa yang disebut [[celah semantik]], yaitu untuk merancang set instruksi yang secara langsung mendukung konstruksi pemrograman tingkat tinggi seperti panggilan prosedur, kontrol pengulangan, dan [[mode pengalamatan]] kompleks, memungkinkan struktur data dan akses array untuk digabungkan menjadi satu instruksi. Instruksi juga biasanya sangat dikodekan untuk lebih meningkatkan kepadatan kode. Sifat kompak dari set instruksi tersebut menghasilkan ukuran [[Program komputer|program]] yang lebih kecil dan lebih sedikit akses memori utama (yang sering lambat), yang pada saat itu (awal 1960-an dan seterusnya) menghasilkan penghematan yang luar biasa pada biaya memori komputer dan penyimpanan disk, seperti serta eksekusi yang lebih cepat. Ini juga berarti [[produktivitas pemrograman]] yang baik, bahkan dalam [[bahasa rakitan]], karena [[Bahasa pemrograman tingkat tinggi|bahasa tingkat tinggi]] seperti [[Fortran]] atau [[ALGOL]] tidak selalu tersedia atau sesuai. Memang, mikroprosesor dalam kategori ini terkadang masih diprogram dalam bahasa rakitan untuk jenis aplikasi kritis tertentu.{{Butuh rujukan}}


== Masalah desain ==
Memang setelah itu banyak desain yang memberikan hasil yang lebih baik dengan biaya yang lebih rendah, dan juga mengakibatkan pemrograman level tinggi menjadi lebih sederhana, tetapi pada kenyataannya tidaklah selalu demikian. Contohnya, arsitektur kompleks yang didesain dengan kurang baik (yang menggunakan kode-kode mikro untuk mengakses fungsi-fungsi [[hardware]]), akan berada pada situasi di mana akan lebih mudah untuk meningkatkan performansi dengan tidak menggunakan instruksi yang kompleks (seperti instruksi pemanggilan procedure), tetapi dengan menggunakan urutan instruksi yang sederhana.
Sementara banyak desain mencapai hasil yang lebih baik dengan biaya lebih rendah, dan juga memungkinkan konstruksi bahasa tingkat tinggi diekspresikan dengan instruksi yang lebih sedikit, perlu diamati bahwa ini tidak ''selalu'' terjadi. Misalnya, versi kelas bawah dari arsitektur kompleks (yaitu menggunakan lebih sedikit perangkat keras) dapat menyebabkan situasi di mana dimungkinkan untuk meningkatkan kinerja dengan ''tidak'' menggunakan instruksi yang kompleks (seperti pemanggilan prosedur atau memasukkan instruksi) tetapi menggunakan urutan instruksi yang lebih sederhana.


Salah satu alasan untuk hal ini adalah bahwa arsitek (penulis [[mikrokode]]) terkadang "mendesain berlebihan" instruksi bahasa rakitan, termasuk fitur yang tidak dapat diimplementasikan secara efisien pada perangkat keras dasar yang tersedia. Mungkin ada, misalnya, "efek samping" (di atas tanda konvensional), seperti pengaturan register atau lokasi memori yang mungkin jarang digunakan; jika ini dilakukan melalui bus internal biasa (tidak terduplikasi), atau bahkan bus eksternal, itu akan menuntut siklus ekstra setiap saat, dan dengan demikian menjadi sangat tidak efisien.
Satu alasan mengenai hal ini adalah karena set-set instruksi level-tinggi, yang sering disandikan (untuk kode-kode yang kompleks), akan menjadi cukup sulit untuk diterjemahkan kembali dan dijalankan secara efektif dengan jumlah transistor yang terbatas. Oleh karena itu arsitektur-arsitektur ini memerlukan penanganan yang lebih terfokus pada desain prosesor. Pada saat itu di mana jumlah [[transistor]] cukup terbatas, mengakibatkan semakin sempitnya peluang ditemukannya cara-cara alternatif untuk optimisasi perkembangan prosesor. Oleh karena itulah, pemikiran untuk menggunakan desain RISC muncul pada pertengahan tahun 1970 (Pusat Penelitian Watson IBM 801 - IBMs)


=== Ide RISC ===
Implementasi CISC paralel untuk pertama kalinya, seperti 486 dari [[Intel]], [[AMD]], [[Cyrix]], dan [[IBM]] telah mendukung setiap instruksi yang digunakan oleh prosesor-prosesor sebelumnya, meskipun efisiensi tertingginya hanya saat digunakan pada subset x86 yang sederhana (mirip dengan set instruksi RISC, tetapi tanpa batasan penyimpanan/pengambilan data dari RISC). Prosesor-prosesor modern x86 juga telah menyandikan dan membagi lebih banyak lagi instruksi-instruksi kompleks menjadi beberapa "operasi-mikro" internal yang lebih kecil sehingga instruksi-instruksi tersebut dapat dilakukan secara paralel dan mencapai performansi tinggi pada subset instruksi yang lebih besar.
Sebuah awal (retroaktif) prosesor ''berlabel'' RISC ([[IBM 801]] – [[IBM]] Watson Research Center, pertengahan 1970-an) adalah mesin sederhana pipa ketat awalnya dimaksudkan untuk digunakan sebagai inti mikrokode internal, atau mesin, dalam desain CISC,{{Butuh rujukan}}tetapi juga menjadi prosesor yang memperkenalkan ide RISC ke audiens yang lebih besar. Kesederhanaan dan keteraturan juga dalam set instruksi yang terlihat akan membuatnya lebih mudah untuk mengimplementasikan tahapan prosesor yang tumpang tindih (perpipaan) pada tingkat kode mesin (yaitu tingkat yang dilihat oleh penyusun). Namun, perpipaan pada tingkat itu sudah digunakan di beberapa "superkomputer" CISC berkinerja tinggi untuk mengurangi waktu siklus instruksi (walaupun komplikasi penerapan dalam jumlah komponen terbatas dan kompleksitas pengkabelan yang layak pada saat itu). Eksekusi mikrokode internal di prosesor CISC, di sisi lain, bisa lebih atau kurang terpipa tergantung pada desain tertentu, dan membuatnya kurang lebih mirip dengan struktur dasar prosesor RISC.

=== Istilah CISC dan RISC ===
Istilah CISC dan RISC menjadi kurang bermakna dengan evolusi lanjutan dari desain dan implementasi CISC dan RISC. Implementasi x86 yang sangat (atau ketat) pertama, desain 486 dari [[Intel]], [[AMD]], [[Cyrix]], dan [[IBM]], mendukung setiap instruksi yang dilakukan pendahulunya, tetapi mencapai ''efisiensi maksimum'' hanya pada subset x86 yang cukup sederhana yang hanya sedikit lebih dari set instruksi RISC yang khas (yaitu, tanpa batas [[Arsitektur muat-simpan|''muat-simpan'']] RISC yang khas). Generasi Intel P5 Pentium adalah versi superskalar dari prinsip-prinsip ini. Namun, prosesor x86 modern juga (biasanya) mendekode dan membagi instruksi menjadi urutan dinamis dari [[operasi mikro]] buffer internal, yang membantu mengeksekusi subset instruksi yang lebih besar dalam mode terpipa (tumpang tindih), dan memfasilitasi ekstraksi paralelisme yang lebih maju dari aliran kode, untuk kinerja yang lebih tinggi.


== Lihat pula ==
== Lihat pula ==
Baris 20: Baris 24:
* [[ZISC]]
* [[ZISC]]
* [[VLIW]]
* [[VLIW]]
* [[prosesor mikro]]
* [[Prosesor mikro]]
* [[komputer]]
* [[Mikrokode]]
* [[desain CPU]]
* [[Komputer]]
* [[arsitektur komputer]]
* [[Desain prosesor]]
* [[RISCvsCISC|RISC vs CISC]]
* [[Arsitektur komputer]]

== Referensi ==
<references />

== Bacaan lanjutan ==


* {{cite book|last1=Mano|first1=M. Morris|title=Computer System Architecture|isbn=978-0131755635|edition=3rd}}
* Tanenbaum, Andrew S. (2006) <nowiki>''Structured Computer Organization, Fifth Edition''</nowiki>, Pearson Education, Inc. Upper Saddle River, NJ.
{{hardware-stub}}
{{hardware-stub}}
{{Authority control}}
{{Authority control}}

Revisi terkini sejak 24 Juni 2022 09.46

Komputer set instruksi kompleks (Inggris: complex instruction set computer, CISC) adalah arsitektur komputer di mana instruksi tunggal dapat mengeksekusi beberapa operasi tingkat rendah (seperti beban dari memori, operasi aritmatika, dan penyimpanan memori) atau mampu melakukan operasi multi-langkah atau mode pengalamatan dalam instruksi tunggal. Istilah ini secara retroaktif diciptakan berbeda dengan komputer set instruksi yang dikurangi (RISC)[1] dan oleh karena itu telah menjadi istilah umum untuk segala sesuatu yang bukan RISC, di mana karakteristik pembeda yang khas adalah bahwa sebagian besar desain RISC menggunakan panjang instruksi yang seragam untuk hampir semua instruksi, dan menerapkan instruksi pemuatan dan penyimpanan yang sangat terpisah.

Contoh arsitektur CISC termasuk komputer bingkai utama yang kompleks hingga mikrokontroler sederhana di mana beban memori dan operasi penyimpanan tidak dipisahkan dari instruksi aritmatika. Arsitektur set instruksi khusus yang telah diberi label CISC secara retroaktif adalah System/360 hingga z/Architecture, arsitektur PDP-11 dan VAX, dan banyak lainnya. Mikroprosesor dan mikrokontroler terkenal yang juga telah diberi label CISC di banyak publikasi akademis termasuk keluarga Motorola 6800, 6809 dan 68000; keluarga Intel 8080, iAPX432 dan x86; keluarga Zilog Z80, Z8 dan Z8000; National Semiconductor 32016 dan garis NS320xx; keluarga MOS Technology 6502; keluarga Intel 8051; dan lain-lain.

Beberapa desain telah dianggap sebagai kasus batas oleh beberapa penulis. Misalnya, PIC Microchip Technology telah diberi label RISC di beberapa kalangan dan CISC di kalangan lain. 6502 dan 6809 keduanya telah digambarkan seperti RISC, meskipun mereka memiliki mode pengalamatan yang kompleks serta instruksi aritmatika yang beroperasi pada memori, bertentangan dengan prinsip RISC.

Hasutan dan manfaat

[sunting | sunting sumber]

Sebelum filosofi RISC menjadi menonjol, banyak arsitek komputer mencoba menjembatani apa yang disebut celah semantik, yaitu untuk merancang set instruksi yang secara langsung mendukung konstruksi pemrograman tingkat tinggi seperti panggilan prosedur, kontrol pengulangan, dan mode pengalamatan kompleks, memungkinkan struktur data dan akses array untuk digabungkan menjadi satu instruksi. Instruksi juga biasanya sangat dikodekan untuk lebih meningkatkan kepadatan kode. Sifat kompak dari set instruksi tersebut menghasilkan ukuran program yang lebih kecil dan lebih sedikit akses memori utama (yang sering lambat), yang pada saat itu (awal 1960-an dan seterusnya) menghasilkan penghematan yang luar biasa pada biaya memori komputer dan penyimpanan disk, seperti serta eksekusi yang lebih cepat. Ini juga berarti produktivitas pemrograman yang baik, bahkan dalam bahasa rakitan, karena bahasa tingkat tinggi seperti Fortran atau ALGOL tidak selalu tersedia atau sesuai. Memang, mikroprosesor dalam kategori ini terkadang masih diprogram dalam bahasa rakitan untuk jenis aplikasi kritis tertentu.[butuh rujukan]

Masalah desain

[sunting | sunting sumber]

Sementara banyak desain mencapai hasil yang lebih baik dengan biaya lebih rendah, dan juga memungkinkan konstruksi bahasa tingkat tinggi diekspresikan dengan instruksi yang lebih sedikit, perlu diamati bahwa ini tidak selalu terjadi. Misalnya, versi kelas bawah dari arsitektur kompleks (yaitu menggunakan lebih sedikit perangkat keras) dapat menyebabkan situasi di mana dimungkinkan untuk meningkatkan kinerja dengan tidak menggunakan instruksi yang kompleks (seperti pemanggilan prosedur atau memasukkan instruksi) tetapi menggunakan urutan instruksi yang lebih sederhana.

Salah satu alasan untuk hal ini adalah bahwa arsitek (penulis mikrokode) terkadang "mendesain berlebihan" instruksi bahasa rakitan, termasuk fitur yang tidak dapat diimplementasikan secara efisien pada perangkat keras dasar yang tersedia. Mungkin ada, misalnya, "efek samping" (di atas tanda konvensional), seperti pengaturan register atau lokasi memori yang mungkin jarang digunakan; jika ini dilakukan melalui bus internal biasa (tidak terduplikasi), atau bahkan bus eksternal, itu akan menuntut siklus ekstra setiap saat, dan dengan demikian menjadi sangat tidak efisien.

Sebuah awal (retroaktif) prosesor berlabel RISC (IBM 801IBM Watson Research Center, pertengahan 1970-an) adalah mesin sederhana pipa ketat awalnya dimaksudkan untuk digunakan sebagai inti mikrokode internal, atau mesin, dalam desain CISC,[butuh rujukan]tetapi juga menjadi prosesor yang memperkenalkan ide RISC ke audiens yang lebih besar. Kesederhanaan dan keteraturan juga dalam set instruksi yang terlihat akan membuatnya lebih mudah untuk mengimplementasikan tahapan prosesor yang tumpang tindih (perpipaan) pada tingkat kode mesin (yaitu tingkat yang dilihat oleh penyusun). Namun, perpipaan pada tingkat itu sudah digunakan di beberapa "superkomputer" CISC berkinerja tinggi untuk mengurangi waktu siklus instruksi (walaupun komplikasi penerapan dalam jumlah komponen terbatas dan kompleksitas pengkabelan yang layak pada saat itu). Eksekusi mikrokode internal di prosesor CISC, di sisi lain, bisa lebih atau kurang terpipa tergantung pada desain tertentu, dan membuatnya kurang lebih mirip dengan struktur dasar prosesor RISC.

Istilah CISC dan RISC

[sunting | sunting sumber]

Istilah CISC dan RISC menjadi kurang bermakna dengan evolusi lanjutan dari desain dan implementasi CISC dan RISC. Implementasi x86 yang sangat (atau ketat) pertama, desain 486 dari Intel, AMD, Cyrix, dan IBM, mendukung setiap instruksi yang dilakukan pendahulunya, tetapi mencapai efisiensi maksimum hanya pada subset x86 yang cukup sederhana yang hanya sedikit lebih dari set instruksi RISC yang khas (yaitu, tanpa batas muat-simpan RISC yang khas). Generasi Intel P5 Pentium adalah versi superskalar dari prinsip-prinsip ini. Namun, prosesor x86 modern juga (biasanya) mendekode dan membagi instruksi menjadi urutan dinamis dari operasi mikro buffer internal, yang membantu mengeksekusi subset instruksi yang lebih besar dalam mode terpipa (tumpang tindih), dan memfasilitasi ekstraksi paralelisme yang lebih maju dari aliran kode, untuk kinerja yang lebih tinggi.

Lihat pula

[sunting | sunting sumber]

Referensi

[sunting | sunting sumber]
  1. ^ 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. 

Bacaan lanjutan

[sunting | sunting sumber]
  • Mano, M. Morris. Computer System Architecture (edisi ke-3rd). ISBN 978-0131755635. 
  • Tanenbaum, Andrew S. (2006) ''Structured Computer Organization, Fifth Edition'', Pearson Education, Inc. Upper Saddle River, NJ.