Rabu, 31 Oktober 2012

Arsitektur Set Instruksi dan CPU


 1. Arsitektur Set Instruksi
A. Jenis Instruktur :
Set instruksi merupakan sekumpulan lengkap instruksi yang dapat dimengerti oleh sebuah CPU lengkap. Karakteristik instruksi mesin atau didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram. 

Jenis-jenis struktur :
1. Pengolahan data ( data processing)
Meliputi operasi-operasi aritmetika dan logika. Operasi aritmetika memiliki kemampuan komputasi untuk pengolahan data numeric. Sedangkan instruksi logika beroperasi terhadpa bit-bit word sebagai bit, bukannya sebagai bilangan, sehingga instruksi ini memiliki kemampuanuntuk pengolahan data lain.
2. Perpindahan data ( data movement)
berisi instruksi perpindahan data antar register maupun modul I/O untuk dapat diolah oleh CPU maka diperlukan instruksi-instruksi yang bertugas memindahkan data operand yang diperlukan.
3. Penyimpanan data ( data storage)
berisi instruksi-instruksi penyimpan ke memori. Instruksi penyimpanan sangat penting dalam operasi komputasi, karena data tersebut akan digunakan untuk operasi berikutnya, minimal untuk ditampilkan pada layar harus diadakan penyimpanan walaupun sementara.
4. Kontrol aliran program ( program flow control) berisi instruksi pengontrolan operasi dan percabangan ke   set instruksi lain.

Teknik Pengalamatan
metode pengalamatan merupakan aspek dari set instruksi arsitektur disebagian CPU disain yang didefinisikandalam set instruksi arsitektur dan menentukan dan menentukan bagaimana bahasa mesin memberikan petunjuk dalam arsitektur untuk mengindentifikasi operan dari setiap instruksi.
  

Desain Set Instruksi
Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya adalah :
1. kelengkapan set instruksi
2. ortogonalitas (sifat indepedensi instruksi)
3. kompatibilitas :
- source code compatibility
- object code compatibility

Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut :
a. Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya
b. Data Types : tipe/jenis data yang dapat diolah.
c. Instruction Format : panjangnya, banyaknya alamat, dsb.
d. Register : Banyaknya register yang dapat digunakan .
e.Addressing : Mode pengalamatan untuk operand.

2. CPU ( CentralProcessing Unit )
CPU berfungsi sebagai pusat pengolahan dan eksekusi data berdasarkan routine–routine program yangdiberikan padanya. CPU mengendalikan seluruh sistem komputer sehingga sebagai konsekuensinyamemiliki koneksi ke seluruh modul yang menjadi bagian sistem komputer.

Penghubung bagi keseluruhan komponen komputer dalam menjalankan tugasnya2
Komponen komputer :
1. CPU
2. Memori
3. Perangkat I/O
4. Bus

BUS
Bus adalah Jalur komunikasi yang dibagi pemakai Suatu set kabel tunggal yang digunakan untuk menghubungkan berbagai subsistemInterkoneksi Bus – Struktur BusSebuah bus biasanya terdiri atas beberapa saluran. Sebagai contoh bus data terdiri atas 8 saluransehingga dalam satu waktu dapat mentransfer data 8 bit. Secara umum fungsi saluran bus dikatagorikandalam tiga bagian, yaitu :
Saluran data
Saluran alamat
Saluran kontrolSaluran Data
 
Lintasan bagi perpindahan data antar modul. Secara kolektif lintasan ini disebut bus data Umumnya jumlah saluran terkait dengan panjang word, misalnya 8, 16, 32 saluran.Tujuan : agar mentransfer word dalam sekali waktu. Jumlah saluran dalam bus data dikatakan lebar bus , dengan satuan bit, misal lebar bus16 bitSaluran Alamat (Address Bus)
Digunakan untuk menspesifikasi sumber dan tujuan data pada bus data.
Digunakan untuk mengirim alamat word pada memori yang akan diakses CPU.
Digunakan untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul.
Semua peralatan yang terhubung dengan sistem komputer, agar dapat diakses harus memilikialamat.Contoh : mengakses port I/O, maka port I/O harus memiliki alamat hardwarenya,Saluran kontrol (Control Bus)Digunakan untuk mengontrol  bus data,Bus alamat dan seluruh modul yang ada.Karena bus data dan bus alamat digunakan oleh semua komponen maka diperlukan suatu mekanismekerja yang dikontrol melalui bus kontrol ini.Sinyal – sinyal kontrol terdiri atas
Sinyal pewaktuan adalah Sinyal pewaktuan menandakan validitas data dan alamat
Sinyal–sinyal perintah adalah Sinyal perintah berfungsi membentuk suatu operasiType BUS1. DedicatedPenggunaan alamat terpisah dan jalur Keuntungan : Throughtput yang tinggi, karena kemacetanlalulintas kecilKerugian : meningkatnya ukuran dan biaya sistem2. MultiplexedPenggunnan saluran yang sama untuk berbagai keperluan Keuntungan : Memerlukan saluranyang lebih sedikit, uang menghemat ruang dan biayaKerugian : Diperlukan rangkaian yang lebih kompleks untuk setiap modul .

ALU (Arithmetic and Logical Unit)
ALU melaksanakan seluruh perhitungan (penambahan, pengurangan, perkalian atau pembagian) danoperasi logika. ALU berfungsi melakukan operasi aritmatik dan logik yang terbagi menjadi empatkelas, yaitu decimal arithmetic, fixed point arithmetic, floating point aritmetic dan logic operation.
 

Floating Point Unit (FPU)
FPU dapat bekerja secara paralel dengan prosesor. Dengan demikian proses penghitungan bilangan floating point dapat berjalan lebih cepat.Keberadaan FPU integrated (bersatu dengan prosesor) sudah menjadi kebutuhan standart komputer masa kini, karena banyak sekali aplikasi-aplikasi yang beroperasi menggunakan bilangan floating point.

Unit kontrol (Control Unit)
Unit kontrol ini adalah bagian dari prosesor yang mampu mengatur jalannya program. Komponen initerdapat dalam semua CPU. CPU bertugas mengontrol komputer sehingga terjadi sinkronisasi kerjaantar komponen dalam menjalankan fungsi-fungsi operasinya. termasuk dalam tanggung jawab unitkontrol adalah mengambil intruksi-intruksi dari memori utama dan menentukan jenis instruksi tersebut.Bila ada instruksi untuk perhitungan aritmatika atau perbandingan logika, maka unit kendali akanmengirim instruksi tersebut ke ALU (Aritmathic Logic Unit). Hasil dari pengolahan data dibawa olehunit kendali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output.Dengan demikian tugas dari unit kendali ini adalah:• Mengatur dan mengendalikan alat-alat input dan output.• Mengambil instruksi-instruksi dari memori utama.• Mengambil data dari memori utama (jika diperlukan) untuk diproses.• Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika.• Mengawasi kerja dari ALU.• Menyimpan hasil proses ke memori utama.

Register
Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yangdigunakan untuk menyimpan data dan/atau instruksi yang sedang diproses. Memori ini bersifatsementara, biasanya di gunakan untuk menyimpan data saat di olah ataupun data untuk pengolahanselanjutnya. jika dianalogikan, register ini dapat diibaratkan sebagai ingatan di otak bila kitamelakukan pengolahan data secara manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisiingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.
 
Set Register 
Apabila bit ini bernilai 0, maka register data dapat diupdate setiap detiknya, namunapabila bit ini bernilai 1, maka register data tidak dapat diupdate. Bit ini tidak akan berpengaruhterhadap kondisi RESET.

 Register register Kontrol 
 - Register register untuk komunikasi dengan unit unit diluar CPUMAR (Memory Address Register) untuk menyatakan alamat lokasi operand dalam memory yang akandibaca atau ditulisi oleh CPU.MBR atau MDR (Memory Buffer atau Data Register) merupakan tempat penyimpanan (sementara)data yang baru saja dibaca dari atau data yang akan dituliskan ke memoryPC (Program Counter) untuk menyatakan alamat lokasi instruksi yang akan dibaca oleh CPU darimemory.

Cache Memory

Cache berasal dari kata cash yakni sebuah tempat menyembunyikan atau tempat menyimpan sementara. Sesuai definisi tersebut Cache Memory adalah tempat menyimpan data sementara. Cara ini dimaksudkan untuk meningkatkan transfer data dengan menyimpan data yang pernah diakses pada cache tersebut, sehingga apabila ada data yang ingin diakses adalah data yang sama maka maka akses akan dapat dilakukan lebih cepat. Cache memori ini terletak antara register dan memory utama sehingga pemrosesan data tidak langsung mengacu pada memori utama.
Penggunaan cache ditujukan untuk meminimalisir terjadinya bottleneck dalam aliran data antara processor dan RAM. Sedangkan dalam terminologi software, istilah ini merujuk pada tempat penyimpanan sementara untuk beberapa file yang sering diakses (biasanya diterapkan dalam network).

Jenis - Jenis Cache Memory
Cache umumnya terbagi menjadi beberapa jenis, seperti L1 cache, L2 cache dan L3 cache. Cache yang dibangun ke dalam CPU itu sendiri disebut sebagai Level 1 (L1) cache. Cache yang berada dalam sebuah chip yang terpisah di sebelah CPU disebut Level 2 (L2) cache. Beberapa CPU memiliki keduanya, L1 cache dan L2 built-in dan menugaskan chip terpisah sebagai cache Level 3 (L3) cache. Cache yang dibangun dalam CPU lebih cepat daripada cache yang terpisah. Namun, cache terpisah masih sekitar dua kali lebih cepat dari Random Access Memory (RAM). Cache lebih mahal daripada RAM tetapi motherboard dengan built-in cache sangat baik untuk memaksimalkan kinerja sistem.

Fungsi dan Manfaat Cache Memory
Cache berfungsi sebagai tempat penyimpanan sementara untuk data atau instruksi yang diperlukan oleh processor. Secara gampangnya, cache berfungsi untuk mempercepat akses data pada komputer karena cache menyimpan data/informasi yang telah diakses oleh suatu buffer, sehingga meringankan kerja processor. Manfaat lain dari cache memory adalah bahwa CPU tidak harus menggunakan sistem bus motherboard untuk mentransfer data. Setiap kali data harus melewati bus sistem, kecepatan transfer data memperlambat kemampuan motherboard. CPU dapat memproses data lebih cepat dengan menghindari hambatan yang diciptakan oleh sistem bus.

Memori Virtual

Selama bertahun-tahun, pelaksanaan berbagai strategi managemen memori yang ada menuntut keseluruhan bagian proses berada di memori sebelum proses dapat mulai dieksekusi. Dengan kata lain, semua bagian proses harus memiliki alokasi sendiri pada memori fisiknya.
Pada nyatanya tidak semua bagian dari program tersebut akan diproses, misalnya:
1.      Terdapat pernyataan-pernyataan atau pilihan yang hanya akan dieksekusi jika kondisi tertentu dipenuhi. Apabila kondisi tersebut tidak dipenuhi, maka pilihan tersebut tak akan pernah dieksekusi/ diproses. Contoh dari pilihan itu adalah: pesan-pesan error yang hanya akan muncul bila terjadi kesalahan dalam eksekusi program.
2.      Terdapat fungsi-fungsi yang jarang digunakan, bahkan sampai lebih dari 100x pemakaian.
3.      Terdapat pealokasian memori lebih besar dari yang sebenarnya dibutuhkan. Contoh pada: array, list, dan tabel.
Hal-hal di atas telah menurunkan optimalitasi utilitas dari ruang memori fisik. Pada memori berkapasitas besar, hal ini mungkin tidak menjadi masalah. Akan tetapi, bagaimana jika memori yang disediakan terbatas?
Salah satu cara untuk mengatasinya adalah dengan overlay dan dynamic loading . Namun hal ini menimbulkan masalah baru karena implementasinya yang rumit dan penulisan program yang akan memakan tempat di memori. Tujuan semula untuk menghemat memori bisa jadi malah tidak tercapai apabila program untuk overlay dan dynamic loading . malah lebih besar daripada program yang sebenarnya ingin dieksekusi.
Maka sebagai solusi untuk masalah-masalah ini digunakanlah konsep memori virtual.

Pengertian

Memori virtual merupakan suatu teknik yang memisahkan antara memori logis dan memori fisiknya. Teknik ini mengizinkan program untuk dieksekusi tanpa seluruh bagian program perlu ikut masuk ke dalam memori.
Berbeda dengan keterbatasan yang dimiliki oleh memori fisik, memori virtual dapat menampung program dalam skala besar, melebihi daya tampung dari memori utama yang tersedia.
Prinsip dari memori virtual yang patut diingat adalah bahwa: "Kecepatan maksimum eksekusi proses di memori virtual dapat sama, tetapi tidak pernah melampaui kecepatan eksekusi proses yang sama di sistem tanpa menggunakan memori virtual."
Konsep memori virtual pertama kali dikemukakan Fotheringham pada tahun 1961 pada sistem komputer Atlas di Universitas Manchester, Inggris (Hariyanto, Bambang : 2001).

Keuntungan

Sebagaimana dikatakan di atas bahwa hanya sebagian dari program yang diletakkan di memori. Hal ini berakibat pada:
·         Berkurangnya I/O yang dibutuhkan (lalu lintas I/O menjadi rendah). Misal, untuk program butuh membaca dari disk dan memasukkan dalam memory setiap kali diakses.
·         Berkurangnya memori yang dibutuhkan (space menjadi lebih leluasa). Contoh, untuk program 10 MB tidak seluruh bagian dimasukkan dalam memori. Pesan-pesan error hanya dimasukkan jika terjadi error.
·         Meningkatnya respon, sebagai konsekuensi dari menurunnya beban I/O dan memori.
·         Bertambahnya jumlah user yang dapat dilayani. Ruang memori yang masih tersedia luas memungkinkan komputer untuk menerima lebih banyak permintaan dari user.

Implementasi

Gagasan dari memori virtual adalah ukuran gabungan program, data dan stack melampaui jumlah memori fisik yang tersedia. Sistem operasi menyimpan bagian-bagian proses yang sedang digunakan di memori utama (main memory) dan sisanya ditaruh di disk. Begitu bagian di disk diperlukan, maka bagian di memori yang tidak diperlukan akan disingkirkan (swap-out) dan diganti (swap-in) oleh bagian disk yang diperlukan itu.
Memori virtual diimplementasikan dalam sistem multiprogramming. Misalnya: 10 program dengan ukuran 2 Mb dapat berjalan di memori berkapasitas 4 Mb. Tiap program dialokasikan 256 KByte dan bagian-bagian proses di-swap masuk dan keluar memori begitu diperlukan. Dengan demikian, sistem multiprogramming menjadi lebih efisien.
Memori virtual dapat dilakukan melalui dua cara:
1.      Permintaan pemberian halaman (demand paging).
2.      Permintaan segmentasi (demand segmentation). Contoh: IBM OS/2. Algoritma dari permintaan segmentasi lebih kompleks, karenanya jarang diimplementasikan.

Referensi :
http://ikc.depsos.go.id/umum/ibam/ibam-os-html/x3801.html




Tidak ada komentar:

Posting Komentar