Senin, 05 November 2012

ARSITEKTUR SET INTRUKSI


1. Arsitektur Set Instruksi, meliputi:

- Jenis Instruksi

Operasi dari CPU ditentukan oleh instruksi-instruksi yangdilaksanakan atau dijalankannya. Instruksi ini sering disebutsebagai instruksi mesin (mechine instructions) atau instruksikomputer (computer instructions).


Elemen-elemen dari instruksi mesin (set instruksi) :
·         Operation Code(opcode) : menentukan operasi yang akan dilaksanakan
·         Source Operand Reference : merupakan input bagi operasi yang akan dilaksanakan
·         Result Operand Reference : merupakan hasil dari operasi yang dilaksanakan
·         Next instruction Reference : memberitahu CPU untuk mengambil (fetch) instruksi berikutnya                                    setelah instruks yang dijalankan selesai .


Lokasi Set Instruksi :
Sourcedan result operands dapat berupa salah satu diantara
tiga jenis berikut ini:
1.      Main or Virtual Memory
2.      CPU Register
3.      I/O Device

- Teknik Pengalamatan
Mode pengalamatn Pentium
Pentium dilengkapi bermacam-macam mode pengalamatan untuk memudahkan bahasa-bahasa tingkat tinggi mengeksekusinya secara efisien.
Macam-macam mode pengalamatanpentium :
ž  Mode Immediate
ð  Operand berada di dalam intruksi.
ð  Operand dapat berupa data byte, word atau doubleword.
ž  Mode Operand Register
yaitu operand adalah isi register.
ð  Register 8 bit (AH, BH, CH, DH, AL, BL, CL, DL)
ð  Register 16 bit (AX, BX, CX, DX, SI, DI, SP, BP)
ð  Register 32bit (EAX, EBX, ECX, ESI, EDI, ESP, EBP)
ð  Register 64 bit yang dibentuk dari register 32 bit secara berpasangan.
4
ð  Register 8, 16, 32 bit merupakan register untuk penggunaan umum (general purpose register).
ð  Register 14 bit biasanyan untuk operasi floating point.
ð  Register segmen (CS, DS, ES, SS, FS, GS)
ž  Mode Displacement
ð  alamat efektif berisi bagian-bagian intruksin dengan displacement 8, 16, atu 32 bit.
ð  dengan segmentasi, seluruh alamat dalam intruksi mengacu ke sebuah offset di dalam segmen.
ð  dalam Pentium, mode ini digunakan untuk mereferensi variable-variabel global.
ž  Mode Base
ð  pengalamatan indirect yang menspesifikasi saru register 8, 16 atau 32 bit berbasis alamat efektifnya.

-Desain Set Instruksi
Instruksi pelaksanaannya diatur
Setiap set instruksi yang diberikan dapat diimplementasikan dalam berbagai cara. Semua cara melaksanakan instruksi set yang sama memberikan model pemrograman , dan mereka semua mampu menjalankan executable biner yang sama. Berbagai cara menerapkan set instruksi memberikan timbal balik yang berbeda antara biaya,, konsumsi kinerja daya, ukuran, dll
Ketika merancang mikroarsitektur prosesor, insinyur menggunakan blok dari "terprogram" elektronik sirkuit (sering dirancang secara terpisah) seperti penambah, multiplexer, counter, register, ALUS dll Beberapa jenis bahasa mentransfer mendaftar yang kemudian sering digunakan untuk menggambarkan decoding dan urutan setiap instruksi dari ISA menggunakan mikroarsitektur fisik. Ada dua cara dasar untuk membangun sebuah unit kontrol untuk melaksanakan deskripsi ini (walaupun banyak desain menggunakan cara-cara tengah atau kompromi):
1. Desain komputer awal dan beberapa komputer RISC sederhana "terprogram" instruksi menyelesaikan set decoding dan sekuensing (seperti sisa mikroarsitektur tersebut).
2. Desain lain menggunakan microcode rutinitas dan / atau tabel untuk melakukan ini-biasanya seperti pada ROM chip dan / atau Plas (walaupun RAM terpisah telah digunakan historis).
Ada juga beberapa desain CPU baru yang mengkompilasi set instruksi untuk dapat ditulis RAM atau lampu kilat di dalam CPU (seperti Rekursiv prosesor dan Imsys Cjip ), [2] atau FPGA ( reconfigurable komputasi ). Para Western Digital MCP-1600 adalah contoh yang lebih tua, menggunakan ROM, khusus terpisah untuk microcode.

2. Central Processing Unit (CPU)
processor
Processor sering disebut sebagai otak dan pusat pengendali computer yang didukung oleh kompunen lainnya. Processor adalah sebuah IC yang mengontrol keseluruhan jalannya sebuah sistem komputer dan digunakan sebagai pusat atau otak dari komputer yang berfungsi untuk melakukan perhitungan dan menjalankan tugas. Processor terletak pada socket yang telah disediakan oleh motherboard, dan dapat diganti dengan processor yang lain asalkan sesuai dengan socket yang ada pada motherboard. Salah satu yang sangat besar pengaruhnya terhadap kecepatan komputer tergantung dari jenis dan kapasitas processor.
Prosesor adalah chip yang sering disebut “Microprosessor” yang sekarang

processor1
ukurannya sudah mencapai Gigahertz (GHz). Ukuran tersebut adalah hitungan kecepatan prosesor dalam mengolah data atau informasi. Merk prosesor yang banyak beredar dipasatan adalah AMD, Apple, Cyrix VIA, IBM, IDT, dan Intel. Bagian dari Prosesor Bagian terpenting dari prosesor terbagi 3 yaitu :
  • Aritcmatics Logical Unit (ALU)
  • Control Unit (CU)
  • Memory Unit (MU)

CPU

Unit Pengolah Pusat (UPP) (bahasa Inggris: CPU, singkatan dari Central Processing Unit), merujuk kepada perangkat keraskomputer yang memahami dan melaksanakan perintah dan data dari perangkat lunak. Istilah lain, prosesor (pengolah data), sering digunakan untuk menyebut CPU. Adapun mikroprosesor adalah CPU yang diproduksi dalam sirkuit terpadu, seringkali dalam sebuah paket sirkuit terpadu-tunggal. Sejak pertengahan tahun 1970-an, mikroprosesor sirkuit terpadu-tunggal ini telah umum digunakan dan menjadi aspek penting dalam penerapan CPU.

Komponen CPU
http://upload.wikimedia.org/wikipedia/commons/thumb/5/52/CPU_block_diagram.svg/210px-CPU_block_diagram.svg.png
Diagram blok sederhana sebuah CPU.
Komponen CPU terbagi menjadi beberapa macam, yaitu sebagai berikut.

Unit kontrol
Unit Kontrol yang mampu mengatur jalannya program. Komponen ini sudah pasti terdapat dalam semua CPU.CPU bertu gas mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsi operasinya. termasuk dalam tanggung jawab unit kontrol adalah mengambil intruksi-intruksi dari memori utama dan menentukan jenis instruksi tersebut. Bila ada instruksi untuk perhitungan aritmatika atau perbandingan logika, maka unit kendali akan mengirim instruksi tersebut ke ALU. Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output. Dengan demikian tugas dari unit kendali ini adalah:

Struktur Bus
Sebuah bus biasanya terdiri atas beberapa saluran. Sebagai contoh bus data terdiri atas 8 saluran sehingga dalam satu waktu dapat mentransfer data 8 bit. Secara umum fungsi saluran bus dikatagorikan dalam tiga bagian, yaitu saluran data, saluran alamat dan saluran control. Saluran data(data bus) adalah 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 dengan tujuan agar mentransfer word dalam sekali waktu. Jumlah saluran dalam bus data dikatakan lebar bus, dengan satuan bit, misal lebar bus 16 bit.

Register
Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan/atau instruksi yang sedang diproses. Memori ini bersifat sementara, biasanya di gunakan untuk menyimpan data saat di olah ataupun data untuk pengolahan selanjutnya. Secara analogi, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak dapat diib aratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.

ALU
Alu adalah unit yang bertugas untuk melakukan operasi aritmetika dan operasi logika berdasar instruksi yang ditentukan. ALU sering di sebut mesin bahasa karena bagian ini ALU terdiri dari dua bagian, ya itu unit arithmetika dan unit logika boolean yang masing-masing memiliki spesifikasi tugas tersendiri. Tugas utama dari ALU adalah melakukan semua perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga sirkuit elektronik yang digu nakan disebut adder.
Cache Memori
Cache berasal dari kata cash. Dari istilah tersebut cache adalah tempat menyembunyikan atau tempat menyimpan sementara. Cache memori  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 bagian memori tipe SDRAM yang memiliki kapasitas terbatas namun memiliki kecepatan yang sangat tinggi dan harga yang lebih mahal dari memori utama. Cache memori ini terletak antara register dan RAM (memori utama) sehingga pemrosesan data tidak langsung mengacu pada memori utama.
Cara Kerja Cache Memory
Jika prosesor membutuhkan suatu data, pertama-tama ia akan mencarinya pada cache. Jika data ditemukan, prosesor akan langsung membacanya dengan delay yang sangat kecil. Tetapi jika data yang dicari tidak ditemukan,prosesor akan mencarinya pada RAM yang kecepatannya lebih rendah. Pada umumnya, cache dapat menyediakan data yang dibutuhkan oleh prosesor sehingga pengaruh kerja RAM yang lambat dapat dikurangi. Dengan cara ini maka memory bandwidth akan naik dan kerja prosesor menjadi lebih efisien. Selain itu kapasitas memori cache yang semakin besar juga akan meningkatkan kecepatan kerja komputer secara keseluruhan. Dua jenis cache yang sering digunakan dalam dunia komputer adalah memory caching dan disk caching. Implementasinya dapat berupa sebuah bagian khusus dari memori utama komputer atau sebuah media penyimpanan data khusus yang berkecepatan tinggi. Implementasi memory caching sering disebut sebagai memory cache dan tersusun dari memori komputer jenis SDRAM yang berkecepatan tinggi. Sedangkan implementasi disk caching menggunakan sebagian dari memori komputer.

 

Virtual Memori

Memori virtual adalah suatu teknik yang memisahkan antara memori logis dan memori fisiknya. Teknik ini menyembunyikan aspek-aspek fisik memori dari pengguna dengan menjadikan memori sebagai lokasi alamat virtual berupa byte yang tidak terbatas dan menaruh beberapa bagian dari memori virtual yang berada di memori logis.
Konsep memori virtual dikemukakan pertama kali oleh John Fotheringham pada tahun 1961 dengan menggunakan dynamic storage allocation pada sistem komputer atlas di Universitas Manchester. Sedangkan istilah memori virtual dipopulerkan oleh Peter J. Denning yang mengambil istilah 'virtual' dari dunia optik.
Setiap program yang dijalankan harus berada di memori. Memori merupakan suatu tempat penyimpanan utama (primary storage) yang bersifat sementara (volatile). Ukuran memori yang terbatas menimbulkan masalah bagaimana menempatkan program yang berukuran lebih besar dari ukuran memori fisik dan masalah penerapan multiprogramming yang membutuhkan tempat lebih besar di memori. Dengan pengaturan oleh sistem operasi dan didukung perangkat keras, memori virtual dapat mengatasi masalah kebutuhan memori tersebut.

Memori virtual melakukan pemisahan dengan menaruh memori logis ke disk sekunder dan hanya membawa halaman yang diperlukan ke memori utama. Teknik ini menjadikan seolah-olah ukuran memori fisik yang dimiliki lebih besar dari yang sebenarnya dengan menempatkan keseluruhan program di disk sekunder dan membawa halaman-halaman yang diperlukan ke memori fisik. Jadi jika proses yang sedang berjalan membutuhkan instruksi atau data yang terdapat pada suatu halaman tertentu maka halaman tersebut akan dicari di memori utama. Jika halaman yang diinginkan tidak ada maka akan dicari di disk. Ide ini seperti menjadikan memori sebagai cache untuk disk.
Beberapa keuntungan penggunaan memori virtual adalah sebagai berikut:
  1. Berkurangnya proses I/O yang dibutuhkan (lalu lintas I/O menjadi rendah). Misalnya untuk program butuh membaca dari disk dan memasukkan dalam memory setiap kali diakses.
  2. Ruang menjadi lebih leluasa karena berkurangnya memori fisik yang digunakan. Contoh, untuk program 10 MB tidak seluruh bagian dimasukkan dalam memori fisik. Pesan-pesan error hanya dimasukkan jika terjadi error.
  3. Meningkatnya respon, karena menurunnya beban I/O dan memori.
  4. Bertambahnya jumlah pengguna yang dapat dilayani. Ruang memori yang masih tersedia luas memungkinkan komputer untuk menerima lebih banyak permintaan dari pengguna.
Gagasan utama 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 fisik (memori utama) dan sisanya diletakkan di disk. Begitu bagian yang berada di disk diperlukan, maka bagian di memori yang tidak diperlukan akan dikeluarkan dari memori fisik (swap-out) dan diganti (swap-in) oleh bagian disk yang diperlukan itu. Memori virtual diimplementasikan dalam sistem multi programming.
Misalnya: 10 program dengan ukuran 2 Mb dapat berjalan di memori berkapasitas 4 Mb. Tiap program dialokasikan 256 Kbyte dan bagian-bagian proses swap in) masuk ke dalam memori fisik begitu diperlukan dan akan keluar (swap out) jika sedang tidak diperlukan. Dengan demikian, sistem multiprogramming menjadi lebih efisien. Prinsip dari memori virtual yang perlu diingat adalah bahwa "Kecepatan maksimum eksekusi proses di memori virtual dapat sama, tetapi tidak pernah melampaui kecepatan eksekusi proses yang sama di sistem yang tidak menggunakan memori virtual".


Tidak ada komentar:

Posting Komentar