Jumat, 14 Februari 2014

Sistem Input dan Output

Sistem input dan output
Input adalah semua data dan perintah yang dimasukkan ke dalam memori komputer untuk selanjutnya diproses lebih lanjut oleh prosesor. Sebuah perangkat input adalah komponen piranti keras yang memungkinkan user atau pengguna memasukkan data ke dalam komputer, atau bisa juga disebut sebagai unit luar yang digunakan untuk memasukkan data dari luar ke dalam mikroprosesor.
Peralatan Input
Alat Input
Yaitu sejumlah komponen atau alat yang digunakan user untuk memasukkan data ke dalam komputer untuk diproses lebih lanjut agar menghasilkan informasi yang dibutuhkan. Alat input dibagi ke dalam dua golongan yaitu alat input langsung dan tidak langsung.
Alat input langsung, memungkinkan input diproses secara langsung oleh CPU melalui alat input tanpa terlebih dahulu dimasukkan ke dalam media penyimpanan ekternal. Alat input langsung terdiri dari beberapa golongan yaitu: keyboard, pointing device, scanner, voice recognizer.
Alat input tidak langsung, dimana data yang dimasukkan tidak langsung diproses oleh CPU, tetapi direkam terlebih dahulu ke suatu media mechine readable form (bentuk yang hanya dapat dibaca oleh komputer dan merupakan penyimpanan ekternal). Alat input tidak langsung terdiri dari: key-to-card, key-to-tape, key-to-disk.
Keyboard
Penciptaan keyboard komputer diilhami oleh penciptaan mesin ketik yang dasar rancangannya di buat dan di patenkan oleh Christopere Lathan pada tahun 1868 dan banyak dipasarkan pada tahun 1877 oleh Perusahaan Remington. Keyboard computer pertama disesuaikan dari kartu pelunbang(punch card) dan teknologi p[engiriman tulisan jarak jauh(teletype). Macam keyboard sangatlah banyak, mulai dari bentuk, teknologi bahkan susunan abjad pada keyboard itu sendiri, namun seiring bergulirnya waktu hanya tinggal 1 susunan keyboard yang dipakai diseluruh dunia saat ini, QWERTY. Terkecuali negara-negara dengan bahasa yang memiliki abjad tersendiri seperti China, Jepang dll.
MousePada dasarnya, penunjuk (pointer) yang dikenal dengan sebutan”Mouse” dapat digerakan kemana saja berdasarkan arah gerakan tangan kita. Sejarah mouse juga sangatlah panjang. Mulai dari mouse pertama yang menggunalkan dua buah roda yang berfungsi sebagai sumbu X-Y, Mouse bola, optic hingga yang paling baru adalah mouse laser.
Scanner
Scanner adalah suatu alat elektronik yang fungsinya mirip dengan mesin foto kopi. Mesin foto kopi hasilnya dapat langsung kamu lihat pada kertas sedangkan scanner hasilnya ditampilakn pada layar monitor computer dahulu kemudian baru dapat dirubah dan dimodifikasi sehingga tampilan dan hasilnya menjadi bagus yang kemudian dapat disimpan sebagai file teks, dokuman dan gambar.
 Peralatan Output
Alat Output
Peralatan output adalah peralatan yang digunakan untuk membawa data keluar komputer atau juga untuk memindahkan data dari komputer ke perangkat lainnya.
Output yang dihasilkan dari pemroses dapat digolongkan menjadi empat bentuk, yaitu tulisan (huruf, angka, symbol khusus), image (dalam bentuk grafik atau gambar), suara , dan bentuk lain yang dapat dibaca oleh mesin (machine-readable form).
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.
Contoh :
Printer : Output device yang berfungsi mencetak data (Dokumen, Picture, web page dll)
Monitor : Output device yang berfungsi menampilkan data-data dari CPU.
Projector : Sama halnya monitor, projector berfungsi menampilkan data-data dari CPU, badanya adalah ukuran keluaran projector jauh lebih besar dari monitor.
Speaker : Alat keluaran untuk device yang berupa suara.


CPU ( Central Processing Unit )

CPU, singkatan dari Central Processing Unit adalah perangkat keras komputer yang berfungsi untuk menerima dan melaksanakan perintah dan data dari perangkat lunak. Prosesor sering digunakan untuk menyebut CPU pada umumnya. 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.
Pin mikroprosesor Intel 80486DX2.
Komponen CPU terbagi menjadi beberapa macam, yaitu sebagai berikut:
Unit kontrol (Control Unit)
Unit kontrol ini adalah bagian dari prosesor yang mampu mengatur jalannya program. Komponen ini terdapat dalam semua CPU. CPU bertugas 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 (Aritmathic Logic Unit). 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:

• 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, 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. jika dianalogikan, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.

ALU
ALU merupakan bagian dari CPU 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, yaitu unit aritmatika 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 digunakan disebut adder.

Tugas lain dari ALU adalah melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan (¹ ), kurang dari (<), kurang atau sama dengan (£ ), lebih besar dari (>), dan lebih besar atau sama dengan (³ ).

* CPU Interconnections adalah sistem koneksi dan bus yang menghubungkan komponen internal CPU, yaitu ALU, unit kontrol dan register-register dan juga dengan bus-bus eksternal CPU yang menghubungkan dengan sistem lainnya, seperti memori utama, piranti masukan /keluaran.

Cara Kerja CPU

Saat data dan/atau instruksi dimasukkan ke processing-devices, pertama sekali diletakkan di RAM (melalui Input-storage); apabila berbentuk instruksi ditampung oleh Control Unit di Program-storage, namun apabila berbentuk data ditampung di Working-storage). Jika register siap untuk menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung di Program Counter. Sedangkan data diambil oleh Control Unit dari Working-storage untuk ditampung di General-purpose register (dalam hal ini di Operand-register). Jika berdasar instruksi pengerjaan yang dilakukan adalah arithmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya ditampung di Accumulator. Apabila hasil pengolahan telah selesai, maka Control Unit akan mengambil hasil pengolahan di Accumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah selesai, maka Control Unit akan menjemput hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari Output-storage, hasil pengolahan akan ditampilkan ke output-devices.

Fungsi CPU

CPU berfungsi seperti kalkulator, hanya saja CPU jauh lebih kuat daya pemrosesannya. Fungsi utama dari CPU adalah melakukan operasi aritmatika dan logika terhadap data yang diambil dari memori atau dari informasi yang dimasukkan melalui beberapa perangkat keras, seperti papan ketik, pemindai, tuas kontrol, maupun tetikus. CPU dikontrol menggunakan sekumpulan instruksi perangkat lunak komputer. Perangkat lunak tersebut dapat dijalankan oleh CPU dengan membacanya dari media penyimpan, seperti cakram keras, disket, cakram padat, maupun pita perekam. Instruksi-instruksi tersebut kemudian disimpan terlebih dahulu pada memori fisik (RAM), yang mana setiap instruksi akan diberi alamat unik yang disebut alamat memori. Selanjutnya, CPU dapat mengakses data-data pada RAM dengan menentukan alamat data yang dikehendaki.

Saat sebuah program dieksekusi, data mengalir dari RAM ke sebuah unit yang disebut dengan bus, yang menghubungkan antara CPU dengan RAM. Data kemudian didekode dengan menggunakan unit proses yang disebut sebagai pendekoder instruksi yang sanggup menerjemahkan instruksi. Data kemudian berjalan ke unit aritmatika dan logika (ALU) yang melakukan kalkulasi dan perbandingan. Data bisa jadi disimpan sementara oleh ALU dalam sebuah lokasi memori yang disebut dengan register supaya dapat diambil kembali dengan cepat untuk diolah. ALU dapat melakukan operasi-operasi tertentu, meliputi penjumlahan, perkalian, pengurangan, pengujian kondisi terhadap data dalam register, hingga mengirimkan hasil pemrosesannya kembali ke memori fisik, media penyimpan, atau register apabila akan mengolah hasil pemrosesan lagi. Selama proses ini terjadi, sebuah unit dalam CPU yang disebut dengan penghitung program akan memantau instruksi yang sukses dijalankan supaya instruksi tersebut dapat dieksekusi dengan urutan yang benar dan sesuai.


Refrensi : 
http://missnuroxfordutomo.blogspot.com/2011/04/pengertian-cpu-dan-fungsinya.html

Teknik Pengalamatan

 Teknik Pengalamatan

Untuk menyimpan data ke dalam memori komputer, tentu memori tersebut diberi identitas (yang disebut dengan alamat/ address) agar ketika data tersebut diperlukan kembali, komputer bisa mendapatkannya sesuai dengan data yang pernah diletakkan di sana.
Teknik pengalamatan ini hampir sudah tidak diperlukan lagi oleh pemakai komputer saat ini karena hampir seluruh software yang beredar di pasaran tidak mengharuskan si pemakai menentukan di alamat mana datanya akan disimpan (semua sudah otomatis dilakukan oleh si software).
Jadi, yang kita pelajari adalah bagaimana kira-kira si software tersebut melakukan teknik pengalamatannya, sehingga data yang sudah kita berikan dapat disimpan di alamat memori tertentu dan dapat diambil kembali dengan tepat.
Ada tiga teknik dasar untuk pengalamatan, yakni
·    Pemetaan langsung (direct mapping) yang terdiri dari dua cara yakni Pengalamatan Mutlak (absolute addressing) dan Pengalamatan relatif (relative addressing),
·         Pencarian Tabel (directory look-up), dan
·         Kalkulasi (calculating)

Pemetaan Langsung
Teknik ini dapat dijuluki dengan device dependent (tergantung pada peralatan rekamnya), artinya, kita tidak dapat begitu saja meng-copy data berkas ini ke komputer lainnya, karena mungkin saja di komputer lainnya itu menggunakan alat rekam yang berbeda spesifikasinya.
Teknik ini juga dapat dijuluki dengan address space dependent (tergantung pada alamat-alamat yang masih kosong), artinya, kita tidak dapat begitu saja meng-copy data berkas ini ke komputer lainnya, karena mungkin saja di komputer lainnya itu alamat-alamat yang dibutuhkan sudah tidak tersedia lagi.

     Teknik Pencarian Tabel
Teknik ini dilakukan dengan cara, mengambil seluruh kunci atribut dan alamat memori yang ada dan dimasukkan ke dalam tabel tersendiri. Jadi tabel itu (misal disebut dengan tabel INDEX) hanya berisi kunci atribut (misalkan NIM) yang telah disorting (diurut) dan alamat memorinya.
Pencarian yang dilakukan di tabel INDEX akan lebih cepat dilakukan dengan teknik pencarian melalui binary search (dibagi dua-dua, ada di mata kuliah Struktur dan Organisasi Data 2 kelak) ketimbang dilakukan secara sequential.
Nilai key field (kunci atribut) bersifat address space independent (tidak terpengaruh terhadap perubahan organisasi file-nya), yang berubah hanyalah alamat yang ada di INDEX-nya.

      Teknik Kalkulasi Alamat
Perhitungan (kalkulasi) terhadap nilai kunci atribut untuk mendapatkan nilai suatu alamat disebut dengan fungsi hash.

Bisa juga fungsi hash digabungkan dengan teknik pencarian seperti tabel di atas, tetapi akan menjadi lebih lama pengerjaannya dibanding hanya dengan satu jenis saja (fungsi hash saja atau pencarian tabel saja).


Set Instruksi

Set intruksi berupa jenis intruksi teknik pengalamatan, system bust, CPU dan I/O Set Intruksi Mode & Format Pengalamatan SET INSTRUKSI MATERI OR-AR KOMPUTER KARAKTERISTIK DAN FUNGSI SET INSTRUKSI
* Operasi dari CPU ditentukan oleh instruksi-instruksi yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut sebagai instruksi mesin (mechine instructions) atau instruksi komputer (computer instructions). 
* Kumpulan dari instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut set Instruksi (Instruction Set). 

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 instruksi yang dijalankan selesai. Source dan result operands dapat berupa salah satu diantara tiga jenis berikut ini: 
·                     Main or Virtual Memory 
·                     CPU Register 
·                     I/O Device 

DESAIN SET INSTRUKSI 
Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya adalah: 
1.                  Kelengkapan set instruksi 
2.                  Ortogonalitas (sifat independensi instruksi) 
3.                  Kompatibilitas : - Source code compatibility - Object code Compatibility 

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

FORMAT INSTRUKSI 

* Suatu instruksi terdiri dari beberapa field yang sesuai dengan elemen dalam instruksi tersebut. Layout dari suatu instruksi sering disebut sebagai Format Instruksi (Instruction Format). 
OPCODE OPERAND REFERENCE OPERAND REFERENCE JENIS-JENIS OPERAND 
* Addresses (akan dibahas pada addressing modes) 
* Numbers : - Integer or fixed point - Floating point - Decimal (BCD) 
* Characters : - ASCII - EBCDIC 
* Logical Data : Bila data berbentuk binary: 0 dan 1 
JENIS INSTRUKSI 

* Data processing: Arithmetic dan Logic Instructions 
* Data storage: Memory instructions 
* Data Movement: I/O instructions 
* Control: Test and branch instructions 
TRANSFER DATA 

* Menetapkan lokasi operand sumber dan operand tujuan. 
* Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack. 
* Menetapkan panjang data yang dipindahkan. 
* Menetapkan mode pengalamatan. 
* Tindakan CPU untuk melakukan transfer data adalah : 
    a. Memindahkan data dari satu lokasi ke lokasi lain. 
    b. Apabila memori dilibatkan : 
          1. Menetapkan alamat memori. 
          2. Menjalankan transformasi alamat memori virtual ke alamat memori aktual. 
          3. Mengawali pembacaan / penulisan memori 
Operasi set instruksi untuk transfer data : 

* MOVE : memindahkan word atau blok dari sumber ke tujuan 
* STORE : memindahkan word dari prosesor ke memori. 
* LOAD : memindahkan word dari memori ke prosesor. 
* EXCHANGE : menukar isi sumber ke tujuan. 
* CLEAR / RESET : memindahkan word 0 ke tujuan. 
* SET : memindahkan word 1 ke tujuan. 
* PUSH : memindahkan word dari sumber ke bagian paling atas stack. 
* POP : memindahkan word dari bagian paling atas sumber 
ARITHMETIC

Tindakan CPU untuk melakukan operasi arithmetic : 
1.                  Transfer data sebelum atau sesudah. 
2.                  Melakukan fungsi dalam ALU. 
3.                  Menset kode-kode kondisi dan flag. 

Operasi set instruksi untuk arithmetic : 
1. ADD : penjumlahan 5. ABSOLUTE 
2. SUBTRACT : pengurangan 6. NEGATIVE 
3. MULTIPLY : perkalian 7. DECREMENT 
4. DIVIDE : pembagian 8. INCREMENT 
Nomor 5 sampai 8 merupakan instruksi operand tunggal. LOGICAL 
* Tindakan CPU sama dengan arithmetic 
* Operasi set instruksi untuk operasi logical : 
1. AND, OR, NOT, EXOR 
2. COMPARE : melakukan perbandingan logika. 
3. TEST : menguji kondisi tertentu. 
4. SHIFT : operand menggeser ke kiri atau kanan menyebabkan konstanta pada ujung bit. 
5. ROTATE : operand menggeser ke kiri atau ke kanan dengan ujung yang terjalin. 
CONVERSI

 Tindakan CPU sama dengan arithmetic dan logical. 
* Instruksi yang mengubah format instruksi yang beroperasi terhadap format data. 
* Misalnya pengubahan bilangan desimal menjadi bilangan biner. 
* Operasi set instruksi untuk conversi : 
1. TRANSLATE : menterjemahkan nilai-nilai dalam suatu bagian memori berdasrkan tabel korespodensi. 
2. CONVERT : mengkonversi isi suatu word dari suatu bentuk ke bentuk lainnya. 
INPUT / OUPUT 

* Tindakan CPU untuk melakukan INPUT /OUTPUT : 
1. Apabila memory mapped I/O maka menentukan alamat memory mapped. 
2. Mengawali perintah ke modul I/O 
* Operasi set instruksi Input / Ouput : 
1. INPUT : memindahkan data dari pernagkat I/O tertentu ke tujuan 
2. OUTPUT : memindahkan data dari sumber tertentu ke perangkat I/O 
3. START I/O : memindahkan instruksi ke prosesor I/O untuk mengawali operasi I/O 
4. TEST I/O : memindahkan informasi dari sistem I/O ke tujuan TRANSFER CONTROL 
* Tindakan CPU untuk transfer control : Mengupdate program counter untuk subrutin , call / return. 
* Operasi set instruksi untuk transfer control : 
1. JUMP (cabang) : pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu. 
2. JUMP BERSYARAT : menguji persyaratan tertentu dan memuat PC dengan alamat tertentu atau tidak melakukan apa tergantung dari persyaratan. 
3. JUMP SUBRUTIN : melompat ke alamat tertentu. 
4. RETURN : mengganti isi PC dan register lainnya yang berasal dari lokasi tertentu. 
5. EXECUTE : mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruksi 
6. SKIP : menambah PC sehingga melompati instruksi berikutnya. 
7. SKIP BERSYARAT : melompat atau tidak melakukan apa-apa berdasarkan pada persyaratan 
8. HALT : menghentikan eksekusi program. 
9. WAIT (HOLD) : melanjutkan eksekusi pada saat persyaratan dipenuhi 
10. NO OPERATION : tidak ada operasi yang dilakukan. 
CONTROL SYSTEM 

* Hanya dapat dieksekusi ketika prosesor berada dalam keadaan khusus tertentu atau sedang mengeksekusi suatu program yang berada dalam area khusus, biasanya digunakan dalam sistem operasi. * Contoh : membaca atau mengubah register kontrol. 
JUMLAH ALAMAT (NUMBER OF ADDRESSES) 

* Salah satu cara tradisional untuk menggambarkan arsitektur prosessor adalah dengan melihat jumlah alamat yang terkandung dalam setiap instruksinya. 
* Jumlah alamat maksimum yang mungkin diperlukan dalam sebuah instruksi : 
1. Empat Alamat ( dua operand, satu hasil, satu untuk alamat instruksi berikutnya) 
2. Tiga Alamat (dua operand, satu hasil) 
3. Dua Alamat (satu operand merangkap hasil, satunya lagi operand) 
4. Satu Alamat (menggunakan accumulator untuk menyimpan operand dan hasilnya) 
Macam-macam instruksi menurut jumlah operasi yang dispesifikasikan 
1. O – Address Instruction 
2. 1 – Addreess Instruction. 
3. N – Address Instruction 
4. M + N – Address Instruction 
Macam-macam instruksi menurut sifat akses terhadap memori atau register 
1. Memori To Register Instruction 
2. Memori To Memori Instruction 
3. Register To Register Instruction
ADDRESSING MODES 

Jenis-jenis addressing modes (Teknik Pengalamatan) yang paling umum: 
* Immediate 
* Direct 
* Indirect 
* Register 
* Register Indirect 
* Displacement 
* Stack