Senin, 03 Desember 2012

INPUT/OUTPUT UNIT DAN ARSITEKTUR FAMILY IBM PC DAN TURUNANNYA


1.     Input/Output Unit
SistemBus
Bus adalah Jalur komunikasi yang dibagi pemakai Suatu set kabel tunggal yang digunakan untuk menghubungkan berbagai subsistem. Karakteristik penting sebuah bus adalah bahwa bus merupakan media transmisi yang dapat digunakan bersama. Sistem komputer terdiri dari sejumlah bus yang berlainan yang menyediakan jalan antara dua buah komponen pada bermacam-macam tingkatan hirarki sistem komputer.
Suatu Komputer tersusun atas beberapa komponen penting seperti CPU, memori, perangkat Input/Output. setiap computer saling berhubungan membentuk kesatuan fungsi. Sistem bus adalah penghubung bagi keseluruhan komponen computer dalam menjalankan tugasnya. Transfer data antar komponen komputer sangatlah mendominasi kerja suatu computer. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi CPU melalui perantara bus, begitu juga kita dapat melihat hasil eksekusi melalui monitor juga menggunakan system bus.

Standart Input/ Output Interface
Ketika suatu aplikasi ingin membuka data yang ada dalam suatu disk, sebenarnya aplikasi tersebut harus dapat membedakan jenis disk apa yang akan diaksesnya. Untuk mempermudah pengaksesan, sistem operasi melakukan standarisasi cara pengaksesan pada peralatan I/O. Pendekatan inilah yang dinamakan interface aplikasi I/O.
Interface aplikasi I/O melibatkan abstraksi, enkapsulasi, dan software layering. Abstraksi dilakukan dengan membagi-bagi detail peralatan-peralatan I/O ke dalam kelas-kelas yang lebih umum. Dengan adanya kelas-kelas yang umum ini, maka akan lebih mudah untuk membuat fungsi-fungsi standar (interface) untuk mengaksesnya. Lalu kemudian adanya device driver pada masing-masing peralatan I/O, berfungsi untuk enkapsulasi perbedaan-perbedaan yang ada dari masing-masing anggota kelas-kelas yang umum tadi. Device driver mengenkapsulasi tiap -tiap peralatan I/O ke dalam masing-masing 1 kelas yang umum tadi (interface standar). Tujuan dari adanya lapisan device driver ini adalah untuk menyembunyikan perbedaan-perbedaan yang ada pada device controller dari subsistem I/O pada kernel. Karena hal ini, subsistem I/O dapat bersifat independen dari hardware.
Karena subsistem I/O independen dari hardware maka hal ini akan sangat menguntungkan dari segi pengembangan hardware. Tidak perlu menunggu vendor sistem operasi untuk mengeluarkan support code untuk hardware-hardware baru yang akan dikeluarkan oleh vendor hardware.

Pengaksesan peralatan input/output
Input / Output tergantung pada perspektif mengubah sinyal-sinyal bahwa pengguna manusia bisa melihat atau membaca. Untuk pengguna proses membaca atau melihat representasi ini adalah menerima masukan. Interaksi antara komputer dan manusia dipelajari dalam bidang yang disebut interaksi manusia-komputer. CPU dan memori utama dianggap sebagai otak dari komputer, dan dari sudut pandang adanya transfer informasi dari atau ke kombinasi itu, misalnya untuk atau dari disk drive, dianggap Input / Output. CPU dan sirkuit pendukungnya menyediakan memori-mapping Input / Output yang digunakan dalam pemrograman komputer tingkat rendah dalam pelaksanaan driver perangkat. Sebuah Input / Output merupakan salah satu algoritma yang dirancang untuk mengeksploitasi lokalitas dan melakukan efisien bila berada pada penyimpanan data sekunder, seperti disk drive.


2. ARSITEKTUR FAMILY IBM PC DAN TURUNANNYA
IBM (International Business Machines) merupakan sebuah perusahaan hardware yang mengembangkan software – software yang sudah ada seperti UNIX dan WINDOWS. Oleh karena itu IBM sendiri merupakan sebuah perusahaan bukan system operasi, hanya saja IBM mencoba mengembangkan OS yang telah ada seperti OS dari UNIX dan LINUX.IBM PC adalah sebutan untuk keluarga komputer pribadi buatan IBM. IBM PC diperkenalkan pada 12 Agustus 1981, dan "dipensiunkan" pada tanggal 2 April 1987. Sejak diluncurkan oleh IBM, IBM PC memiliki beberapa keluarga, yakni :
·       IBM 4860 PCjr
·      IBM 5140 Convertible Personal Computer (laptop)
·      IBM 5150 Personal Computer (PC yang asli)
·      IBM 5155 Portable PC (sebenarnya merupakan PC XT yang portabel)
·     IBM 5160 Personal Computer/eXtended Technology
·     IBM 5162 Personal Computer/eXtended Technology Model 286 (sebenarnya merupakan PC AT)
·    IBM 5170 Personal Computer/Advanced Technology

Berikut ini adalah komponen IBM PC :
·   Sistem kontrol BUS : Pengontrol BUS, Buffer Data, dan Latches Alamat
·    Sistem kontrol interuppt : Pengontrol Interuppt
·    Sistem kontrol RAM & ROM : Chip RAM & ROM, Decoder Alamat, dan Buffer
·    Sistem kontrol DMA : Pengontrol DMA
·    Timer : Timer Interval Programmable
·    Sistem kontrol I/O : Interface Paralel Programmable

Konfigurasi microcomputer dasar
Berdasarkan UkurannyaBerdasarkan ukurannya, komputer digolongkan ke dalam micro computer (komputer mikro), mini computer (komputer mini), small computer (komputer kecil), medium computer (komputer menengah), large computer (komputer besar) dan super computer (komputer super).1.Micro ComputerMicro Computer (Mikro Komputer) disebut juga dengan nama personal computer (komputer personal) . ukuran main memory komputer mikro sekarang berkisar dari 16 MB sampai lebih dari 128 MB, dengan konfigurasi operand register 8 bit, 16 bit, atau 32 bit. Kecepatan komputer mikro sekarang berkisar 200 Mhz sampai dengan 500 Mhz.
Komputer mikro umumnya adalah single-user (pemakainya tunggal), yaitu satu komputer hanya dapat digunakan untuk satu pemakai saja untuk tiap saat.
1. Chipset adalah set dari chip yang mendukung kompatibel yang mengimplementasikan berbagai fungsi tertentu seperti pengontrol interupt, pengontrol bus dan timer.
2. Chip khusus yang di sebut koprosesor yang beroperasi bersama dengan CPU guna meningkatkan fungsionalitasnya

Sistem software
Agar user dapat memasukkan dan menjalankan program aplikasi, maka komputer harus sudah berisi beberapa software sistem dalam memori-nya. Software sistem adalah kumpulan program yang dieksekusi seperlunya untuk menjalankan fungsi seperti :
·         Menerima dan menginterpretasikan perintah user
·         Memasukkan dan tnengedit program aplikasi dan rnenyimpannya sebagai file dalam peralatan penyimpanan sekunder
·         Mengatur penyimpanan dan pengambilan file dalam peralatan penyimpanan sekunder
·         Menjalankan program aplikasi standar seperti word processor, spreadsheet, atau game, dengan data yang disediakan oleh user
·         Mengontrol unit I/O untuk menerima informasi input dan menghasilkan output
·         Mentranslasikan program dari bentuk source yang disediakan oleh user menjadi bentuk objek yang berisi instruksi mesin
·         Menghubungkan dan menjalankan program aplikasi user-written dengan rutin library standar yang ada, seperti paket komputasi numerik

Software sistem-lah yang bertanggungjawab untuk koordinasi semua aktifitas dalam sistem komputasi. Tujuan bagian ini adalah untuk memperkenalkan beberapa aspek dasar software sistem.
Manfaat IBM PC
  1. Kemudahaan penggunaan
  2. Daya Tempa
  3. Daya Kembang
  4. Expandibilitas

Referensi         :

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".