Rabu, 09 November 2016

MAINFRAME OS

konsep mainframe


Dalam istilah sederhana, sebuah sistem operasi adalah kumpulan program yang mengelola sistem komputer workings- memori internal, prosesor, perangkat, dan sistem file-nya. sistem operasi mainframe adalah produk canggih dengan karakteristik yang secara substansial berbeda dan tujuan.

Sistem operasi dirancang untuk membuat penggunaan terbaik dari berbagai sumber daya komputer, dan memastikan bahwa jumlah maksimum pekerjaan diproses seefisien mungkin. Meskipun sistem operasi tidak dapat meningkatkan kecepatan komputer, dapat memaksimalkan penggunaan sumber daya, sehingga membuat komputer tampak lebih cepat dengan memungkinkan untuk melakukan lebih banyak pekerjaan dalam jangka waktu tertentu.

arsitektur Sebuah komputer terdiri dari fungsi sistem komputer menyediakan. arsitektur berbeda dari desain fisik, dan, pada kenyataannya, desain mesin yang berbeda mungkin sesuai dengan arsitektur komputer yang sama. Dalam arti, arsitektur komputer seperti yang terlihat oleh pengguna, seperti programmer sistem. Misalnya, bagian dari arsitektur adalah set instruksi mesin komputer dapat mengenali dan mengeksekusi. Dalam lingkungan mainframe, perangkat lunak sistem dan perangkat keras terdiri dari arsitektur komputer yang sangat canggih, hasil dari dekade inovasi teknologi.

Sebagian besar pusat informasi ini mengajarkan dasar-dasar z / OS ®, yang merupakan sistem operasi mainframe terkemuka IBM. Hal ini berguna untuk siswa mainframe, namun, untuk memiliki pengetahuan tentang sistem mainframe operasi lain. Salah satu alasannya adalah bahwa komputer mainframe tertentu mungkin menjalankan beberapa sistem operasi. Misalnya, penggunaan z / OS, z / VM®, dan Linux ® pada mainframe yang sama adalah umum.

Selain z / OS, empat sistem operasi lain mendominasi penggunaan mainframe: z / VM, z / VSE ™, Linux untuk Sistem z®, dan z / TPF.


SERVER OS
Oleh : Forrest Stroud

               Sebuah sistem operasi server, juga disebut server OS, adalah sistem operasi yang khusus dirancang untuk berjalan pada server, yang merupakan komputer khusus yang beroperasi dalam arsitektur client / server untuk melayani permintaan dari komputer klien pada jaringan.
               Server sistem operasi, atau server OS, adalah perangkat lunak lapisan di atas yang program perangkat lunak lain, atau aplikasi, dapat berjalan pada perangkat keras server. sistem operasi server membantu mengaktifkan dan memfasilitasi peran server khas seperti server Web, mail server, file server, database server, server aplikasi dan server cetak.
               Sistem operasi server populer termasuk Windows Server, Mac OS X Server, dan varian Linux seperti Red Hat Enterprise Linux (RHEL) dan SUSE Linux Enterprise Server.

MULTIPROCESSOR OS
Multiprosesor Sistem Operasi mengacu pada penggunaan dua atau lebih central processing unit (CPU) dalam satu sistem komputer. Ini beberapa CPU berada dalam komunikasi yang erat berbagi bus komputer, memori dan perangkat periferal lainnya. Sistem ini disebut sebagai tightly coupled systems..

Sistem tersebut digunakan saat kecepatan yang sangat tinggi diperlukan untuk memproses volume data yang besar. Sistem ini umumnya digunakan dalam lingkungan seperti kontrol satelit, prakiraan cuaca dll Organisasi dasar sistem multiprocessing ditunjukkan pada gambar.

Sistem multiprocessing didasarkan pada model multiprocessing simetris, di mana setiap prosesor menjalankan salinan identik dari sistem operasi dan salinan ini berkomunikasi satu sama lain. Dalam sistem prosesor ini ditugaskan tugas tertentu. Sebuah prosesor utama mengontrol sistem. Skema ini mendefinisikan hubungan tuan-budak. Sistem ini dapat menghemat uang dalam dibandingkan dengan sistem prosesor tunggal karena prosesor dapat berbagi peripheral, pasokan listrik dan perangkat lainnya. Keuntungan utama dari sistem multiprosesor adalah untuk mendapatkan lebih banyak pekerjaan dilakukan dalam waktu yang lebih singkat. Selain itu, sistem multiprosesor terbukti lebih handal dalam situasi kegagalan satu prosesor. Dalam situasi ini, sistem dengan multiprosesor tidak akan menghentikan sistem; itu hanya akan memperlambatnya.
 
Dalam rangka untuk mempekerjakan multiprocessing sistem operasi secara efektif, sistem komputer harus memiliki berikut:
 
1. Dukungan Motherboard: Sebuah motherboard mampu menangani beberapa prosesor. Ini berarti soket tambahan atau SLOT untuk chip tambahan dan mampu chipset menangani pengaturan multiprocessing.
 
2. Processor Support: prosesor yang mampu digunakan dalam sistem multiprocessing.
 
Seluruh tugas multiprocessing dikelola oleh sistem operasi, yang mengalokasikan tugas yang berbeda yang akan dilakukan oleh berbagai prosesor dalam sistem.
Aplikasi yang dirancang untuk digunakan dalam multiprocessing dikatakan threaded, yang berarti bahwa mereka dipecah menjadi rutinitas yang lebih kecil yang dapat dijalankan secara independen. Hal ini memungkinkan sistem operasi untuk membiarkan benang ini berjalan pada lebih dari satu prosesor secara bersamaan, yang multiprocessing yang menghasilkan peningkatan kinerja.
 
sistem multiprosesor mendukung proses untuk berjalan secara paralel. pemrosesan paralel adalah kemampuan CPU untuk secara bersamaan memproses pekerjaan yang masuk. Hal ini menjadi yang paling PENTING dalam sistem komputer, seperti CPU membagi dan menaklukkan pekerjaan. Umumnya pemrosesan paralel digunakan dalam bidang-bidang seperti kecerdasan buatan dan sistem pakar, pengolahan citra, peramalan cuaca dll
 
Dalam sistem multiprosesor, berbagi dinamis sumber daya di antara berbagai prosesor dapat karena itu menyebabkan, hambatan potensial. Ada tiga sumber utama pertentangan yang dapat ditemukan dalam sistem multiprosesor operasi:
 
 
Sistem penguncian: Dalam rangka untuk menyediakan akses yang aman ke sumber daya bersama antara beberapa prosesor, mereka perlu dilindungi dengan mengunci skema. Tujuan dari penguncian adalah cerita bersambung akses ke sumber daya yang dilindungi oleh beberapa prosesor. Penggunaan disiplin penguncian parah dapat menurunkan kinerja sistem. Bentuk pertentangan dapat dikurangi dengan menggunakan penguncian skema, menghindari bagian panjang kritis, mengganti kunci dengan algoritma kunci bebas, atau, bila memungkinkan, menghindari berbagi sama sekali.
 
data bersama: The akses berkelanjutan ke data barang yang dimiliki oleh beberapa prosesor (dengan satu atau lebih dari mereka dengan menulis data) yang serial oleh protokol koherensi cache. Bahkan dalam sistem skala sedang, penundaan serialisasi dapat memiliki dampak yang signifikan pada kinerja sistem. Selain itu, semburan cache lalu lintas koherensi menjenuhkan bus memori atau jaringan interkoneksi, yang juga memperlambat seluruh sistem. Bentuk pertentangan dapat dihilangkan dengan baik berbagi menghindari atau, jika hal ini tidak mungkin, dengan menggunakan teknik replikasi untuk mengurangi tingkat menulis akses ke data bersama.
 
berbagi palsu: Bentuk pertentangan muncul ketika item data yang tidak terkait yang digunakan oleh prosesor yang berbeda yang terletak di samping satu sama lain dalam memori dan, karena itu, berbagi garis cache tunggal: Pengaruh berbagi palsu adalah sama dengan berbagi biasa memantul dari baris cache antara beberapa prosesor. Untungnya, setelah diidentifikasi, berbagi palsu dapat dengan mudah dihilangkan dengan menetapkan tata letak memori data non-shared.
Terlepas dari menghilangkan kemacetan dalam sistem, multiprosesor pengembang sistem operasi harus menyediakan dukungan untuk efisien menjalankan aplikasi pengguna pada multiprosesor tersebut. Beberapa aspek dukungan tersebut meliputi mekanisme untuk penempatan tugas dan migrasi di prosesor, penempatan memori fisik mengasuransikan sebagian besar halaman memori yang digunakan oleh aplikasi terletak di memori lokal, dan primitif multiprosesor sinkronisasi scalable.
http://ecomputernotes.com/fundamental/disk-operating-system/multiprocessor-operating-system

PC OS
Merupakan sistem operasi yang diciptakan untuk personal computer atau komputer pribadi. Misalnya Windows, IBM, UNIX/Linux

HANDHELD OS
Sistem Handheld adalah sebuah system operasi yang lebih kecil dari mikrokomputer yang mempunyai memori yang terbatas, kecepatan Sistem Handheld lebih rendah dan display screen yang kecil. Contoh system handheld adalah Android, Symbian.
http://siso06225.blogspot.co.id/

SENSOR NODE OS

sensor node, also known as a mote (chiefly in North America), is a node in a sensor network that is capable of performing some processing, gathering sensory information and communicating with other connected nodes in the network. A mote is a node but a node is not always a mote.[citation needed]

Controller[edit]


The controller performs tasks, processes data and controls the functionality of other components in the sensor node. While the most common controller is a microcontroller, other alternatives that can be used as a controller are: a general purpose desktop microprocessordigital signal processorsFPGAs and ASICs. A microcontroller is often used in many embedded systems such as sensor nodes because of its low cost, flexibility to connect to other devices, ease of programming, and low power consumption. A general purpose microprocessor generally has a higher power consumption than a microcontroller, therefore it is often not considered a suitable choice for a sensor node.[citation needed] Digital Signal Processors may be chosen for broadband wireless communication applications, but in Wireless Sensor Networks the wireless communication is often modest: i.e., simpler, easier to process modulation and the signal processing tasks of actual sensing of data is less complicated. Therefore, the advantages of DSPs are not usually of much importance to wireless sensor nodes. FPGAs can be reprogrammed and reconfigured according to requirements, but this takes more time and energy than desired.[citation needed]

Definisi RTOS

“Real-Time Operating System (RTOS) adalah sistem operasi yang multitasking yang ditujukan untuk aplikasi yang real-time”.  Wikipedia, 2011.

RTOS juga dapat diartikan sebagai Program yang menjadwalkan semua eksekusi/pekerjaan yang sangat teratur, mengatur semua resource dari sistem, dan menyediakan dasar yang konsisten untuk mengembangkan kode aplikasi diatasnya. Real Time Concept for Embedded Systems, 2003.

Komponen-komponen RTOS :

·         Scheduler
Indikasi kapan eksekusi suatu pekerjaan akan dilakukan Round-robin atau preempetive scheduling
·         Objects
Dibangun oleh kernel untuk memudahkan pengembangan Terdiri dari tasks, semaphores, dan message queues
·         Services 
Operasi yang diberikan kepada semua objek diantaranya timing, interrupt handling, dan resource management

Karakteristik RTOS :
  • Reliability, kemampuan bekerja tanpa intervensi manusia.
  • Predictability, perilaku bisa diprediksi untuk rentang waktu yang telah ditentukan
  • Performance, mampu menyelesaikan pekerjaan secepat mungkin
  • Compactness, ukuran dan penggunaan resource terbatas, pengaruh dari desain dan biaya
  • Scalability, modular untuk mendukung berbagai macam tingkat kekompleksan aplikasi

Macam-macam RTOS
1.       eCos
2.       FreeRTOS
3.       FemtoOS

  1. Free RTOS 
FreeRTOS (Free Real-time operating systems) adalah sebuah real time operating system yang digunakan untuk embeded devices atau microcontrollers untuk kebutuhan sistem operasinya. FreeRTOS didistribusikan secara gratis lewat GPL dengan beberapa pengecualian untuk kalangan industri tertentu

Desain Kernel FreeRTOS :

Karateristik :
}  Dikembangkan oleh real time engineer Ltd
}  Didesain dengan ukuran kecil dan mudah digunakan
}  Penulisan code dalam bahasa C
Menyediakan fungsi seperti :
}  Threads
}  Task
}  Semaphores
  Berjalan di :
}  WINDOWS
}  Linux

Keunggulan FreeRTOS
  1. Penjadwalan dapat dikonfigurasi untuk operasi preemptive dan cooperative 
  2. Co-routine dalam freeRTOS sangat sederhana dan memiliki stack untuk task ringan dan terbatas 
  3. Kecil dan sederhana. Hanya 3 file source code. Sehingga cocok untuk para newbie yang masih awal terhadap RTOS. 
  4. Memberikan satu solusi dan environment untuk berbagai macam arsitektur. Proses migrasi arsitektur pun bisa lebih mudah. 
  5. Konsumsi ROM dan RAM yang minimal.BINARY kernel RTOS tipikalnya akan menghabiskan area sebesar 4 – 9 KByte. 
  6. Gratis untuk digunakan pada project komersial (lihat bagian lisensi untuk lebih detailnya). 
  7. Terdapat contoh yang bisa langsung dijalankan. 
  8. Dokumentasi yang bisa dkatakan lengkap. 
  9. Support berupa forum yang gratis dan lengkap
http://uchanetizen.blogspot.co.id/2013/06/pengertian-rtos.html

Rabu, 26 Oktober 2016

Struktur Sistem Komputer

Struktur dan Fungsi Komputer

Struktur komputer didefinisikan sebagai cara-cara dari setiap komponen yang saling terkait. Struktursebuah komputer secara sederhana, dapat digambarkan dalam diagram blok pada gambar dibawah.
diagram blok struktur komputer

Sedangkan fungsi komputer didefinisikan sebagai operasi masing-masing komponen sebagai bagian dari struktur. Adapun fungsi dari masing-masing komponen dalam struktur di atas adalah sebagai berikut:

1. Input Device (Alat Masukan)
Adalah perangkat keras komputer yang berfungsi sebagai alat untuk memasukan data atau perintah kedalam komputer.

2. Output Device (Alat Keluaran)
Adalah perangkat keras komputer yang berfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluarannya dapat berupa hard-copy (ke kertas), soft-copy (ke monitor), ataupun berupa suara.

3. I/O Ports
Bagian ini digunakan untuk menerima ataupun mengirim data keluar sistem. Peralatan input dan output di atas terhubung melalui port ini.

4. CPU (Central Processing Unit)
CPU merupakan otak sistem komputer, dan memiliki dua bagian fungsi operasional, yaitu: ALU(Arithmetical Logical Unit) sebagai pusat pengolah data, dan CU (Control Unit)sebagai pengontrol kerja komputer.

5. Memori
Memori terbagi menjadi dua bagian yaitu memori internal dan memori eksternal.Memori internal berupa RAM (Random Access Memory) yang berfungsi untuk menyimpan program yang kita olah untuk sementara waktu, dan ROM (Read OnlyMemory) yaitu memori yang hanya bisa dibaca dan berguna sebagai penyedia informasi pada saat komputer pertama kali dinyalakan.

6. Data Bus
Adalah jalur-jalur perpindahan data antar modul dalam sistem komputer. Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit data, maka jumlah saluran menentukan jumlah bit yang dapat ditransfer pada suatu saat. Lebar data busini menentukan kinerja sistem secara keseluruhan. Sifatnya bidirectional, artinya CPU dapat membaca dan menirma data melalui data bus ini. Data bus biasanya terdiri atas 8, 16,32, atau 64 jalur paralel.

7. Address Bus
Digunakan untuk menandakan lokasi sumber ataupun tujuan pada proses transfer data. Pada jalur ini, CPU akan mengirimkan alamat memori yang akan ditulis atau dibaca. Address bus biasanya terdiri atas 16, 20, 24, atau 32 jalur paralel.

8. Control Bus
Control Bus digunakan untuk mengontrol penggunaan serta akses ke Data Bus dan Address Bus. Terdiri atas 4 sampai 10 jalur paralel.

Input Device

Input device adalah alat yang digunakan untuk menerima input dari luar sistem, dan dapat berupa signal input atau maintenance input. Didalam sistem komputer, signal input berupa data yang dimasukkan ke dalam sistem komputer, sedangkan maintenance input berupa program yang digunakan untuk mengolah data yang dimasukkan. Dengan demikian, alat input selain digunakan untuk memasukkan data juga untuk memasukkan program.

Beberapa alat input mempunyai fungsi ganda, yaitu disamping sebagai alat input juga berfungsi sebagai alat output sekaligus. Alat yang demikian disebut sebagai terminal. Terminal dapat dihubungkan ke sistem komputer dengan menggunakan kabel langsung atau lewat alat komunikasi.

Terminal dapat digolongkan menjadi non intelligent terminal, smart terminal, dan intelligent terminal. Non intelligent terminal hanya berfungsi sebagai alat memasukkan input dan penampil output, dan tidak bisa diprogram karena tidak mempunyai alat pemroses. Peralatan seperti ini juga disebut sebagai dumb terminal. Smart terminal mempunyai alat pemroses dan memori di dalamnya
sehingga inputyang terlanjur dimasukkan dapat dikoreksi kembali.Walaupundemikian, terminal jenis ini tidak dapat diprogram oleh pemakai, kecuali oleh pabrik pembuatnya. Sedangkan intelligent terminal dapat diprogram oleh pemakai.

Peralatan yang hanya berfungsi sebagai alat input dapat digolongkan menjadi alat input langsung dan tidak langsung. Alat input langsung yaitu input yangdimasukkan langsung diproses oleh alat pemroses, sedangkan alat input tidak langsung melalui media tertentu sebelum suatu input diproses oleh alat pemroses. Alat input langsung dapat berupa papan ketik (keyboard), pointing device (misalnya mouse, touchscreen, lightpen, digitizergraphics tablet), scanner (misalnya magnetic ink character recognition, optical data reader atau optical character recognition reader), sensor (misalnya digitizingcamera), voice recognizer (misalnya microphone). Sedangkan alat input tidak langsung misalnya key punch yang dilakukan melalui media punchedcard (kartuplong), key-to-tapeyang merekam data ke media berbentuk pita (tape) sebelum diproses oleh alat pemroses, dan key-to-disk yang merekam data ke media magnetic disk (misalnya disket atau harddisk) sebelum diproses lebih lanjut.


Output Device

Output yang dihasilkan dari pemroses dapat digolongkan menjadi empat bentuk, yaitu tulisan (huruf, angka, simbol khusus), image (dalam bentuk grafik atau gambar), suara, dan bentuk lain yang dapat dibaca oleh mesin (machine-readable form). Tiga golongan  pertama adalah output yang dapat digunakan langsung oleh manusia, sedangkan golongan terakhir biasanya digunakan sebagai input untuk proses selanjutnya dari komputer.

Peralatan output dapat berupa: 
Hard-copy device, yaitu alat yang digunakan untuk mencetak tulisan dan image pada media keras seperti kertas atau film.
Soft-copy device, yaitu alat yang digunakan untuk menampilkan tulisan dan image pada media lunak yang berupa sinyal elektronik.
Drive device atau driver, yaitu alat yang digunakan untuk merekam simbol dalam bentuk yang hanya dapat dibaca oleh mesin pada media seperti magnetic disk atau magnetic tape. Alat ini berfungsi ganda, sebagai alat output dan juga sebagai alat input.

Output bentuk pertama sifatnya adalah permanendan lebih portable (dapat dilepas dari alat outputnya dan dapat dibawa kemana-mana). Alat yang umum digunakan untuk ini adalah printer, plotter, dan alat microfilm. Sedangkan output bentuk kedua dapat berupa video display, flat panel, dan speaker. Dan alat output bentuk ketiga yang menggunakan media magnetic disk adalah disk drive, dan yang menggunakan media magnetic tape adalah tape drive. 


Pengertian Register

PENGERTIAN REGISTER DAN MACAM-MACAM REGISTER

Register ialah sebagian kecil memori komputer yang dipakai untuk tempat penampungan data dengan ketentuan bahwa data yang terdapat dalam register dapat diproses dalam berbagai operasi dengan melihat berapa besar kemampuan menampung register tersebut.
Register terbagi dalam 5 golongan antara lain:
- General Purpose Register (Scratch-Pad Register), terdiri dari:
  • AX (AH + AL) - Accumulator Register
  • BX (BH + BL) - Base Register
  • CX (CH + CL) - Counter Register
  • DX (DH + DL) - Data Register
- Segment Register
  • CS - Code Segment Register
  • DS - Data Segment Register
  • SS - Stack Segment Register
  • ES - Extra Segment Register
- Pointer Register
  • IP - Instruction Pointer Register
  • SP - Stack Pointer Register
  • BP - Base Pointer Register
- Index Register
  • SI - Source Index Register
  • DI - Destination Index Register
- Flag Register

General Purpose Register terdiri dari emapt register yang mempunyai kemampuan 16 bit dan dapat dibagi menjadi Register Low dan High Bits yang masing-masing berkemampuan 8 bit.

Register AX
Register AX merupakan register aritmatik, karena register ini selalu dipakai dalam operasi penambahan, pengurangan, perkalian dan pembagian.
Setiap register general purpose mempunyai Register Low dan Register High, maka untuk AX register low-nya adlaah AL dan register high-nya adalah AH. Register AH merupakan tempat menaruh nilai service number untuk beberapa Interrupt tertentu.

Register BX
Register BX adalah salah satu dari dua register base Addressing Mode yang dapat mengambil atau menulis langsung dari atau ke memori.

Register CX
Register CX merupakan suatu counter untuk meletakkan jumlah lompatan pada Loop yang anda lakukan.

Register DX
Register DX memiliki 3 tugas antara lain:
Membantu AX dalam proses perkalian dan pembagian, terutama perkalian dan pembagian 16 bit.
DX merupakan register offset dari DS
DX bertugas menunjukkan nomor port pada operasi port

Pointer Register bertugas untuk menyimpan offset dari relative address.

Register IP
Pasangan register IP adalah register CS yang merupakan register terpenting untuk menunjukkan baris perintah program. Pada pertama program dijalankan register ini akan langsung menunjuk pada awal program.

Register SP
Pasangan register SP adalah register SS yang digunakan untuk operasi stack. Pada saat program pertama dijalankan register ini akan menunjuk pada byte terakhir stack.

Register BP
Register BP mempunyai fungsi yang sama dengan register BX yaitu dapat menulis dan membaca ke atau dari memori secara langsung. 
Perbedaannya adalah BX menulis dan membaca dengan segment SS (Stack Segment).
Register BP digunakan juga dalam komunikasi anatara bahasa komputer, seperti PASCAL dengan Assembler ataupun Turbo C dengan Assembler.

Index Register terdiri dari dua register yaitu register DI dan SI, dimana kedua register ini merupakan register yang dipakai untuk melakukan Operasi String.
Kedua register ini sering digunakan untuk menulis dan membaca ke atau dari memori seperti BX dan BP


| X | X | X | X | O | D | I |T | S | Z | X | A | X | P | X | C |

Flag Bits:
O - Overflow Flag
D - Direction Flag
I - Interrupt Flag
T - Trap Flag
S - Sign Flag
Z - Zero Flag
A - Auxiliary Carry Flag
P - Parity Flag
C - Carry Flag
X - Reserved (kosong)

Flag register ini merupakan suatu komposisi register 16 bit dengan ketentuan  seperti gambar diatas, dimana komposisi bit nya dapat mengecek apakah sesuatu berfungsi atau tidak.


Siklus Instruksi



Assalamualaikum wr. wb.
Kali ini saya akan berbagi ilmu tentang Siklus Instruksi pada komputer


Sebuah siklus instruksi meliputi subsiklus-subsiklus berikut ini:
  • Fetch: membaca instruksi berikutnya dari memori ke dalam cpu.
  • Execute: menginterpretasikan opcode dan melakukan operasi yang diindikasikan.
  • Interrupt: apabila interrupt diaktifkan dan interrupt telah terjadi, simpan status proses saat itu dan layani interrupt.
  • Store: data atau hasil perhitungan disimpan dalam register atau RAM


Siklus Tak Langsung

Eksekusi sebuah instruksi melibatkan sebuah operand atau lebih di dalam memori, yang masing-masing operand memerlukan akses memori. Kemudian, apabila digunakan pengalamatan tak langsung, maka diperlukan akses memori tambahan.


Machine cycle

Machine cycle atau nama lainnya adalah processor cycle atau instruction cycle merupakan merupakan suatu siklus instruksi dasar yang dikerjakan oleh cpu di dalam melakukan eksekusi suatu instruksi. Rangkaian proses eksekusi instruksi ini dimulai dari proses fetching data dan instruksi yang ada didalam memori hingga proses penulisan kembali hasil eksekusi instruksi tersebut ke dalam memori.

Secara garis besar siklus instruksi (machine cycle) dibagi ke dalam beberapa tahapan yaitu:
  1. Proses FetchingMerupakan proses dimana instruksi dan data akan di load dari memori ke dalam cpu. Proses ini dimulai dari pengambilan alamat instruksi yang terdapat di dalam pc (program counter). Alamat yang terdapat di dalam pc ini merupakan alamat valid dari instruksi dan data yang disimpan ke dalam memori utama, dan merupakan alamat instruksi yang akan dieksekusi. Berdasarkan alamat instruksi yang terdapat di dalam pc, cpu akan mengambil instruksi tersebut untuk ditempatkan ke dalam register (instruction register/ ir) yang menyimpan instruksi yang akan dieksekusi.
  2. Proses DecodingMerupakan tahapan dimana instruksi akan di terjemahkan (interpret) ke dalam perintah-perintah bahasa mesin dasar (add, sb, mba, sta, jmp, dll). Proses ini dilakukan oleh instruction decoder.
  3. Proses Executing: Tahapan dimana instruksi akan dieksekusi di dalam cpu, yaitu oleh alu (arithmetic logic unit).
Setelah tahapan diatas dikerjakan, maka hasil dari eksekusi tersebut akan dikembalikan ke dalam memori untuk disimpan. Proses penyimpanan kembali hasil eksekusi isntruksi terdiri dari beberapa tahapan yaitu:
  1. Proses penempatan alamat memori yang digunakan untuk menyimpan hasil instruksi ke dalam mar
  2. Proses penempatan data (hasil instruksi) kedalam mdr
  3. Proses mengaktifkan memory write control signal pada control bus
  4. Proses menunggu memori untuk melakukan write data pada alamat tertentu
  5. Proses untuk menonaktifkan memory write control signal pada bus
Dalam menjalakan instruction cycle/machine cycle ada beberapa komponen yang berperan, yaitu:
  1. Program counter (pc)Nama lainnya adalah instruction pointer, merupakan suatu pointer (penunjuk), bagi sejumlah instruksi yang ditempatkan di dalam memori dan akan dieksekusi oleh cpu.
  2. Memory address register (mar)Adalah salah satu register yang terdapat di dalam cpu yang fungsinya adalah untuk menyimpan alamat memori dari data yang akan diambil (fetch) oleh cpu untuk dieksekusi. Selain itu mar juga akan menyimpan alamat memori dari data (hasil instruksi) yang akan ditulis kembali ke dalam memori.
  3. Memory data register (mdr)Merupakan register yang terdapat dalam cpu yang fungsinya adalah menyimpan data sementara yang akan dieksekusi oleh cpu. Setiap kali proses fetching berlangsung, data akan disimpan di dalam mdr sebelum dilakukan proses eksekusi. Demikian juga hasil dari eksekusi instruksi akan disimpan di dalam register ini sebelum dilakukan proses penulisan kembali ke memori.
  4. Instruction registerSama seperti mar dan mdr, instruction register (ir) ini terletak di dalam cpu. Ir ini bertanggung jawab untuk menyimpan instruksi yang akan dieksekusi oleh cpu. Pada beberapa jenis prosesor (terutama yang ada sekarang), digunakan konsep pipeline pada ir ini, dimana pada setiap stage pipeline melakukan proses decoding, dan proses yang lain pada waktu instruksi dikerjakan.
  5. Control unit (cu)Control unit mengkoordinasi semua komponen-komponen yang ada di sistem computer, terutama yang berkaitan dengan pengolahan data dan eksekusi instruksi. Cu mengatur proses fetching instruksi maupun data dari memori ke cpu. Selain itu juga mengatur unit yang lain dengan menyediakan timing dan control signal.
  6. Arithmetic logic unit (alu)Merupakan sirkuit digital yang terdapat di dalam cpu yang memiliki fungsi untuk melakukan komputasi aritmatika dan logika. Alu merupakan unit dasar dari pengolah data dan eksekusi instruksi.
  7. Sumber : http://rplsmkn1lmj.blogspot.co.id/2015/08/tentang-siklus-instruksi-instruction.html

Pipelining Instruksi

Posted: October 30, 2013 in Uncategorized
0
Pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara continue pada unit pemrosesor. Dengan cara ini, maka unit pemrosesan selalu bekerja. Teknik Pipeline ini dapat diterapkan pada berbagai tingkatan dalam sistem komputer. Bisa pada level yang tinggi, misalnya program aplikasi, sampai pada tingkat yang rendah, seperti pada instruksi yang dijaankan oleh microprocessor.
Pada microprocessor yang tidak menggunakan pipeline, satu instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat dilaksanakan. Sedangkan dalam microprocessor yang menggunakan teknik pipeline, ketika satu instruksi sedangkan diproses, maka instruksi yang berikutnya juga dapat diproses dalam waktu yang bersamaan. Tetapi, instruksi yang diproses secara bersamaan ini, ada dalam tahap proses yang berbeda. Jadi, ada sejumlah tahapan yang akan dilewati oleh sebuah instruksi.
Konsep pemrosesan pipeline dapat digunakan dalam sebuah komputer untuk memperbaiki throughput sistem tersebut dalam berbagai variasi cara. Tiga jenis pokok pipelining adalah pipelining aritmatika, instruksi, dan prosesor. Peningkatan throughput sistem dengan satu atau lebih jenis pipelining ini tergantung pada fungsi dan harga pipelining. Harga pipelining termasuk tambahan perangkat keras yang diperlukan untuk mekanisme latch dan kendali, serta waktu yang tidak produktif bagi pengisian pipeline dan memaksa latensi untuk menghindari adanya tubrukan.
Pipelining instruksi dalam suatu komputer nonpipeline, CPU bekerja melalui suatu siklus yang berkesinambungan dari fetch-decode-eksekusi untuk semua instruksinya. Proses fetch suatu instruksi tidak akan dimulai sampai eksekusi instruksi sebelumnya selesai. Untuk mem-pipeline fungsi ini, instruksi-instruksi yang berdampingan di fetch dari memori ketika instruksi yang sebelumnya di-decode dan dijalankan. Proses pipelining instruksi, disebut juga instruction lihat-ke-muka (look-ahead), mem-fetch instruksi secara berurutan. Dengan demikian, jika suatu instruksi menyebabkan percabganan keluar dari urutan itu maka pipe akan dikosongkan dari seluruh instruksi yang telah di-fetch sebelumnya dan instruksi percabangan (branched-to instruction) tersebut di-fetch.

Instruksi pada 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.

Berikut ini adalah gambaran tentang Instuksi pipeline :

iuy

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).
Contoh pengerjaan instruksi tanpa pipeline :
 Untitled
Contoh pengerjaan instruksi dengan pipeline :

iuyyy
         Dengan adanya pipeline dua instruksi selesai dilaksanakan padadetik keenam (sedangkan pada kasus tanpa pipeline baru selesai pada detik kesepuluh). Dengan demikian telah terjadi percepatan sebanyak 1,67x dari 10T menjadi hanya 6T. Sedangkan untuk pengerjaan 3 buah instruksi terjadi percepatan sebanyak 2, 14x dari 15T menjadi hanya 7T.

       Untuk kasus pipeline sendiri, 2 instruksi dapat dikerjakan dalam 6T (CPI = 3) dan instruksi dapat dikerjakan dalam 7T (CPT = 2,3) dan untuk 4 instruksi dapat dikerjakan dalam  8T (CPI =2). Ini berarti untuk 100 instruksi akan dapat dikerjakan dalam 104T (CPI = 1,04). Pada kondisi  ideal CPI akan harga 1.


Proses Interrupt

Pengertian Interrupt
Interupsi atau interrupt adalah suatu permintaan khusus pada mikroprocessor untuk melakukan sesuatu, jika terjadi interupsi maka komputer akan menghentikan dahulu apa yang sedang dikerjakan dan melakukan apa yang di minta oleh yang menginterupsi, setelah selesai maka aliran program akan kembali ke pernyataan program sebelum terjadinya interupsi. Interupsi merupakan sub rutin yang sudah tersedia dalam memori komputer.
Pada IBM PC dan kompatibelnya disediakan 256 buah interupsi yang diberi nomor 0 s/d 255. Nomor interupsi 0 s/d 1Fh disediakan oleh ROM BIOS yaitu suatu IC di dalam komputer yang mengatur operasi dasar komputer. Jadi jika terjadi interupsi dengan nomor 0 s/d 1Fh maka secara default komputer akan beralih ke ROM BIOS dan melaksanakan program yang terdapat disana. Program yang melayani suatu interupsi dinamakan Interrupt Handler, dan hanya dijalankan jika terjadi sesuatu kejadian khusus (event). Kejadian ini bisa berupa timer yang mengalami overflow, penerimaan karakter melalui port serial, mengirimkan karakter melalui port serial, atau salah satu dari dua kejadian eksternal. Setiap interrupt akan mengekseskusi interrupt handlernya masing masing berdasarkan nomornya. Sedangkan alamat dari masing masing interrupt handler tercatat di memori dalam bentuk array yang besar elemennya masing masing 4 byte.
Keempat byte ini dibagi lagi yaitu 2 byte pertama berisi kode offset sedangkan 2 byte berikutnya berisi kode segmen dari alamat interrupt handler yang bersangkutan. Jadi besarnya array itu adalah 256 elemen dengan ukuran elemen masing masing 4 byte. Total keseluruhan memori yang di pakai adalah sebesar 1024 byte (256x4=1024) atau 1 KB dan disimpan dalam lokasi memori absolut 0000h sampai 3FFh. Array sebesar 1 KB ini disebut interrupt vector table. Nilai nilai yang terkandung pada interrupt vector table ini tidak akan sama di satu komputer dengan yang lainnya.
Proses yang dilakukan oleh mikrokontroler saat melayani interrupt adalah sebagai berikutProses yang terjadi saat mikrokontroler melayani interrupt adalah sebagai berikut:
- Instruksi terakhir yang sedang dijalankan diselesaikan terlebih dahulu
- Program Counter (alamat dari instruksi yang sedang berjalan) disimpan ke stack
- Interrupt Status disimpan secara internal
- Interrupt dilayani sesuai peringkat dari interrupt (lihat Interrupt Priority)
Program Counter terisi dengan alamat dari vector interrupt (lihat Interrupt Vector) sehingga mikrokontroler langsung menjalankan program yang terletak pada vector interrupt Program pada vector interrupt biasanya diakhiri dengan instruksi RETI di mana pada saat ini proses yang terjadi pada mikrokontroler adalah sebagai berikut:
- Program Counter di isi dengan alamat yang tersimpan dalam stack pada saat interrupt terjadi sehingga mikrokontroler kembali meneruskan program di lokasi saat interrupt terjadi.
- Interrupt Status dikembalikan ke kondisi terakhir sebelum terjadi interrupt.
Interupsi terjadi bila suatu perangkat Input/output ingin memberitahu prosesor bahwa ia siap menerima perintah, output sudah dihasilkan,atau terjadi error.

1.    Jenis Interupsi
a.      Internal HW interruptions :
1)   Ditimbulkan/digenerasi oleh peristiwa tertentu yang terjadi pada waktu/selama eksekusi program.
2)   Diatur oleh HW dan tidak dapat dirubah.
3)   Contoh : tipe interrupt untuk counter clock internal; HW call interrupt ini untuk memaintance “time to date.

b.      External HW interrupstion
1)   Ditimbulkan/digenerasi oleh devais peripheral, seperti keyboard, printers, mouse, dsb.
2)   Biasa juga ditimbulkan/digenerasi oleh Co-processor
3)   Tidak mungkin mendeaktivekan
4)   Tidak dikirim langsung ke CPU, melainkan ke IC yang memiliki fungsi untuk menghandle secara eksklusive interrupts ini.

2.    Software interruption :
a.       Diaktifkan langsung oleh assembler melalui sejumlah interupsi yang di harapkan dengan intruksi INT
b.      Terdapat 2 jenis : DOS interrupstions & BIOS interruptions. Perbedaan nya, DOS interruptions lebih mudah digunakan, namun lebih lambat, karena interruptions jenis ini menggunakan BIOS, BIOS interruptions lebih cepat, namun banyak kerugiannya karena BIOS bagian HW dan HW-specific. Pemilihan interrupt tergantung pada karakteristik yang akan kita berikan pada program : SPEED -> BIOS interruptions . PORTABILITY -> DOS interruptions.

3.    Fungsi interupsi sebagai berikut :
a.       Interupsi memindahkan pengendalian kepada interrupt service routine melalui interrupt vektor yang berisi alamat dari semua service routine.
b.      Arsitektur interrupt harus menyimpan alamat intruksi yang di interrupt.
c.       Interrupt yang datang berikutnya dibatalkan ketika interrupt lain sedang diproses untuk mencegah hilangnya suatu interrupt.
d.      Trap adalah software generated interrupt yang disebabkan oleh kesalahan atau karena  permintaan user.
e.       Suatu sistem operasi dikendalikan oleh interrupt.

4.    Ada beberapa tahapan dalam penanganan interupsi:
Pertama-tama Controller mengirimkan sinyal interupsi melalui interrupt-request-line, lalu Sinyal interupsi tersebut dideteksi oleh prosesor. Selanjutnya Prosesor akan terlebih dahulu menyimpan informasi tentang keadaan state-nya(informasi Tentang proses yang sedang dikerjakan). Kemudian Prosesor mengidentifikasi penyebab interupsi dan mengakses tabel vektor interupsi untuk menentukan interrupt handler.
Selanjutnya Transfer kontrol ke interrupt handler. Setelah interupsi berhasil diatasi, prosesor akan kembali kekeadaan seperti sebelum terjadinya interupsi dan melanjutkan pekerjaan yang tadi sempat tertunda.
Siklus penanganan interupsi2.



Polling atau juga disebut Busy-waiting adalah ketika host mengalami looping yaitu membaca status register secara terus-menerus sampai status busy di-clear. Pada dasarnya polling dapat dikatakan efisien. Akan tetapi polling menjadi tidak efisien ketika setelah berulang-ulang melakukan looping, hanya menemukan sedikit device yang siap untuk men-service, karena CPU processing yang tersisa belum selesai.


a.    Interrupt Vector
Interrupt Vector adalah harga yang disimpan ke Program Counter pada saat terjadi interrupt sehingga program akan menuju ke alamat yang ditunjukkan oleh Program Counter. Pada saat program menuju ke alamat yang ditunjuk oleh Interrupt Vector maka flag-flag yang set karena terjadinya interrupt akan di-clear kecuali RI dan TI.
Masing-masing alamat vektor mempunyai jarak yang berdekatan sehingga akan timbul masalah bila diperlukan sebuah Interrupt Service Routine yang cukup panjang.
b.   Penanganan Interupsi
1.      Ada beberapa tahapan dalam penanganan interupsi:
2.      Controller mengirimkan sinyal interupsi melalui interrupt-request-line
3.      Sinyal dideteksi oleh prosesor
4.      Prosesor akan terlebih dahulu menyimpan informasi tentang keadaan state-nya (informasi tentang proses yang sedang dikerjakan)
5.      Prosesor mengidentifikasi penyebab interupsi dan mengakses tabel vektor interupsi untuk menentukan interrupt handler
6.      Transfer kontrol ke interrupt handler
7.      Setelah interupsi berhasil diatasi, prosesor akan kembali ke keadaan seperti sebelum terjadinya interupsi dan melanjutkan pekerjaan yang tadi sempat tertunda.
c.    Tipe-Tipe Interupsi
1)   Interupsi Clock (Clock Interrupt)
Sistem operasi (penjadwalan) menentukan apakah proses yang sedang running telah mengeksekusi selama jatah waktunya. Jika telah mencapai jatahnya, maka proses dialihkan ke state ready dan proses lain dijadwalkan running.
2)   Interupsi Masukan/Keluaran (I/O Interrupt)
Kejadian dimana peralatan masukan/keluaran interupsi meminta layanan sistem operasi. Sistem Operasi segera menentukan aksi-aksi masukan/keluaran yang harus dilakukan. IRQ (Interupt Request) adalah nomor yang terdapat di dalam komputer untuk Permintaan Interupsi (Interrupt Request). Interrupt Request dipergunakan oleh perangkat (device) dan memungkinkannya untuk meng-“interupsi”, atau untuk mengirim sinyal ke komputer ketika telah menyelesaikan suatu proses. 
Pada komputer model lama, kita harus men-set nilai IRQ untuk suatu device. Komputer dan Sistem operasi yang lebih baru menggunakan “Plug-n-Play”, yang memungkinkan pengguna komputer untuk tidak perlu men-set nilai IRQ secara manual.