Selamat Datang di Blog Rynaldo-Info Bisnis

Rabu, 28 September 2011

Jenis Instruksi dan Teknik Pengalamatan

Jenis Instruksi :
Jenis-jenis Instruksi
  • Data Processing/Pengolahan Data: instruksi-instruksi aritmetika dan logika.
  • Data Storage/Penyimpanan Data: instruksi-instruksi memori.
  • Data Movement/Perpindahan Data: instruksi I/O.
  • Control/Kontrol: instruksi pemeriksaan dan percabangan.
Instruksi aritmetika (arithmetic instruction) memiliki kemampuan untuk mengolah data numeric. Sedangkan instruksi logika (logic instruction) beroperasi pada bit-bit word sebagai bit, bukan sebagai bilangan. Operasi-operasi tersebut dilakukan terutama dilakukan untuk data di register CPU.
Instruksi-inslruksi memori diperlukan untuk memindah data yang terdapat di memori dan register.
Instruksi-instruksi I/O diperlukan untuk memindahkan program dan data kedalam memori dan mengembalikan hasil komputasi kepada pengguna.


Teknik Pengalamatan:
1. Pengalamatan Langsung
Teknik pengalamatan langsung dilakukan dengan memberikan nilai ke suatu register secara langsung. Untuk melaksankan teknik pengalamatan langsung digunakan tanda #. Sebagai contoh instruksi :
MOV A,#01H ;Mengisi akumulator dengan 01H
Pengalamatan data langsung dari 0 sampai 127 akan mengakses RAM internal, sedangkan pengalamatan data dari 128 sampai 255 akan mengakses register perangkat keras. Sebagai contoh instruksi
Mov A,#010H ;isi akumulatur dengan 10H
MOV P3,A ;memindahkan isi akumulator ke Port 3

2. Pengalamatan Tak Langsung
Teknik pengalamatan tidak langsung menunjuk ke sebuah register yang berisi lokasi alamat memori yang akan digunakan dalam operasi. Lokasi yang sebenarnya tergantung pada isi register saat instruksi dijalankan. Untuk melaksanakan pengalamatan tidak langsung digunakan simbol @. Sebagai contoh instruksi:
MOV R0,#030H ;isi register R0 dengan 30H
Mov @R0,#0FFh ;isi alamat yang ditunjuk R0 dengan FFH


3. Pengalamatan Bit

Teknik pengalamatan bit adalah penunjukkan alamat lokasi bit baik dalam RAM internal atau perangkat keras. Untuk melakukan pengalamatan bit digunakan simbol titik (.), misalnya FLAGS.3, 40.5, 21H.5, dan ACC.7. Sebagai contoh instruksi:
SETB ACC.7 ;menbuat bit ke-7 pada akumulatuor menjadi set
SETB P1.3 ;membuat p1.3 menjadi set

4. EQU (Equate)
Equ digunakan untuk mendefinisikan sebuah simbol atau lambang assembler secara bebas.
Contoh:
REG EQU 0
DAT EQU 040H

Mov DAT,#0AFH
Mov REG,#87H
Pada perintah diatas DAT diisi dengan 0AFH, konstanta ini telah mendefinisikan sebelumnya dengan 40H.
Maka MOV DAT,#0AFH persamaannya MOV 040H,#0AFH yang artinya 0AFH dimasukan pada alamat 40H. Begitu pula pada MOV REG,#087H.
5. DELAY TIME
Program delai merupakan program tunda yang ditentukan oleh waktu.
Contoh:
MOV R0,#200 ; Set loop counter, R0 = 200 times
; 5 Cycle * 100 times = 1ms
DELAY: NOP ; 1 Cycle used
NOP ; 1 Cycle used
NOP ; 1 Cycle used
DJNZ R0,DELAY ; 2 Cycle used

Jika XTAL menggunakan 12 Mhz. Maka T = 1/12Mhz = 0,0833 uS
MOV R0,#200 — 1 cycles = 12 X 0,0833 = 0,9996
DELAY: NOP ————— 1 cycles = 200 X 12 X 0,0833 = 199,92
NOP ————— 1 cycles = 200 X 12 X 0,0833 = 199,92
NOP ————— 1 cycles = 200 X 12 X 0,0833 = 199,92
DJNZ R0,DELAY – 2 cycles = 200 X 24 X 0,0833 = 399,84 +
1000, 5996 uS

Berarti lama tunda 1000,5996 uS = 0,0010005995 detik
Sumber : http://endahajah.wordpress.com/2009/03/31/hello-world/
              http://rizqitegalcity.wordpress.com/2009/05/05/teknik-pengalamatan/

Teknik Pengalamatan

Teknik Pengalamatan dalam Algoritma dan Pemrograman
 
Teknik  Pengalamatan
Rekaman- rekaman dalam suatu berkas nalari diciri (diidentifikasi) oleh perangkat nomer yang unik atau kelompok karakter yang unik.
Perangkat ini disebut kunci, biasanya menempati medan yang panjangnya tetap dalam masing- masing rekaman. Untuk membentuk suatu kunci yang unik kadang- kadang diperlukan gabungan dua medan atau lebih yang disebut kunci berderet. (concatenated key)
Dalam beberapa berkas, rekaman- rekaman berisi lebih dari satu kunci. Misalnya barang yang sudah dibeli mempunyai nomer penyalur dan nomer pemakai yang berbeda. Keduanya dipakai sebagai kunci. Kunci harus unik, karena kunci itu dipakai untuk menentukan di mana rekaman harus diambil dari unit  berkas dan untukk melacak rekaman itu dari berkasnya. Ini disebut kunci utama atau penciri (identifier).
Persoalan dari pengalamatan berkas adalah: diberikan kunci utama, lalu bagaiman komputer mengambil rekaman atau kunci itu? Ada berbagai teknik pengalamatan rekaman.
Teknik 1 : Pemayaran Berkas (Scanning the file)
Cara yang paling sederhana untuk pengambilan rekaman adlah memayar berkas dengan memeriksa kunci setiap rekaman. Metode ini sangat lambat dan hanya mungkin digunakan dalam operasi pemrosesan kelompok yang memakai berkas serial, seperti pita, di mana setiap rekaman mau tidak mau harus dibaca.
Teknik 2 : Pencarian Ruas (Block Search)
Pada rekaman- rekaman yang diorganisasikan serial dengan kunci, tidak perlu setiap rekaman dibaca pada waktu memayar berkas.
Berkas itu dalam urutan kunci utama yang menanjak (ascending). Misalnya kunci rekaman yang dicari Ks, maka pencarian dimulai dari kunci- kunci ruas yang kecil. Seperti halnya pembagian rentetan pada bab sebelumnya, ukuran ruas yang optimum adalah NB = . Nf adalah jumlah rekaman daklam berkas. Pada pemeriksaan kalau ditemukan rekaman yang kuncinya pertama kalau kali lebih besar dari Ks, maka rekaman- rekaman dari ruas yang baru saja diloncati diperiksa (dipayar) sampai ditemukan rekaman dengan kunci Ks.Kadang- kadang cara ini disebut pencarian loncatan (skiipsearch). Misalnya ada 10.000 rekaman dalam suatu berkas. Ruas pencarian terdiri atas 100 rekaman. Rata-rata ada 100 rekaman yang diperiksa sehingga ditemukan rekaman yang diminta. Proses pencarian baru akan dilakukan pada ruas yang mengandung rekaman yang diminta. Dalam praktek tidak ada pencarian ruas yang rekamannya sampai 10.000, yang berarti seluruh berkas ada 10.0002 rekaman . Dalam hal ini diperlukan index yang mewakili seluruh rekaman. Kemudian pada index inilah dilakukan pembagian ruas-ruas pencarian.
Teknik  3. Pencarian Biner ( Binary Search )
Pencarian biner pertama-tama menuju ketengah-tengah area yang mengandung rekaman yang diminta. Lalu membandingkan kunci rekaman yang ditengah-tengah itu dengan kunci yang dicari. Maka akan diketahui bahwa kunci yang dicari letaknya dibelahan yang mana. Kemudian menuju ketengah-tengah belahan itu lagi .Proses ini diulangi terus menerus. Berkas diperiksa rata-rata kurang lebih       (log 2 Nf -1 ) kali. Untuk harga Nf (jumlah rekaman dalam berkas) yang besar, log Nf – 1 lebih kecil daipada   .
Pencarian biner umumnya tidak tepat untuk pencarian pada piranti simpanan masup langsung, karena menghabiskan banyak waktu. Pencarian biner tidak dapat dipakai untuk pencarian pada rentetan, karena komputer tidak mempunyai peralatan untuk mengatur pencarian itu.  Sepaerti diketahui rentetan terdiri atas rekaman-rekaman yang disatukan dengan pointer, sehingga sulit untuk menentukan titik tengahnya. Pencarian biner bermanfaat untuk pencarian rinci-rinci dalam memori utama atau simpanan tingkat padat (misalnya hard disk ).
Jenis khusus dari pencarian biner adalah rinci-rinci yang dicari tidak disusun berurutan, tetapi dalam bentuk pohon biner dengan pointer-pointer. Kemudian pencarian diteruskan dengan menelusuri pointer-pointer. Keuntungan bentuk pencarian ini adalah bahwa rekaman – rekaman baru dapat disisipkan ke dalam berkas , tanpa harus menggeser ke samping ( proses ini merupakan operasi yang janggal dan memakan waktu). Titik tengah yang dituju akan bergeser untuk menyesuaikan penambahan itu.
Pencarian biner lebih baik dilakukan pada index-index berkas daripada langsung mencari berkasnya sendiri.
Teknik 4 . Berkas Serial Berindex
Pada umumnya pemayaran atau pencarian berkas-berkas untuk mendapatkan suatu rinci terlalu banyak memakan waktu. Metode tersebut hanya dipakai untuk menudingsuatu rinci dalam area yang kecil setelah teknik-teknik yang lain menemukan area yang ditempatinya.
Pemayaran cakram atau alur drum dapat dibuat bersamaan dengan waktu rotasi dan karena itu bermanfaat.
Apabila berkas mempunyai kunci yang berurutan, biasanya digunakan tabel yang disebut index . Masukan pada tabel adalah kunci rekaman yang dicari, danhasil operasi pencarian tabel adalah alamat relatif atau alamat sesungguhnya dari rekaman itu pada unit berkas.
Suatu index didefinisikan sebagai suatu tabel di mana beroperasi dengan prosedur yang menerima informasi tentang harga-harga atribet tertentu sebagai masukan, dan sebagai keluaran memberikan informasiyang membantu pengambilan rekaman dengan cepat, di mana rekaman itulah yang memiliki harga-harga atribut tersebut. Index utama adalah index yang menggunakan ciri rekaman (kunci utama) sebagai masukan dan memberikan informasi tentang lokasi fisis dari rekaman sebagai keluara. Index sekunder adalah index yangmengunakan kunci yang tidak unik, tapi dapat mewakili sejumlah rekaman.
Index kadang- kadang disebut sebagai penuntun (directory) yang memberikan informasi tentang pertalianantara rekaman- rekaman, sebagai contoh, memberikan hubungan- hubungan dalam struktur jaring atau stuktur pohon.
Apabila suatu index dipakai untuk pengelamatan berkas, maka komputer harus mencari index, bukan mencari berkas itu. Cara ini dapat menghemat banyak sekali waktu, tetapi dibuthkan ruangan untuk menyimpan index itu. Hal ini mirip dengan penggunaan indek kartu dalam perpustakaan. Pemakai mencari nama buku yang dia perludi dalam index kartu, dan index kartu itu memberikan nomor katalog, yang analog dengan alamat relatifdari letak buku itu pada ra
Apabila berkas mempunyai kunci yang berurutan, umumnya index tidak berisi acuan untuk setiap rekaman, tetapi cukup satuan acuan untuk ruas- ruas rekaman.
Pengacuan ruas- ruas rekaman dibandingkan dengan pengacuan pada rekaman individu sangant banyak mengurangi ukuran indek. Walaupun demikian index seringkali terlalu besar untuk dicari dalam keseluruhannya, dan dengan demikian diperlukan suatu index untuk sejumlah index.
Untuk menghemat waktu pencarian, segmen- segmen dari iondex tingkat lebih rendah dapat diedarkan di antara rekaman- rekaman data yang bersangkutan
Pada area berkas yang diwakili satu index, dilakukan pencarian dengan metode pencarian ruas atau pencarian biner maupun pemayaran. Pada berkas cakram biasanya mempunyai satu alur index untuk setiap silinder, yang berisi acuan – acuan untuk rekaman- rekaman yang tersimpan dalam silinder itu.
Berkas serial berindex merupakan bentuk yang paling umum dari pengalamatan berkas. Mode lokasi VIA dari CODASYL memakai teknik ini.
Teknik 5 : Berkas Tak Berurutan Berindex (Indexed Nonsequential Files)
Berkas yang tak berurutan dapat diberi index seperti halnya berkas berurutan. Tetapi memerlukan index yang jauh lebih banyak, karena harus berisi satu entry untuk satu rekaman. Lagi pula, harus berisi alamat lengkap tertentu (atau alamat relatip), sedangkan suatu index pada berkas berurutan dapat memotong alamat yang dikandungnya, karena urutan karakter tingkat tinggidari alamat berturut-turut biasanya sama.
Misalnya APNA, APNE, APNI, APNK, dan seterusnya. Dalam hal ini APN sama semua.
Berkas berurutan berindex jauh lebih ekonomis, karena ruang index jauh lebih sedikit dan waktu pencarian lebih cepat.
Alasan utama tetap digunakanya berkas tak berurutan ialah bahwa harus dialamatkan lebih dari satu kunci. Apabila kunci yang satu diurutkan, maka kunci yang lain tidak akan terurutkan. Suatu index dapat dipakai untuk tiap kunci, index untuk kunci berurutan mempunyai satu entry per ruas. Sedang kunci tak berurutan, satu entry untuk setiap rekaman. Untuk berkas yang berkunci banyak, kunci yang paling sering dipakai biasanya yang diurutkan, karena masup cepat dimungkinkan oleh index berurutan pendek.
Analogi index kartu perpustakaan lebih tepat untuk berkas berurutan berindex. Dua kunci dipakai dalam indek kartu, yakni judul buku dan nama pengarang. Kedua kunci ini tidak dipakai untuk pengurutan buku- buku pada rak- rak. Oleh karena itu harus ada suatu entri untuk setiap buku dalam kedua index it.
Buku- buku itu disusun dalam urutan dengan nomor katalog, Apabila pemakai telah menemukan nomor katalog dari buku yang diinginkannya, lalu dia mencari pada jajaran-jajaran rak (lemari- lemari rak). Analog dengan pencarian Index dalam berkas. Masing- masing jajaran rak biasanya terdapat tanda nomor permulaan dan nomor akhir katalog dari buku- buku dalam jajaran itu. Pemakai membandingkan nomor katalog yang telah diperoleh dengan batasan nomor pada jajaran itu. Apabila  nomor katalog yang dipegangnya berada dalam batasan itu, berarti buku yang dicari berada dalam jajaran itu. Lalu dicocokkan batasan nomor pada tiap rak dalam jajaran itu. Analog dengan index induk pada suatu index silinder dam kemudian pada index  alur. Setelah menemukan rak yang memuat buku tersebut , lalu pemakai mencari- cari buku tersebut dalam rak itu. Dalam hal ini pencarian dalam berkas dapat menggunakan metode pencarian ruas ataupun pemayaran dan pencarian biner.
Index perpustakaan tidak menunjukkan lokasi fisis dari buku pada raknya. Tetapi memberikan pada nomor katalog yang dapat dianggap sebagai alamat relatif atau alamat simbul. Alasannya dipakai alamat simbul ialah kalau alamat fisis yang dipakai, lalu karena buku-buku dalan rak selalu bergeser tempatnya, maka index perpustakaan harus sering diperbarui/ diubah. Dengan alasan yang sama berkas tak berurutan berindex juga kadang- kadang memakai simbul daripada alamat sungguh. Penambahan rekaman baru dan penghapusan rekaman lama selalu menggeser lokasi rekaman- rekaman.
Apabila lebih dari satu kunci digunakan dalan rekaman- rekaman. Index pada suatu kunci yang bukan utama dapat menunjukkan kunci utama dari rekaman sebagai keluarannya. Kunci utama ini kemudian digunakan untuk pengembilan rekaman dengan pengalamatan yang lain. Analogi dengan index perpustakaan, misalnya judul buku adalah kunci utama, sedang nama pengarangbukan kunci utama. Dengan kunci nama pengarang, kitadapat menemukan kunci utamanya. Metode dengan menggunakan alamat simbul lebih lambat daripada alamat fisis, tetapi pada berkas yang rekaman- rekamannya sering berubah posisinya, pengalamatan simbul menunjuk manfaatnya.
Alasan lain untuk penggunaan susunan rekaman tak berurutan adalah bahwa berkas itu sangaty lincah dan penyisipan penghapusan ke dalam berkas yang berurutan akan terlalu sulit dan terlalu makan waktu. Apabilabuku yang disimpan dalam rak diurutkan menurut abjadnya, maka pemeliharaannya memerlukan waktu banyak, karenasetiap kali ditambahkan buku baru, sejumlah buku harus digeser. Kalau buku- buku itu tak berurutan, tapitapi nomor katalognya berurutan, maka buku barudapat diletakkan pada posisi terakhir dengan nomor urut katalog yang terakhir.
Teknik 6 : Pengalamatan Alamat Setara Kunci
(Key- Equals- Address)
Berbagai metode pengubahan kunci langsung ke dalam suatu alamat berkas dipakai. Penggunaan metode- metode ini dapat menghasilkan perangkat pengalamatan yang tercepat dan tidak diperlukan pencarian berkasatau operasi index.
Cara pemecahan persoalan pengalamatan yang paling sederhana aialah dalam transaksi input, memiliki alamatsama dengan kunci supaya pengambilannya sederhana.Pola ini termasuk pengalamatan langsung.Dlam banyak aplikasi, pendekatan langsung ini tidak dimungkikan. Nomor- nomor barang dari suatu pabrik tidak dapat diubah untuk menyesuaikan komputer karena nomor- nomor itu mempunyai arti yang penting bagi perusahaan tersebut.
Kadang- kadang nomor acuan mesin dapat digunakan dalam transaksi input tanpa membutuhkan nomor konsumen ataupun nomor barang. Sebagai contoh, alamat berkas dari rekaman dapat dicetak pada buku tabungan langganan bank. Apabila komputer pemesan perusahaan penerbangan mengirimkan pesan teletip pada perusahaanpenerbangan yang lain, biasanya pesan itu mancakup nomor acuan mesin dari rekaman penumpang. Jawabandalam pesanan teletip diterima, misalnya tentang penegasan pemesanan, maka harus mencakup nomor acuan mesin, sehingga rekaman penumpang itu segera ditemukan.
Mode lokasi DIRECT dari CODASYL memakai teknik ini.
Teknik 7 : Alogaritma Untuk Konversi Kunci
Penggunaan algoritma untuk mengbah kunci ke dalam alamat, hampir secepat dengan teknik alamat setara kunci   (teknik 6). Alamat pada beberapa apilkasi dapat dihitung dari penciri entiti seperti lokasi jalan, nomor penerbangan dan tanggal penerbangan. Tidak semua aplikasi yang tidak menerapkannya. Tetapi metode ini adalah sederhana dan cepat untuk aplikasi yang dapat menerapkannya.
Teknik ini biasanya mempunyai kerugian karena tidak memenuhi barkas dengan sempurna. Ada celah- celahnya, karena kunci- kunci tidak diubah menjadi satu himpunan alamat yang kontinu. Sebagai contoh, perusahaan penerbangan mempunyai 150 nomor penerbangan. Algoritma memakai nomor penerbangan dan tanggal untuk menghitung alamat berkas. Tetapi tidak setiap penerbangan terbang pada setiap hari; karena itu, beberapa alamat yang dihasilkannya tidak memuat rekaman.
Apabila rekaman- rekaman membentuk suatu matrik, maka cocok untuk perhitungan alamat berkas. Sebagai contoh, suatu perusahaan mempunyai banyak distributor,. Masing- masing distributor menangani 200 produk. Rekaman yang diberikan adalah tentang penjualan setiap produk untuk setiap distributor dalam setiap distributor dalam setiap minggu untuk tahun ini. Apabila panjang rekaman 100 byte, maka alamat byte relatif dari rekaman untuk distributor ke-A, produk ke- B, dan minggu ke- C dapat dihitung dengan rumus:
(A -1) × 200 × 52 × 100 + (B− 1) × 52 × 100 + (C − 1) × 100 + 1. Suatu program akan mengubah alamat relatif ini ke dalam sebuah alamat mesin.
Kerugian dari pola ini pengalamatan langsung yakni kelakuannya. Sepaerti diketahui bahwa alamt mesin dpat berubah- ubah, karena berkas berkembang atau dipindahkan pada suatu unit yang lain atau berkas digabungkan atau dimodifikasi. Dalam hal ini pengalamatan langsung tidak dapat berjalan. Untuk menghilangkan sifat kekakuan ini pengalamatan langsung biasanya diselesaikan dalam dua tingkat. Tingkat pertama mengubah kunci menjadi suatu bilangan urut. Tingkat kedua mengubah bilangan urut itu menjadi alamt mesin. Apabila alamat mesin rekaman berbah, maka bilangan- bilangan urut yang dipakai tingkat kedua dapat dimodifikasi dengan mudah untuk menyesuaikan perubahan alamat mesin tersebut.
Mode lokasi CALC dari CODASYL memakai teknik ini.
Teknik 8 : Gabungan (Hashing)
Suatu bentuk yang bermanfaat dan akurat dari teknik perhitungan alamat disebut gabungan atau kadang- kadang disebut pengacakan (randomizing) atau pengadukan (scrambling). Dalam teknik ini kunci rinci diubah menjadi suatu bilangan hampir acak, dan bilangan ini dipakai untuk menentuksn di man rinci tersebut disimpan. Bilangan hampir acak itu dapat berhubungan dengan alamat di mana suatu rekaman disimpan. Cara ini ;lebih ekonomis, karena berhubungan dengansuatu area di mana suatu grup rekaman disimpan yang disebut sebagai bucket (keranjang), kadang- kadang disebut pocket (saku) atau slot. Jumalah rekaman nalari yang dapat disimpan dalam area ini disebut kapasitas bucket.
Apabila pada permulaan, berkas hendak diamati, lokasi dalam mana rekaman- rekaman disimpan ditentukan sebagai berikut:
  1. Kunci dari rekaman diubah menjadi suatu bilangan hampir acak, n, yang terletak dalam interval l sampai N, di mana N adalah jumlah bucket yang dapat dipakai untuk simpanan. Banyak algoritma gabungan memungkinkan operasi ini, dan harus dipilih satu yang sesuai dengan himpunan kunci dari rekaman- rekaman yang dibicarakan.
  2. Bilangan n diubah menjadi alamt dari bucket itu dibaca.
  3. Apabila ada sisa ruang dalam bucket itu, maka rekaman nalari dapat disimpan ke dalam bucket itu.
  4. Apabila bucket luapan (overflow). Ini dapat   sebagai urutan berikut, atau dapat sebagai suatu bucket pada area yang terpisah yang duihubungkan dengan pointer.
Apabila rekaman- rekaman hendak dibaca dari berkas, maka metode pencarian adalah sama dengan di atas , yaitu:
  1. Kunci dari rekaman yang akan dicari, diubah menjadi suatu bilangan hampir acak, yaitu n, dengan menggunakan algoritma yang sama.
  2. Bilangan n itu diubah menjadi alamat dari bucket ke- n, dan dan rekaman fisis di dalamnya dibaca.
  3. Bucket dicari untuk mendapatkan rekaman nalari yng diminta.
  4. Apabika rekaman yang diminta tiadak ada dalam bucket luapan dibaca dan di- search. Kadang- kadang perlu membaca lebih dari satu bucket luapan.
Teknik ini tidak akan mencapai kerapatan packing 100%, karena adanya sifat- sifat acak dari algoritma. Banyak Berkas dapat mencapai kerapatan packing 80%atau 90% dan tidak ada ruang yang diperlukan untuk index. Banyak rekaman dapat diperoleh dengansatu pencarian, tetapi ada yang memerlukan pencarian dalam satu detik, yaitu pada bucket luapan. Jarang diperlukan pencarian ketiga atau keempat.
sumber: http://id.wikipedia.org

Organisasi komputer dasar

Suatu sistem komputer terdiri dari lima unit struktur dasar, yaitu:
  • Unit masukan (Input Unit)
  • Unit kontrol (Control Unit)
  • Unit logika dan aritmatika (Arithmetic & Logical Unit / ALU)
  • Unit memori/penyimpanan (Memory / Storage Unit)
  • Unit keluaran (Output Unit)
Control Unit dan ALU membentuk suatu unit tersendiri yang disebut Central Processing Unit (CPU). Hubungan antar masing-masing unit yang membentuk suatu sistem komputer dapat dilihat pada gambar berikut:
Struktur Dasar Komputer
Data diterima melalui Input Device dan dikirim ke Memory. Di dalam Memory data disimpan dan selanjutnya diproses di ALU. Hasil proses disimpan kembali ke Memory sebelum dikeluarkan melalui Output Device. Kendali dan koordinasi terhadap sistem ini dilakukan oleh Control Unit. Secara ringkas prinsip kerja komputer adalah Input – Proses – Output, yang dikenal dengan singkatan IPO.
Fungsi Utama dari masing-masing Unit akan dijelaskan berikut ini:
  • Unit Masukan (Input Unit)
    Berfungsi untuk menerima masukan (input) kemudian membacanya dan diteruskan ke Memory / penyimpanan. Dalam hubungan ini dikenal istilah peralatan masukan (input device) yaitu alat penerima dan pembaca masukan serta media masukan yaitu perantaranya.
  • Unit Kontrol (Control Unit)
    Berfungsi untuk melaksanakan tugas pengawasan dan pengendalian seluruh sistem komputer. Ia berfungsi seperti pengatur rumah tangga komputer, memutuskan urutan operasi untuk seluruh sistem, membangkitkan dan mengendalikan sinyal-sinyal kontrol untuk menyesuaikan operasi-operasi dan arus data dari bus alamat (address bus) dan bus data (data bus), serta mengendalikan dan menafsirkan sinyal-sinyal kontrol pada bus kontrol (control bus) dari sistem komputer. Pengertian mengenai bus dapat dilihat di bagian bawah halaman ini.
  • Unit Logika & Aritmatika (Arithmetical & Logical Unit)
    Berfungsi untuk melaksanakan pekerjaan perhitungan atau aritmatika & logika seperti menambah, mengurangi, mengalikan, membagi dan memangkatkan. Selain itu juga melaksanakan pekerjaan seperti pemindahan data, penyatuan data, pemilihan data, membandingkan data, dll, sehingga ALU merupakan bagian inti dari suatu sistem komputer. Pada beberapa sistem komputer untuk memperingan dan membantu tugas ALU dari CPU ini diberi suatu peralatan tambahan yang disebut coprocessor sehingga khususnya proses perhitungan serta pelaksanaan pekerjaan pada umumnya menjadi lebih cepat. Pengertian mengenai coprocessor dapat dilihat di bagian bawah halaman ini.
  • Unit Memori / Penyimpan (Memory / Storage unit)
    Berfungsi untuk menampung data/program yang diterima dari unit masukan sebelum diolah oleh CPU dan juga menerima data setelah diolah oleh CPU yang selanjutnya diteruskan ke unit keluaran. Pada suatu sistem komputer terdapat dua macam memori, yang penamaannya tergantung pada apakah alat tersebut hanya dapat membaca atau dapat membaca dan menulis padanya. Bagian memori yang hanya dapat membaca tanpa bisa menulis padanya disebut ROM (Read Only Memory), sedangkan bagian memori yang dapat melaksanakan membaca dan menulis disebut RAM (Random Access Memory).
  • Unit Keluaran (Output Unit)
    Berfungsi untuk menerima hasil pengolahan data dari CPU melalui memori. Seperti halnya pada unit masukan maka pada unit keluaran dikenal juga istilah peralatan keluaran (Output device) dan media keluaran (Output media).

Pengertian BUS
Bus adalah sekelompok lintasan sinyal yang digunakan untuk menggerakkan bit-bit informasi dari satu tempat ke tempat lain, dikelompokkan menurut fungsinya Standar bus dari suatu sistem komputer adalah bus alamat (address bus), bus data (data bus) dan bus kontrol (control bus). Komputer menggunakan suatu bus atau saluran bus sebagaimana kendaraan bus yang mengangkut penumpang dari satu tempat ke tempat lain, maka bus komputer mengangkut data. Bus komputer menghubungkan CPU pada RAM dan periferal. Semua komputer menggunakan saluran busnya untuk maksud yang sama.
Pengertian Coprocessor
Coprocessor adalah Mikroprosesor tambahan (auxiliary processor) untuk membantu tugas dari prosesor utama (CPU). Sebenarnya latar belakang adanya coprocessor ini dimaksudkan untuk menutupi kelemahan dalam perhitungan matematika dan aritmatika pada prosesor Intel 8088. Tugas utamanya untuk melaksanakan perhitungan matematika dan aritmatika sehingga tidak menjadi beban prosesor Intel 8088.

Sumber : http://radmarssy.wordpress.com/2007/02/07/struktur-dasar-komputer/

Selasa, 27 September 2011

KUALITAS ARSITEKTUR KOMPUTER


Sebagaimana arsitektur bangunan, kualitas atau mutu arsitektur komputer tidak mudah diukur. Seperti halnya atribut yang menjadikan arsitektur bangunan bermutu, sebagian besar atribut berikut sulit dihitung. Pada hakekatnya, suatu arsitektur yang baik untuk satu aplikasi mungkin saja jelek untuk aplikasi yang lain, dan sebaliknya. Pada bagian ini, kita akan membahas enam atribut mutu arsitektur: generalitas (keumuman), daya terap, efisiensi, kemudahan penggunaan, daya tempa, dan daya kembang (ekpandabilitas).

Generalitas
Generalitas adalah ukuran besarnya jangkauan aplikasi yang bisa cocok dengan arsitektur. Sebagai contoh, komputer yang terutama digunakan untuk aplikasi ilmiah dan teknik menggunakan aritmetik floating-point (dengan nomor disimpan dengan penunjuk besarnya dan eksponennya) dan komputer yang terutama digunakan untuk aplikasi bisnis menggunakan aritmetik desimal (dengan nomor ditampilkan sesuai dengan digit desimalnya). Sistem umum memberikan dua jenis aritmetik.
Walaupun nomor instruksi dalam set instruksi bukan merupakan ukuran langsung bagi generalitas komputer, namun ia memberikan indikasi generalitas. Keanekaragaman modepengalamatan juga merupakan indikasi generalitas. Meskipun demikian, RISC begitu umum walau ia mempunyai set instruksi yang kecil dengan mode pengalamatan yang sedikit.
Salah satu pembahasan utama oleh kalangan peneliti komputer selama tahun 1980-an adalah persoalan bagusnya generalitas. Akhir-akhir ini, persoalan ini mengarah pada opini bahwa generalitas adalah tidak bermanfaat. Generalitas cenderung meningkatkan kekompleksan implementasi. Bagi rumpun komputer yang besar dari berbagai perusahaan, kekompleksan ini mengakibatkan sulitnya perancangan mesin. Generalitas juga cenderung membuat compiler optimisasi menjadi lebih kompleks, karena ia harus memilih lebih banyak instruksi ketika menggenerasi (menghasilkan) kode. Juga, generalitas cenderung mengakibatkan kompleksitas, dan desain sistem yang menggunakan komputer akan mengakibatkan kekompleksan software, yang seharusnya developer akan secara mudah mengoreksi kesalahan.
Salah satu argumen komersial dalam menerapkan generalitas adalah bahwa, karena ia menyebabkan perancangan komputer menjadi sulit, maka perusahaan yang melakukan perancangan tersebut bisa mengurangi peniruan rancangan oleh perusahaan lain. Tak ada perusahaan komputer yang besar ingin kehilangan pasamya atas rancangan komputer yang ia buat.

Daya Terap
Daya terap (applicability) adalah pemanfaatan arsitektur untuk penggunaan yang telah direncanakannya. Komputer yang terutama dirancang untuk satu dari dua area aplikasi utama: (1) aplikasi ilmiah dan teknis dan (2) aplikasi komersil biasa. Aplikasi ilmiah dan teknis adalah aplikasi yang biasanya untuk memecahkan persamaan kompleks dan untuk penggunaan aritmetik floating point ekstensif. Mereka ini adalah computation-intensive application (aplikasi komputasi intensit), yang berarti mereka mempunyai rasio operasi CPU ke memori dan operasi I/O yang jauh lebih tinggi dari pada aplikasi lain (walaupun banyak komputasi simbolisnya juga merupakan computation-intensive). Aplikasi komersil umum atau biasa adalah aplikasi yang didukung oleh pusat komputer biasa: menghimpun (compiling), menghitung (accounting), mengedit, penggunaan spreadsheet,dan word prosesing, seperti yang ada di komputer secara umum.

Efisiensi
Efisiensi adalah ukuran rata-rata jumlah hardware dalam komputer yang selalu sibuk selama penggunaannya biasa. Arsitektur yang efisien memungkinkan (namun tidak memastikan) terjadinya implementasi yang efisien. Perlu anda catat, bahwa ada pertentangan antara efisiensi dan generalitas. Juga, karena turunnya harga komponen komputer,maka sekarang efisiensi tidak terlalu dipikirkan seperti halnya pada awal pengembangan komputer.
Namun demikian, arsitektur yang efisien akan memungkinkan terjadinya implementasi berkecepatan sangat tinggi dan berbiaya sangat rendah, dan dalam rumpun komputer yang besar, implementasi yang demikian tersebut sangat diperlukan. Salah satu sifat arsitektur yang efisien adalah bahwa ia secara relatif cenderung sederhana. Karena untuk merancangsistem yang kompleks secara benar begitu sulit, maka kebanyakan komputer mempunyai sebuah komputer inti  (core computer) efisien yang sederhana, yaitu CPU. CPU ini mempunyai layer kontrol disekelilingnya guna memberikan fasilitas yang canggih yang dibutuhkan oleh arsitektur.

Kemudahan Penggunaan
Kemudahan penggunaan arsitektur adalah ukuran kesederhanan bagi programmer sistem untuk mengembangkan atau membuat software untuk arsitektur tersebut, misalnya sistem pengoperasiannya atau compilernya. Oleh karena itu, kemudahan penggunaan ini merupakan fungsi ISA dan berkaitan erat dengan generalitas. Definisi ini jangan dikacaukan dengan istilah ‘mudah untuk digunakan’ (friendly) yang diperuntukkan bagi pemakai dalam menggunakan komputer. Istilah mudah untuk digunakan ini ditentukan oleh sistem pengoperasian dan software yang ada,  bukannya arsitektur dasar. Kita bisa mengambil contoh dari beberapa komputer yang tidak mempunyai kemudahan penggunaan, dengan perancang compiler sulit mengimplementasikan beberapa bahasa pemrograman tingkat tinggi.
Set instruksi dari koniputer awal kadang-kadang kekurangan instruksi untuk melakukan operasi yang penting. Akibatnya, para programmer harus menggunakan urutan instruksi yang kacau untuk mengimplementasi operasi yang penting tersebut. Sekarang ini, arsitek set instruksi telah mempunyai banyak pengalaman untuk merancang set instruksi, sehingga kelemahan tersebut jarang ditemukan.

Daya Tempa (malleability)
Empat ukuran sebelumnya daya terap, generalitas, efisiensi, dan kemudahan penggunaan berlaku untuk arsitekturrumpun komputer. Dua ukuran yang terakhir daya tempa dan daya kembang umumnya berlaku untuk implementasi komputer dalam satu rumpun. Daya terap arsitektur adalah ukuran kemudahan bagi perancang untuk mengimplementasikan komputer (yang mempunyai arsitektur itu) dalam jangkauan yang luas. Lebih spesifik arsitekturnya, maka akan lebih sulit untuk membuat mesin yangberbeda ukuran dan kinerjanya dari yang lain. Secara analogis, bila seseorang menamakan suatu arsitektur rumah sebagai rumah kolonial, maka dimungkinkan rumah tersebut mempunyai ukuran dan gaya yang berbeda dengan yang lain. Sebaliknya, jika arsitektur telah menentukan rencana induknya, maka hanya dimungkinkan sedikit variasi implementasi.
Umumnya, arsitektur mencakup banyak gambaran setiap tingkat dengan detail. Rencana dasar atau induk dari rumah kolonial tersebut meliputi berbagai detail, misalnya tembok, pintu, saluran listrik dan air. Dalam kaitannya dengan komputer personal standart industri, spesifikasinya longgar, seperti halnya spesifikasi pada rumah kolonial tersebut. Pada Apple Macintosh atau IBM PC AT, spesifikasi arsitekturnya jauh lebih lengkap, sehingga semua implementasi hampir sama.

Daya Kembang
Daya kembang (expandability) adalah ukuran kemudahan bagi perancang untuk meningkatkan kemampuan arsitektur, misalnya kemampuan ukuran memori maksimumnya atau kemampuan aritmetiknya. Umumnya, spesifikasi rumpun komputer memungkinkan perancang untuk menggunakan ukuran memori yang berjangkauan luas dalam anggota rumpun. Sebagai contoh, karena arsitektur DEC VAX hanya menentukan ukuran memori secara tidak langsung dan hanya berada dalam batasan luas tertentu, maka komputer VAX mempunyai ukuran memori yang bervariasi yang lebih dari satu faktor 1000.
Para perancang dapat memperoleh daya kembang memori ekstemal dengan berbagai cara: Mereka dapat meningkatkan jurhlah eralatan atau mereka dapat meningkatkan kecepatan peralatan tersebut dalam menggerakkan data ke dan dari dunia luar. Banyak arsitektur yang mengabaikan aspek penentuan struktur I/O. Kurangnya spesifikasi akan meningkatkan daya kembang, namun ia bisa juga meningkatkan jumlah pemrograman kembali yang diperlukan oleh anggota rumpun yang baru.
Beberapa komputer mempunyai lebih dari satu CPU. Dalam hal ini, daya kembang juga berkaitan dengan jumlah CPU yang dapat digunakan oleh sistem secara efektif. Barrier (penyangga) pada komputer yang mempunyai CPU lebih dari satu umumnya tidak jelas. Jika programmer sistem mendapatkan kesulitan untuk menyinkronkan CPU-CPU, misalnya, maka sinkronisasi ini secara efektif akan membatasi jumlah CPU yang dapat digunakan sistem.

Sumber : http://margono.staff.uns.ac.id/2009/09/10/mengukur-kualitas-arsitektur-komputer/

Selasa, 20 September 2011

Evolusi Aritektur Komputer


Pengertian Komputer
Komputer adalah alat yang dipakai untuk mengolah data menurut perintah yang telah dirumuskan. Kata komputer semula dipergunakan untuk menggambarkan orang yang perkerjaannya melakukan perhitungan aritmatika, dengan atau tanpa alat bantu, tetapi arti kata ini kemudian dipindahkan kepada mesin itu sendiri. Asal mulanya, pengolahan informasi hampir eksklusif berhubungan dengan masalah aritmatika, tetapi komputer modern dipakai untuk banyak tugas yang tidak berhubungan dengan matematika.
Secara luas, Komputer dapat didefinisikan sebagai suatu peralatan elektronik yang terdiri dari beberapa komponen, yang dapat bekerja sama antara komponen satu dengan yang lain untuk menghasilkan suatu informasi berdasarkan program dan data yang ada. Adapun komponen komputer adalah meliputi : Layar Monitor, CPU, Keyboard, Mouse dan Printer (sbg pelengkap). Tanpa printer komputer tetap dapat melakukan tugasnya sebagai pengolah data, namun sebatas terlihat dilayar monitor belum dalam bentuk print out (kertas).
Dalam definisi seperti itu terdapat alat seperti slide rule, jenis kalkulator mekanik mulai dari abakus dan seterusnya, sampai semua komputer elektronik yang kontemporer. Istilah lebih baik yang cocok untuk arti luas seperti "komputer" adalah "yang memproses informasi" atau "sistem pengolah informasi."
Saat ini, komputer sudah semakin canggih. Tetapi, sebelumnya komputer tidak sekecil, secanggih, sekeren dan seringan sekarang. Dalam sejarah komputer, ada 5 generasi dalam sejarah komputer.
Komputer yang kita pakai sekarang sudah merasakan beberapa kali evolusi, sebelum dibuat diperlukan sebuah rancangan terlabih dahuli atau Design Komputer. Design Komputer adalah seni menghasilkan komputer menurut spesifIkasi biaya dan kinerja yang berdaya saing. Arsitektur komputer adalah seni membuat spesifIkasi yang berlaku sepanjang beberapa generasi teknologi.
Seperti Johann Sebastian Bach, yang menggubah musik untuk dimainkan dengan piano, menghadapi kendala selera instrumen dan cita rasa musik pada jamannya. Dalam keberadaan kendala tersebut, ia menghasilkan melodi tambahan dalam suatu aransemen yang kompleks dan dalam irama gembira. Kita masih bisa menikmatinya sekarang, sekitar 250 tahun dari jamannya. Kejeniusannya menggema sepanjang 10 enerasi manusia, yang hidup lebih lama dari pada gelombang perubahan artistik, politik, dan sosial.

Di atas ialah sebuah analogi tentang sebuah evolusi, begitu pula komputer juga memiliki beberapa evolusi. Para perancang komputer, menggunakan bakat dan kepandaian untuk memanfaatkan teknologi yang telah ada dengan tepat. Permasalahan yang dihadapai para perancang komputer ialah menyusun bagian yang memanfaatkan atau mengeksploitir seperangkat teknologi barn, khususnya apabila anda belum mengetabui secara pasti mengenai teknologi yang akan ada.

Arsitek komputer, harns melihat 20 tabun ke depan dan memvi- sualisasikan teknologi masa datang, agar ia dapat menciptakan mesin atau komputer yang dapat mengikuti perubahan teknologi dengan baik. Pada dua dekade yang lalu, kebanyakan arsitek tidak menyadari bahwa keputusannya untuk merancang mesin yang barn akan berdampak pada mesin yang dirancang 20 tahun atau lebih pada masa berikutnya.
Generasi komputer
Generasi Pertama
Dengan terjadinya Perang Dunia Kedua, negara-negara yang terlibat dalam perang tersebut berusaha mengembangkan komputer untuk mengeksploit potensi strategis yang dimiliki komputer. Hal ini meningkatkan pendanaan pengembangan komputer serta mempercepat kemajuan teknik komputer. Pada tahun 1941, Konrad Zuse, seorang insinyur Jerman membangun sebuah komputer, Z3, untuk mendesain pesawat terbang dan peluru kendali.
Pihak sekutu juga membuat kemajuan lain dalam pengembangan kekuatan komputer. Tahun 1943, pihak Inggris menyelesaikan komputer pemecah kode rahasia yang dinamakan Colossus untuk memecahkan kode rahasia yang digunakan Jerman. Dampak pembuatan Colossus tidak terlalu memengaruhi perkembangan industri komputer dikarenakan dua alasan. Pertama, Colossus bukan merupakan komputer serbaguna(general-purpose computer), ia hanya didesain untuk memecahkan kode rahasia. Kedua, keberadaan mesin ini dijaga kerahasiaannya hingga satu dekade setelah perang berakhir.
Usaha yang dilakukan oleh pihak Amerika pada saat itu menghasilkan suatu kemajuan lain. Howard H. Aiken (1900-1973), seorang insinyur Harvard yang bekerja dengan IBM, berhasil memproduksi kalkulator elektronik untuk US Navy. Kalkulator tersebut berukuran panjang setengah lapangan bola kaki dan memiliki rentang kabel sepanjang 500 mil. The Harvard-IBM Automatic Sequence Controlled Calculator, atau Mark I, merupakan komputer relai elektronik. Ia menggunakan sinyal elektromagnetik untuk menggerakkan komponen mekanik. Mesin tersebut beropreasi dengan lambat (ia membutuhkan 3-5 detik untuk setiap perhitungan) dan tidak fleksibel (urutan kalkulasi tidak dapat diubah). Kalkulator tersebut dapat melakukan perhitungan aritmatik dasar dan persamaan yang lebih kompleks.
Perkembangan komputer lain pada masa kini adalah Electronic Numerical Integrator and Computer (ENIAC), yang dibuat oleh kerjasama antara pemerintah Amerika Serikat dan University of Pennsylvania. Terdiri dari 18.000 tabung vakum, 70.000 resistor, dan 5 juta titik solder, komputer tersebut merupakan mesin yang sangat besar yang mengonsumsi daya sebesar 160kW.
Komputer ini dirancang oleh John Presper Eckert (1919-1995) dan John W. Mauchly (1907-1980), ENIAC merupakan komputer serbaguna (general purpose computer) yang bekerja 1000 kali lebih cepat dibandingkan Mark I.
Pada pertengahan 1940-an, John von Neumann (1903-1957) bergabung dengan tim University of Pennsylvania dalam usaha membangun konsep desain komputer yang hingga 40 tahun mendatang masih dipakai dalam teknik komputer. Von Neumann mendesain Electronic Discrete Variable Automatic Computer (EDVAC) pada tahun 1945 dengan sebuah memori untuk menampung baik program ataupun data. Teknik ini memungkinkan komputer untuk berhenti pada suatu saat dan kemudian melanjutkan pekerjaannya kembali. Kunci utama arsitektur von Neumann adalah unit pemrosesan sentral (CPU), yang memungkinkan seluruh fungsi komputer untuk dikoordinasikan melalui satu sumber tunggal. Tahun 1951, UNIVAC I (Universal Automatic Computer I) yang dibuat oleh Remington Rand, menjadi komputer komersial pertama yang memanfaatkan model arsitektur Von Neumann tersebut.
Baik Badan Sensus Amerika Serikat dan General Electric memiliki UNIVAC. Salah satu hasil mengesankan yang dicapai oleh UNIVAC dalah keberhasilannya dalam memprediksi kemenangan Dwilight D. Eisenhower dalam pemilihan presiden tahun 1952.
Komputer Generasi pertama dikarakteristik dengan fakta bahwa instruksi operasi dibuat secara spesifik untuk suatu tugas tertentu. Setiap komputer memiliki program kode biner yang berbeda yang disebut "bahasa mesin" (machine language). Hal ini menyebabkan komputer sulit untuk diprogram dan membatasi kecepatannya. Ciri lain komputer generasi pertama adalah penggunaan tube vakum (yang membuat komputer pada masa tersebut berukuran sangat besar) dan silinder magnetik untuk penyimpanan data.
Generasi Kedua
Pada tahun 1948, penemuan transistor sangat memengaruhi perkembangan komputer. Transistor menggantikan tube vakum di televisi, radio, dan komputer. Akibatnya, ukuran mesin-mesin elektrik berkurang drastis.
Transistor mulai digunakan di dalam komputer mulai pada tahun 1956. Penemuan lain yang berupa pengembangan memori inti-magnetik membantu pengembangan komputer generasi kedua yang lebih kecil, lebih cepat, lebih dapat diandalkan, dan lebih hemat energi dibanding para pendahulunya. Mesin pertama yang memanfaatkan teknologi baru ini adalah superkomputer. IBM membuat superkomputer bernama Stretch, dan Sprery-Rand membuat komputer bernama LARC. Komputer-komputer ini, yang dikembangkan untuk laboratorium energi atom, dapat menangani sejumlah besar data, sebuah kemampuan yang sangat dibutuhkan oleh peneliti atom. Mesin tersebut sangat mahal dan cenderung terlalu kompleks untuk kebutuhan komputasi bisnis, sehingga membatasi kepopulerannya. Hanya ada dua LARC yang pernah dipasang dan digunakan: satu di Lawrence Radiation Labs di Livermore, California, dan yang lainnya di US Navy Research and Development Center di Washington D.C. Komputer generasi kedua menggantikan bahasa mesin dengan bahasa assembly. Bahasa assembly adalah bahasa yang menggunakan singkatan-singakatan untuk menggantikan kode biner.
Pada awal 1960-an, mulai bermunculan komputer generasi kedua yang sukses di bidang bisnis, di universitas, dan di pemerintahan. Komputer-komputer generasi kedua ini merupakan komputer yang sepenuhnya menggunakan transistor. Mereka juga memiliki komponen-komponen yang dapat diasosiasikan dengan komputer pada saat ini: printer, penyimpanan dalam disket, memory, sistem operasi, dan program.
Salah satu contoh penting komputer pada masa ini adalah 1401 yang diterima secara luas di kalangan industri. Pada tahun 1965, hampir seluruh bisnis-bisnis besar menggunakan komputer generasi kedua untuk memprosesinformasi keuangan.
Program yang tersimpan di dalam komputer dan bahasa pemrograman yang ada di dalamnya memberikan fleksibilitas kepada komputer. Fleksibilitas ini meningkatkan kinerja dengan harga yang pantas bagi penggunaan bisnis. Dengan konsep ini, komputer dapat mencetak faktur pembelian konsumen dan kemudian menjalankan desain produk atau menghitung daftar gaji. Beberapa bahasa pemrograman mulai bermunculan pada saat itu. Bahasa pemrograman Common Business-Oriented Language (COBOL) dan Formula Translator (FORTRAN) mulai umum digunakan. Bahasa pemrograman ini menggantikan kode mesin yang rumit dengan kata-kata, kalimat, dan formula matematika yang lebih mudah dipahami oleh manusia. Hal ini memudahkan seseorang untuk memprogram dan mengatur komputer. Berbagai macam karier baru bermunculan (programmer, analis sistem, dan ahli sistem komputer). Industr piranti lunak juga mulai bermunculan dan berkembang pada masa komputer generasi kedua ini.
Generasi Ketiga
Walaupun transistor dalam banyak hal mengungguli tube vakum, namun transistor menghasilkan panas yang cukup besar, yang dapat berpotensi merusak bagian-bagian internal komputer. Batu kuarsa (quartz rock) menghilangkan masalah ini. Jack Kilby, seorang insinyur di Texas Instrument, mengembangkan sirkuit terintegrasi (IC : integrated circuit) di tahun 1958. IC mengkombinasikan tiga komponen elektronik dalam sebuah piringan silikon kecil yang terbuat dari pasir kuarsa. Pada ilmuwan kemudian berhasil memasukkan lebih banyak komponen-komponen ke dalam suatu chip tunggal yang disebut semikonduktor. Hasilnya, komputer menjadi semakin kecil karena komponen-komponen dapat dipadatkan dalam chip. Kemajuan komputer generasi ketiga lainnya adalah penggunaan sistem operasi (operating system) yang memungkinkan mesin untuk menjalankan berbagai program yang berbeda secara serentak dengan sebuah program utama yang memonitor dan mengkoordinasi memori komputer.
Generasi Keempat
Setelah IC, tujuan pengembangan menjadi lebih jelas: mengecilkan ukuran sirkuit dan komponen-komponen elektrik. Large Scale Integration (LSI) dapat memuat ratusan komponen dalam sebuah chip. Pada tahun 1980-an, Very Large Scale Integration (VLSI) memuat ribuan komponen dalam sebuah chip tunggal.
Ultra-Large Scale Integration (ULSI) meningkatkan jumlah tersebut menjadi jutaan. Kemampuan untuk memasang sedemikian banyak komponen dalam suatu keping yang berukurang setengah keping uang logam mendorong turunnya harga dan ukuran komputer. Hal tersebut juga meningkatkan daya kerja, efisiensi dan keterandalan komputer. Chip Intel 4004 yang dibuat pada tahun 1971membawa kemajuan pada IC dengan meletakkan seluruh komponen dari sebuah komputer (central processing unit, memori, dan kendali input/output) dalam sebuah chip yang sangat kecil. Sebelumnya, IC dibuat untuk mengerjakan suatu tugas tertentu yang spesifik. Sekarang, sebuah mikroprosesor dapat diproduksi dan kemudian diprogram untuk memenuhi seluruh kebutuhan yang diinginkan. Tidak lama kemudian, setiap piranti rumah tangga seperti microwave, oven, televisi, dan mobil dengan electronic fuel injection (EFI) dilengkapi dengan mikroprosesor.
Perkembangan yang demikian memungkinkan orang-orang biasa untuk menggunakan komputer biasa. Komputer tidak lagi menjadi dominasi perusahaan-perusahaan besar atau lembaga pemerintah. Pada pertengahan tahun 1970-an, perakit komputer menawarkan produk komputer mereka ke masyarakat umum. Komputer-komputer ini, yang disebut minikomputer, dijual dengan paket piranti lunak yang mudah digunakan oleh kalangan awam. Piranti lunak yang paling populer pada saat itu adalah program word processing dan spreadsheet. Pada awal 1980-an, video game seperti Atari 2600 menarik perhatian konsumen pada komputer rumahan yang lebih canggih dan dapat diprogram.
Pada tahun 1981, IBM memperkenalkan penggunaan Personal Computer (PC) untuk penggunaan di rumah, kantor, dan sekolah. Jumlah PC yang digunakan melonjak dari 2 juta unit di tahun 1981 menjadi 5,5 juta unit di tahun 1982. Sepuluh tahun kemudian, 65 juta PC digunakan. Komputer melanjutkan evolusinya menuju ukuran yang lebih kecil, dari komputer yang berada di atas meja (desktop computer) menjadi komputer yang dapat dimasukkan ke dalam tas (laptop), atau bahkan komputer yang dapat digenggam (palmtop).
IBM PC bersaing dengan Apple Macintosh dalam memperebutkan pasar komputer. Apple Macintosh menjadi terkenal karena memopulerkan sistem grafis pada komputernya, sementara saingannya masih menggunakan komputer yang berbasis teks. Macintosh juga memopulerkan penggunaan piranti mouse.
Pada masa sekarang, kita mengenal perjalanan IBM compatible dengan pemakaian CPU: IBM PC/486, Pentium, Pentium II, Pentium III, Pentium IV (Serial dari CPU buatan Intel). Juga kita kenal AMD k6, Athlon, dsb. Ini semua masuk dalam golongan komputer generasi keempat.
Seiring dengan menjamurnya penggunaan komputer di tempat kerja, cara-cara baru untuk menggali potensial terus dikembangkan. Seiring dengan bertambah kuatnya suatu komputer kecil, komputer-komputer tersebut dapat dihubungkan secara bersamaan dalam suatu jaringan untuk saling berbagi memori, piranti lunak, informasi, dan juga untuk dapat saling berkomunikasi satu dengan yang lainnya. Jaringan komputer memungkinkan komputer tunggal untuk membentuk kerjasama elektronik untuk menyelesaikan suatu proses tugas. Dengan menggunakan perkabelan langsung (disebut juga Local Area Network atau LAN), atau [kabel telepon, jaringan ini dapat berkembang menjadi sangat besar.
Generasi Kelima
Mendefinisikan komputer generasi kelima menjadi cukup sulit karena tahap ini masih sangat muda. Contoh imajinatif komputer generasi kelima adalah komputer fiksi HAL9000 dari novel karya Arthur C. Clarke berjudul 2001: Space Odyssey. HAL menampilkan seluruh fungsi yang diinginkan dari sebuah komputer generasi kelima. Dengan kecerdasan buatan (artificial intelligence atau AI), HAL dapat cukup memiliki nalar untuk melakukan percapakan dengan manusia, menggunakan masukan visual, dan belajar dari pengalamannya sendiri.
Walaupun mungkin realisasi HAL9000 masih jauh dari kenyataan, banyak fungsi-fungsi yang dimilikinya sudah terwujud. Beberapa komputer dapat menerima instruksi secara lisan dan mampu meniru nalar manusia. Kemampuan untuk menterjemahkan bahasa asing juga menjadi mungkin. Fasilitas ini tampak sederhana. Namun fasilitas tersebut menjadi jauh lebih rumit dari yang diduga ketika programmer menyadari bahwa pengertian manusia sangat bergantung pada konteks dan pengertian ketimbang sekedar menterjemahkan kata-kata secara langsung.
Banyak kemajuan di bidang desain komputer dan teknologi yang semakin memungkinkan pembuatan komputer generasi kelima. Dua kemajuan rekayasa yang terutama adalah kemampuan pemrosesan paralel, yang akan menggantikan model non Neumann. Model non Neumann akan digantikan dengan sistem yang mampu mengkoordinasikan banyak CPU untuk bekerja secara serempak. Kemajuan lain adalah teknologi superkonduktor yang memungkinkan aliran elektrik tanpa ada hambatan apapun, yang nantinya dapat mempercepat kecepatan informasi.
Jepang adalah negara yang terkenal dalam sosialisasi jargon dan proyek komputer generasi kelima. Lembaga ICOT (Institute for new Computer Technology) juga dibentuk untuk merealisasikannya. Banyak kabar yang menyatakan bahwa proyek ini telah gagal, namun beberapa informasi lain bahwa keberhasilan proyek komputer generasi kelima ini akan membawa perubahan baru paradigma komputerisasi di dunia.