Minggu, 10 Januari 2016

Reduce Instruction Set Computer

RISC merupakan rancangan arsitektur CPU yang mengambil dasar filosofi bahwa prosesor dibuat dengan arsitektur yang tidak rumit dengan membatasi jumlah instruksi hanya pada instruksi dasar yang diperlukan saja.
Rancangan ini berawal dari pertimbangan — pertimbangan dan analisa model perancangan lain yang kompleks, sehingga harus ada pengurangan set instruksinya.
Mengapa digunakan RISC?
  1. Prosesor RISC, yang berkembang dari riset akademis telah menjadi prosesor komersial yang terbukti mampu beroperasi lebih cepat dengan penggunaan luas chip yang efisien.
  2. Bila teknik emulasi terus dikembangkan maka pemakai tidak perlu lagi mempedulikan prosesor apa yang ada di dalam sistem komputernya, selama prosesor tersebut dapat menjalankan sistem operasi ataupun program aplikasi yang diinginkan.
Ciri - ciri RISC :
  1. Instruksi berukuran tunggal.
  2. Ukuran instruksi umumnya 4 byte.
  3. Jumlah mode pengalamatan data sedikit, biasanya kurang dari lima macam. Tidak mengenal pengelamatan tak langsung.
  4. Tidak terdapat operasi yang menggabungkan operasi ambil data dan simpan data dengan operasi — operasi aritmetika.
  5. Tidakterdapat lebih dari satu operand beralamat memori per instruksi.
  6. Jumlah maksimum pemakaian memory menegement unit (MMU) bagi suatu alamat data adalah satu instruksi.
  7. Jumlah bit bagi integer integer specifier sama dengan lima atau lebih. Ini berarti sedikitnya 32 buah register integer dapat direferensikan sekaligus secara eksplisit.
  8. Jumlah bit bagi floating point register specifier sama dengan empat atau lebih, sehingga sedikitnya 16 buah register floating point dapat direferensikan bersama secara eksplisit.
Perbedaan RISC dan CISC :
  1. Procesor Power PC dari Motorola adalah otak utama komputer Apple Macintosh RISC:
    • Macintosh
    • SUN
    • DES
  2. Procesor Intel Pentium sebagai procesor CISC (Complex Instruction Set Computer).
  3. Perbedaan utama dari keduanya adalah jumlah set instruksi
  4. Mana yang lebih baik antara set instruksi yang sedikit atau banyak ?
  5. Sebagai pembanding :
    • RISC (keluarga PIC12/16CXX dari Microchip dan COP8 buatan National Semiconductor)
    • CICS (68HC11 buatan Motorola dan 80C51 dari Intel)
Proses pipelining pada RISC :
  1. F : instruksi fetch (pengambilan dari register atau memori)
  2. E : eksekusi (melakukan operasi pada ALU)
  3. M : memori (operasi penyimpanan dari register ke memori) 

Jumat, 01 Januari 2016

Sistem Operasi

Hello everybody, meet me again! Pada kesempatan ini kita akan sedikit membahas beberapa permasalahan, disini terkhusus mengenai SISTEM OPERASI. Mari kita simak!

1. Fungsi sistem operasi sendiri ialah sebagai:
  • Koordinator, yang memberikan fasilitas sehingga segara aktivitas yang kompleks dapat dikerjakan dalam urutan yang benar.
  • Pengawal, yang memegang kendali proses untuk melindungi file dan memberi batasan pada pembacaan, penulisan, eksekusi data dan program.
  • Penjaga gerbang, yang akan memngawasi siapa saja yang dapat masuk ke dalam sistem komputer.
  • Pengoptimalan, yang akan membuat scedule atas beberapa user input, akses database, komputasi, output, dsb untuk meningkatkan kinerja sistem.
  • Akuntan, yang menjaga pewaktuan CPU tetap berada pada jalur yang benar, penggunaan memori, operasi I/O, penyimpanan pada disk, dsb.
  • Server, yang memberikan pelayanan yang diperlukan pengguna.

2. Sistem operasi berdasarkan sifat eksekusinya:
    a. Sistem Interaktif :
  • Pengguna atau pemrogram berinteraksi secara langsung dengan komputer melalui keyboard atau monitor untuk meminta eksekusi tugas atau membentuk melalui transaksi.
  • Mesin in biasanya beroperasi dari sebuah console, yang terdiri dari tampilan, switch, beberapa bentuk input, dan printer.
  • Program - program yang berbentuk kode mesin dimuatkan melalui perangkat input (misalnya, pembaca kartu)
  • Bila sebuah error menghentikan program, maka kondisi error ditandai dengan nyala lampu.
  • Sistem ini memiliki dua kelemahan utama, yaitu masalah penjadwalan operasi dan waktu setup yang lama.
   b. Sistem Batch
  • Sistem ini kebalikan dari sistem interaktif.
  • Program pengguna ditampung bersama sama dengan program lainya, kemudian diserahkan kepada operator komputer.
  • Setelah program diselesaikan, hasilnya dicetak. Sistem ini sudah jarang digunakan terutama untuk batch murni.
  • Untuk sistem batch yang sederhana biasanya tidak efisien pada penggunaan prosessor, karena terdapat banyak waktu tunggu bagi prosessor. Hal ini terjadi karena perangkat I/O yang lambat.
  • Untuk sistem batch yang canggih, kondisi menunggu tersebut digunakan untuk mengerjakan program lainnya. 
3. Sistem batch terdapat single programming dan multi programming, yang berarti:
  • Single-Programming, mesin batch hanya menjalankan satu program.
  • Multi-Programming, menjaga prosessor selalu berada dalam keadaan sibuk dengan mengharuskan prosessor menjalankan lebih dari satu program pada satu saat.
4. Translation lookside buffer:
  • Pada dasarnya, setiap referensi ke virtual memori terdapat dua jenis akses, yaitu akses untuk mengambil page table entry yang diinginkan dan akses untuk pengambilan datanya. Akibat hal ini terjadi penggandaan waktu akses yang menurunkan kinerja. Solusi persoalan penggadaan waktu akses adalah dengan translation lookaside buffer (TLB). Yang perlu diperhatikan juga, TLB harus berinteraksi dengan sistem cache memori utama. Pertama, sistem akan memeriksa TLB untuk mengetahui apakah page table entry yang cocok tersedia, bila ada maka alamat fisik (real) akan dibuat dengan mengkombinasikan nomor frame dengan offset. Bila tidak ada, enry diakses dari page table. Setelah alamt real dibuat, yang berbentuk sebuah tag dan reminder, cache diperiksa untuk mengetahui keberadaan blok yang berisi word tersebut.Bila ada, maka akan dikembalikan ke CPU. Sedangkan bila tidak ada , word akan dicari di memori utama.

5. Penjelasan beberapa teknik:
    a. Swapping
  • Kondisi dimana memiliki antrian panjang permintaan proses,yang umunya tersimpan dalam memori utama.
  • Apabila proses telah selesai, maka proses - proses tersebut akan dikeluarkan dari memori utama.
  • Sekarang, situasinya yang terjadi adalah tidak ada proses didalam memori utama yang siap, daripada prosessor idle maka prosessor akan melakukan swap salah satu tersebut kembali ke disk diantrian menengah. Antrian ini merupakan antrian proses yang telah dikeluarkan sementara dari memori. 
  • Kemudian sistem operasi mengambil proses lain dari antrian menengah, atau mememnuhi permintaan proses yang baru dari antrian panjang.
  • Setelah itu eksekusi akan dilanjutkan dengan memproses proses yang baru tiba.
  • Swapping merupakan operasi I/O, karenanya dapat membuat keadaan menjadi buruk, namun karena I/O disk umumnya mampu meningkatakn kinerja prosessor.  
     b. Partitioning
  • Sistem Operasi akan menempati bagian memori yang tetap.
  • Sisa memori dibagi - bagi untuk keperluan sejumlah proses.
  • Partitioning adalah teknik membagi memori menjadi beberapa bagian sesuai kebutuhan.
  • Terdapat dua macam partisi, yaitu partisi tetap (fixed size partitioning) dan partisi variabel (variable size partitioning).  
     c. Paging
  • Penggunaan partisi tidak cukup efisien dalam penggunaan memori.
  • Terdapat metode lain yang disebut paging.
  • Paging adalah membagi memori utama menjadi frame - frame kecil berukuran sama.
  • Setiap proses dibagi menjadi page - page berukuran sama sengan frame. Proses yang lebih kecil membutuhkan page yang lebih sedikit, sedangkan proses - proses besar akan memerlukan page yang lebih banyak.
  • Ketika sebuah proses dibawa kedalam memori, page - page nya dimuatkan ke dalam frame yang tersedia dan kemudian page tabel dibentuk.Page tabel digunakan untuk mengubah alamat logik menjadi alamat fisik dan juga sebaliknya.
    d. Virtual Memory  
  • Apabila ada sebuah program besar maka akan tidak efektif apabila semua page dari program tersebut diletakkan dalam memori utama.
  • Hanya page yang akan digunakan saja yang dimuatkan dalam memori utama membuat kinerja memori lebih baik.
  • Apabila page yang akan dieksekusi tidak didapatkan di memori utama, maka sinya page fault diaktifkan.
  • Sinyal ini menyatakan bahwa sistem operasi harus mengambil page yang dimaksud.
  • Karena proses hanya mengeksekusi di dalam memori utama saja, maka memeori tersebut disebut real memory.
  • Namun pemrogram atau pengguna dapt menggunakan memori yang lebih besar, yang dikenal sebagai virtual memory.
  • Memory Virtual ( Virtual Memory ) merupakan solusi efektif bagi pengguna atau pemrogram sehubungan masalah keterbatasan memori utama.