Set Instruksi Prosesor
Prosesor (CPU yang disebut juga Central Processing Unit) adalah sebuah sirkuit elektronik yang beroperasi pada suatu kecepatan berkat clock internal pada sebuah kristal kuarsa, yang mengalami sebuah kismis listrik, yang disebut “peak”. Sebuah set instruksi adalah jumlah operasi dasar yang dapat diselesaikan prosesor. Sebuah set instruksi processor adalah faktor yang menentukan dalam arsitektur, bahkan meskipun arsitektur yang sama dapat mengakibatkan implementasi yang berbeda oleh produsen yang berbeda. Prosesor bekerja efisien berkat sejumlah instruksi, yang didesain untuk sirkuit elektronik. Kebanyakan operasi dapat dilakukan dengan menggunakan fungsi dasar.
Prosesor dikelompokkan ke dalam kluster berikut, sesuai dengan set instruksi yang unik:
1. 80×86: “x” mewakili keluarga. Oleh karena itu dibuat untuk 386, 486, 586, 686, dll.
2. ARM
3. IA-64a
4. MIPS
5. Motorola 6800
6. PowerPC
7. SPARC
Pengertian Dan Sejarah SPARC
SPARC (Scalable Processor Architecture) adalah microprocessor berarsitektur RISC (Reduced Instruction Set Computer) yang didesain oleh Sun Microsystems tahun 1985. SPARC adalah merek dagang terdaftar dari SPARC International, Inc, sebuah organisasi yang didirikan pada tahun 1989 untuk mempromosikan arsitektur SPARC dan untuk melakukan pengujian. SPARC Internasional bermaksud untuk membuka arsitektur SPARC demi membuat ekosistem yang lebih besar bagi pengembangan desainnya, yang izinnya telah diberikan kepada beberapa manufaktur, termasuk Texas Instruments, Atmel, Cypress Semiconduktor, dan Fujitsu. Sehingga arsitektur SPARC terbuka penuh dan non-eksklusif.
Gambar Alur Prosesor SPARC
Implementasi arsitektur SPARC pada awalnya dirancang dan digunakan untuk sistem Sun-4 workstation dan server, menggantikan versi sebelumnya Sun-3 yang berbasis keluarga prosesorMotorola 68000. Kemudian, prosesor SPARC digunakan di server SMP (Symmetric multiprocessing) yang antara lain diproduksi oleh Sun Microsystems, Solbourne dan Fujitsu.SPARC (Scalable Processor dari Arsitektur) adalah RISC arsitektur set instruksi (ISA) yang dikembangkan oleh Sun Microsystems dan diperkenalkan pada pertengahan 1987.
SPARC adalah merek dagang terdaftar dari SPARC International, Inc , sebuah organisasi yang didirikan pada tahun 1989 untuk mempromosikan arsitektur SPARC, mengelola merek dagang SPARC, dan memberikan pengujian kesesuaian . Implementasi yang asli 32-bit arsitektur SPARC pada awalnya dirancang dan digunakan di Sun 4 Sun- workstation dan server sistem, menggantikan mereka sebelumnya Sun-3 sistem berbasis pada Motorola 68000 keluarga prosesor. Kemudian, prosesor SPARC digunakan di SMP server yang diproduksi oleh Sun Microsystems , Solbourne dan Fujitsu , antara lain, dan dirancang untuk 64-bit operasi.
SPARC International dimaksudkan untuk membuka arsitektur SPARC untuk membuat ekosistem yang lebih besar untuk desain, yang telah dilisensikan ke beberapa produsen, termasuk Texas Instruments , Atmel , Cypress Semiconductor , dan Fujitsu . Sebagai hasil dari SPARC International, arsitektur SPARC terbuka penuh dan non-eksklusif.
Pada bulan Maret 2006, desain lengkap UltraSPARC T1 mikroprosesor 'Sun Microsystems dirilis source-dalam-bentuk terbuka di OpenSPARC.net dan bernama OpenSPARC T1. Pada tahun 2007, desain UltraSPARC T2 mikroprosesor's Sun juga dirilis dalam bentuk open-source, sebagai OpenSPARC T2, lihat OpenSPARC.net .
Pada Juni 2009, desain SPARC digunakan oleh Fujitsu Laboratories Ltd untuk menciptakan produk prosesor bernama Venus SPARC64 VIIIfx yang mampu 128 miliar operasi floating point per detik (128 GFlops). Arsitektur SPARC sangat dipengaruhi oleh desain RISC sebelumnya termasuk RISC I dan II dari University of California, Berkeley dan IBM 801 . RISC ini adalah asli desain minimalis, termasuk sebagai beberapa fitur atau op-kode mungkin dan bertujuan untuk mengeksekusi instruksi pada tingkat hampir satu instruksi per siklus clock . Hal ini membuat mereka mirip dengan arsitektur MIPS dalam banyak hal, termasuk kurangnya instruksi seperti mengalikan atau membagi. Fitur lain dari SPARC dipengaruhi oleh gerakan RISC awal adalah delay slot cabang .
Prosesor SPARC biasanya berisi sebanyak 160 register tujuan umum . Pada titik apapun, hanya 32 dari mereka yang segera terlihat dengan perangkat lunak - 8 adalah satu set register global (salah satunya, g0, sulit-kabel ke nol, sehingga hanya 7 dari mereka dapat digunakan sebagai register) dan 24 lainnya dari tumpukan dari register. 24 register ini membentuk apa yang disebut jendela mendaftar , dan memanggil fungsi / kembali, jendela ini digerakkan naik turun register stack. Setiap jendela memiliki 8 register lokal dan saham 8 register dengan masing-masing jendela yang berdekatan. Register bersama digunakan untuk melewatkan parameter fungsi dan nilai kembali, dan register lokal digunakan untuk mempertahankan nilai-nilai lokal di seluruh pemanggilan fungsi.
The "Scalable" di SPARC berasal dari fakta bahwa spesifikasi SPARC memungkinkan implementasi untuk skala dari prosesor tertanam Facebook melalui prosesor server yang besar, semua inti berbagi sama (non-privilege) set instruksi. Salah satu parameter arsitektur yang dapat skala adalah jumlah jendela register dilaksanakan; spesifikasi memungkinkan 3-32 jendela untuk dilaksanakan, sehingga pelaksanaannya dapat memilih untuk menerapkan semua 32 untuk memberikan maksimum stack panggilan efisiensi, atau untuk menerapkan hanya 3 untuk mengurangi waktu konteks switching, atau untuk menerapkan beberapa nomor antara mereka. arsitektur lain yang termasuk sejenis file mendaftar fitur termasuk Intel I960 , IA-64 , dan AMD 29000.
Arsitektur telah melalui beberapa revisi. Ini diperoleh hardware berkembang biak dan membagi fungsi dalam Versi 8. Yang substansial upgrade paling menghasilkan Versi 9, yang merupakan 64-bit dan data) SPARC spesifikasi menangani (diterbitkan pada tahun 1994.
Dalam SPARC Versi 8, floating point file register memiliki 16 presisi ganda register. Masing-masing dapat digunakan sebagai dua presisi tunggal register, memberikan total 32 register presisi tunggal. Sebuah bilangan genap sepasang-aneh dari register presisi ganda dapat digunakan sebagai quad presisi register, sehingga memungkinkan 8 quad presisi register. SPARC Versi 9 ditambah 16 lebih register presisi ganda (yang juga dapat diakses sebagai 8 register quad presisi), tetapi register tambahan tidak dapat diakses sebagai register presisi tunggal.
Tagged menambah dan mengurangi instruksi melakukan menambah dan mengurangi nilai-nilai asumsi bahwa kedua bawah bit tidak berpartisipasi dalam perhitungan. Hal ini dapat berguna dalam pelaksanaan run time untuk ML , Lisp , dan bahasa yang serupa yang mungkin menggunakan format integer tag.
Sejarah SPARC
Ada tiga revisi utama dari arsitektur. Revisi diterbitkan pertama adalah 32-bit SPARC Versi 7 (V7) pada tahun 1986 Versi. SPARC 8 (V8), sebuah definisi yang disempurnakan SPARC arsitektur, dirilis pada tahun 1990. Perbedaan utama antara V7 dan V8 adalah penambahan integer perkalian dan membagi instruksi, dan upgrade dari 80-bit aritmatika "diperpanjang presisi" floating-point untuk aritmetika 128-bit "quad-presisi". SPARC V8 menjabat sebagai dasar untuk IEEE 1754-1994, sebuah Standar IEEE standar untuk sedikit arsitektur mikroprosesor-32.
Gambar perkembangan prosesor SPARC
SPARC Versi 9, bit arsitektur SPARC-64, dirilis oleh SPARC International pada tahun 1993. Ini dikembangkan oleh Arsitektur SPARC Komite terdiri dari Amdahl Corporation , Fujitsu , ICL , LSI Logic , Matsushita , Phillips , Ross Teknologi , Sun Microsystems, dan Texas Instruments .
Pada tahun 2002, SPARC Bersama Spesifikasi Pemrograman 1 (JPS1) telah dirilis oleh Fujitsu dan Sun, menggambarkan fungsi prosesor yang identik diimplementasikan dalam CPU kedua perusahaan ("Commonality"). CPU pertama sesuai dengan JPS1 adalah III UltraSPARC oleh Sun dan V SPARC64 oleh Fujitsu. Fungsi yang tidak tercakup oleh JPS1 didokumentasikan untuk setiap prosesor dalam "Implementasi Suplemen".
Pada awal tahun 2006, Sun merilis spesifikasi arsitektur diperpanjang, UltraSPARC Arsitektur 2005. Hal ini tidak hanya mencakup non-hak istimewa dan sebagian besar bagian istimewa V9 SPARC, tetapi juga semua ekstensi arsitektur (seperti CMT, hyperprivileged, VIS 1, dan VIS 2) hadir dalam's UltraSPARC prosesor Sun dimulai dengan T1 UltraSPARC implementasi. UltraSPARC Arsitektur 2005 termasuk ekstensi standar Sun dan tetap kompatibel dengan SPARC V9 penuh 1 spesifikasi Tingkat.
Pada tahun 2007, Sun merilis spesifikasi diperbarui, UltraSPARC Arsitektur 2007, yang pelaksanaan memenuhi UltraSPARC T2. Arsitektur telah menyediakan kompatibilitas aplikasi terus menerus biner dari penerapan V7 SPARC pertama pada tahun 1987 ke Sun UltraSPARC implementasi Arsitektur.
Format-format SPARC dan penjelasannya
Format Instruksi Langsung :
Panggilan SPARC Instruksi, digunakan untuk mentransfer kontrol ke mana saja di ruang alamat 32-bit seperti :
+-------------------------------------------------------------+
| 00 | a (1) | COND(4) | op2 (3) | 22 bit konstan |
+-------------------------------------------------------------+
Seperti instruksi jump MIPS (J-format), hanya ada satu instruksi pada mesin SPARC yang Format Salah satu instruksi disebut instruksi CALL. Ketika instruksi ini ditemui, kendali dialihkan langsung ke lokasi baru yang diberikan oleh 30 bit konstan. Bagaimana lokasi ditentukan adalah konstanta digeser ditinggalkan oleh dua bit (untuk membuat kata 32-bit) dan pc diatur ke nilai ini ditambah dengan pc saat ini. Perubahan alamat adalah relatif terhadap program counter untuk memungkinkan program untuk dipindahkan dalam memori tanpa mempengaruhi alamat yang ditentukan oleh instruksi panggilan.
Format Cabang dan Sethi Petunjuk :
Format dua instruksi terutama cabang instruksi yang terlihat seperti:
+-------------------------------------------------------------+
| 00 | rd (5) | 100 | 22 bit konstan |
+-------------------------------------------------------------+
Seperti biasa, dua bit pertama menentukan jenis instruksi, COND adalah kondisi cabang dan op2 adalah operan untuk membandingkan melawan. Jika bertemu dengan kontrol mesin transfer ke lokasi yang ditentukan oleh 22 bit konstan. Berbeda dengan MIPS, SPARC memberikan petunjuk beberapa cabang. Jenis cabang ditentukan oleh bit COND. Jika cabang diambil, maka pc diatur ke konstanta kiri digeser oleh 2 dan ditambahkan ke program counter. Perhatikan bahwa ini hanya memungkinkan cabang sampai 2 ^ 21 lokasi memori. Untuk cabang di seluruh rentang memori secara keseluruhan, diperlukan penanganan khusus. Lain, non-cabang format dua instruksi :
+----------------------------------------------------------
------------+
| 10 | rd (5) | op3 (6) | rs1 (5)
| 0 | terpakai (8) | RS2 (5) |
+----------------------------------------------------------
------------+
Satu Sumber Pendaftaran dan
Konstan Instruksi:
+------------------------------------------------------------------
------------+
| 11 | rd (5) | op3 (6) | rs1 (5)
| 1 | ditandatangani 13 bit const |
+-------------------------------------------------------------------
------------+
Format Dua instruksi ini dikenal sebagai instruksi R_FRV_GOTTLSDESCHI. Instruksi ini digunakan untuk me-load instruksi bit tiga puluh dua menjadi register. Untuk melakukan beban, instruksi ini akan memuat 22 bit tinggi dan kemudian sebuah "atau" instruksi dipanggil untuk memuat sepuluh bit rendah dari kata tersebut.
Format Instruksi aljabar:
instruksi ini adalah petunjuk yang paling umum. Mereka baik petunjuk aljabar atau beban / instruksi toko (kecuali R_FRV_GOTTLSDESCHI)
Instruksi ini memiliki register tujuan, yang disebut rd, sebuah specifier instruksi disebut op3, dan mendaftar sumber, disebut rs1. Sumber lain dari operasi bisa mendaftar sumber yang lain, yang disebut RS2 atau sedikit tiga belas konstan (untuk operasi segera).
Perhatikan, bahwa sejak ini tipe format termasuk beban dan toko, ada masalah potensial dengan mereka hanya memiliki sedikit 13 konstan. Bagaimana memori diatasi sedemikian jangkauan terbatas (2 ^ 13)? Untuk kasus ini, alamat instruksi relatif terhadap frame pointer. Dibandingkan dengan mesin MIPS, memori menangani harus lebih lambat karena MIPS I-format instruksi secara alami dapat mengatasi berbagai memori lebih besar dan karenanya tidak akan perlu instruksi tambahan untuk memuat alamat ke register sebelum instruksi beban (seperti mesin SPARC harus dilakukan).
Format instruksi tiga format:
Dua Sumber Daftar Instruksi:
Seperti dapat dilihat, pada opcode dari 10 adalah instruksi aljabar yang memiliki dua operand dan sebuah register tujuan. The opcode dari 11 adalah operasi langsung dan beban / operasi toko.