Perbedaan ArKom dan OrKom
Organisasi Komputer :
- Bagian yang terkait erat dengan unit–unit operasional
- Contoh: teknologi hardware, perangkat antarmuka, teknologi memori, sistem memori, dan sinyal–sinyal kontrol
- atribut–atribut sistem komputer yang terkait dengan seorang programmer
- Contoh: set instruksi, aritmetika yang digunakan, teknik pengalamatan, mekanisme I/O
Data Flow analisis
DEFINISI :
ANALISIS ALIRAN DATA adalah analisis yang dilakukan untuk mempelajari pemanfaatan data pada setiap aktifitas. Menampilkan hasil pengamatan dalam apa yang disebut ‘Data Flow Diagram’ (DFD) atau diagram alir data.Diagram Alir Data, yaitu satu tampilan grafis yang memunculkan relasi/hubungan antara proses dan data beserta kamus data yang menjelaskan rincian data yang dipergunakan.
Data flow analisis adalah Metoda untuk melacak gerakan berbagai jenis informasi melalui sistem komputer, terutama dalam hubungan sekurity dan kontrol yang diterapkan untuk memastikan integritas informasi. Penentuan kualitas atau mutu suatu perangkat lunak mutlak diperlukan. Kualitas suatu perangkat lunak dapat dinyatakan baik bila telah sesuai dengan requirement pengguna tanpa mengabaikan segi strukturalnya. Dengan tidak mengabaikan fungsional program, uji coba struktural juga harus dilakukan karena uji coba fungsional tak mampu menangani hal-hal yang berhubungan dengan struktural program.. Uji coba fungsional tidak dapat menentukan apakah dieksekusi selama pengujian akan tersembunyi dalam package program dan bila didalamnya terdapat kesalahan maka kesalahan tersebut akan tersembunyi dalam jangka waktu tertentu. Data flow analysis adalah suatu metode yang digunakan untuk mengumpulkan informasi dalam program tanpa mengeksekusi program yang diuji coba. Metode ini merupakan bagian dari metode pengujian secara structural yang sangat efektif untuk menemukan kesalahan yang berupa data flow anomaly dengan cara memeriksa kode program. Dengan metode ini, seluruh pernyataan program yang diuji coba akan dianalisa.
Speculative Execution Dan Branch Prediction
Speculative Execution
Eksekusi spekulatif dalam sistem komputer adalah melakukan pekerjaan, yang hasilnya mungkin tidak diperlukan. Teknik optimasi kinerja digunakan dalam prosesor pipelined dan systems.School lainnya.
MAIN IDEA ~Eksekusi spekulatif adalah optimasi kinerja. Ide utama adalah untuk melakukan pekerjaan yang mungkin tidak diperlukan.Targetnya adalah untuk menyediakan konkurensi lebih jika sumber daya tambahan yang tersedia. Teknologi berikut menggunakan ide ini:
Prefetching dalam memori dan sistem file
Cabang prediksi
Kontrol konkurensi Optimis dalam sistem database
ProsesorPipelined mikroprosesor modern menggunakan eksekusi spekulatif untuk mengurangi biaya instruksi cabang bersyarat menggunakan skema yang memprediksi jalur eksekusi dari suatu program berdasarkan sejarah eksekusi cabang . Ternyata bahwa dalam rangka meningkatkan kinerja dan pemanfaatan sumber daya komputer, beberapa instruksi harus dijadwalkan terlebih dahulu di tempat yang tidak ditentukan bahwa instruksi tersebut harus dieksekusi sama sekali, di depan cabang.
Dalam optimasi compiler untuk sistem multiprocessing, eksekusi spekulatif melibatkan prosesor menganggur mengeksekusi kode di blok prosesor berikutnya, dalam hal tidak ada ketergantungan pada kode yang dapat berjalan pada prosesor lainnya.Keuntungan dari skema ini adalah mengurangi waktu respon untuk prosesor individu dan sistem secara keseluruhan. Namun, ada hukuman bersih untuk kasus rata-rata, karena dalam kasus taruhan yang buruk, pipa harus memerah. Compiler terbatas dalam mengeluarkan instruksi eksekusi spekulatif, karena memerlukan bantuan perangkat keras untuk buffer efekspekulasi-instruksi dieksekusi. Tanpa dukungan hardware, compiler hanya bisa mengeluarkan instruksi spekulatif yang memiliki efek samping dalam hal spekulasi yang salah.
Eager Execution adalah bentuk eksekusi spekulatif di mana kedua sisi cabang kondisional dijalankan, namun hasil berkomitmen hanya jika predikat benar. Dengan sumber daya terbatas, eksekusi bersemangat (juga dikenal sebagai eksekusi oracle) akan dalam teori memberikan kinerja yang sama seperti prediksi cabang yang sempurna. Dengan sumber daya yang terbatas ingin eksekusi harus digunakan hati-hati karena jumlah sumber daya yang dibutuhkan tumbuh secara eksponensial dengan masing-masing tingkat cabang dieksekusi bersemangat
Lazy Evaluation tidak berspekulasi. Penggabungan eksekusi spekulatif dalam implementasi dari bahasa pemrograman Haskell merupakan topik penelitian saat ini. Haskell bersemangat dirancang di sekitar gagasan eksekusi spekulatif. Versi terbaru dukungan GHC jenis eksekusi spekulatif dengan mekanisme aborsi untuk kembali dalam kasus pilihan yang buruk disebut eksekusi optimisasi.
Branch Prediction
Dalam arsitektur komputer, sebuah Branch Prediction adalah sirkuit digital yang mencoba untuk menebak arah mana cabang (misalnya struktur if-then-else) akan pergi sebelum keadaannya diketahui pasti. Tujuan dari Branch Predictor untuk meningkatkan aliran dalam pipa instruksi. Branch Prediction penting dalam mikroprosesor pipelined untuk mencapai kinerja tinggi.Dua arah percabangan biasanya diimplementasikan dengan instruksi lompat bersyarat. Melonjaknya bersyarat dapat menjadi "tidak diambil" dan melanjutkan eksekusi dengan cabang pertama dari kode yang mengikuti segera setelah lompat bersyarat - atau dapat "diambil" dan melompat ke tempat yang berbeda di memori program dimana cabang kedua kode itu disimpan.Gambar 1: Contoh 4-tahap pipa. Kotak berwarna merupakan petunjuk independen satu sama lain.
Hal ini tidak diketahui secara pasti apakah lompat bersyarat akan diambil atau tidak diambil sampai kondisi telah dihitung dan lompat bersyarat telah lulus tahap eksekusi dalam pipa instruksi
Tanpa prediksi cabang, prosesor harus menunggu sampai instruksi lompat bersyarat telah melewati tahap mengeksekusi sebelum instruksi berikutnya dapat memasuki tahap fetch dalam pipa. Prediktor cabang upaya untuk menghindari pemborosan waktu dengan mencoba untuk menebak apakah lompat bersyarat yang paling mungkin diambil atau tidak diambil. Cabang yang diduga sebagai yang paling mungkin adalah yang diambil dan spekulasi kemudian dieksekusi. Jika kemudian mendeteksi bahwa ada kesalahan menebak maka instruksi dieksekusi spekulatif atau sebagian dieksekusi dibuang dan pipa dimulai dari atas dengan cabang yang benar.Waktu yang terbuang dalam kasus misprediction cabang sama dengan jumlah tahap dalam pipa dari tahap ke tahap fetch mengeksekusi. Mikroprosesor modern cenderung memiliki pipa yang cukup panjang sehingga penundaan misprediction adalah antara 10 dan 20 siklus clock. Semakin lama pipa tinggi kebutuhan untuk prediksi cabang makin baik.Pertama kali instruksi lompat bersyarat ditemui, tidak ada banyak informasi untuk dasar prediksi ini. Tapi prediksi cabang menyimpan catatan dari apakah cabang diambil atau tidak diambil. Ketika bertemu dengan lompat bersyarat yang telah melihat beberapa kali sebelum kemudian dapat dasar prediksi pada kejadian yang lalu. Branch prediction mungkin, misalnya, mengakui bahwa lompat bersyarat diambil lebih sering daripada tidak, atau bahwa itu diambil setiap dua kali.branch prediction tidak sama dengan prediksi cabang target.Prediksi cabang upaya untuk menebak apakah lompatan bersyarat akan diambil atau tidak. Cabang prediksi target yang mencoba untuk menebak target lompatan bersyarat atau tanpa syarat diambil sebelum dihitung oleh decoding dan mengeksekusi instruksi itu sendiri. Cabang cabang prediksi dan prediksi target sering dikombinasikan ke dalam sirkuit yang sama.
Eksekusi spekulatif dalam sistem komputer adalah melakukan pekerjaan, yang hasilnya mungkin tidak diperlukan. Teknik optimasi kinerja digunakan dalam prosesor pipelined dan systems.School lainnya.
MAIN IDEA ~Eksekusi spekulatif adalah optimasi kinerja. Ide utama adalah untuk melakukan pekerjaan yang mungkin tidak diperlukan.Targetnya adalah untuk menyediakan konkurensi lebih jika sumber daya tambahan yang tersedia. Teknologi berikut menggunakan ide ini:
Prefetching dalam memori dan sistem file
Cabang prediksi
Kontrol konkurensi Optimis dalam sistem database
ProsesorPipelined mikroprosesor modern menggunakan eksekusi spekulatif untuk mengurangi biaya instruksi cabang bersyarat menggunakan skema yang memprediksi jalur eksekusi dari suatu program berdasarkan sejarah eksekusi cabang . Ternyata bahwa dalam rangka meningkatkan kinerja dan pemanfaatan sumber daya komputer, beberapa instruksi harus dijadwalkan terlebih dahulu di tempat yang tidak ditentukan bahwa instruksi tersebut harus dieksekusi sama sekali, di depan cabang.
Dalam optimasi compiler untuk sistem multiprocessing, eksekusi spekulatif melibatkan prosesor menganggur mengeksekusi kode di blok prosesor berikutnya, dalam hal tidak ada ketergantungan pada kode yang dapat berjalan pada prosesor lainnya.Keuntungan dari skema ini adalah mengurangi waktu respon untuk prosesor individu dan sistem secara keseluruhan. Namun, ada hukuman bersih untuk kasus rata-rata, karena dalam kasus taruhan yang buruk, pipa harus memerah. Compiler terbatas dalam mengeluarkan instruksi eksekusi spekulatif, karena memerlukan bantuan perangkat keras untuk buffer efekspekulasi-instruksi dieksekusi. Tanpa dukungan hardware, compiler hanya bisa mengeluarkan instruksi spekulatif yang memiliki efek samping dalam hal spekulasi yang salah.
Eager Execution adalah bentuk eksekusi spekulatif di mana kedua sisi cabang kondisional dijalankan, namun hasil berkomitmen hanya jika predikat benar. Dengan sumber daya terbatas, eksekusi bersemangat (juga dikenal sebagai eksekusi oracle) akan dalam teori memberikan kinerja yang sama seperti prediksi cabang yang sempurna. Dengan sumber daya yang terbatas ingin eksekusi harus digunakan hati-hati karena jumlah sumber daya yang dibutuhkan tumbuh secara eksponensial dengan masing-masing tingkat cabang dieksekusi bersemangat
Lazy Evaluation tidak berspekulasi. Penggabungan eksekusi spekulatif dalam implementasi dari bahasa pemrograman Haskell merupakan topik penelitian saat ini. Haskell bersemangat dirancang di sekitar gagasan eksekusi spekulatif. Versi terbaru dukungan GHC jenis eksekusi spekulatif dengan mekanisme aborsi untuk kembali dalam kasus pilihan yang buruk disebut eksekusi optimisasi.
Branch Prediction
Dalam arsitektur komputer, sebuah Branch Prediction adalah sirkuit digital yang mencoba untuk menebak arah mana cabang (misalnya struktur if-then-else) akan pergi sebelum keadaannya diketahui pasti. Tujuan dari Branch Predictor untuk meningkatkan aliran dalam pipa instruksi. Branch Prediction penting dalam mikroprosesor pipelined untuk mencapai kinerja tinggi.Dua arah percabangan biasanya diimplementasikan dengan instruksi lompat bersyarat. Melonjaknya bersyarat dapat menjadi "tidak diambil" dan melanjutkan eksekusi dengan cabang pertama dari kode yang mengikuti segera setelah lompat bersyarat - atau dapat "diambil" dan melompat ke tempat yang berbeda di memori program dimana cabang kedua kode itu disimpan.Gambar 1: Contoh 4-tahap pipa. Kotak berwarna merupakan petunjuk independen satu sama lain.
Hal ini tidak diketahui secara pasti apakah lompat bersyarat akan diambil atau tidak diambil sampai kondisi telah dihitung dan lompat bersyarat telah lulus tahap eksekusi dalam pipa instruksi
Tanpa prediksi cabang, prosesor harus menunggu sampai instruksi lompat bersyarat telah melewati tahap mengeksekusi sebelum instruksi berikutnya dapat memasuki tahap fetch dalam pipa. Prediktor cabang upaya untuk menghindari pemborosan waktu dengan mencoba untuk menebak apakah lompat bersyarat yang paling mungkin diambil atau tidak diambil. Cabang yang diduga sebagai yang paling mungkin adalah yang diambil dan spekulasi kemudian dieksekusi. Jika kemudian mendeteksi bahwa ada kesalahan menebak maka instruksi dieksekusi spekulatif atau sebagian dieksekusi dibuang dan pipa dimulai dari atas dengan cabang yang benar.Waktu yang terbuang dalam kasus misprediction cabang sama dengan jumlah tahap dalam pipa dari tahap ke tahap fetch mengeksekusi. Mikroprosesor modern cenderung memiliki pipa yang cukup panjang sehingga penundaan misprediction adalah antara 10 dan 20 siklus clock. Semakin lama pipa tinggi kebutuhan untuk prediksi cabang makin baik.Pertama kali instruksi lompat bersyarat ditemui, tidak ada banyak informasi untuk dasar prediksi ini. Tapi prediksi cabang menyimpan catatan dari apakah cabang diambil atau tidak diambil. Ketika bertemu dengan lompat bersyarat yang telah melihat beberapa kali sebelum kemudian dapat dasar prediksi pada kejadian yang lalu. Branch prediction mungkin, misalnya, mengakui bahwa lompat bersyarat diambil lebih sering daripada tidak, atau bahwa itu diambil setiap dua kali.branch prediction tidak sama dengan prediksi cabang target.Prediksi cabang upaya untuk menebak apakah lompatan bersyarat akan diambil atau tidak. Cabang prediksi target yang mencoba untuk menebak target lompatan bersyarat atau tanpa syarat diambil sebelum dihitung oleh decoding dan mengeksekusi instruksi itu sendiri. Cabang cabang prediksi dan prediksi target sering dikombinasikan ke dalam sirkuit yang sama.
Pengertian Sistem Operasi Komputer (operating system)
Sistem operasi Komputer adalah perangkat lunak komputer atau software yang bertugas untuk melakukan kontrol dan manajemen perangkat keras dan juga operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah data yang bisa digunakan untuk mempermudah kegiatan manusia. Sistem Operasi dalam bahasa Inggrisnya disebut Operating System, atau biasa di singkat dengan OS.
Sistem Operasi komputer merupakan software pada lapisan pertama yang diletakkan pada memori komputer, (memori komputer dalam hal ini ada Hardisk, bukan memory ram) pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi Komputer berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan kernel suatu Sistem Operasi.
Sistem Operasi berfungsi sebagai penghubung antara lapisan hardware dan lapisan software. selain itu, Sistem Operasi komputer juga melakukan semua perintah perintah penting dalam komputer, serta menjamin aplikasi-aplikasi yang berbeda fungsinya dapat berjalan lancar secara bersamaan tanpa hambatan. Sistem Operasi Komputer menjamin aplikasi perangkat lunak lainnya bisa memakai memori, melakukan input serta output terhadap peralatan lain, dan mempunya akses kepada sistem file. Jika beberapa aplikasi berjalan secara bersamaan, maka Sistem Operasi Komputer akan mengatur jadwal yang tepat, sehingga sebisa mungkin semua proses pada komputer yang berjalan mendapatkan waktu yang cukup untuk menggunakan CPU dan tidak saling mengganggu dengan perangkat yang lain.
Contoh-contoh dari Sistem operasi Komputer misalnya adalah Windows, Linux, MacOS, dan lain lain