Rabu, 17 Desember 2008

Superscalar VS Superpipeline

Superscalar

Adalah arsitektur prosessor yang memungkinkan eksekusi yang bersamaan (parallel) dari instruksi yang banyak pada tahap pipeline yang sama sebaik tahap pipeline yang lain.

Superscalar mampu menjlankan Instruction Level Parallelism dengan satu prosesor. Superscalar dapat diaplikasikan di RISC dan CISC, tapi pada umumnya RISC.

Pipeline

Adalah meningkatkan kinerja komputer dengan cara saling overlap tahapan dari instruksi yang berbeda.

Pada pipenline untuk melakukan proses (stages) overlapping dibutuhkan paling tidak setengah clock. Sedangkan superscalar mengijinkan proses untuk bekerja secara bersamaan pada saat clock yang sama.

Superscalar VS Superpipeline


Contoh CPU yang telah menerapkan arsitektur superscalar : Intel Processors

486, Pentium, Pentium Pro


Superscalar Processor Design

Use PowerPC 604 as case study

Speculative Execution, Register Renaming, Branch Prediction


More Superscalar Examples

MIPS R10000

DEC Alpha 21264


Berikut perbandingan superscalar dengan system i386


Cycles Per Instruction


Instruction Type 386 Cycles 486 Cycles

Load 4 1
Store 2 1
ALU 2 1
Jump taken 9 3
Jump not taken 3 1
Call 9 3

Superscalar dapat mengeksekusi instruksi 1 (I1) dan instruksi 2 (I2) secara pararel dengan syarat

Keduanya instruksi yang sederhana

I1 tidak melakukan proses jump

Tujuan (destination) dari I1 bukan sumber (source) dari I2

Tujaun (destinition) dari I1 bukan tujuan (destination) dari I2

Jika kondisi diatas tidak dapat dipenuhi

I1 melakukan proses U-pipe

I2 dijalankan di cycle berikutnya

Pengertian Superscalar

Salah satu jenis dari arsitektur, dimana superscalar adalah sebuah uniprocessor yang dapat mengeksekusi dua atau lebih operasi scalar dalm bentuk paralel.

n Satu kesatuan instruksi (berupa ; arithmetic, pembacaan/penyimpanan, conditional branch) yang dapat diinisialisasi dan dieksekusi secara bebas (tidak tergantung instruksi lain).

n Seperti yang diaplikasikan pada sistem RISC & CISC


Alasan desain Superscalar

n Sebagian besar operasi menggunakan besaran/nilai skalar

n Operasi ini memungkinkan peningkatan kinerja sistem hingga level tertentu

Organisasi Superscalar secara umum


Superpipelined

n Banyak tahapan pipeline membutuhkan kurang dari setengah siklus clock.

n Penggandaan kecepatan dari internal clock memungkinkan untuk melakukan dua tugas pada satu siklus external clock

n Superscalar dapat melakukan fetch dan execute secara parallel

Superscalar vs Superpipeline

Superscalar Implementation

n Proses fetch dari beberapa instruksi secara bersamaan.

n Logika untuk menentukan ketergantungan sebenarnya yang meliputi nilai register

n Mekanisme untuk mengkomunikasikan nilai tersebut.

n Mekanisme untuk menginisialisasi instruksi paralel.

n Tersedianya sumber untuk eksekusi paralel dari beberapa instruksi.

n Mekanisme processing instruksi dengan urutan yg sesuai.

Pentium 4

n 80486 - CISC

n Pentium – ada beberapa komponen superscalar

¨ 2 unit eksekusi integer yang terpisah

n Pentium Pro – Full superscalar

n Memperhalus models subsequent & Meningkatkan design superscalar

Pentium 4 Block Diagram

Pentium 4 Operation

n Pengambilan instructions pada memory dari urutan static program

n Menterjemahkan instruction menjadi satu atau lebih instruksi RISC dengan panjang yg tetap (micro-operations)

n Meng-eksekusi micro-ops pada pipeline superscalar

¨ micro-ops boleh dieksekusi tanpa berurutan

n Memasukan hasil dari micro-ops ke register set dalam urutan orisinil program.

n Penggabungan CISC (bagian terluar) dengan RISC (bagian terdalam)

n Pada pipeline RISC terdapat 20 tahapan

¨ Beberapa micro-ops memerlukan banyak tahapan eksekusi

n Pipeline terpanjang

¨ Pada x86 hingga Pentium ada 5 tahapan pipeline

Pentium 4 Pipeline

Pentium 4 Pipeline Operation (1)

Pentium 4 Pipeline Operation (2)

Pentium 4 Pipeline Operation (3)

Pentium 4 Pipeline Operation (4)

Pentium 4 Pipeline Operation (5)

Pentium 4 Pipeline Operation (6)

PowerPC 601
Pipeline
Structure

PowerPC 601 Pipeline

Senin, 08 Desember 2008

Soal & Jawaban Pada Mode Pengalamatan

1. Jelaskan hubungan antara jumlah bit pada apcode dengan jumlah instruksi yang ada ?
Jumlah bit pada apcode akan mempengaruhi jumlah jenis instruksi semakin sedikit bit semakin cepat instruksinya.

2. Jelaskan hubungan antara jumlah bit pada alamat yang ada di set instruksi dengan jumlah alamat yang bias di jangkau ?
Untuk alamat – alamat yang merefensi memori secara eksplisit, jangkauan ditentukan oleh jumlah bit yang digunakan untuk pengalamatan.

3. Bagaimana cara agar set instruksi jumlah dapat menambah jangkauan pada memori ?
Panjang instruksi harus sama dengan panjang perpindahan memori ( pada system bus, panjang bus data ) dan panjang instruksi seharusnya merupakan kelipatan panjang instruksi lainnya.

4. Jelaskan kapan dan pada saat apa mode pengalamatan digunakan ?
Pada saat Bahasa Tinggkat Tinggi melakukan eksekusi, jadi mode pengalamatan digunakan untuk memudahkan bahasa – bahasa tingkat tinggi mengeksekusi secara efisien.

Minggu, 30 November 2008

Set instruksi

Set Instruksi (bahasa Inggris: Instruction Set, atau Instruction Set Architecture (ISA)) didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram. Secara umum, ISA ini mencakup jenis data yang didukung, jenis instruksi yang dipakai, jenis register, mode pengalamatan, arsitektur memori, penanganan interupsi, eksepsi, dan operasi I/O eksternalnya (jika ada).

ISA merupakan sebuah spesifikasi dari kumpulan semua kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain prosesor tertentu. Kumpulan opcode tersebut, umumnya disebut sebagai bahasa mesin (machine language) untuk ISA yang bersangkutan. ISA yang populer digunakan adalah set instruksi untuk chip Intel x86, IA-64, IBM PowerPC, Motorola 68000, Sun SPARC, DEC Alpha, dan lain-lain.

ISA kadang-kadang digunakan untuk membedakan kumpulan karakteristik yang disebut di atas dengan mikroarsitektur prosesor, yang merupakan kumpulan teknik desain prosesor untuk mengimplementasikan set instruksi (mencakup [[microcode]], [[pipeline]], sistem cache, manajemen daya, dan lainnya). Komputer-komputer dengan mikroarsitektur berbeda dapat saling berbagi set instruksi yang sama. Sebagai contoh, prosesor Intel Pentium dan prosesor AMD Athlon mengimplementasikan versi yang hampir identik dari set instruksi Intel x86, tetapi jika ditinjau dari desain internalnya, perbedaannya sangat radikal. Konsep ini dapat diperluas untuk ISA-ISA yang unik seperti TIMI yang terdapat dalam IBM System/38 dan IBM IAS/400. TIMI merupakan sebuah ISA yang diimplementasikan sebagai perangkat lunak level rendah yang berfungsi sebagai mesin virtual. TIMI didesain untuk meningkatkan masa hidup sebuah platform dan aplikasi yang ditulis untuknya, sehingga mengizinkan platform tersebut agar dapat dipindahkan ke perangkat keras yang sama sekali berbeda tanpa harus memodifikasi perangkat lunak (kecuali yang berkaitan dengan TIMI). Hal ini membuat IBM dapat memindahkan platform AS/400 dari arsitektur mikroprosesor CISC ke arsitektur mikroprosesor POWER tanpa harus menulis ulang bagian-bagian dari dalam sistem operasi atau perangkat lunak yang diasosiasikan dengannya.

Ketika mendesain mikroarsitektur, para desainer menggunakan Register Transfer Language (RTL) untuk mendefinisikan operasi dari setiap instruksi yang terdapat dalam ISA.

Sebuah ISA juga dapat diemulasikan dalam bentuk perangkat lunak oleh sebuah interpreter. Karena terjadi translasi tambahan yang dibutuhkan untuk melakukan emulasi, hal ini memang menjadikannya lebih lambat jika dibandingkan dengan menjalankan program secara langsung di atas perangkat keras yang mengimplementasikan ISA tersebut. Akhir-akhir ini, banyak vendor ISA atau mikroarsitektur yang baru membuat perangkat lunak emulator yang dapat digunakan oleh para pengembang perangkat lunak sebelum implementasi dalam bentuk perangkat keras dirilis oleh vendor.

Daftar ISA

Daftar ISA di bawah ini tidak dapat dikatakan komprehensif, mengingat banyaknya arsitektur lama yang tidak digunakan lagi saat ini atau adanya ISA yang baru dibuat oleh para desainer.

ISA yang diimplementasikan dalam bentuk perangkat keras

ISA yang diimplementasikan dalam bentuk perangkat lunak lalu dibuat perangkat kerasnya

  • p-Code (UCSD p-System Version III on Western Digital Pascal Micro-Engine)
  • Java virtual machine (ARM Jazelle, PicoJava)
  • FORTH

ISA yang tidak pernah diimplementasikan dalam bentuk perangkat keras

  • SECD machine
  • ALGOL Object Code

GamBar koMpuTer


GamBaR SaTU unIt kOmpUtEr
Makalah Arsitektur Komputer


Pendahuluan

Setiap hal yang dikerjakan CPU dibagi-bagi menjadi beberapa langkah yang sederhana dan berurutan. Osilator clock membangkitkan clock CPU yang digunakan dalam langkah (step) kerja CPU dalam urutan perkerjaannya. Karena clock CPU ini sangat cepat untuk ukuran manusia, sehingga yang terlihat bahwa CPU bekerja secara langsung dan cepat.

Mikrokontroler 8-bit dari Motorola M68HC05 dan M68HC11 memiliki organisasi khusus yan disebut dengan arsitektur Von Neumann. Dalam arsitektur ini, CPU dan rangkaian memori di-interkoneksi-kan dengan bus alamat dan bus data. Bus alamat digunakan untuk menentukan lokasi memori yang mana yang akan diakses, dan bus data digunakan untuk mengirim informasi baik dari CPU ke lokasi memori dan sebaliknya.

Dalam arsitektur implementasi Motorola ini terdapat beberapa memori spesial yang disebut dengan register CPU yang terletak di dalam CPU itu sendiri. Register ini mirip dengan memori yang dapat menyimpan informasi. Tetapi register ini terjalur langsung di dalam CPU dan bukan bagian dari memori konvensional mikrokontroler.

CPU menganggap semua lokasi memori sebagai satu kesatuan walaupun di dalamnya terdapat instruksi program, data variabel, maupun kontrol input-output (I/O). Teknik semacam ini yang disebut dengan memory-mapped I/O. Artinya, semua piranti input-output dari sistem mikrokontroler memiliki alamat tersendiri yang ikut dipetakan dalam peta memori, sehingga dianggap sebagai bagian dari memori itu sendiri.

Di dalam CPU juga terdapat komponen ALU atau Arithmatic Logic Unit yang digunakan untuk melakukan kalkulasi aritmatika dan logika yang didefinisikan oleh instruksi. Berbagai macam variasi operasi aritmatika biner dikerjakan dalam ALU ini. Hampir semua operasi aritmatika biner didasarkan pada operasi tambah. Pengurangan dikerjakan sebagai proses tambah dengan salah satu data dikomplemenkan. Perkalian dikerjakan sebagai urutan beberapa proses tambah dan operasi shift dalam ALU. Blok diagram dari CPU M68HC05 ditampilkan dalam gambar 4.1 di bawah ini.

Register-register CPU

CPU yang berbeda memiliki set register yang berbeda pula. Perbedaan utama terletak pada jumlah dan ukuran dari register itu sendiri. Dalam gambar 4.1 diperlihatkan register-register CPU yang terdapat dalam mikrokontroler keluarga M68HC05.

Register A berukuran 8 bit, juga dikenal sebagai akumulator karena register ini digunakan untuk menyimpan hasil dari operasi aritmatika dan manipulasi data. Register ini juga dapat langsung diakses untuk operasi non-aritmatika. Akumulator digunakan dalam proses eksekusi dari program saat isi dari beberapa lokasi memori yang digunakan di-load ke akumulator. Demikian juga instruksi penyimpanan akan menyebabkan isi dari akumulator disimpan dalam memori yang telah ditentukan.

Register X adalah index register yang berukuran 8 bit. Kegunaan utama dari index register ini adalah untuk menunjukkan suatu area memori di mana CPU akan mengambil atau menuliskan suatu informasi. Kadang-kadang index register juga disebut dengan pointer register.

PC atau program counter digunakan CPU untuk menata urutan alamat instruksi yang akan dikerjakan. Saat CPU reset atau baru dihidupkan, PC ini dimuati dengan alamat yang telah ditentukan dalam reset vector. Lokasi reset vector ini berisi alamat dari instruksi pertama yang akan dikerjakan oleh CPU. Saat suatu instruksi dikerjakan, CPU akan menambah isi PC sehingga akan menunjuk ke alamat informasi berikutnya yang akan dibutuhkan CPU. Jumlah bit dari PC sama persis dengan jumlah jalur bus alamat. Isi dari register ini dinyatakan dalam empat digit heksadesimal di mana enam bit teratas selalu nol karena hanya 10 bit jalur bus alamat.

CCR atau condition code register adalah register dengan ukuran 8 bit, yang menyimpan indikator status dari hasil operasi CPU sebelumnya. Terdapat tiga bit teratas tidak digunakan dan selalu sama dengan logika satu. Instruksi percabangan menggunakan bit-bit status dalam register ini untuk mengerjakan suatu keputusan percabangan.

Isi dari CCR ini adalah sebuah interrupt mask dan empat indikator status seperti pada gambar 4.1. Kelima flag tersebut adalah H atau half cary, N atau negative, Z atau zero, dan C atau carry/borrow. Flag H (half carry) digunakan untuk operasi aritmatika BCD (Binary Coded Decimal) dan dipengaruhi oleh kerja instruksi ADD dan ADC. Bit H ini akan set jika ada carry yang timbul dari digit heksadesimal 0-3 (low order) dan digit desimal 4-7 (high order).

Bit I (interrupt mask) bukanlah status flag tetapi merupakan bit yang akan men-nonaktif-kan semua sumber interrupt yang maskable saat bit ini diset. Interrupt baru akan aktif jika bit ini nol. Jika ada interrupt eksternal yang terjadi saat bit I diset, maka interrupt tersebut akan di-latch dan akan diproses saat bit I dinolkan. Karena itu, interrupt yang terjadi tidak akan hilang. Setelah interrupt ditangani, instruksi RTI (return from interrupt) akan menyebabkan register ini dikembalikan ke nilai semula. Umumnya, bit I ini akan menjadi nol setelah instruksi RTI dilaksanakan.

Flag N (negative) akan diset jika hasil dari operasi aritmatika, logika, maupun manipulasi data yang terakhir adalah negatif. Nilai negatif dalam two's complement ditandai jika bit MSB adalah satu. Flag Z (zero) diset jika hasil dari operasi aritmatika, logika, maupun manipulasi data terakhir adalah nol. Instruksi perbandingan (compare) akan mengurangi suatu harga dari suatu lokasi memori yang akan dites. Jika nilainya sama, maka bit Z ini akan diset.

Flag C (carry/borrow) digunakan untuk menandai apakah ada carry dari hasil operasi tambah atau ada borrow darioperasi pengurangan. Instruksi shift dan rotate juga dapat memakai bit C ini.

SP atau stack pointer digunakan sebagai pointer ke lokasi yang tersedia berikutnya dalam tumpukan stack dalam uruatn LIFO (last-in first-out). Stack ini dapat dianalogikan sebagai tumpukan kartu. Setiap kartu menyimpan satu byte (8 bit) informasi. Dalam suatu saat, CPU dapat menaruh satu kartu di atas tumpukan kartu tersebut maupun mengambil satu kartu dari tumpukan. Kartu di dalam tumpukan tidak dapat diambil kecuali jika kartu di atasnya sudah diambil sebelumnya. Stack mirip dengan tumpukan kartu ini hanya saja dalam fisiknya, stack mempunyai arah tumpukan ke bawah bukan ke atas seperti pada tumpukan kartu.

SP akan menunjuk pada alamat stack yang akan tersedia berikutnya. Jika CPU menaruh informasi dalam stack, maka data tersebut akan dituliskan dalam memori yang ditunjukkan oleh nilai SP saat itu, dan kemudian nilai SP akan dikurangi satu sehingga SP akan menunjukkan ke lokasi memori berikutnya yang kosong untuk digunakan sebagai penyimpan berikutnya. Jika CPU mengambil data dari stack, SP akan ditambah satu sehingga menunjukkan ke lokasi stack yang terakhir, dan kemudian data diambil dan dibaca oleh CPU. Saat CPU pertama kali dihidupkan atau setelah instruksi Reset Stack Pointer (RSP), maka SP akan menunjukkan memori tertentu dalam RAM.

Reset

Reset digunakan untuk memaksa sistem mikrokontroler untuk menuju alamat tertentu. Sistem periperal dan sejumlah bit kontrol dan status juga dipaksa untuk menuju ke state awal sebagai hasil dari proses reset. Aksi-aksi berikut ini yang terjadi akibat proses reset dari mikrokontroler:

1. Semua register data direction (DDR) diset nol (input)

2. Nilai SP dipaksa menjadi $00FF

3. Bit I dalam CCR diset

4. Latch interrupt eksternal dinolkan

5. Latch STOP dinolkan

6. Latch WAIT dinolkan


Kondisi-kondisi berikut ini yang akan menyebabkan mikrokontroler M68HC05 menjadi reset:

1. Sinyal input low pada kaki RESET

2. Reset karena pertama kali dihidupkan

3. Timer watchdog COP (computer operating properly) sudah habis

4. Usaha untuk menjalankan perintah dari suatu alamat yang tidak diperbolehkan

BagIaN-bAgiAn KoMpuTer

Bagian-bagian Komputer

Komputer terdiri atas 2 bagian besar : Software/perangkat lunak dan hardware/perangkat keras.

Hardware

  • Prosesor, atau CPU unit yang mengolah data
  • Memori RAM, tempat menyimpan data sementara
  • Hard drive, media penyimpanan semi permanen
  • Perangkat masukan, media yang digunakan untuk memasukkan data untuk diproses oleh CPU, seperti mouse, keyboard, dan tablet
  • Perangkat keluaran, media yang digunakan untuk menampilkan hasil keluaran pemrosesan CPU, seperti monitor dan printer.

Software

  • Sistem operasi : Program dasar pada komputer yang menghubungkan pengguna dengan hardware komputer, seperti Linux, Windows, dan Mac OS. Tugas sistem operasi termasuk (tetapi tidak hanya) mengurus penjalanan program di atasnya, koordinasi Input, Output, pemrosesan, memori, serta penginstalan dan pembuangan software.
  • Program komputer, aplikasi tambahan yang diinstal sesuai dengan sistem operasinya

Slot pada komputer

  • ISA / PCI : Slot untuk masukan kartu tambahan non-grafis
  • AGP / PCIe : Slot untuk masukan kartu tambahan grafis
  • IDE / SCSI / SATA : Slot untuk harddrive/ODD
  • USB : Slot untuk masukan media plug-and-play (colok dan mainkan, artinya perangkat yang dapat dihubungkan ke komputer dan langsung dapat digunakan)

PeNgEerTian KoMpUteR

Komputer

Komputer adalah alat yang dipakai untuk mengolah data menurut prosedur yang telah dirumuskan. Kata computer 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.

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

Komputer

Sekalipun demikian, definisi di atas mencakup banyak alat khusus yang hanya bisa memperhitungkan satu atau beberapa fungsi. Ketika mempertimbangkan komputer modern, sifat mereka yang paling penting yang membedakan mereka dari alat menghitung yang lebih awal ialah bahwa, dengan pemrograman yang benar, semua komputer dapat mengemulasi sifat apa pun (meskipun barangkali dibatasi oleh kapasitas penyimpanan dan kecepatan yang berbeda), dan, memang dipercaya bahwa mesin sekarang bisa meniru alat perkomputeran yang akan kita ciptakan di masa depan (meskipun niscaya lebih lambat). Dalam suatu pengertian, batas kemampuan ini adalah tes yang berguna karena mengenali komputer "maksud umum" dari alat maksud istimewa yang lebih awal. Definisi dari "maksud umum" bisa diformulasikan ke dalam syarat bahwa suatu mesin harus dapat meniru Mesin Turing universal. Mesin yang mendapat definisi ini dikenal sebagai Turing-lengkap, dan yang pertama mereka muncul pada tahun 1940 di tengah kesibukan perkembangan di seluruh dunia. Lihat artikel sejarah perkomputeran untuk lebih banyak detail periode ini.

Komputer Benam

Pada sekitar 20 tahun terakhir, banyak alat rumah tangga, khususnya termasuk panel dari permainan video tetapi juga mencakup telepon genggam, perekam kaset video, PDA dan banyak sekali dalam rumahtangga, industri, otomotif, dan alat elektronik lain, semua berisi sirkuit elektronik yang seperti komputer yang memenuhi syarat Turing-lengkap di atas (dengan catatan bahwa program dari alat ini seringkali dibuat secara langsung di dalam chip ROM yang akan perlu diganti untuk mengubah program mesin). Komputer maksud khusus lainnya secara umum dikenal sebagai "mikrokontroler" atau "komputer benam" (embedded computer). Oleh karena itu, banyak yang membatasi definisi komputer kepada alat yang maksud pokoknya adalah pengolahan informasi, daripada menjadi bagian dari sistem yang lebih besar seperti telepon, oven mikrowave, atau pesawat terbang, dan bisa diubah untuk berbagai maksud oleh pemakai tanpa modifikasi fisik. Komputer kerangka utama, minikomputer, dan komputer pribadi (PC) adalah macam utama komputer yang mendapat definisi ini.

Komputer Pribadi

Akhirnya, banyak orang yang tak akrab dengan bentuk komputer lain memakai istilah ini secara eksklusif untuk menunjuk kepada komputer pribadi (PC).

Bagaimana Komputer Bekerja

Saat teknologi yang dipakai pada komputer digital sudah berganti secara dramatis sejak komputer pertama pada tahun 1940-an (lihat Sejarah perangkat keras menghitung untuk lebih banyak detail), komputer kebanyakan masih menggunakan arsitektur Von Neumann, yang diusulkan di awal 1940-an oleh John von Neumann.

Arsitektur Von Neumann menggambarkan komputer dengan empat bagian utama: Unit Aritmatika dan Logis (ALU), unit kontrol, memori, dan alat masukan dan hasil (secara kolektif dinamakan I/O). Bagian ini dihubungkan oleh berkas kawat, "bus"

Memori

Di sistem ini, memori adalah urutan byte yang dinomori (seperti "sel" atau "lubang burung dara"), masing-masing berisi sepotong kecil informasi. Informasi ini mungkin menjadi perintah untuk mengatakan pada komputer apa yang harus dilakukan. Sel mungkin berisi data yang diperlukan komputer untuk melakukan suatu perintah. Setiap slot mungkin berisi salah satu, dan apa yang sekarang menjadi data mungkin saja kemudian menjadi perintah.

Memori menyimpan berbagai bentuk informasi sebagai angka biner. Informasi yang belum berbentuk biner akan dipecahkan (encoded) dengan sejumlah instruksi yang mengubahnya menjadi sebuah angka atau urutan angka-angka. Sebagai contoh: Huruf F disimpan sebagai angka desimal 70 (atau angka biner ) menggunakan salah satu metode pemecahan. Instruksi yang lebih kompleks bisa digunakan untuk menyimpan gambar, suara, video, dan berbagai macam informasi. Informasi yang bisa disimpan dalam satu sell dinamakan sebuah byte.

Secara umum, memori bisa ditulis kembali lebih jutaan kali - memori dapat diumpamakan sebagai papan tulis dan kapur yang dapat ditulis dan dihapus kembali, daripada buku tulis dengan pena yang tidak dapat dihapus.

Ukuran masing-masing sel, dan jumlah sel, berubah secara hebat dari komputer ke komputer, dan teknologi dalam pembuatan memori sudah berubah secara hebat - dari relay elektromekanik, ke tabung yang diisi dengan air raksa (dan kemudian pegas) di mana pulsa akustik terbentuk, sampai matriks magnet permanen, ke setiap transistor, ke sirkuit terpadu dengan jutaan transistor di atas satu chip silikon.

Pemrosesan

Unit Pemproses Pusat atau CPU ( central processing unit) berperanan untuk memproses arahan, melaksanakan pengiraan dan menguruskan laluan informasi menerusi system komputer. Unit atau peranti pemprosesan juga akan berkomunikasi dengan peranti input , output dan storan bagi melaksanakan arahan-arahan berkaitan.

Dalam arsitektur von Neumann yang asli, ia menjelaskan sebuah Unit Aritmatika dan Logika, dan sebuah Unit Kontrol. Dalam komputer-komputer modern, kedua unit ini terletak dalam satu sirkuit terpadu (IC - Integrated Circuit), yang biasanya disebut CPU (Central Processing Unit).

Unit Aritmatika dan Logika, atau Arithmetic Logic Unit (ALU), adalah alat yang melakukan pelaksanaan dasar seperti pelaksanaan aritmatika (tambahan, pengurangan, dan semacamnya), pelaksanaan logis (AND, OR, NOT), dan pelaksanaan perbandingan (misalnya, membandingkan isi sebanyak dua slot untuk kesetaraan). Pada unit inilah dilakukan "kerja" yang nyata.

Unit kontrol menyimpan perintah sekarang yang dilakukan oleh komputer, memerintahkan ALU untuk melaksanaan dan mendapat kembali informasi (dari memori) yang diperlukan untuk melaksanakan perintah itu, dan memindahkan kembali hasil ke lokasi memori yang sesuai. Sekali yang terjadi, unit kontrol pergi ke perintah berikutnya (biasanya ditempatkan di slot berikutnya, kecuali kalau perintah itu adalah perintah lompatan yang memberitahukan kepada komputer bahwa perintah berikutnya ditempatkan di lokasi lain).

Input dan Hasil

I/O membolehkan komputer mendapatkan informasi dari dunia luar, dan menaruh hasil

kerjanya di sana, dapat berbentuk fisik (hardcopy) atau non fisik (softcopy). Ada berbagai macam alat I/O, dari yang akrab keyboard, monitor dan disk drive, ke yang lebih tidak biasa seperti webcam (kamera web, printer, scanner, dan sebagainya.

Yang dimiliki oleh semua alat masukan biasa ialah bahwa mereka meng-encode (mengubah) informasi dari suatu macam ke dalam data yang bisa diolah lebih lanjut oleh sistem komputer digital. Alat output, men-decode data ke dalam informasi yang bisa dimengerti oleh pemakai komputer. Dalam pengertian ini, sistem komputer digital adalah contoh sistem pengolah data.

Instruksi

Perintah yang dibicarakan di atas tidak adalah perintah kaya bahasa manusiawi. Komputer hanya mempunyai dalam jumlah terbatas perintah sederhana yang dirumuskan dengan baik. Perintah biasa yang dipahami kebanyakan komputer ialah "menyalin isi sel 123, dan tempat tiruan di sel 456", "menambahkan isi sel 666 ke sel 042, dan tempat akibat di sel 013", dan "jika isi sel 999 adalah 0, perintah berikutnya anda di sel 345".

Instruksi diwakili dalam komputer sebagai nomor - kode untuk "menyalin" mungkin menjadi 001, misalnya. Suatu himpunan perintah khusus yang didukung oleh komputer tertentu diketahui sebagai bahasa mesin komputer. Dalam prakteknya, orang biasanya tidak menulis perintah untuk komputer secara langsung di bahasa mesin tetapi memakai bahasa pemrograman "tingkat tinggi" yang kemudian diterjemahkan ke dalam bahasa mesin secara otomatis oleh program komputer khusus (interpreter dan kompiler). Beberapa bahasa pemrograman berhubungan erat dengan bahasa mesin, seperti assembler (bahasa tingkat rendah); di sisi lain, bahasa seperti Prolog didasarkan pada prinsip abstrak yang jauh dari detail pelaksanaan sebenarnya oleh mesin (bahasa tingkat tinggi)

Arsitektur

Komputer kontemporer menaruh ALU dan unit kontrol ke dalam satu sirkuit terpadu yang dikenal sebagai Central Processing Unit atau CPU. Biasanya, memori komputer ditempatkan di atas beberapa sirkuit terpadu yang kecil dekat CPU. Alat yang menempati sebagian besar ruangan dalam komputer adalah ancilliary sistem (misalnya, untuk menyediakan tenaga listrik) atau alat I/O.

Beberapa komputer yang lebih besar berbeda dari model di atas di satu hal utama mereka mempunyai beberapa CPU dan unit kontrol yang bekerja secara bersamaan. Terlebih lagi, beberapa komputer, yang dipakai sebagian besar untuk maksud penelitian dan perkomputeran ilmiah, sudah berbeda secara signifikan dari model di atas, tetapi mereka sudah menemukan sedikit penggunaan komersial.

Fungsi dari komputer secara prinsip sebenarnya cukup sederhana. Komputer mencapai perintah dan data dari memorinya. Perintah dilakukan, hasil disimpan, dan perintah berikutnya dicapai. Prosedur ini berulang sampai komputer dimatikan.

Program

Program komputer adalah daftar besar perintah untuk dilakukan oleh komputer, barangkali dengan data di dalam tabel. Banyak program komputer berisi jutaan perintah, dan banyak dari perintah itu dilakukan berulang kali. Suatu [[Personal computer[PC]] modern yang umum (pada tahun 2003) bisa melakukan sekitar 2-3 milyar perintah dalam sedetik. Komputer tidak mendapat kemampuan luar biasa mereka lewat kemampuan untuk melakukan perintah kompleks. Tetapi, mereka melakukan jutaan perintah sederhana yang diatur oleh orang pandai, "programmer." "Programmer Baik memperkembangkan set-set perintah untuk melakukan tugas biasa (misalnya, menggambar titik di layar) dan lalu membuat set-set perintah itu tersedia kepada programmer lain." Dewasa ini, kebanyakan komputer kelihatannya melakukan beberapa program sekaligus. Ini biasanya diserahkan ke sebagai multitasking. Pada kenyataannya, CPU melakukan perintah dari satu program, kemudian setelah beberapa saat, CPU beralih ke program kedua dan melakukan beberapa perintahnya. Jarak waktu yang kecil ini sering diserahkan ke sebagai irisan waktu (time-slice). Ini menimbulkan khayal program lipat ganda yang dilakukan secara bersamaan dengan memberikan waktu CPU di antara program. Ini mirip bagaimana film adalah rangkaian kilat saja masih membingkaikan. Sistem operasi adalah program yang biasanya menguasai kali ini membagikan

Sistem Operasi

Sistem operasi ialah semacam gabungan dari potongan kode yang berguna. Ketika semacam kode komputer dapat dipakai secara bersama oleh beraneka-macam program komputer, setelah bertahun-tahun, programer akhirnya menmindahkannya ke dalam sistem operasi.

Sistem operasi, menentukan program yang mana dijalankan, kapan, dan alat yang mana (seperti memori atau I/O) yang mereka gunakan. Sistem operasi juga memberikan servis kepada program lain, seperti kode (driver) yang membolehkan programer untuk menulis program untuk suatu mesin tanpa perlu mengetahui detail dari semua alat elektronik yang terhubung.

Penggunaan Komputer

Komputer digital pertama, dengan ukuran dan biaya yang besar, sebagian besar mengerjakan perhitungan ilmiah. ENIAC, komputer awal AS semula didesain untuk memperhitungkan tabel ilmu balistik untuk persenjataan (artileri), menghitung kerapatan penampang neutron untuk melihat jika bom hidrogen akan bekerja dengan semestinya (perhitungan ini, yang dilakukan pada Desember 1945 sampai Januari 1946 dan melibatkan dala dalam lebih dari satu juta kartu punch, memperlihatkan bentuk lalu di bawah pertimbangan akan gagal). CSIR Mk I, komputer pertama Australia, mengevaluasi pola curah hujan untuk tempat penampungan dari Snowy Mountains, suatu proyek pembangkitan hidroelektrik besar. Yang lainnya juga dipakai dalam kriptanalisis, misalnya komputer elektronik digital yang pertama, Colossus, dibuat selama Perang Dunia II. Akan tetapi, visionaris awal juga menyangka bahwa pemrograman itu akan membolehkan main catur, memindahkan gambar dan penggunaan lain.

Orang-orang di pemerintah dan perusahaan besar juga memakai komputer untuk mengotomasikan banyak koleksi data dan mengerjakan tugas yang sebelumnya dikerjakan oleh manusia - misalnya, memelihara dan memperbarui rekening dan inventaris. Dalam bidang pendidikan, ilmuwan di berbagai bidang mulai memakai komputer untuk analisa mereka sendiri. Penurunan harga komputer membuat mereka dapat dipakai oleh organisasi yang lebih kecil. Bisnis, organisasi, dan pemerintah sering menggunakan amat banyak komputer kecil untuk menyelesaikan tugas bahwa dulunya dilakukan oleh komputer kerangka utama yang mahal dan besar. Kumpulan komputer yang lebih kecil di satu lokasi diserahkan ke sebagai perkebunan server.

Dengan penemuan mikroprosesor di 1970-an, menjadi mungkin menghasilkan komputer yang sangat murah. PC menjadi populer untuk banyak tugas, termasuk menyimpan buku, menulis dan mencetak dokumen. Perhitungan meramalkan dan lain berulang matematika dengan spreadsheet, berhubungan dengan e-pos dan, Internet. Namun, ketersediaan luas komputer dan mudah customization sudah melihat mereka dipakai untuk banyak maksud lain.

Sekaligus, komputer kecil, biasanya dengan mengatur memprogram, mulai menemukan cara mereka ke dalam alat lain seperti peralatan rumah, mobil, pesawat terbang, dan perlengkapan industri. Yang ini prosesor benam menguasai kelakuan alat seperti itu yang lebih mudah, membolehkan kelakuan kontrol yang lebih kompleks (untuk kejadian, perkembangan anti-kunci rem di mobil). Saat abad kedua puluh satu dimulai, kebanyakan alat listrik, kebanyakan bentuk angkutan bertenaga, dan kebanyakan batas produksi pabrik dikuasai di samping komputer. Kebanyakan insinyur meramalkan bahwa ini cenderung kepada akan terus.

Kata "Komputer"

Selama bertahun-tahun sudah ada beberapa arti yang agak berbeda pada kata 'komputer', dan beberapa kata berbeda untuk hal kami sekarang biasanya disebut komputer.

Misalnya "computer" secara umum pernah dipergunakan untuk bermaksud orang memperkerjakan untuk melakukan perhitungan aritmatika, dengan atau tanpa mesin membantu. Menurut Barnhart Concise Dictionary of Etymology, kata tersebut digunakan dalam bahasa Inggris pada tahun 1646 sebagai kata bagi "orang yang menghitung" dan lalu menjelang 1897 juga untuk "alat hitung mekanis". Selama Perang Dunia II kata tersebut menunjuk kepada para pekerja wanita AS dan Inggris yang pekerjaannya memperhitungkan jalan artileri perang besar dengan mesin seperti itu.

Charles Babbage mendesain salah satu mesin menghitung pertama disebut Mesin Analitikal, tetapi karena masalah teknologi tidak dibuat seumur hidupnya. Berbagai alat mesin yang sederhana seperti slide rule baik juga sudah menyebut komputer. Di beberapa kasus mereka diserahkan ke sebagai "komputer analog", sewaktu mereka melambangkan nomor oleh continuous kuantitas-kuantitas fisik daripada di samping digit biner yang berlainan. Apa sekarang menyebut "komputer" saja secara umum pernah menyebut "komputer digital" untuk membedakan mereka dari alat lain ini (yang masih dipakai di bidang analog pengolahan tanda, misalnya).

In yang memikirkan kata lain untuk komputer, itu ialah harga mengamati bahwa di bahasa lain kata yang dipilih selalu tidak mempunyai arti harfiah sama sebagai kata Bahasa Inggris. Dalam Bahasa Perancis misalnya, kata ialah "ordinateur", yang berarti kira-kira "organisator", atau "memisahkan mesin". Pada bahasa Spanyol digunakan kata "ordenador", dengan arti sama, walaupun di beberapa negara mereka menggunakan anglicism computadora. Dalam Bahasa Italia, komputer ialah "calcolatore", kalkulator, menekankannya computational menggunakan di balik yang logis seperti penyortiran. Dalam Bahasa Swedia, komputer dipanggil "dator" dari "data". Atau paling tidak pada tahun 1950-an, mereka disebut "matematikmaskin" (mesin matematika). Dalam Bahasa Tionghoa, komputer dipanggil "dien nau" atau suatu "otak listrik". Dalam Bahasa Inggris, kata lain dan frase sudah bekas, seperti "mesin pengolahan data".