Senin, 26 Desember 2016

PROSESOR PARALEL






PROSESOR  PARALEL
 
A.PROSESOR PARALEL

             Pemrosesan paralel (parallel processing) adalah penggunaaan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya.
    Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.
     Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.
Komputasi paralel membutuhkan:
1.     algoritma
2.     bahasa pemrograman
3.     compiler
    
        Sebagaian besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai lebih dari satu. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan satu CPU dapat melakukan parallel processing dengan menghubungkannya dengan komputer lain pada jaringan. Namun, parallel processing ini memerlukan software canggih yang disebut distributed processing software. Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga parallel computing. Yang terdiri dari empat kelompok komputer.

B. JARINGAN INTERKONEKSI

Interkoneksi adalah hubungan yang terjadi antara satu koneksi dengan koneksi yang lain. Interkoneksi antar jaringan adalah hubungan atau koneksi antara satu jaringan dengan jaringan yang lain. Jaringan yang terhubung ini bukan hanya jaringan telekomunikasi namun semua bentuk jaringan yang melakukan interkoneksi.

Banyak yang menganalisa interkoneksi antar jaringan adalah hubungan antar jaringan telekomunikasi. Namun secara harfiah interkoneksi jaringan tidak hanya mengarah ke jaringan telekomunikasi, namun ke semua jaringan.
Topology nya adalah bagaimana sebuah jaringan itu terbentuk, dan bagaimana keamanan dari jaringan itu sendiri. Namun fokus permasalahan disini adalah interkoneksi antara jaringan komputer, bukan kontes astaga.com lifestyle on the net.

Komputer yang terhubung dengan komputer yang lain melalui jaringan dapat melakukan koneksi dengan konfigurasi jaringan. Koneksi ini memerlukan sebuah Port Koneksi pada kartu jaringan (NIC = Network Interface Card) yang berfungsi sebagai jembatan dari komputer ke sebuah jaringan. Peralatan yang dibutuhkan untuk koneksi antara jaringan diantaranya adalah :

           1. NIC (Network Interface Card)
                          Fungsi NIC selain itu adalah untuk mengubah data paralel dalam sebuah bus                     komputer ke dalam bentuk data serial. Untuk koneksi ini NIC membutuhkan                             sebuah penghubung yang berupa kabel, kabel ini dapat berupa kabel UTP atau
                  Fiber Optic.

           2. HUB 
                           Hub ini ada dua jenis, yaitu passive hub dan active hub. Fungsi hub adalah
                   sebagai terminal penghubunga antara dua koneksi atau lebih. Dimana hub ini
                   sebagai terminal persinggahan dan menambah node didalam sebuah LAN (Local
                   Area Network).
  
           3. Repeater
                           Repeater ini berfungsi memperluas cakupan suatu jaringan tanpa melakukan
                   filter terhadap sinyal yang masuk dan keluar. Tugas utamanya mensikronisasikan
                  dan mentransmisikan ulang sinyal dari suatu segmen ke segmen yang lain
                  didalam sebuah jaringan.

            4. Bridge
                           Fungsi Bridge kurang lebih sama dengan repeater namun Bridge melakukan
                   filter terhadap sinyal, sehingga setiap segmen tidak dipengaruhi oleh segmen
                   yang lain. Selain itu Bridge juga dapat menghubungkan jaringan yang berbeda
                   segmen protokol aksesnya, namun dengan syarat protokol komunikasinya sama.

             5. Router
                           Fungsi router adalah menentukan jalur routing dan mengirimkan paket
                   paket informasi pada internet yang bekerja pada layer 3 OSI.


C. SIMD Dan MIMD

     A SIMD (SINGLE INSTRUCTION STREAM MULTIPLE DATA STREAM)

SIMD adalah singkatan dari Single Instruction, Multiple Data, merupakan sebuah istilah dalam komputasi yang merujuk kepada sekumpulan operasi yang digunakan untuk menangani jumlah data yang sangat banyak dalam paralel secara efisien, seperti yang terjadi dalam prosesor vektor atau prosesor larik. SIMD pertama kali dipopulerkan pada superkomputer skala besar, meski sekarang telah ditemukan pada komputer pribadi.




Contoh aplikasi yang dapat mengambil keuntungan dari SIMD adalah aplikasi yang memiliki nilai yang sama yang ditambahkan ke banyak titik data (data point), yang umum terjadi dalam aplikasi multimedia. Salah satu contoh operasinya adalah mengubah brightness dari sebuah gambar. Setiap pixel dari sebuah gambar 24-bit berisi tiga buah nilai berukuran 8-bit brightness dari porsi warna merah (red), hijau (green), dan biru (blue). Untuk melakukan perubahan brightness, nilai R, G, dan B akan dibaca dari memori, dan sebuah nilai baru ditambahkan (atau dikurangkan) terhadap nilai-nilai R, G, B tersebut dan nilai akhirnya akan dikembalikan (ditulis kembali) ke memori.

Komputer yang mempunyai beberapa unit prosesor di bawah satu supervisi satu unit common control. Setiap prosesor menerima instruksi yang sama dari unit kontrol, tetapi beroperasi pada data yang berbeda.

Prosesor yang memiliki SIMD menawarkan dua keunggulan, yakni:

· Data langsung dapat dipahami dalam bentuk blok data, dibandingkan dengan beberapa data yang terpisah secara sendiri-sendiri. Dengan menggunakan blok data, prosesor dapat memuat data secara keseluruhan pada waktu yang sama. Daripada melakukan beberapa instruksi "ambil pixel ini, lalu ambil pixel itu, dst", sebuah prosesor SIMD akan melakukannya dalam sebuah instruksi saja, yaitu "ambil semua pixel itu!" (istilah "semua" adalah nilai yang berbeda dari satu desain ke desain lainnya). Jelas, hal ini dapat mengurangi banyak waktu pemrosesan (akibat instruksi yang dikeluarkan hanya satu untuk sekumpulan data), jika dibandingkan dengan desain prosesor tradisional yang tidak memiliki SIMD (yang memberikan satu instruksi untuk satu data saja).

· Sistem SIMD umumnya hanya mencakup instruksi-instruksi yang dapat diaplikasikan terhadap semua data dalam satu operasi. Dengan kata lain, sistem SIMD dapat bekerja dengan memuat beberapa titik data secara sekaligus, dan melakukan operasi terhadap titik data secara sekaligus.

Sayangnya, beberapa desainer SIMD terbentur dengan beberapa pertimbangan desain yang berada di luar kontrol mereka. Salah satu pertimbangan tersebut adalah harus menambahkan banyak register untuk menampung data yang akan diproses. Idealnya, hal ini dapat dilakukan dengan menambahkan unit SIMD ke dalam prosesor agar memiliki registernya sendiri, tetapi beberapa desainer terpaksa menggunakan register yang telah ada, umumnya yang digunakan adalah register floating-point. Register floating-point umumnya memiliki ukuran 64-bit, yang lebih kecil daripada yang dibutuhkan oleh SIMD agar bekerja secara optimal, meskipun hal ini dapat mendatangkan masalah jika kode hendak mencoba untuk menggunakan instruksi floating-point dan SIMD secara bersamaan.

Pada pendesainan awal SIMD, terdapat beberapa prosesor yang khusus disiapkan untuk melakukan tugas ini, yang seringnya disebut sebagai Digital Signal Processor (DSP). Perbedaan utama antara SIMD dan DSP adalah DSP merupakan prosesor yang komplit dengan set instruksinya sendiri (yang meskipun lebih sulit digunakan), sementara SIMD hanya bergantung pada register general-purpose untuk menangani detail program, dan instruksi SIMD hanya menangani manipulasi data.

Penggunaan instruksi SIMD pertama kali dilakukan dalam superkomputer vektor dan dipopulerkan oleh Cray pada tahun 1970-an. Akhir-akhir ini, SIMD skala kecil (64-bit atau 128-bit) telah menjadi populer dalam CPU yang bersifat general purpose, yang dimulai pada tahun 1994 dengan set instruks MAX yang diaplikasikan pada Hewlett-Packard PA-RISC. Instruksi SIMD, saat ini dapat ditemukan dalam kebanyakan prosesor, seperti halnya AltiVec dalam prosesor PowerPC; Intel MMX, SSE, SSE2, SSE3, SSE4, AMD 3DNow! dalam prosesor Intel x86; VIS dalam prosesor prosesor SPARC; MAX dalam Hewlett-Packard PA-RISC; MDMX serta MIPS-3D dalam MIPS serta MVI dalam prosesor DEC Alpha. Meskipun demikian, perangkat lunak pada umumnya tidak mengeksploitasi instruksi, dan bahkan instruksi ini hanya digunakan dalam aplikasi yang khusus, seperti pengolahan grafik.

Meskipun hal ini secara umum telah membuktikan bahwa sulitnya mencari aplikasi komersial yang dikhususkan untuk prosesor SIMD, ada beberapa kesuksesan yang terjadi seperti halnya aplikasi GAPP yang dikembangkan oleh Lockheed Martin. Versi yang lebih baru dari GAPP bahkan menjadi aplikasi yang dapat memproses video secara waktu-nyata (real-time) seperti halnya konversi antar bermacam-macam standar video yang (seperti konversi NTSC ke PAL atau sebaliknya, NTSC ke HDTV atau sebaliknya dan lain-lain), melakukan deinterlacing, pengurangan noise (noise reduction), kompresi video, dan perbaikan citra gambar (image enhancement).

Mesin SIMD secara umum mempunyai karakteristik sebagai berikut :

· Mendistribusi proses ke sejumlah besar hardware

· Beroperasi terhadap berbagai elemen data yang berbeda

· Melaksanakan komputasi yang sama terhadap semua elemen data

Sistem Komputer kategori SIMD

· Beberapa Processor Unit (Processing Element) disupervisi oleh Control Unit yang sama.
· Semua Processing Element menerima instruksi yang sama dari control unit tetapi mengeksekusi data yang berbeda dari alur data yang berbeda pula.
· Subsistem memori berisi modul-modul memori.

     B. Komputer MIMD (Multiple Instruction stream-Multiple Data stream)

Pada sistem komputer MIMD murni terdapat interaksi di antara n pemroses. Hal ini disebabkan seluruh aliran dari dan ke memori berasal dari space data yang sama bagi semua pemroses. Komputer MIMD bersifat tightly coupled jika tingkat interaksi antara pemroses tinggi dan disebut loosely coupled jika tingkat interaksi antara pemroses rendah.

Analisa Algoritma Paralel

Pada saat sebuah algoritma digunakan untuk memecahkan sebuah problem, maka performance dari algoritma tersebut akan dinilai. Hal ini berlaku untuk algoritma sekuensial maupun algoritma paralel. Penampilan sebuah algoritma pengolahan peralel dapat dinilai dari beberapa kriteria, seperti running time dan banyaknya prosesor yang digunakan.

Running Time

Running time adalah waktu yang digunakan oleh sebuah algoritma untuk menyelesaikan masalah pada sebuah komputer paralel dihitung mulai dari saat algoritma mulai hingga saat algoritma berhenti. Jika prosesor-prosesornya tidak mulai dan selesai pada saat yang bersamaan, maka running time dihitung mulai saat komputasi pada prosesor pertama dimulai hingga pada saat komputasi pada prosesor terakhir selesai.

Counting Steps

Untuk menentukan running time, secara teoritis dilakukan analisa untuk menentukan waktu yang dibutuhkan sebuah algoritma dalam mencari solusi dari sebuah masalah. Hal ini dilakukan dengan cara menghitung banyaknya operasi dasar, atau step (langkah), yang dilakukan oleh algoritma untuk keadaan terburuknya (worst case).

Langkah-langkah yang diambil oleh sebuah algoritma dibedakan ke dalam dua jenis yaitu :

· Computational step
Sebuah computational step adalah sebuah operasi aritmetika atau operasi logika yang dilakukan terhadap sebuah data dalam sebuah prosesor.

· Routing step.
Pada routing step, sebuah data akan melakukan perjalanan dari satu prosesor ke prosesor
 lain melalui shared memory atau melalui jaringan komunikasi.

· Speedup
   Pengukuran speedup sebuah algoritma paralel adalah salah satu cara untuk mengevaluasi
   kinerja algoritma tersebut.
· Speedup adalah perbandingan antara waktu yang diperlukan algoritma sekuensial yang
   paling efisien untuk melakukan komputasi dengan waktu yang dibutuhkan untuk
   melakukan komputasi yang sama pada sebuah mesin pipeline atau paralel.

D. ARSITEKTUR PENGGANTI

Dalam bidang teknik komputer, arsitektur pengganti merupakan konsep perencanaan atau struktur pengoperasian dasar dalam komputer atau bisa dikatakan rencana cetak biru dan deskripsi fungsional kebutuhan dari perangkat keras yang didesain. implementasi perencanaan dari masing-masing bagian seperti CPU, RAM, ROM, Memory Cache, dll.
daftar pustaka : 

- http://myanaa-kampus.blogspot.co.id/2010/01/tugas-pemrosesan-parallel-simd-dan-mimd.html
- https://pranoto0512.wordpress.com/rted/pengertian-interkoneksi/
- https://en.wikipedia.org/wiki/MIMD

Arsitektur family komputer IBM PC


  • family IBM dan Turunannya

IBM PC adalah sebutan untuk keluarga komputer pribadi buatan IBM. IBM PC diperkenalkan pada 12 Agustus 1981, dan "dipensiunkan" pada tanggal 2 April 1987. Sejak diluncurkan oleh IBM, IBM PC memiliki beberapa keluarga, yaitu : 

- IBM 4860 PCjr
- IBM 5140 Convertible Personal Computer (laptop)
- IBM 5150 Personal Computer (PC yang asli)
- IBM 5155 Portable PC (sebenarnya merupakan PC XT yang portabel)
- IBM 5160 Personal Computer/eXtended Technology
- IBM 5162 Personal Computer/eXtended Technology Model 286 (sebenarnya merupakan
   PC AT)
- IBM 5170 Personal Computer/Advanced Technology


  • komfigurasi mikrokomputer dasar
Berdasarkan UkurannyaBerdasarkan ukurannya, komputer digolongkan ke dalam micro computer (komputer mikro), mini computer (komputer mini), small computer (komputer kecil), medium computer (komputer menengah), large computer (komputer besar) dan super computer (komputer super).1.Micro ComputerMicro Computer (Mikro Komputer) disebut juga dengan nama personal computer (komputer personal) . ukuran main memory komputer mikro sekarang berkisar dari 16 MB sampai lebih dari 128 MB, dengan konfigurasi operand register 8 bit, 16 bit, atau 32 bit. Kecepatan komputer mikro sekarang berkisar 200 Mhz sampai dengan 500 Mhz.Komputer mikro umumnya adalah single-user (pemakainya tunggal), yaitu satu komputer hanya dapat digunakan untuk satu pemakai saja untuk tiap saat.
Chipset adalah set dari chip yang mendukung kompatibel yang mengimplementasikan berbagai fungsi tertentu seperti pengontrol interupt, pengontrol bus dan timer.
Chip khusus yang di sebut koprosesor yang beroperasi bersama dengan CPU guna meningkatkan fungsionalitasnya.
  • komponen IBM PC
- Sistem Kontrol BUS: Pengontrol BUS, Buffer Data, dan Latches Alamat
- Sistem Kontrol Interrupt: Pengontrol Interrupt
- Sistem Kontrol RAM dan ROM: Chip RAM dan ROM, Decoder Alamat, dan Buffer
- Sistem Kontrol DMA: Pengontrol DMA
- Timer: Timer Interval Programmable

Daftar Pustaka : 

- https://id.wikipedia.org/wiki/IBM_PC
- http://icikomputer.blogspot.co.id/2015/09/arsitektur-famili-komputer-ibm.html
- http://webcache.googleusercontent.com/search?q=cache:Iuygy004ZSEJ:dinus.ac.id/repository/docs/ajar/Arsitektur_Komputer.pptx+&cd=13&hl=id&ct=clnk&gl=id

Unit input/output

 

I/O adalah suatu mekanisme pengiriman data secara bertahap dan terus menerus melalui suatu aliran data dari proses ke peranti (begitu pula sebaliknya). Fungsi I/O pada dasarnya adalah mengimplementasikan algoritma I/O pada level aplikasi. Hal ini dikarenakan kode aplikasi sangat fleksible.
Unit Input/Output (I/O) adalah bagian dari sistem mikroprosesor yang digunakan oleh mikroprosesor itu untuk berhubungan dengan dunia luar. Unit input adalah unit luar yang digunakan untuk memasukkan data dari luar ke dalam mikroprosesor ini, contohnya data yang berasal dari keyboard atau mouse. Sementara unit output biasanya digunakan untuk menampilkan data, atau dengan kata lain untuk menangkap data yang dikirimkan oleh mikroprosesor, contohnya data yang akan ditampilkan pada layar monitor atau printer. Bagian input (masukan) dan juga keluaran (output) ini juga memerlukan sinyal kontrol, antara lain untuk baca I/O (Input/Ouput Read [IOR]) dan untuk tulis I/O (Input/Output Write [IOW])
  • Sistem Bus
sistem bus atau bus system dalam arsitektur komputer merujuk pada bus yang digunakan oleh sistem komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya. Sebuah bus adalah sebutan untuk jalur di mana data dapat mengalir dalam komputer. Jalur –jalur ini digunakan untuk komunikasi dan dapat dibuat antara dua elemen atau lebih. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi oleh CPU melalui perantara sistem bus.
Saluran bus dapat dipisahkan menjadi dua tipe umum, yaitu dedicated dan multiplexed. Suatu saluran bus dedicated secara permanen diberi sebuah fungsi atau subset fisik komponen- komponen komputer.
Sebagai contoh dedikasi fungsi adalah penggunaan alamat dedicated terpisah dan saluran data yang merupakan suatu hal yang umum bagi bus. Namun, hal ini bukanlah hal yang penting. Misalnya, alamat dan informasi data dapat ditransmisikan melalui sejumlah saluran yang sama dengan mengggunakan saluran address valid control.
  1. Struktur sistem bus
a)      Data bus ( Saluran Data )
         Saluran data memberikan lintasan bagi perpindahan data antara dua modul
         sistem. Saluran ini secara kolektif disebut bus data. Umunya bus data terdiri
         dari 8, 16, 32 saluran.
b)      Address Bus ( Saluran Alamat )
         1.      Saluran alamat digunakan untuk menandakan sumber atau tujuan data
                  pada bus data. Misalnya , bila CPU akan membaca sebuah word dat adari
                  memroi, maka CPU akan menaruh alamt word yang dimaksud pada saluran
                  alamat.
        2.      Digunakan untuk mengirinkan alamat word pada memori yang akan
                  diakses CPU.
        3.      Digunakan untuk saluran alamat perangkat modul komputer saat CPU
                  mengakses suatu modul.
        4.      Semua peralatan yang terhubung dengan sistem komputer, agar dapat
                  diakses harus memiliki alamat            
                  Contoh : mengakses port I/O, maka port I/O harus memiliki alamat
                  hardwarenya.
c)      Control Bus ( Saluran Control )
                Saluran kontrol digunakan untuk mengontrol akses ke saluran alamat dan
                penggunaan data. Karena data dan saluran alamat dipakai bersama oleh
                seluruh komponen, maka harus ada alat unruk mengintrol penggunaanya.
  • Standar I/O interface
Interface atau antarmuka adalah Penghubung antara dua sistem atau alat media penghubung antara satu subsistem dengan subsistem lainnya. Melalui penghubung ini memungkinkan sumber daya mengalir dari satu subsistem ke subsistem yang lainnya. Keluaran (output) dari suatu subsistem akan menjadi masukan (input) untuk subsistem lainnya dengan melalui penghubung.

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

   Interface aplikasi I/O melibatkan abstraksi, enkapsulasi, dan software layering. Device driver mengenkapsulasi tiap-tiap peralatan I/O ke dalam masing-masing 1 kelas yang umum (interface standar). Tujuan dari adanya lapisan device driver ini adalah untuk menyembunyikan  perbedaan-perbedaan yang ada pada device controller dari subsistem I/O pada  kernel. Karena hal ini, subsistem I/O dapat bersifat independen dari hardware. Beberapa hal yang berhubungan dengan Application I/O Interface adalah:

1. Peralatan Block dan Karakter:
- Perangkat Block termasuk disk drive
- Perintah termasuk baca, tulis dan cari
- Raw I/O atau akses file-sistem
- Pemetaan memori untuk pengaksesan file
- Perangkat karakter termasuk keyboad, mouse dan serial port
- Perintahnya seperti get, put
- Library layered  dalam proses pengeditan

2. Peralatan Jaringan
             Adanya perbedaan pengalamatan dari jaringan I/O, maka sistem operasi memiliki interface I/O yang berbeda dari baca, tulis dan pencarian pada disk. Salah satu yang banyak digunakan pada sistem operasi adalah interface socket. Socket berfungsi untuk menghubungkan komputer ke jaringan. System call pada socket interface dapat memudahkan suatu aplikasi untuk membuat local  socket, dan menghubungkannya ke remote socket.Dengan menghubungkan komputer ke socket, maka komunikasi antar komputer dapat dilakukan.
3.Jam dan Timer
  Jam dan timer pada hardware komputer, memiliki tiga fungsi : 
- memberi informasi waktu saat ini
- memberi informasi lamanya waktu sebuah proses
- sebagai trigger untuk suatu operasi pada suatu waktu.
Fungsi ini sering digunakan oleh sistem operasi. Akan tetapi, system call untuk pemanggilan fungsi  ini tidak di-standarisasi antar sistem operasi. Hardware yang mengukur waktu dan melakukan operasi trigger dinamakan programmable interval timer yang dapat di set untuk menunggu waktu tertentu dan kemudian melakukan interupsi.

Daftar pustaka : 
  • https://ubay16.wordpress.com/2013/12/27/sistem-inputoutput-io/
  • https://ekofitriyanto.wordpress.com/2013/11/20/sistem-io-2/
  • https://id.wikipedia.org/wiki/I/O
  • http://syahrirmdn.blogspot.co.id/2014/10/sistem-inputoutput-io.html

Sabtu, 05 November 2016

CPU

v  PENGERTIAN CPU

CPU  merupakan  singkatan  dari  Central  Prosessor  Unit  yang  sering  diartikan  oleh  manusia sebagai  tubuh  maupun  dari  otak  sikomputer.  Selain  dapat  mengolah  berbagai  hitungan Aritmatika,  CPU  juga  dapat  mengolah  data-data  yang  telah  masuk  kedalam  komputer  dan menyimpannya  kedalam  Hardisk  maupun  alat  penyimpanan  lainnya  melalui  perintah prosessor yang ada di CPU. CPU sendiri terbuat dari lempengan yang  berbahan silicon yang terdiri  atas  10  juta  transitor  yang  biasa  disebut  “chip”.  Perkembangan  CPU  dari  waktu  ke waktu  semakin  meningkat.  Awal  munculnya  processor,  yakni  hadir  dengan microprocessornya  yang  di  buat  oleh  INTEL,  satu-satunya  produsen  pada  masa  itu  untuk pembuatan  processor.  Namun,  sekarang  ini  sudah  banyak  perusahaan-perusahaan  yang membuat processor.



v  PENGERTIAN BUS SYSTEM 

system bus atau bus system dalam arsitektur komputer merujuk pada bus yang digunakan oleh sistem komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya. Sebuah bus adalah sebutan untuk jalur di mana data dapat mengalir dalam komputer. Jalur –jalur ini digunakan untuk komunikasi dan dapat dibuat antara dua elemen atau lebih. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi oleh CPU melalui perantara sistem bus. 

v  ALU (Aritmetic and Logic Unit)

ALU (Arithmetic and Logic Unit), CU (Control Unit), Register, dan interkoneksinya. ALU merupakan bagian pengolah bilangan biner dari sebuah prosesor. ALU bertugas melakukan operasi-operasi  aritmatika  dan  logika  sesuai  dengan  instruksi  yang  diberikan.  ALU  juga merupakan salah satu bagian yang terpenting. Unit aritmetik logika (ALU) terdiri dari sirkuit elektronik  yang  membuatnya  mampu  melaksanakan  operasi  aritmatika  dan  logika.  Ia mengeksekusi  instruksi  dan  melakukan  perhitungan  (tambah,  kali,  kurang,  dan  bagi)  dan perbandingan.  ALU  bekerja  dengan  register  yang  berbeda  untuk  menyimpan  data  atau informasi  tentang  tindakan  terakhir  yang  dilakukan  oleh  unit  logika.  ALU  mampu membandingkan huruf, angka, atau karakter khusus. Komponen dari rangkaian logika pada ALU  adalah  gerbanggerbang  logika  AND,  OR,  XOR,  dan  NOT  yang  dihubungkan  pada multiplexer.  Selain  itu  juga  terdapat  juga  operasi  shifter  yang  komponen  dasarnya  adalah multiplexer. Komponen ALU mendapatkan masukan data dari register dan sinyal kontrol dari CU.  Untuk  operasi  ALU  dengan  dua  masukan,  diperlukan  dua  register  8-bit:  ACC (accumulator) untuk masukan pertama dan temp (register sementara) untuk masukan kedua. Hasil  dari  operasi  ALU  ini  adalah  data  8-bit  yang  kemudian  diteruskan  ke  register  untuk menyimpan  hasil  operasi  ini.  Selain  itu  juga  dihasilkan  flag  atau  bit  status.  Flag  ini  akan diteruskan  ke  register  yang  menyimpan  flag  hasil  dari  operasi  ALU.  Untuk  mempercepat pemrosesan  data  di  dalam  prosesor,  selain  CU  dan  ALU,  prosesor  juga  membutuhkan memori  dengan  kecepatan  yang  sama  dengan  prosesor.  Memori  khusus  yang diimplementasikan  pada  prosesor  ini  disebut  register.  Komponen  utama  penyusun  register adalah flip-flop


v  Control Unit
Unit  kontrol  (bahasa  Inggris:  Control  Unit  –  CU)  adalah  salah  satu  bagian  dari  CPU  yang bertugas  untuk  memberikan  arahan  /  kendali  /  kontrol  terhadap  operasi  yang  dilakukan  di bagian  ALU  (Arithmetic  Logical  Unit)  di  dalam  CPU  tersebut.  Output  dari  CU  ini  akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut. Pada awal-awal desain komputer, CU diimplementasikan sebagai ad-hoc logic yang susah untuk didesain. Sekarang, CU  diimplementasikan  sebagai  sebuah  microprogram  yang  disimpan  di  dalam  tempat penyimpanan kontrol (control store).

Tugas dari CU adalah sebagai berikut:
1.  Mengatur dan mengendalikan alat-alat input dan output.
2.  Mengambil instruksi-instruksi dari memori utama.
3.  Mengambil data dari memori utama kalau diperlukan oleh proses.
4.  Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan
5.  logika serta mengawasi kerja.
6.  Menyimpan hasil proses ke memori utama.


Proses tiga langkah karakteristik unit control:
1.  Menentukan elemen dasar prosesor
2.  Menjelaskan operasi mikro yang akan dilakukan prosesor
3.  Menentukan fungsi-fungsi yang harus dilakukan unit control agar menyebabkan pembentukan operasi mikro

Masukan-masukan unit control:
1.  Clock / pewaktu
Pewaktu adalah cara unit control dalam menjaga waktunya. Unit control menyebabkan sebuah operasi mikro (atau sejumlah operasi mikro yang bersamaan) dibentuk bagi setiap pulsa waktu. Pulsa ini dikenal sebagai waktu siklus prosesor.

2.  Register instruksi
Opcode instruksi saat itu digunakan untuk menentukan operasi mikro mana yang akan dilakukan selama siklus eksekusi.

3.  Flag
Flag ini diperlukan oleh unit control untuk menentukan status prosesor dan hasil operasi ALU sebelumnya.

4.  Sinyal control untuk mengontrol bus
Bagian bus control bus system memberikan sinyal-sinyal ke unit control, seperti sinyalsinyal interupsi dan acknowledgement.

Keluaran-keluaran unit control:
• Sinyal control didalam prosesor: terdiri dari dua macam: sinyal -sinyal yang menyebabkan data dipindahkan dari register yang satu keregister yang lainnya, dan sinyal-sinyal yang dapat mengaktifasi fungsi-fungsi ALU tertentu.
v  Register

Bagian  CPU  berikutnya  adalah  register.  Register  merupakan  perangkat  memori  sementara yang  menyimpan  data.  Register  membantu  CPU  dalam  melaksanakan  instruksi.  Mereka dikelola oleh unit kontrol. Register berfungsi untuk tempat penyimpanan yang berisi data dan informasi  lainnya  yang  sering  dibutuhkan  ketika  sebuah  program  sedang  berjalan.  Register dimaksudkan untuk dapat diakses dengan sangat cepat. Yang termasuk register di antaranya adalah register uji dan instruksi. Register instruksi berisi instruksi CPU sedangkan register uji dimaksudkan untuk menyimpan hasil kerja yang dilakukan oleh CPU.

Sumber : 

  • http://mbahasilmu.blogspot.co.id/2016/06/fungsi-control-unit-dalam-cpu.html
  • https://mahmudiuye.blogspot.co.id/2015/04/struktur-cpu-fungsi-cpu-alu-control.html

ARSITEKTUR SET INSTRUKSI

           ARSITEKTUR SET INSTRUKSI

Set instruksi merupakan  suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram.
Ada dua bagian utama dalam arsitektur komputer :
1. Instruction set architecture (ISA) / arsitektur set instruksi ISA, meliputi spesifikasi yang menentukan bagaimana   programmer bahasa mesin akan berinteraksi oleh komputer. ISA menentukan sifat komputasional komputer.
2.Hardware system architecture (HSA) / arsitektur system hardware  HAS, berkaitan dengan subsistem hardware utama  komputer (CPU, system memori dan I/O). HSA mencakup  desain logis dan organisasi arus data dari subsistem.

Ø  JENIS-JENIS INTRUKSI
1.Data procecessing: Arithmetic dan Logic Instructions
Data processing adalah jenis pemrosesan yang dapat mengubah data menjadi informasi atau pengetahuan. Pemrosesan data ini sering menggunakan komputer sehingga bisa berjalan secara otomatis. Setelah diolah, data ini biasanya mempunyai nilai yang informatif jika dinyatakan dan dikemas secara terorganisir dan rapi, maka istilah pemrosesan data sering dikatakan sebagai sistem informasi. Kedua istilah ini mempunyai arti yang hampir sama, pemrosesan data mengolah dan memanipulasi data mentah menjadi informasi (hasil pengolahan), sedangkan sistem informasi memakai data sebagai bahan masukan dan menghasilkan informasi sebagai produk keluaran.
2. Data storage: Memory instructions
Sering disebut sebagai memori komputer, merujuk kepada komponen komputer, perangkat komputer, dan media perekaman yang mempertahankan data digital yang digunakan untuk beberapa interval waktu. Penyimpanan data komputer menyediakan salah satu tiga fungsi inti dari komputer modern, yakni mempertahankan informasi. Ia merupakan salah satu komponen fundamental yang terdapat di dalam semua komputer modern, dan memiliki keterkaitan dengan mikroprosesor, dan menjadi model komputer yang digunakan semenjak 1940-an.
Dalam penggunaan kontemporer, memori komputer merujuk kepada bentuk media penyimpanan berbahan semikonduktor, yang dikenal dengan sebutan Random Access Memory (RAM), dan kadang-kadang dalam bentuk lainnya yang lebih cepat tapi hanya dapat menyimpan data secara sementara. Akan tetapi, istilah “computer storage” sekarang secara umum merujuk kepada media penyimpanan massal, yang bisa berupa cakram optis, beberapa bentuk media penyimpanan magnetis (seperti halnya hard disk) dan tipe-tipe media penyimpanan lainnya yang lebih lambat ketimbang RAM, tapi memiliki sifat lebih permanen, seperti flash memory.
3. Data Movement: I/O instructions
Proses data movement ini adalah memindahkan (dapat diakatakan membackup juga) data – data dari database yang berupa data, indeks, grand, schema, dan lain – lain ketempat baru. Tempat baru ini bisa ke dalam database baru atau memang untuk dibackup saja.
4. Control: Test and branch instructions
Unit kendali (bahasa Inggris: Control Unit – CU) adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan/kendali/ kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalam CPU tersebut. Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut.

Ø  TEKNIK PENGALAMATAN
Metode pengalamatan merupakan aspek dari set instruksi arsitektur disebagian unit pengolah pusat (CPU) desain yang didefinisikan dalam set instruksi arsitektur dan menentukan bagaimana bahasa mesin petunjuk dalam arsitektur untuk mengidentifikasi operan dari setiap instruksi. Sebuah mode pengalamatan menentukan bagaimana menghitung alamat memori yang efektif dari operand dengan menggunakan informasi yang diadakan di register dan / atau konstanta yang terkandung dalam instruksi mesin atau di tempat lain.

Jenis-jenis metode pengalamatan diantaranya :

Immediate Addressing Mode


Register Addressing Mode


Direct Addressing Mode


Indirect Addressing Mode


R0 atau R1 digunakan untuk menunjukkan Destination Address

MOV A,#30h   ; salin immediate data 30h ke Akumulator

MOV R0,#7Fh   ; salin immediate data 7Fh ke register R0

MOV @R0,A   ; salin the data in A ke alamat di R0

R0 atau R1 digunakan untuk menunjukkan Source Address

MOV R0,#7Fh   ; salin immediate data 7Fh ke register R0

MOV @R0,#30h  ; salin immediate data 30 ke alamat di R0

MOV A,@R0   ; salin isi dari alamat di R0 ke Akumulator

*NB : klik gambar untuk melihat lebih jelas*

Ø  DESAIN SET INSTRUKSI

Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya :

Kelengkapan set instruksi
Ortogonalitas (sifat independensi instruksi)
Kompatibilitas :
– Source code compatibility

– Object code compatibility

Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut :

Operation Repertoire, berapa banyak dan operasi apa saja yang disediakan dan berapa sulit operasinya.
Data Types, tipe / jenis data yang dapat diolah.
Instruction Format, panjangnya, banyaknya alamat, dsb.
Register, banyaknya register yang dapat digunakan.

Addressing, mode pengalamatan untuk operand.

sumber : 
  • https://rizkyafdal88.wordpress.com/2015/02/10/arsitektur-set-instruksi/
  • https://id.wikipedia.org/wiki/Set_instruksi


Minggu, 09 Oktober 2016

Organisasi Kompter Dasar

Organisasi Komputer mempelajari bagian yang terkait dengan unit unit operasional komputer dan hubungan antara komponen sistem komputer.
contoh: sinyal kontrol, interface, teknologi memori

Struktur komputer adalah cara komponen – komponen komputer saling terkait dan berhubungan

Fungsi komputer adalah operasi masing masing komponen sebagai bagian dari struktur

Dari asal katanya “to compute” komputer berarti alat penghitung. Ternyata sekarang
komputer tak hanya berguna sebagai alat hitung saja tetapi sudah meluas fungsinya.

Cara kerja sebuah komputer dapat dideskripsikan secara sederhana dengan diagram
blok sebagai berikut :

Secara umum masing-masing bagian dapat kita rinci sebagai berikut :

1. Input Device
Input device adalah peralatan yang kita gunakan untuk memasukkan data atau perintah ke dalam komputer. Contoh :

• keyboard
• mouse
• scanner

2. Output Device
Output device adalah peralatan yang kita gunakan untuk melihat hasil pengolahan data atau perintah yang dilakukan oleh komputer. Contoh :
• monitor

3. I/O Ports
I/O adalah Input/Output. Bagian ini digunakan untuk menerima ataupun mengirim data keluar sistem. Peralatan-peralatan input dan output seperti yang tercantum di atas terhubung melalui port ini.

4. Central Processing Unit
Central Processing Unit (CPU) merupakan otak sistem komputer. CPU memilikidua bagian fungsi operasional yaitu Arithmetical Logical Unit (ALU) sebagai pusat pengolah data serta bagian Control Unit (CU) digunakan untuk mengontrol kerja komputer. Biasa disebut dengan nama processor saja.

5. Memory
Bagian ini terdiri dari internal memory yaitu berupa RAM (Random Access Memory) dan ROM (Read Only Memory) serta eksternal memory yaitu berbagai macam disk seperti hard disk, floppy disk dan optical disc.

6. Data Bus
Data bus adalah jalur-jalur perpindahan data antarmodul dalam sistem komputer. Biasanya terdiri dari 8, 16 , 32 atau 64 jalur data yang paralel. Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit data, maka jumlah saluran menentukan jumlah bit yang dapat ditransfer pada suatu saat. Lebar data bus ini menentukan kinerja sistem secara keseluruhan. Sifatnya bidirectional, misalnya CPU dapat membaca dari memory atau port dan dapat juga mengirim ke memory atau port.

7. Address Bus
Address Bus digunakan untuk menandakan lokasi sumber ataupun tujuan pada proses transfer data. Pada jalur ini CPU akan mengirimkan alamat memory yang akan ditulis atau dibaca. Address Bus biasanya terdiri atas 16, 20, 24 atau 32 jalur paralel. Lebar Address Bus menentukan kapasitas memory maksimum sistem. Sebagai contoh bila CPU mempunyai Address Bus 20 bit maka CPU dapat mengalamatkan 220 atau 1048576 alamat (1 MB).

8. Control Bus
Control Bus digunakan untuk mengontrol penggunaan serta akses ke Data Bus dan Address Bus. Control Bus terdiri dari 4 sampai 10 jalur paralel. CPU akan mengirimkan sinyal pada control bus ini bila akan meng-enable sebuah alamat yang ditunjuk, baik itu memory atau I/O port.

Sumber : https://seedqyandy.wordpress.com/2013/01/17/organisasi-komputer-dasar/

Kamis, 29 September 2016

Evolusi Arsitektur Komputer (Perkembangan komputer)

Evolusi Arsitektur Komputer



A. Pengertian Komputer.

Istilah komputer berasal dari bahasa latin "computare", yang berarti alat "Hitung", karena awalnya komputer lebih digunakan sebagai perangkat bantu dalam hal penghitungan angka-angka sebelum akhirnya menjadi perangkat multifungsi. Komputer saat ini adalah hasil evolusi panjang dari komputer zaman dahulu, yang mulanya adalah alat mekanik dan elektronik. Berikut ini contoh penemuan komputer.

B. Sejarah Komputer.
1.1 Mesin Buatan Charles Babbage . 
       Banyaknya kesalahan perhitungan dengan manual menginspirasikan seorang ilmuan yaitu Charles Babbage untuk menemukan mesin hitung mekanik sehingga dapat mengurangi kesalahan perhitungan. mesin mekanik sangat baik dalam mengerjakan tugas yang sama berulang kali tanpa kesalahan. sedangkan matematika membutuhkan repetisi sederhana dari suatu langkah - langkah tertentu. Masalah tersebut kemudian berkembang hingga menempatkan mesin mekanik. Kemudian babbage mendapat inspirasi dari perkembangan mesin hitung yang dikerjakanoleh wilhem Schickard, blaise pascal, dan gottfried leibniz. Charles Babbage mengusulkan suatu mesin untuk melakukan perhitungan persamaan differensial yang muncul pada tahun 1822. Mesin tersebut dinamakan mesin differensial. Dengan menggunakan tenaga uap, mesin tersebut dapat menyimpan program dan dapat melakukan kalkulasi serta mencetak hasilnya secara otomatis. Setelah bekerja dengan mesin differensial selama sepuluh tahun, babbage terinspirasi untuk memulai membuat komputer generasi purpose (multifungsi) pertama, yang di sebut analitycal engine.Atas sumbangan penemuan yang sangat besar ini maka Charles Babbage disebut bapak komputer modern. Charles Babbage

1.2 Mesin Analitik (Analitical Engine).
        Setelah Penemuan oleh bapak Charles Babbage, tidak ada penemuan baru yang dianggap berarti terhadap perkembangan dunia komputer. Sampai dengan munculnya ilmuan bernama Howard H.Aiken (1900-1973), seorang insinyur Harvard yang bekerja dengan IBM, berhasil memproduksi kalkulator elektronik untuk 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 (ASCC), atau Mark I, merupakan komputer relai elektronik. Ia menggunakan sinyal elektromagnetik untuk menggerakkan komponen mekanik. Mesin tersebut beroprasi dengan lambat (membutuhkan 3-5 detik untuk setiap perhitungan) dan tidak fleksibel (urutan kalkulasi tidak dapat di ubah). Kalkulator tersebut dapat melakukan perhitungan aritmatik dasar dan persamaan yang lebih kompleks. Komputer ini sesungguhnya merupakan dambaan Charles Babbage. 

C. Genrasi Komputer
Generasi komputer di bagi dalam beberapa generasi berdasarkan sejarah perkembangannya. Pada setiap generasi dibedakan berdasarkan kemampuan teknologinya untuk melakukan serangkaian proses (capability), makin rendah biaya operasionalnya (efficiency) dan makin mudah menggunakannya (user friendly). Berikut beberapa perkembangan generasi komputer.


2.1 Generasi Pertmama. 
Pada saat terjadinya Perang Dunia II, negara - negara yang terlibat dalam perang tersebut berusaha mengembangkan komputer untuk mengeksploitasi potensi strategis yang dimiliki komputer. Hal ini meningkatkan pendanaan pengembangan komputer serta mempercepat kemajuan teknologi 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 komputer. Tahun 1943, pihak inggris menyelesaikan komputer pemecah kode rahasia yang dinamakan Colossus untukmemecahkan kode rahasia yang digunakan jerman. Perkembangan Komputer Generasi I diawali dengan terciptanya komputer yang disebut Electronic Numerical Integrator and Computer (ENIAC). Komputer ini dibuat oleh pemerintah Amerika Serikat yang bekerja sama dengan university of Pennysylvania pada tahun 1946. ENIAC terdiri atas 18.000 tabung vakum, 70.000 resistor, dan 5 juta titik solder. Komputer tersebut merupakan mesin yang sangat besar yang mengonsumsi daya sebesar 160 kW.

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

2.3 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) pada 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.

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

2.5 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 sekadar menterjemahkan kata-kata secara langsung.

Sumber :