MAKALAH ARSITEKTUR CPU DI SUSUN OLEH: Nama Anggota : Ismuhar Dwi Putra Kelas : G2 NIM : 090412053 Jurusan/Prodi : T.Elektro/T. Informatika POLITEKNIK NEGERI LHOKSUEMAWE JURUSAN TEKNIK ELEKTRO PRODI TEKNIK INFORMATIKA 2010 KATA PENGANTAR Puji syukur mari sama-sama kita panjatkan kehadirat Allah swt yang telah memberi kita kesempatan dan kesehatan kepada kita semua sehingga penulis dapat menyelesaikan sebuah makalah “Arsitektur CPU”. Selanjutnya salawat dan salam kita limpahkan kepada junjungan kita Nabi Muhammad saw yang telah membawa kita dari alam kebodohan ke alam yang penuh dengan ilmu pengetahuan dan rahmat seperti yang dapat kita rasakan sekarang ini. Penulis menyadari sepenuhnya bahwa makalah ini masih jauh dari kesempurnaan, baik dari segi tata bahasa maupun dari segi-segi lainnya, oleh sebab itu penulis mengharapkan saran dan kritikannya yang bersifat positif dan membangun dari semua pihak. Akhirnya semoga Allah swt memberikan yang layak atas seluruh jasa dan kebijakan yang penulis terima. Semoga hasil karya ini bermanfaat bagi penulis sendiri maupun bagi pihak yang lain. Wassalam PEMBAHASAN A. STRUKTUR DASAR CPU 1. Komponen Utama CPU CPU merupakan komponen terpenting dari sistem komputer. CPU adalah komponen pengolah data berdasarkan instruksi – instruksi yang diberikan kepadanya. Dalam mewujudkan fungsi dan tugasnya, CPU tersusun atas beberapa komponen sebagai bagian dari struktur CPU, seperti terlihat pada gambar 1.1 dan struktur detail internal CPU terlihat pada gambar 1.2. CPU tersusun atas beberapa komponen, yaitu : Arithmetic and Logic Unit (ALU), bertugas membentuk fungsi – fungsi pengolahan data komputer. ALU sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi – instruksi bahasa mesin yang diberikan padanya. Seperti istilahnya, ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean, yang masing – masing memiliki spesifikasi tugas tersendiri. Control Unit, bertugas mengontrol operasi CPU dan secara keselurahan mengontrol computer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi – fungsi operasinya. Termasuk dalam tanggung jawab unit kontrol adalah mengambil instruksi – instruksi dari memori utama dan menentukan jenis instruksi tersebut. Registers, adalah media penyimpan internal CPU yang digunakan saat proses pengolahan data. Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat diolah ataupun data untuk pengolahan selanjutnya. CPU Interconnections, adalah sistem koneksi dan bus yang menghubungkan komponen internal CPU, yaitu ALU, unit kontrol dan register – register dan juga dengan bus – bus eksternal CPU yang menghubungkan dengan sistem lainnya, seperti memori utama, piranti masukan/keluaran. Struktur Detail Internal CPU 2. Fungsi CPU CPU memiliki fungsi untuk menjalankan Program-program yang disimpan dalam memori utama dengan cara mengambil instruksi-instruksi, menguji instruksi tersebut dan mengeksekusinya satu persatu sesuai alur perintah. Pandangan paling sederhana proses eksekusi program adalah dengan mengambil pengolahan instruksi atau sering disebut juga dengan siklus instruksi. Siklus Intruksi Siklus intruksi memiliki sifat-sifat tertentu yaitu sekali instruksi telah diambil, maka operand specifiernya harus diidentifikasikan yang kemudian seluruh operand input yang berada di dalam memori akan diambil, dan proses ini mungkin memerlukan pengalamatan tak langsung. Dalam siklus intruksi operand berbasis register tidak perlu diambil, dan apabila opcode telah dieksekusi maka proses yang sama akan diperlukan untuk menyimpan hasilnya di dalam memori. Di dalam siklus intruksi terdapat beberapa bagian yaitu : Fetch, merupakan siklus pembacaan instruksi berikutnya dari memori kedalam CPU. Dalam arti kata, fetch memiliki arti mengambil, jadi fetch merupakan pengambilan instruksi yang akan dieksekusi. Execute, yaitu menginterpretasi opcode dan melakukan operasi yang diindikasikan Interrupt, yaitu apabila bagian ini diaktifkan dan interrupt telah terjadi, simpan status proses saat itu dan layani interrupsi. Siklus tidak langsung, merupakan sebuah instruksi yang melibatkan sebuah operand atau lebih di dalam memori, yang masing-masing operand memerlukan akses memori. Pengambilan alamat-alamat tak langsung dapat dianggap sebagai sebuah subsiklus intruksi atau lebih. Strategi Pipelining Strategi pipelining merupakan proses pengambilan dan pengeksekusian instruksi secara parallel. Pada strategi pipelining input baru akan diterima pada sebuah sisi sebelum input yang diterima sebelumnya keluar sebagai output di sisi lainnya. Pipelining ini mirip dengan penggunaan rangkaian perakitan pada pabrik. Rangkaain perakitan ini memanfaatkan kelebihan yang didapat dari fakta bahwa suatu produk diperoleh dengan melalui berbagai tahapan produksi, dengan menaruh proses produksi diluar rangkaian perakitan, maka produk yang berada di berbagai tahapan dapat bekerja secara bersamaan. B. SET INSTRUKSI Set Instruksi (bahasa Inggris: Instruction Set, atau Instruction Set Architecture (ISA)) didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram. Secara umum, ISA ini mencakup jenis data yang didukung, jenis instruksi yang dipakai, jenis register, mode pengalamatan, arsitektur memori, penanganan interupsi, eksepsi, dan operasi I/O eksternalnya (jika ada). ISA merupakan sebuah spesifikasi dari kumpulan semua kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain prosesor tertentu. Kumpulan opcode tersebut, umumnya disebut sebagai bahasa mesin (machine language) untuk ISA yang bersangkutan. ISA yang populer digunakan adalah set instruksi untuk chip Intel x86, IA-64, IBM PowerPC, Motorola 68000, Sun SPARC, DEC Alpha, dan lain-lain. Karakteristik Mesin Instruksi Elemen-elemen instruksi mesin o Operation Code (OP Code) yaitu kode operasi berbentuk kode biner o Source Operand Reference yaitu operand adalah input operasi o Result Operand Reference yaitu merupakan hasil atau keluaran operasi o Next Instruktion Reference elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi. Operand dari suatu system operasi dapat berada pada: Memori Utama atau memori virtual Register CPU Perangkat I/O Format Instruksi Op Code Alamat Kode Operasi (Op Code) direpresentasikan dengan singkatan-singkatan yang disebut mnemonic. Contoh Mnemonic o ADD = Penambahan o SUBB = Pengurangan o LOAD = Muatkan data ke memori Contoh Instruksi dengan 2 dan 3 alamat Operasi Set Instruksi Secara Umum C. MODE PENGALAMATAN Suatu variasi mode pengalamatan (addressing mode) dapat digunakan untuk menentukan suatu alamat tempat untuk dimana operand akan di fetch. Beberapa teknik ini dapat meningkatkan kecepatan pelaksanaan instruksi dengan menurunkan jumlah referensi pada memori utama dan meningkatkan jumlah referensi pada register kecepatan tinggi. Mode pengalamatan ini menjabarkan suatu aturan untuk menginterpretasikan atau memodifikasi field alamat dari instruksi sebelum operand direferensikan. Beberapa mode pangalamatan umum diantaranya adalah : *OPR mewakili sebuah register untuk menyimpan operand yang akan digunakan sewaktu instruksi dijalankan. D. DUKUNGAN SISTEM OPERASI Pengertian Sistem Operasi Dalam Ilmu komputer, Sistem operasi atau dalam bahasa Inggris: operating system atau OS adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol eksekusi program aplikasi dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web. Sistem Operasi juga bertindak sebagai antar-muka antara pengguna dengan perangkat keras komputer. Sistem Operasi mengandung sejumlah program, dan beberapa program tergolong sebagai utilitas. Kumpulan program ini menyediakan layanan kontrol terhadap sumber daya komputer.Secara khusus, sistem operasi menangani kontrol dan penggunaan sumber daya perangkat keras, seperi disc-room, memory, processor, dan perangkat tambahan lain, seperti mouse, printer, dan lainlain. Sejarah Sistem Operasi Perkembangan sistem operasi dipengaruhi oleh perkembangan hardware. Sistem operasi mulai dikembangkan sejak ±40 tahun lalu, yaitu: Generasi ke-nol (1940). Generasi pertama (1950). Generasi kedua (1960). Generasi ketiga (1970) Generasi keempat (pertengahan 1970-an hingga sekarang). Tujuan dan Fungsi Sistem Operasi Sistem operasi diharapkan mempunyai dua tujuan yaitu: Kenyamanan : suatu sistem operasi membuat komputer lebih mudah untuk digunakan. Efesien : suatu sistem operasi memungkinkan sumber daya sistem komputer dapat digunakan dengan cara yang efesien. Fungsi Sistem Operasi System operasi memiliki tiga fungsi utama yaitu manajemen proses, manajemen sumber daya dan manajemen data. Manajemen proses mencakup penyiapan, penjadwalan dan pemantauan proses pada computer. Proses adalah program yang sedang dijalankan. Manajemen sumber daya berkaitan dengan pengendalian terhadap pemakaian sumber daya dalam system computer yang dilakukan oleh perangkat lunak system maupun pereangkat lunak aplikasi yang sedang dijalankan oleh computer. Yang dimaksudkan sumber daya disini adalah komponen perangkat keras dalam computer seperti CPU, memori utama dan peranti masukan/keluaran. Manajemen data berupa pengendalian terhadap data masukan/keluaran, termasuk dalam hal pengalokasian dalam peranti penyimpan sekunder maupun memori utama. Selain tiga fungsi utama tersebut, system operasi umumnya juga mempunyai sarana untuk mengelola keamanan. Ciri system operasi yang mempunyai fasilitas manajemen keamanan adalah mengharuskan pemakai memasukan nama pengguna dan password (kata rahasia) sebelum mengakses computer. Macam-Macam Sistem Operasi Dalam perkembangan sistem operasi, sudah banyak perusahaan-perusahaan atau para programer yang membuat dan mengembangkan sistem operasi sendiri, baik itu personal atau general. Tapi pada saat ini terdapat beberapa sistem operasi yang sudah sangat dikenal yaitu: 1. Keluarga Microsoft Windows - yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows 7 (Seven) yang dirilis pada tahun 2009, dan Windows Orient yang akan dirilis pada tahun 2014)). 2. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd. 3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.4 (Tiger). Awal tahun 2007 direncanakan peluncuran versi 10.5 (Leopard). 4. Komputer Mainframe, dan Super komputer menggunakan banyak sekali sistem operasi yang berbeda-beda, umumnya merupakan turunan dari sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX, HP/UX, dll. Penjadwalan Proses Penjadwalan Jangka-Panjang Penjadwalan jangka-panjang merupkan keputusan untuk menambahkan program yang akan dieksekusi ke pool. Penjadwalan jangka-panjang menentukan program yang mana diakui sebagai sistem untuk diproses. Penjadwalan Jangka-Menengah Penjadwalan jangka-menengah merupakan suatu keputusan untuk menambah banyaknya proses-proses itu secara parsial atau secar penuh didalam memori utama. Penjadwalan Jangka-Pendek Penjadwalan Jangka-Pendek merupakan keputusan sebagai proses tersedia yang mana yang akan dieksekusi oleh prosesor. Penjadwalan Antrian Ketika proses memasuki sistem, mereka diletakkan dalam antrian job. Antrian ini terdiri dari seluruh proses dalam sistem. Manajement Memori Melakukan pengaturan prosesor sehubungan penjadwalan proses yang harus dilakukan. Ada beberapa istilah dalam manajemen memori yang akan dijelaskan yaitu: o Swaping Sebuah proses harus berada di memori untuk dieksekusi. Proses juga dapat ditukar (swap) sementara keluar memori ke backing store dan kemudian dibawa kembali ke memori untuk melanjutkan eksekusi. o Partitioning Sebuah proses system operasi akan menempati bagian memori yang tetap. Sisa memori akan dibagi-bagi untuk keperluan sejumlah proses. o Paging Paging merupakan kemungkinan solusi untuk permasalahan fragmentasi eksternal dimana ruang alamat logika tidak berurutan; mengijinkan sebuah proses dialokasikan pada memori fisik yang terakhir tersedia. E. CICS Dan RISC RISC(Reduced Instuction Set Computer) adalah rancangan prosessor yang sederhana, tetapi dalam kesederhanaan tersebut didapatkan kecepatan operasi tiap-tiap siklus instruksinya. Alasan menggunakan RISC Rancangan arsitektur CPU yang mengambil dasar filosofi bahwa prosessor dibuat dengan arsitektur yang tidak rumit dengan membatasi jumlah instruksi hanya pada instruksi dasar yang diperlukan saja. Racangan ini berawal dari pertimbanganpertimbangan dan analisa model perancangan lain yang kompleks, sehingga harus ada pengurangan set instruksinya. Ide dasar prosesor RISC sebenarnya bisa dilacak dari apa yang disarankan oleh Von Neumann pada tahun 1946. Von Neumann menyarankan agar rangkaian elektronik untuk konsep logika diimplementasikan hanya bila memang diperlukan untuk melengkapi sistem agar berfungsi atau karena frekuensi penggunaannya cukup tinggi (Heudin, 1992 : 18). Jadi ide tentang RISC, yang pada dasarnya adalah untuk menyederhanakan realisasi perangkat keras prosesor dengan melimpahkan sebagian besar tugas kepada perangkat lunaknya, telah ada pada komputer elektronik pertama. Seperti halnya prosesor RISC, komputer elektronik pertama merupakan komputer eksekusi-langsung yang memiliki instruksi sederhana dan mudah didekode. Karakteristik RISC RISC mempunyai beberapa karakteristik, yaitu: siklus instruksi, operasi pertukaran data, mode pengalamatan dan format instruksi. Berikut akan dibahas dari masing-masing karakteristik dari RISC. Siklus instruksi Satu instruksi mesin persiklus mesin. Suatu siklus mesin dinyatakan oleh waktu yang dibutuhkan untuk mengambil dua operand dari register, untuk melakukan suatu operasi ALU dan menyimpan hasilnya pada register. dengan demikian instruksi mesin RISC tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat mikroinstruksi pada mesin-mesin CISC. Dengan menggunakan instruksi sederhana atau instruksi satu siklus hanya dibutuhkan satu mikrokode atau tidak sama sekali, instruksi mesin dapat dihardwired. Instruksi seperti itu akan dieksekusi lebih cepat dibanding yang sejenis pada yang lain karena tidak perlu mengakses penyimapanan kontrol mikroprogram saat eksekusi instruksi berlangsung. Operasi pertukaran data Kebanyakan operasi harus dalam bentuk register ke register, dengan hanya operasi akses memori LOAD dan STORE yang sederhana. Rancangan ini menyederhanakan set intsruksi dan sekaligus menyederhanakan unik kontrol. Sebagai contoh, sebuah set instruksi RISC bisa mengandung hanya satu atau dua instruksi ADD (misalnya, penambahan bilangan bulat, penambahan dengan carry). VAX mempunyai 25 instruksi ADD yang berbeda. Keuntugan lain adalah bahwa arsitektur seperti itu meningkatkan optimasi penggunaan register, sehingga operand-operand yang sering diakses akan tetap berada dalam penyimpanan berkecepatan tinggi. Mode pengalamatan Penggunaan mode pengalamatan sederhana, hampir sama dengan instruksi menggunakan pengalamatan register,. Beberapa mode tambahan seperti pergeseran dan pe-relatif dapat dimasukkan selain itu banyak mode kompleks dapat disintesis pada perangkat lunak dibanding yang sederhana, selain dapat menyederhanakan sel instruksi dan unit kontrol. Format instuksi Penggunaan format-format instruksi sederhana, panjang instruksinya tetap dan disesuaikan dengan panjang word. Fitur ini memiliki beberapa kelebihan karena dengan menggunakan field yang tetap pendekodean opcode dan pengaksesan operand register dapat dilakukan secara bersama-sama Setelah dipertimbangkan semua karakteristik secara bersamaan, dapat dilihat keuntungan-keuntungan potensial dari pendekatan RISC. Keuntungan-keuntungan ini dikategorikan dalam dua kategori utama: yang pertama berhubungan dengan kinerja dan yang kedua berhubungan dengan implementasi VLSI. Berkaitan dengan kinerja, suatu jumlah tertentu “circumstansial evidence” dapat direpresentasikan. Pertama pengoptimalan compiler yang lebih efektif dan dapat dikembangkan. Yang kedua bahwa kebanyakan instruksi yang dihasilkan oleh kompiler biasanya sederhana dan relatif. Yang ketiga adalah penggunaan pipeline instruksi. Dan yang terakhir bahwa prosessor RISC lebih respontif ke interupsi. Pipelining pada RISC Pipelining akan lebih mudah di implemenstasikan bila set instruksi sederhana dan teratur. Instruksi yang bisa dilakukan akan dikerjakan tanpa menunggu instruksi sebelumnya selesai. Salah satu metode untuk meningkatkan kinerja system computer. Cisc (Complex instruction-set computing atau Complex Instruction-Set Computer) atau "Kumpulan instruksi komputasi kompleks" adalah sebuah arsitektur dari set instruksi dimana setiap instruksi akan menjalankan beberapa operasi tingkat rendah, seperti pengambilan dari memory, operasi aritmetika, dan penyimpanan ke dalam memory, semuanya sekaligus hanya di dalam sebuah instruksi. Karakteristik CISC dapat dikatakan bertolak-belakang dengan RISC. Tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin. Hal ini bisa tercapai dengan cara membuat perangkat keras prosesor mampu memahami dan menjalankan beberapa rangkaian operasi. Untuk tujuan contoh kita kali ini, sebuah prosesor CISC sudah dilengkapi dengan sebuah instruksi khusus, yang kita beri nama MULT. Saat dijalankan, instruksi akan membaca dua nilai dan menyimpannya ke 2 register yag berbeda, melakukan perkalian operan di unit eksekusi dan kemudian mengambalikan lagi hasilnya ke register yang benar. Jadi instruksi-nya cukup satu saja… MULT 2:3, 5:2 MULT dalam hal ini lebih dikenal sebagai “complex instruction”, atau instruksi yang kompleks. Bekerja secara langsung melalui memori komputer dan tidak memerlukan instruksi lain seperti fungsi baca maupun menyimpan. Satu kelebihan dari sistem ini adalah kompailer hanya menerjemahkan instruksiinstruksi bahasa tingkat-tinggi ke dalam sebuah bahasa mesin. Karena panjang kode instruksi relatif pendek, hanya sedikit saja dari RAM yang digunakan untuk menyimpan instruksi-instruksi tersebut. Mengapa CISC? Jumlah instruksi yang banyak dan instruksi yang lebih kompleks. Dua alasan utama yang menjadi motivasi kecenderungan ini adalah adanya keinginan untuk menyederhanakan kompiler dan keinginan untuk meningkatkan kinerja. Alasan penting lainnya adalah harapan bahwa CISC akan menghasilkan program yang lebih kecil dan lebih cepat. Karakteristik CISC versus RISC Rancangan RISC dapat memperoleh keuntungan dengan mengambil sejumlah feature CISC dan Rancangan CISC dapat memperoleh keuntungan dengan mengambil sejumlah feature RISC. Hasilnya adalah bahwa sejumlah rancangan RISC yang terbaru, yang dikenal sebagai PowerPC, tidak lagi “murni” RISC dan rancangan CISC yang terbaru, yang dikenal sebagai Pentium, memiliki beberapa karakteristik RISC. RISC CISC Penekanan pada perangkat lunak Penekanan pada perangkat keras Single-clock,hanya sejumlah kecil instruksi Termasuk instruksi kompleks multi-clock Register toRegister :”LOAD”&”STORE” Memori adalah instruksi2 terpisah ”LOAD”&”STORE” saling bekerjasama ke Memori: Ukuran kode besar(kecepatan relatif tinggi) Ukurang kode kecil,kecepatan rendah Transistor banyak dipakai untuk register Transistor digunakan untuk menyimpan memori instruksi2 kompleks DAFTAR PUSTAKA 1. Organisasi dan Arsitektu Komputer: Rancangan Kinerja/William Stallings; Alih Bahasa, Thamir Abdul Hafedh. – Jakarta: PT INDEKS Kelompok GRAMEDIA, 2005 2. http://iskandar-zulkarnaen1.tripod.com/risc.pdf 3. http://ardtechnology.blogspot.com/2010/10/risc-dan-cisc.html 4. http://www2.eepis-its.edu/~setia/Modul/ArKom/Pertemuan%2013.pdf