Sabtu, 09 Januari 2016

RISC (Reduce Instruction Set Computer)
 Kenapa harus menggunakan RISC ?

1. Tonggak Perkembangan Arsitektur Komputer
    •   family concept
    •    microprogrammed control unit
    •    cache memory
    •    pipelining
    •    multiprocessor
    •    RISC 
 2.  Reduced Instruction Set Computer (RISC)  
  •  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.
  •   Kata "reduced", berarti pengurangan pada set instruksinya.
  •   Rancangan ini berawal dari pertimbangan-pertimbangan dan analisa model                   perancangan lain yang kompleks, sehingga harus ada pengurangan set instruksinya.
 3.  Perkembangan RISC
  •   1980 oleh John Cocke di IBM dengan menghasilkan minikomputer eksperimental 801
  •   1980 kelompok Barkeley yang dipimpin David Patterson mulai meneliti rancangan RISC menghasilkan RISC-1 dan RISC-2
  •   1981 John Hennessy dari Standford merancang RISC walau agak berbeda dengan nama MIPS
 4. Pemakai Teknik RISC
  • Didominasi oleh IBM dengan Intel Insidenya
  • Prosesor PowerPC adalah prosesor buatan
  • Motorola yang menjadi otak utama komputer
  • Apple Macintoch memakai teknik RISC dalam desainnya
  • Macintosh, DEC, dan SUN adalah komputer yang handal dengan sistem pipelining,         superscalar, operasi floating point
 Karakteristik  RISC 
  1. one cycle execution time : satu putaran eksekusi. Prosessor    RISC mempunyai CPI (clock per instruction) atau waktu per instruksi untuk setiap putaran. Hal ini dimaksud untuk mengoptimalkan setiap instruksi pada CPU.

  2. large number of registers: Jumlah register yang sangat banyak. RISC di Desain dimaksudkan untuk dapat menampung jumlah register yang sangat banyak untuk mengantisipasi agar tidak terjadi interaksi yang berlebih dengan memory.

  3. pipelining:adalah sebuah teknik yang memungkinkan dapat melakukan eksekusi secara simultan.Sehingga proses instruksi lebih efiisien.

  • Siklus instruksi.
    •  Satu instruksi per siklus mesin.
    • Siklus mesin ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU, dan menyimpan hasil operasinya ke dalam register.
    • RISC adalah rancangan prosesor yang sederhana,tetapi dalam kesederhanaan tersebut didapatkan kecepatan operasi tiap — tiap siklus instruksinya.
    • Instruksi dibatasi hanya menyediakan instruksi dasar saja.
    • Fungsi — fungsi yang kompleks akan diterjemahkan dalam operasi instruksi — instruksi dasar
  • Operasi Pertukaran data.
    • Berbentukpertukaran data dari register e register.
    • Dengan mengoptimalkan penggunaan memori register diharapkan siklus operasi semakin cepat. 
    • Register adalah memori yang paling cepat dibandingkan  cache maupun memori utama.
    • Dengan penyederhanaan instruksi maka operasi unit kontrol juga akan sederhana dan cepat.
    • Penekanan penggunaan operasi dari register ke register adalah hal yang unik pada rancangan RISC.
    • Rancangan kontemporer lainnya memiliki instruksi register ke register juga, namun juga melibatkan operasi langsung ke memori utama dalam fetch
  • Mode pengalamatan.
    • Fitur rancangan ini juga dapat menyederhanakan sel instruksi dan unit kontrol.
    • Dengan mode pengalamatan yang sederhana akan didapatkan operasi pengambilan data dan penyimpanan data semakin cepat.
  • Format instruksi. 
    • Umumnya hanya digunakan sebuah format atau beberapa format saja untuk menyederhanakan implementasi perangkat kerasnya. 
    • Panjang instruksi tetap dan disamakan dengan panjang word yang digunakan. 
    • Panjang field dibuat sama dan tetap 
    • Kelebihannya adalah, dengan menggunakan field yang tetap maka pengkodean opcode dan pengaksesan operand register dapat dilakukan secara bersamaan. 
    • Format yang sederhana juga akan memudahkan kerja unit kontrol.
Ciri - Ciri RISC dan CISC 
Ciri - Ciri RISC
  1. Instruksi berukuran tunggal
  2. Ukuran yang umum adalah 4 byte
  3. Jumlah pengalamatan data sedikit,
  4. Tidak terdapat pengalamatan tak langsung
  5. Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika
  6. Tidak terdapat lebih dari satu operand beralamat memori per instruksi
  7. Tidak mendukung perataan sembarang bagi data untuk operasi load/ store.
  8. Jumlah maksimum pemakaian memori manajemen bagi suatu alamat data adalah sebuah instruksi .
  • Processor   
    • Procesor Power PC dari Motorola adalah otak utama komputer Apple Macintosh RISC:
      • Macintosh
      • SUN
      • DEC
    • Procesor Intel Pentium sebagai procesor CISC (Complex Instruction Set Computer). 
  • Perbedaan utama dari keduanya adalah jumlah set instruksi. Mana yang lebih baik antara set instruksi yang sedikit atau banyak ? Sebagai pembanding adalah
  • RISC (keluarga PIC12/16CXX dari Microchip dan COP8 buatan National Semiconductor)
  • CICS (68HC11 buatan Motorola dan 80C51dari Intel)
Proses Pipelining pada RISC 
 Pengertian pipelining, pipelining yaitu suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara kontinu pada unit pemrosesan. Dengan cara ini, maka unit pemrosesan selalu bekerja.Teknik pipeline ini dapat diterapkan pada berbagai tingkatan dalam sistemkomputer. Bisa pada level yang tinggi, misalnya program aplikasi, sampai pada tingkat yang rendah, seperti pada instruksi yang dijalankan oleh microprocessor.

1. Pengenalan Pipeline

Prosesor Pipeline yang berputar adalah prosesor baru untuk arsitektur superscalar komputasi. Ini didasarkan pada cara yang mudah dan pipeline yang biasa, struktur yang dapat mendukung beberapa ALU untuk lebih efisien dalam pengiriman dari bagian beberapa instruksi. Daftar nilai arus yang berputar di sekitar pipa, dibuat oleh dependensi data lokal. Selama operasi normal, kontrol sirkuit tidak berada pada jalur yang kritis dan kinerja hanya dibatasi oleh data harga. Operasi mengalir dengan interval waktu sendiri. Ide utama dari Pipeline Prosesor yang berputar adalah circular uni-arah mengalir dari memori register oleh pusat waktu logika dan proses secara parallel dari operasi ALU.

2. Instruksi pipeline

Tahapan pipeline :

    Mengambil instruksi dan membuffferkannya

    Ketika tahapan kedua bebas tahapan pertama mengirimkan instruksi yang dibufferkan tersebut .

    Pada saat tahapan kedua sedang mengeksekusi instruksi, tahapan pertama memanfaatkan siklus memori yang tidak dipakai untuk mengambil dan membuffferkan instruksi berikutnya .

Instuksi pipeline:

Karena untuk setiap tahap pengerjaan instruksi, komponen yang bekerja berbeda, maka dimungkinkan untuk mengisi kekosongan kerja di komponen tersebut.Sebagai contoh :

Instruksi 1: ADD  AX, AX

Instruksi 2: ADD EX, CX

Setelah CU menjemput instruksi 1 dari memori (IF), CU akan menerjemahkan instruksi tersebut(ID). Pada menerjemahkan instruksi  1 tersebut, komponen IF tidak bekerja. Adanya teknologi pipeline menyebabkan IF akan menjemput instruksi 2 pada saat ID menerjemahkan instruksi 1. Demikian seterusnya pada saat CU menjalankan instruksi 1 (EX), instruksi 2 diterjemahkan (ID).




 


Jumat, 01 Januari 2016

Dukungan Sistem Operasi

Fungsi Sistem Operasi adalah

  • Fungsi kenyamanan, susatu sistem operasi akan membuat sistem komputer lebih mudah digunakan.
  • Fungsi efisiensi, sistem operasi memungkinkan sumber daya sistem komputer dapat digunakan dengan cara efisien.
Perbedaan sistem operasi berdasarkan sifat eksekusi

  • 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.
  • 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. 
Single-Programming & Multi-Programming batch

  • Single-programming
    • Mesin batch hanya menjalankan satu program saja. Hal ini sangat tidak efisien karena prosessor banyak menunggu (idle).
  • Multi-programming
    • dimaksudkan untuk menjaga prosessor selalu berada dalam keadaan sibuk dengan mengharuskan prosessor menjalankan lebih dari satu program pada satu saat.
Translation Lookaside Buffer

  • Pada prinsipnya, 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 harus 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. 
Swapping, Partitioning, Paging, Virtual Memory
  • 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 ememnuhi 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.  
  • 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).  
  • 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.
  • 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.