Jumat, 08 November 2013

Sejarah mesin komputasi


Sistem komputer
komputer adalah mesin yang melakukuan kalkulasi dan mengolah informasi.kompuer bekerja di bawah kendali program komputer. Program komputer adalah sekuen (Berturutan ) intruksi yang memberi tau komputer mengenai apayang perlu di lakukan.Perngkat keras adalah komponen elektronik dan mekanis. Perangkat lunak adalah program yang mengendalikan komputer. Komputer maksud umum (General purpose computer) dapat menyimpan banyak program berbeda di memorinya .
Komputer merupakan salah satu kemampuan otak yang di miliki manusia. Komputer di gunakan di banyakbidang militer, bisnis, industri, sains dan pendidikan. Implementasi istem berubah sepangjang masa, namun konsep mendasari serupa. Semua sistem komputer menpunyai komponen perangkat keras  dan perangkat lunak serupa yang menjalankan fungsi-fungsi serupa.
Sejarah mesin komputasi
Manusia mempunyai keterbatasan dalam komputasi , yaitu:
1.      Kecepatan perhitungan manusia terbatas
2.      Manusia sangat mudah membuat kesalahan
Secara garis besar terdapat dua  era teknologi perngkat bantu komputasi yaitu:
1.      Era mekanis
Yaitu komputer yang memanfaatkan gerakan benda masif, tidak sampai level elektron serta tidak memanfaatkan listrik sebagai pembangkit.
Komputer mekanis mempunyai tiga penyebab kelemahan, yaitu:
Ø  Kecepatan komputasi di batasi inersia bagian-bagian yang bergerak.
Ø  Transmisi informasi alat-alat mekanis tidak praktis susah di pakai serta handal.
Ø  Perangkat dapat menjadi aus.
Upaya pada era mekanis antara lain:
Ø  2500 sebelum masehi, manusia mulai mengembangkan alat bantu perhitungan, yaitu sempoa di Cina.
Ø  Tahun 1642, Blaise Pscal membangun penjumlah/pengurang mekanis.
Ø  Tahun 1827, Charles Babage memangun diference engine.
Ø  Tahun 1941, Konrad Zuse membangun binary mechanical decimal computer.
Ø  Tahun 1944, Howard Aiken membangun electromechanical decimal computer, IBM Howard Mark
        Sempoa (Abacus)
Sempoa berupa satu rangka persegi berisi sederet kancing. Kancig_kancing dapat di gerakan naik turun sepanjang sumbu. Posisi-posisi deret kancing menunjukan nilai nilai angka. Kancing-kancing ini mempersentasikan kancing kancing, keluaran data berisi observasi manusia atas posisi-posisi kancing di akhir komputasi. Kendali eksekusi algoritma berada di operator manusia. Sempoa adalah sistem penyimpanan data di kombinasi dengan manusia sebagai kendali membentuk satu mesin algoritma / komputasi lengkap. 

Penggunaan gir
        Penemu perngkat /mesin komputasi bidang yng menggunakan kemajuan di bidang mekanika adalah Blaise Pascal (1623-1662) dari Jerman, dan di persentasi denganposisi gir-gir di mana matadi masukan secara mekanis dengan menetapkan posisi gir-gir. Keluaran mesin Pascal dan Leibniz di peroleh dengan mengobservasi posisi akhir gir-gir sebagai mana spedometer motor.
Charles Babbage mempunyai visi lebih maju di mana mesin dapat mencetak nilai keluaran di kertas. Mesin Babbage juga di lengkapi kemampuan memogram langkah-langkah algoritma yang akan di lakukan mesin kartu-kartu kertas berlubang.
Mesin yang di impikan Charles Babbage gagal di wujudkan. Teorinya tidak dapat di implementasi menggunakan teknologi mekanika.
Gagasan memprogram algoritma (berati urutan langkah pengerjaan) menggunakan kertas berlubang berasal dari Joseph Marie Jacquard (1801) untuk mengendali mesin tenun . Langkah-langkah yang digunakan dalam penenunan ditentukan pola lubang-lubang dikartu kertas . Dengan cara ini, algoritma dilakukan mesin dapat secara mudah diganti untuk menghasilkan rancangan-rancangan tenun yang berbeda.

            Pada 1880, Herman Hollerith bekerja untuk Biro Sensus amerika Serikat mengembangkan teknik guna mempercepat pengolahan data sensus penduduk Amerika Serikat. Holerith mengusulkan data sensus di masukan melalui kartu-kartu berlubang dan secara otomatis di tabulasi dengan mesin komputasi  yang di rancang khusus. Dengan cara ini, pengolahan dta sensus selesai dalam waktu kurang dari 3 tahun, biasanya adalah 10 tahun. Pada 1890, Holerith meninggalkan Biro Sensus dan mendirikan Tabulating Machine Company Yang kemudian menjadi bagian perusahaan International Bisnis Machine (IBM).
Era peralihan : mekanik-elektronik
            Contoh mesinkomputasi di era ini adalah mesin elektromekanik George Stibiz(1940) di Bell Laboratories dan Mark I (1944) yang di rancang Universitas Harvardoleh Howard Aiken bersama IBM.
Mesin ini menggunakan relay-relay mekanis di kendalikan secara elektronoik. Mesin segera usang karena muncul penemuan tabung hampa ( vacuum tube ) untuk membangun komputer digital yan sepenuhnya elektronik . Mesin Bell oleh Stibiz membuktikan mesin mampu melkukan komputasi 24 jam sehari selama 7 hari per minggu dengan sedikit kesalahan dan sedikit waktu malfunction.
            Generasi ini merupakan awal pengembangan sistem komputasi elektronik, mengganti gagasan mesin  komputasi mekanis.
1.1.2                    Era Elektron
Pegerakan mekanik di ganti elektron berkecepatan cahaya yang tidak pernah aus sehinggameningkatkan kecepatan dan kehandalan. Mesin pada era ini dapat di anggap sebagai implementasi mesin komputasi Charles Babbage dengan teknologi elektronik yang tidak aus dan berkecepatan tinggi.
Mesin Atanasoff-Berry (1937-1941) di Iowa State College (atau Iowa State University) Oleh Jhon Atanasoff dan Clifford Berry. Atanasoff merumuskan prinsip kalkulator elektronik pertama. Mesin yang di rancang mampu menyelesaikan Persamaan simultan 29 variabel tidak di ketahui secara akurat. Prinsip penting yang di temukan adalah penggunaan sistem angka basis 2 atau biner bukan basis 10 atau dasimal serta prinsip memori dapat di gunakan kembali (machine-regenerative memori).
            Mesin ini adalah Colosus di Inggris untuk memecah sandi tentara Jerman selama akhir perang dunia II.
Mesin ENIAC ( elektronik numerical integrator and calculator )
Merupakan mesin fleksibelyang di bangun Jhon Mauchly dan J. Presper Ecket di moore School of Electrical Enginering, Universitas Pennsylvania.  John Von Neuman, konsultan proyek ENIAC mengusulkan konsep Stored proggram.

            Usulanya adalah menyimpan inststruksi-instruksi bersama data data di komputer. Konsep inimeningkatkan keluwesan (flexibility) komputer dengan dua cara :
1.      Instruksi-instruksi dapat di ubah tanpa mengkawat secara manual terhadap koneksi koneksi sehingga lebih cepat di lakukan.
2.      Karena instruksi-instruksi di simpan sebagai angka-angka, komputer dapat mengolah instruksi-instruksi sebagai mana data, akibatnya memungkinkan modifikasi otomatis terhadap instruksi instruksi dan pengubahan skuen-skuen instruksi.
Instruksi mesin adalah instruksi yang di kode kan sebagai pola bit secara langsung di kenali oleh pemproses.Bahasa mesin adalah himpunan semua instruksi yang di kenali oleh mesin. Terdapat dua pendekatan yaitu (1) Reduce Instruktion Set Computing (RISC) di mana instruksi-instruksi yang berjumlah sedikit, sederhana efisien dan cepat. Contoh RISC adalah Power PC dari Apple/IBM/Motorola. (2) Complex Instruktion Set Computing(CISC) yang brisi banyak instruksi yang nyaman dan ampuh. Contoh CISC adalah pentium dari Intel.
1.3 Skema dasar sistem komputer
            Pada abstraksi tingkat atas, sistem komputer terdiri empat komponen utama yang bekerja sama dan berintraksi untuk mencapai tujuan sistem komputer, yaitu komputasi.
Empat komponen pokok di sistem komputer adalah :
1.      Pemproses, befungsi mengolah data dan mengendali operasi komputer.
2.      Memori utama, berfungsi menyimpan data dan program. Program harus di simpan di memori utama sebelum dapat di eksekusi. Data harus di simpan di memori sebelum dapat dimanipulasi pemproses.Memori utama biasanya volatile, tidak dapat mempertahankan data dan programyang di simpan bila sumber daya energi (Listrik) dihentikan.
3.      Perangkat masukan dan keluaran, berfungsi memindah data antara komputer dan lingkungan eksternal.
4.      Interkoneksi antar komponen, struktur dan mekenisme menghubungkan ketiga komponen (pemproses, memori utama dan perangkat masukan/keluaran).
Saat ini komputer menikuti konsep program di simpan (stored program concept) Von Neumant, yaitu program (kumpulan instruksi) di simpan di suatu tempat (yaitu memori) di mana kemudian instruksi di ambil untuk di eksekusi.Konsep ini menghasilkan keluwesan (fleksibilitas) kegunaan komputer yang sangat luar biasa.
Perangkat masukan dan keluaran
Lingkungan eksternal dapat di antar muka  (interface) beragam perangkat Seperti : perangkat penyimpanan sekunder, perngakat komunikasi, terminal, dsbg. Perngkat ini berfungsi menghubungkan komputer dengan lingkungan luar sehingga komputer di pengaruhi dan mempengaruhi lingkungan.
Interkoneksi  antar komponen
Secara fisik interkoneksi antar komponen berupa perkawatan baik berupa perawatan logam atau cara koneksi fisik lain. Komponen interkoneksi sesungguhnya tidak hanya perkawatan tapi juga memerlukan tata cara aturan (atau protokol) komunikasi di antatra  elemen-elemen terhubung yang berkomunikasi agar tidak kacau sehingga mencapai yujuan. Terdapat banyak buss, ISA, VESA, dan PCI adalah yang popular.
            Bus membawa byte informasi antar komponen. Bus data bersifat dua arah (bidirectional) di mana data dapat di simpan dan di ambil dari memori utama, atau di kirim dan di ambil dari port masukan keluaran. Bus kendali bersifat dua arah. Bus ukendali untuk persinyalan yang mengatur komunikasi antara pemproses dengan memori utama dan port masukan/keluaran. Bus alamat bersifat satu arah (unidirectional) dimana alamat memori akan di kirim ke memori utama untuk menyatakan alamat memori yang dikehendaki pemproses untuk di ambil atau sebagai lokasi penyimpanan. Demikian juga pemproses pengirim alamat port yang hedak di ambil atau dikirimi data.
1.3.1 Pemroses
            Pemproses juga di sebut CPU (central procesing unit). Pemproses merupakan jantung kompter. Proses  pengendali operasi komputer dan mengolah data.Pemproses mengambil instruksi dari memori dan mengeksekusi instruksi yang di ambil.

            Eksekusi pemproses di tuntun clock. Clock bertugas mengsingkronasi seluruh elemen koputer. Clock membangkitkan pulsa/detak ke pemproses. Pada tiap pulsa/detak clock, pemproses melekukan kerja.
            Pemproses melakukan kerja dengan urutan langkah sebagai berikut :
·         Mengambil instruksi yang di kodekan secara biner dari memori utama.
·         Men-dekode instruksi menjadi aksi aksi sederhana.
·         Melaksanakan aksi aksi ini
Pemproses terdiri dari tiga komponen, yaitu :
1.      CU (Control unit), berfungsi mengendali operasi sistem komputer.
2.      ALU (Aritmatic logogical unit), berfungsi melakukan operasi aritmatika dan logika.
3.      Register-register, untuk membantu melaksanakan opersai pemproses.
.3.2 Memori
            Memori berfungsi untuk menyimpan data dan pemprograman. Terdapat beberapa tipe memori, mulai yang tercepat aksesnya sampai yang terlambat.
1.3.3 Perangkat Masukan/Keluaran
            Perangkat masukan /keluaran di pergunakan sistem komputer untuk berinteraksi dengan lingkungan luar, baik ke pemakai atau lingkungan secara umum.Perangkat masukan terdiri dari dua bagian yaitu :
1.      Komponen mekanis yaitu perngkat itu sendiri.
2.      Komponen elektronis yaitu pengendali perngkat brupa chip controller.
Perngkat masukan atau keluaran adalah perangkat nyata yang di kendalikan perangkat elektronis chip contrller di board sistem atau card. Controller di hubungkan dengan pemproses dan komponen-komponen lain lewat bus. Controller adalah berbeda mekanisme. Controller mempunyai regiter-register untuk memrintah atau mengendali serta untuk menetahui status . Control register di gunakan maksud kendali . Status register berisi status yang mendeskripsi kode kesalahan kerja perangkat masukan/keluaran.
      Register-register itu diacu sebagai port-port. Masing-masing register di alamat sebagai port tertentu. Masing-masing controler menjadi dapat di amati secara unik /individu oleh pemproses agar perangkat lunak device driver di sistem operasi dapat menulis ke regiter-register perangkat masukan/keluaran. Dengan demikian device driver mengendali perangkat masukan /keluaran. Identivikasi controler berdasar port-port yang memacu register-register milik controler.
1.3.4 Interkoneksi Antar Komponen
      Interkoneksi antar komponen di sebut bus. Interkoneksi berkaitan dengan cara hubungan antar komponen sistem komputer.
Bus terduri dari tiga macam, yaitu :
1.      Bus alamat (address bus)
2.      Bus data (data bus)
3.      Bus kendali (control bus)
Bus alamat
      Jalur bersifat satu arah. Bus alamat untuk memberi alamat memori atau port yang hendak di akses. CPU mengirim alamat lokasi memori atau port yang akan di tulis atau di baca bus ini. Bus alamat berisi 16,20,24 jalur sinyal pararel atau lebih. jumlah lokasi memori yang dapat di alamati di tentukan jumlah jalur alamat. jika pemproses mempunyai N jalur alamat maka pemproses dapat mengalamati 2 N (2N) lokasi memori dan/port.
Bus data
      Jalur ini bersifat dua arah. Jalur untuk CPU dapat membaca dan mengirim data dari/ke memori/port. Bus data berisi 8,16,32 jalur sinyal pararel atau lebih. Banyak perangkat yang di cantolkan ke bus data tapi hanya satu perangkat pada satu saat yang tepat memakai. Untuk itu, perangkat harus mempunyai tiga state (tristate) agar dapat di pasang pada bus data.
Bus kendali
      Jalur ini bersifat dua arah. Bus kendali berisi 4-10 jalur sinyal pararel. CPU mengirin sinyal sinyal pada bus kendali untuk memerintah memori atau port serta CPU memerima status dan sinyal balik memori atau  port.
Sinyal bus kendali antara lain
·         Memori read untuk memrintah membaca memori.
·         Memori write untuk memerintah menulis memori.
·         I/O read untuk memerintah membaca port.
·         I/O write untuk memerintah membaca port.
·         Dan sebagainya.
Mekanisme pembacaan
            Untukmembaca data suatu lokasi memori, CPU mengirim alamat memori di kehendaki  (di simpan di dalam MAR) melalui bus alamat kemudian mengirim sinyal memory read pada bus kendali. Sinyal memori read memerintahkan ke perngkat memori untuk mengeluarkan dat pada lokasi tersebut ke bus data agar di baca CPU.
            Inter koneksi antar komponen ini membentuk satu sistem sendiri. Sistem interkoneksi antar komponen yang poular antara lain ISA, VESA, dan PCI.
1.4 Eksekusi Instruksi 
            Fungsi utama komputer adalah mengaeksekusi program. Berdasrkan konsep program tersimpan, program (barisan instruksi) yang di eksekusi berada di memori. Pemproses melakukan tugasnya dengan mengeksekusi instruksi-instruksi di program.
Eksekusi program di kendalikan oleh dua register khusus yaitu :
1.      Program counter, register ini menunjuk alamat instruksi berikutnya yang akan di eksekusi.
2.      Instruction register, register berisi  instruksi yang saat itu di eksekusi.
Tahap pemprosesan instruksi berisi dua tahap, yaitu :
1.      Pemproses membaca instruksi dari memori (fecth).
2.      Pemproses mangeksekusi instruksi (execute)
Eksekusi program berisi pengulangan tahap  fecth dan execute. Eksekusi instruksi  (yaitu tahap execute) dapat melibatkan beberapa operasi lebih dasar dan bergantung sifat instruksi yang sedang di jalankan. Pemprosesan satu instruksi di sebut satu  siklus instruksi (instruction cycle).
Sistem bekerja secara terorganisasi dan stabil. Mekanisme kendali paling penting adalah pewaktuan. CPU menggunakan satu clock,yatu quart cristalseperti jam digital.Periode tetap untuk memandu sehingga semuanya berjalan secara singkron. Pada satu periode yang berisi, clock mengirim pulsa listrik ynag menyebabkan bit-bit bergerak dari satu tempat ke tempat di dalam atau grbang gerbang logicatau antara gerbang gerbang logic dan register. Satuinstruksi sederhana dapat berlangsung selama satu siklus clock. CPU yang bekerja pada 700 jutasiklus perdetik di sebut berfungsi pada 700 MHz (Mega Hertz untuk menghormati ilmuwan Jerman Gustav Hertz).
            Produktivitas CPU dapat di tingkatkan dengan meningkatkan kesepatan clock. Selain itu dapat di tempuh dangan strategi  melakukan lebih dari satu tugas selama masing masing siklus clock yang di sebut pipelining. Padapipelining satu bagian CPU mengambil instruksi baru, bagian lain menganalisis , bagian lain mengeksekusi, danbagian lain menyimpan menyimpan hasil di mana eksekusi di gambarkan sebagai empat tahap (fecth, analize, decode, execute, bukan hanya dua tahap fecth dan execute seperti penyederhanaan pada gambar1-2). CPU kompleks mempunyai banyak tahap pipeline, CPU Intel generasi keenam ( seperti pentium Pro, Pentiun III ) mempunyai 14 tahap pipeline. CPU intel Pentium hanyalima tahappipeline. CPU modern mengambil beberapa instruksi sekaligus, menempatkan pada tahap pertama pipeline yang panjang di sebut antrian prapengambilan ((perfect queue). Dengan cara ini menjamin pipeline selalu penuh sehingga lebih efisien. Pemproses dengan dengan kemampuan ini biasa di sebut superpipeline.
            Peningkatan berikutnya adalah tidak hanya satu pipeline melainkan beberapa ppeline. Pemproses ini bisa di sebut superscalar.
1.5 Kejadian Saat  Komputer Dihidupkan
            Berikut ini ringkasan apa yang terjadi saat komputer mulai dihidupkan. Awal menghidupkan komputer biasa di hidupkan dengan booting up atau booting.
            Begitu catu daya dinyalakan, arus listrik mengalir ke semua chip dan sekitarnya. ROM BIOS (read only memory, basic input/basic output, biasanya disebut BIOS) di rancang mulai memberi perintah begitu mnerima daya listrik . BIOS berisi barisan instruksi berikutnya dimana program di chip  ini mengelola proses booting.
            Awal mula proses booting  adalah memverifikasi semua komponen bekerja secara benar. Setelah ini selesai, BIOS mengalihkan kendalike CPU. Tidak seperti BIOS yang telah berisi instruksi, CPU tidak berisi instruksi. Instruksi terakhir BIOS ke CPU adalah untuk melompat ke lokasi spesifik untuk menemukan instruksi berikutnya. Instruksi di dalamnya brisi cara memulai proses memuat sistem operasi.
1.6 Interupsi
            Kita dapat mengendali pernagkat I/O secara singkron, yaitu mengirim permintaan satu operasi (misalnya menulis blok memori ke disk) lalu menunggu selesainya operasi. Metode ini sangat tidak efisien dan sistem operasi banyak menganggur, menunggu operasi selesai. Cara yang lebih baik dan efisien adalah begitu selesai membuat permintaan, segera pemproses mengerjakan lainya dan kemudian di intreupsi saat perangkat menyelesaikan permintaan. Dengan caraini dapat terjadi banyak permintaan ke perangkat berlangsung pada waktu yang sama.
            Untuk teknik ini harus terdapat dukungan perangkat keras sehingga perangakat dapat membuat interupsi saat CPU sedang bekerja. Kebanyakan general purpose processor menggunakan metode serup. Beberapa pin pemproses di kawati sehingga begitu voltase berubah, menyebabkan pemproses menghen-
tikan yang sedang di kerjakan danmemulai eksekusi kode khusus untuk menengani interupsi, yaitu interupsi.Salah satu pin di hubungkan interval timer dan menerima interupsi setiap satu selang waktu tertentu (dalam ukuran seper-seribu detik), dan pin lain dapat di hubungkan dengan perangkat lain di sistem seperti SCSI controller.
            Kemudian, sistem menggunakan interrup controller untuk menangani interupsi sebelum melewatkan sinyal ke pin interupsi di pemproses. Cara ini menghemat pin-pin interupsi di pemproses dan mempunyai maskregister mengaktifkan dan menonaktifkan interupsi. Register status mengirim interupsi yang aktivdi sistem.
            Beberapa interupsi di sistem di kawatkan secara perangkat keras, seperti interval timer RCT(real time clock) secara permanen di hubungkan ke pin 3 interrup controller.  Beberap pin yang di hubungkan dapat di tentikan controller card  Saat di cantol ke slot ISA atau PCI tertentu. Contoh  pin 4 di interrup controller  dapat di hubungkan ke slot PCI nomor 0, ethernet card atau SCSI controller  Lini bawah setiap  sistem mempunyai mekanisme routing interupsi sendiri. Sistem operasi harus cukup fleksibel untuk mengatasinya.
            Kebanyakan general purpose processor menangani interupsi dengan cara yang sama. Ketika interupsi perangkat keras terjadi, pemproses menghentikan instruksi yang sedang di eksekusi dan lompat ke lokasi di memori yang memuat kode penanganan instrupsi. Kode biasanya  beropersai di mode spesial (interrup mode). Biasanya tidak ada inerupsi yang terjadi di mode ini. Beberapa pemproses memringkat interupsi interupsi . Interupsi level lebih tinggi dapat  menginstrupsi interupsi level lebih rendah. Kode pengaman interupsi harus secara hati hati di simpan. Beberapapemproses mempunyai sekumpulan register  khusus yang hanya ada di interrup mode  dan kodeinterupsi dapat menggunakan register ini.
            Setelah penanganan interupsi di lakukan, state  CPUBdi kembalikan. Pemproses melanjutkan kerja sebelumdi interupsi. Pemprosesan melanjutkan kerja sebelum di interupsi. Pemprosesan interupsi efisien selama efisien operasi tidak block karena interupsi selalu sering atau terlalu lama.
            Sistem berbasis PCI sangat lebih dinamis di banding sistem berbasis ISA. Pin interupsi yaitu ISA device serinng menggunakan jumper di perangkat kerasdan bersifat tetap di devie driver. Perangkat PCI mempunyai interupsi yang di alokasikan PCI BIOS atau subsitem PCI saat PCI diinisialisai saatsistem boot. Tiap perangkat PCI dapat menggunakan salah satu pin interupsi, yaitu A, B, C, atau D, Ini bersifat tetap saat perangakat di bangun dan kebanyakan perangkat secara default  menginstrupsi pada pin A. Saluran interupsi PCI A, B, C dan D untuk tiap slot PCI di ruteke interrupt controller, pin B dari slot PCI di rute ke interrupt controller . Pin  A dari slot  PCI 4 dapat dirute ke pin 6 dari interupt controller . Pin B dari slot PCI 4 ke pin 7 dari interupt controller, dan harus terdapat satu kode yang memehami topologi routing interupsi PCI. Pada PC berbasis intel, ini terdapat di BIOS yang berjalan saat boot. Untuk sistem tanpa BIOS (seperti sistem berbasis Alpha AXP), Rernel sistem operasi melekukan setup ini.