Ilmu Komputer

Selasa, 29 Oktober 2013

Program Segitiga Pascal

Program Segitiga pascal;
uses wincrt;
type pas=array[1..20,1..20] of longint;
var pascal:pas;
i,j,n:integer;
begin
pascal[1,1]:=1;
write('banyak level : ');readln(n);{:=10;}
for i:=2 to n do
begin
pascal[i,1]:=1;
pascal[i,i]:=1;
for j:=2 to i-1 do
pascal[i,j]:=pascal[i-1,j-1]+pascal[i-1,j];
end;

{write(pascal[2,1],' ');
writeln;}
for i:=1 to n do
begin
for j:=1 to i do
write(pascal[i,j],' ');
writeln;
end;
end.

Program Preorder

program preorder;
uses wincrt;
type
ptr=^Simpul;
simpul=record
data:integer;
kanan,kiri:ptr;
end;
{--------------------------------------------------------------------}
procedure Init(var p:ptr);
begin
p:=nil;
end;
{--------------------------------------------------------------------}
procedure masukdata(var p:ptr; d:integer);
begin
if p=nil then
begin
new(p);
p^.data:=d;
p^.kiri:=nil;
p^.kanan:=nil;
end
else
if p^.data < d then
masukdata(p^.kanan,d)
else
masukdata(p^.kiri,d);
end;
{--------------------------------------------------------------------}
procedure preorder(p:ptr);

begin
if p<>nil then
begin
writeln(p^.data);
preorder(p^.kiri);
preorder(p^.kanan);
end;
end;
{--------------------------------------------------------------------}
var
pohon:ptr;
dt :integer;
begin
init(pohon);
repeat
write('Data masuk ke :');readln(dt);
if dt >= 0 then
masukdata(pohon,dt);
until dt<0;
preorder(pohon);
end.

Senin, 28 Oktober 2013

Memory Komputer


Memori adalah istilah generik bagi tempat penyimpanan data dalam komputer. Beberapa jenis memori yang banyak digunakan adalah sebagai berikut:
*         Register prosesor
*         RAM atau Random Access Memory
*         Cache Memory (SRAM) (Static RAM)
*         Memori fisik (DRAM) (Dynamic RAM)
*         Memori yang hanya dapat dibaca atau ROM (Read Only Memory)
*         Flash Memory
*         Punched Card (kuno)
*         CD atau Compact Disk
*         DVD
Dalam pembicaraan mengenai arsitektur komputer seperti arsitektur von Neumann, misalnya, kapasitas dan kecepatan memori dibedakan dengan menggunakan hierarki memori. Hierarki ini disusun dari jenis memori yang paling cepat hingga yang paling lambat; disusun dari yang paling kecil kapasitasnya hingga paling besar kapasitasnya; dan diurutkan dari harga tiap bit memori-nya mulai dari yang paling tinggi (mahal) hingga yang paling rendah (murah).

Gambar memory computer

Semua  jenis  memori  yang  dibahas  pada  bagian ini  adalah berjenis  random  akses, yaitu data secara langsung diakses melalui logik pengalamatan wired-in.
Hal  yang  membedakan   karakteristik  RAM  (Random  Access  Memory)  adalah dimungkinkannya pembacaan dan penulisan data ke memori secara cepat dan mudah. Aspek lain adalah RAM bersifat volatile, sehingga RAM hanya menyimpan data sementara. Teknologi yang berkembang  saat  ini  adalah statik  dan dinamik. RAM  dinamik disusun oleh sel  – sel  yang menyimpan data sebagai muatan listrik pada kapasitor. Karena kapasitor memiliki kecenderungan alami  untuk  mengosongkan muatan, maka  RAM  dinamik  memerlukan pengisian muatan listrik secara  periodik  untuk  memelihara  penyimpanan data. Pada  RAM  statik, nilai  biner  disimpan dengan menggunakan konfigurasi  gate  logika  flipflop tradisional. RAM statik akan menyimpan data selama ada daya listriknya. RAM  statik  maupun dinamik  adalah volatile, tetapi  RAM  dinamik  lebih sederhana  dan rapat  sehingga  lebih murah. RAM  dinamik  lebih cocok  untuk  kapasitas  memori  besar, namun RAM statik umumnya lebih cepat.
Read only  memory (ROM)  sangat  berbeda dengan RAM, seperti namanya, ROM berisi pola  data  permanen yang  tidak  dapat  diubah. Data  yang  tidak  bisa  diubah menimbulkan keuntungan dan juga kerugian. Keuntungannya untuk data yang permanen dan sering digunakan pada  sistem  operasi  maupun sistem  perangkat  keras  akan aman diletakkan dalam  ROM. Kerugiaannya apabila ada kesalahan data atau adanya perubahan data sehingga perlu penyisipan – penyisipan. Kerugian tersebut bisa diantisipasi dengan jenis programmable ROM, disingkat PROM.
ROM dan PROM bersifat non-volatile. Proses penulisan PROm secara elektris dengan peralatan khusus. Variasi  ROM  lainnya  adalah read mostly  memory, yang  sangat  berguna  untuk  aplikasi operasi  pembacaan jauh lebih sering  daripada  operasi  penulisan. Terdapat  tiga  macam  jenis, yaitu: EPROM, EEPROM dan flash memory.
EEPROM  (electrically  erasable  programmable  read only  memory)  merupakan memori yang  dapat  ditulisi  kapan saja  tanpa  menghapus  isi  sebelumnya. EEPROM  menggabungkan kelebihan non-volatile dengan fleksibilitas dapat di-update.
Bentuk  memori  semikonduktor  terbaru adalah flash memory. Memori  ini  dikenalkan tahun 1980-an dengan keunggulan pada  kecepatan penulisan programnya. Flash memory menggunakan teknologi  penghapusan dan penulisan elektrik. Seperti  halnya  EPROM, flash memory hanya  membutuhkan sebuah transistor  per  byte  sehingga  dapat  diperoleh kepadatan tinggi.

tabel tipe-tipe memori semi konduktor

Untuk memperoleh keandalan sistem ada tiga pertanyaan yang diajukan: Berapa banyak ?Berapa cepat? Berapa mahal?
Pertanyaan berapa banyak adalah sesuatu yang sulit dijawab, karena berapapun kapasitas memori  tentu aplikasi  akan menggunakannya. Jawaban pertanyaan berapa cepat adalah memori harus  mempu mengikuti  kecepatan CPU  sehingga  terjadi  sinkronisasi  kerja  antar  CPU  dan memori  tanpa  adanya  waktu tunggu karena  komponen lain belum  selesai  prosesnya. Mengenai harga, sangatlah relatif. Bagi  produsen selalu mencari  harga  produksi  paling  murah tanpa mengorbankan kualitasnya untuk memiliki daya saing di pasaran.
Hubungan harga, kapasitas dan waktu akses adalah :
• Semakin kecil waktu akses, semakin besar harga per bitnya.
• Semakin besar kapasitas, semakin kecil harga per bitnya.
• Semakin besar kapasitas, semakin besar waktu aksesnya.
Dilema  yang  dihadapi  para  perancang  adalah keinginan menerapkan teknologi  untuk kapasitas  memori  yang  besar  karena  harga  per  bit  yang  murah namun hal  itu dibatasi  oleh teknologi  dalam  memperoleh waktu akses  yang  cepat. Salah satu pengorganisasian masalah ini adalah menggunakan hirarki  memori. Seperti  terlihat  pada  gambar  1.c, bahwa  semakin menurunnya hirarki maka hal berikut akan terjadi :
• Penurunan harga/bit
• Peningkatan kapasitas
• Peningkatan waktu akses
• Penurunan frekuensi akses memori oleh CPU.

gambar 1.c Hirarki Memori

Kunci  keberhasilan hirarki  ini  pada  penurunan frekuensi  aksesnya. Semakin lambat memori  maka  keperluan CPU  untuk  mengaksesnya  semakin sedikit. Secara  keseluruhan sistem komputer akan tetap cepat namun kebutuhan kapasitas memori besar terpenuhi.
             tabel spesifikasi memori

Organisasi Komputer


PENGANTAR ORGANISASI KOMPUTER

v  Komputer
Komputer adalah sebuah mesin hitung elektronik yang secara cepat menerima informasi masukan digital dan mengolah informasi tersebut menurut seperangkat instruksi yang tersimpan dalam  komputer  tersebut  dan  menghasilkan  keluaran  informasi  yang dihasilkan  setelah  diolah. Daftar perintah tersebut dinamakan program komputer dan unit penyimpanannya adalah memori komputer.
Dalam  bentuk  yang  paling  sederhana  komputer  terdiri  dari  lima  bagian  utama  yang mempunyai  fungsi  sendiri-sendiri.  Unit-unit  tersebut  adalah:  masukan,  memori,  aritmetika  dan logika, keluaran dan kontrol seperti pada gambar berikut :
Unit  masukan  menerima  informasi  yang  yang  dikodekan  dari  operator  manusia  lewat alat-alat  elektromekanik  seperti  papan  ketik  pada  suatu  terminal  video,  atau  dari  komputer- komputer  lain  lewat  jalur  komunikasi  digital.  Informasi  yang  diterima  dan  disimpan  dalam memori  untuk   dipergunakan  kelak,  atau  langsung diolah oleh rangkaian aritmetika dan logika untuk  melaksanakan  operasi  yang  diinginkan.  Langkah-langkah  pengolahan  ditentukan  oleh program yang disimpan dalam memori. Akhirnya hasil-hasil yang diperoleh dikirimkan kembali keluar melalui unit keluaran. Seluruh kegiatan ini dikoordinasi oleh unit kontrol.

V  STRUKTUR & FUNGSI KOMPUTER

STRUKTUR KOMPUTER

Komputer adalah sebuah sistem yang berinteraksi dengan cara tertentu dengan dunia luar. Interaksi  dengan  dunia  luar  dilakukan  melalui  perangkat  peripheral  dan  saluran  komunikasi.
Perhatikan gambar 1.2, terdapat empat struktur utama:

1.      Central  Processing  Unit  (CPU),  berfungsi  sebagai  pengontrol  operasi  komputer  dan pusat  pengolahan  fungsi  –  fungsi  komputer.  Kesepakatan,  CPU  cukup  disebut  sebagai processor(prosesor) saja.

2.      Memori Utama, berfungsi sebagai penyimpan data.

3.      I/O, berfungsi memindahkan data ke lingkungan luar atau perangkat lainnya.

4.      System  Interconnection,  merupakan  sistem  yang  menghubungkan  CPU,  memori  utama dan I/O.

Gambar 1.2 StrukturDasar Komputer
Komponen yang paling menarik namun paling kompleks adalah CPU. Struktur CPU terlihat pada gambar 1.2, dengan struktur utamanya adalah :
  • Control Unit, berfungsi untuk mengontrol operasi CPU dan mengontrol komputer secara keseluruhan.
  • Arithmetic   And   Logic   Unit   (ALU),   berfungsi   untuk   membentuk   fungsi   –   fungsi pengolahan data komputer.
  • Register, berfungsi sebagai penyimpan internal bagi CPU.
  • CPU Interconnection, berfungsi menghubungkan seluruh bagian dari CPU.
Fungsi Komputer Fungsi  dasar  sistem komputer  adalah  sederhana  seperti  terlihat  pada  gambar  1.3. Pada prinsipnya terdapat empat buah fungsi operasi, yaitu :
a)      Fungsi Operasi Pengolahan Data
b)      Fungsi Operasi Penyimpanan Data
c)       Fungsi Operasi Pemindahan Data
d)      Fungsi Operasi Kontrol
Gambar 1.3. Fungsi Komputer
 Komputer  harus  dapat  memproses  data.  Representasi  data  di  sini  bermacam–macam, akan tetapi nantinya data harus disesuaikan dengan mesin pemrosesnya. Dalam pengolahan data,komputer  memerlukan  unit  penyimpanan  sehingga  diperlukan  suatu  mekanisme  penyimpanan data.  Walaupun  hasil  komputer  digunakan  saat  itu,  setidaknya  komputer  memerlukan  media penyimpanan   untuk   data   prosesnya.   Dalam   interaksi   dengan   dunia   luar   sebagai   fungsi pemindahan data diperlukan antarmuka (interface), proses ini dilakukan oleh unit Input/Output (I/O) dan perangkatnya disebut peripheral. Saat interaksi dengan perpindahan data yang jauh atau dari remote device, komputer melakukan proses komunikasi data. Gambar 1.4 mengilustrasikan operasi–operasi  komputer.  Gambar  1.4a  adalah  operasi  pemindahan  data,  gambar  1.24  adalah operasi penyimpanan data, gambar 1.4c dan gambar 1.4d adalah operasi pengolahan data.
Gambar 1.4. Operasi-operasi Komputer
Bagian-Bagian Komputer
Komputer terdiri dari tiga bagian utama yang tidak dapat dipisahkan, yaitu ;
1)      Hardware (perangkat keras)
Merupakan peralatan fisik dari komputer yang dapat kita lihat dan rasakan. Hardware ini terdiri dari ;
  • Input/Output Device (I/O Device) Terdiri dari perangkat masukan dan keluaran, seperti keyboard,scanner,printer,dll.
  • Storage Device (perangkat penyimpanan) Merupakan media untuk menyimpan data seperti disket, harddisk, CD-I, flash disk dll.
  • Monitor /Screen Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor. Monitor disebut juga dengan Visual Display Unit (VDU).
  • Casing Unit adalah tempat dari semua peralatan komputer, baik itu motherboard, card, peripheral lain dan Central Procesing Unit (CPU).Casing unit ini disebut juga dengan System Unit.
  • Central Procesing Unit (CPU) adalah salah satu bagian komputer yang paling penting, karena jenis prosesor menentukan pula jenis komputer. Baik tidaknya suatu komputer, jenis komputer, harga komputer, ditentukan terutama oleh jenis prosesornya.Semakin canggih prosesor komputer, maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal.
  • 1)      Software (perangkat lunak)
    Merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki. Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer. Software terdiri dari beberapa jenis, yaitu ;
  • Sistem Operasi, seperti DOS, Unix, Linux, Novell, OS/2, Windows, Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi. Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali.
  • Program Utility, seperti Norton Utility, Scandisk, PC Tools, dll.Program utility berfungsi untuk membantu atau mengisikekurangan/kelemahan dari system operasi, misalnya PC Tools dapat melakukan perintah format sebagaimana DOS, tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan. File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan.
  • Program Aplikasi, seperti GL, MYOB, Payroll dll. Merupakan program yang khusus melakukan suatu pekerjaan tertentu, seperti program gaji pada suatu perusahaan. Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain. Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaan / kebutuhan seseorang / lembaga/ perusahaan guna keperluan interennya.
  • Program Paket, seperti Microsofr office, Adobe fotoshop, macromedia studio, open office dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan. Seperti MS-office, dapat digunakan oleh departemen keuangan untuk membuat nota, atau bagian administrasi untuk membuat surat penawaran dan lain sebagainya.
  • Bahasa Pemrograman, PHP, ASP, dBase, Visual Basic, dll.Merupakan software yang khusus digunakan untuk membuat program komputer, apakah itu sistem operasi, program paket dll. Bahasa
Pemrograman ini biasanya dibagi atas 3 tingkatan, yaitu ;
·         Low Level Language, bahasa pemrograman generasi pertama,bahasa pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin. Biasanya yang mengerti hanyalah pembuatnya saja.
·         Midle Level Language, merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari, walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE).Yang tergolong kedalam bahasa ini adalah Assembler, ForTran (Formula Translator).
·         High Level Language, merupakan bahasa tingkat tinggi yang mempunyai cirri mudah dimengerti, karena menggunakan bahasa sehari-hari, seperti BASIC, dBase, Visual Basic, VB.Net dll.
2)      Brainware (User)
User adalah personel-personel yang terlibat langsung dalam pemakaian komputer,seperti Sistem analis, programmer, operator, user, dll. Pada organisasi yang cukup besar, masalah komputerisasi biasanya ditangani oleh bagian khusus yang dikenal dengan bagian EDP (Electronic Data Processing), atau sering disebut dengan EDP Departemen, yang dikepalai oleh seorang Manager EDP.
Cara Kerja Komputer
Cara kerja komputer dapat kita gambarkan sebagai berikut:
Gambar cara kerja computer
1.      Input Device, adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer, seperti keyboard, mouse, joystick dan lain-lain.
2.      Prosesor, adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri. Prosesor terdiri dari dua bagian utama, yaitu ;
o   Control Unit (CU), merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer, mulai dari input device sampai output device.
o   Arithmetic Logic Unit (ALU), merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah, mengurang dll) serta data logika (perbandingan).
3.      Memori , adalah media penyimpan data pada computer,memori terbagi atas dua macam, yaitu ;
·         Read Only Memory (ROM), yaitu memori yang hanya bisa dibaca saja, tidak dapat dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer. Isi ROM diperlukan pada saat komputer dihidupkan. Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM. Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk, perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar. Isi ROM tidak akan hilang meskipun tidak ada aliran listrik. Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya, diantaranya :
o   PROM (Programable ROM), yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram.
o   RPROM (Re-Programable ROM), merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan.
o   EPROM (Erasable Program ROM), merupakan ROM yangdapat kita hapus dan program kembali, tapi cara penghapusannya dengan menggunakan sinar ultraviolet.
o   EEPROM (Electrically Erasable Program ROM), perkembangan mutakhir dari ROM dimana kita dapat mengubahdan menghapus program ROM dengan menggunakan teknikelektrik. EEPROM ini merupakan jenis yang paling banyak digunakan saat ini.
·         Random Access Memori (RAM), dari namanya kita dapat artikan bahwa RAM adalah memori yang dapat diakses secara random. RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika komputer kita matikan, maka seluruh data yang tersimpan dalam RAM akan hilang. Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer. Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan, maka diperlukan media penyimpanan eksternal, seperti Disket, Harddisk, flash disk, PCMCIA card dan lain-lain.
4.      Output Device, adalah perangkat komputer yang berguna untuk menghasilkan keluaran, apakah itu ke kertas (hardcopy), ke layar monitor (softcopy) atau keluaran berupa suara. Contohnya printer, speaker, plotter, monitor dan banyak yang lainnya. Dari penjelasan diatas dapat kita simpulkan bahwa prinsip kerja komputer tersebut diawali memasukkan data dari perangkat input, lalu data tersebut diolah sedemikian rupa oleh CPU sesuai yang kita inginkan dan data yang telah diolah tadi disimpan dalam memori komputer atau disk. Data yang disimpan dapat kita lihat hasilnya melalui perangkat keluaran.
v  Organisasi Komputer
Organisasi Komputer adalah bagian yang terkait erat dengan unit–unit operasional dan interkoneksi antar komponen penyusun sistem komputer dalam    merealisasikan aspek arsitekturalnya.  Contoh  aspek  organisasional  adalah  teknologi  hardware,  perangkat  antarmuka, teknologi memori, sistem memori, dan sinyal–sinyal kontrol.
Arsitektur Komputer lebih cenderung pada kajian atribut–atribut sistem komputer yang terkait dengan seorang programmer. Contohnya, set instruksi, aritmetika yang digunakan, teknik pengalamatan, mekanisme I/O.
Sebagai contoh  apakah  suatu  komputer  perlu  memiliki  instruksi  pengalamatan  pada memori merupakan masalah rancangan arsitektural. Apakah instruksi pengalamatan tersebut akan diimplementasikan secara langsung ataukah melalui mekanisme cache adalah kajian organisasional.
Perbedaan Utama : Organisasi Komputer
  • Bagian yang terkait erat dengan unit–unit operasional
  • Contoh: teknologi hardware, perangkat antarmuka, teknologi memori, sistem memori, dan sinyal–sinyal kontrol
Arsitektur Komputer
  • atribut–atribut sistem komputer yang terkait dengan seorang programmer
  • Contoh: set instruksi, aritmetika yang digunakan, teknik pengalamatan, mekanisme I/O

Central Processing Unit (CPU)

Struktur CPU



1.      Komponen Utama CPU

CPU  singkatan dari Central Processing Unit adalah perangkat keras komputer yang berfungsi untuk menerima dan melaksanakan perintah dan data dari perangkat lunak. Prosesor sering digunakan untuk menyebut CPU pada umumnya. Adapun mikroprosesor adalah CPU yang diproduksi dalam sirkuit terpadu, seringkali dalam sebuah paket sirkuit terpadu-tunggal. Sejak pertengahan tahun 1970-an, mikroprosesor sirkuit terpadu-tunggal ini telah umum digunakan dan menjadi aspek penting dalam penerapan CPU.Pin mikroprosesor Intel 80486DX2.
Komponen CPU terbagi menjadi beberapa macam, yaitu sebagai berikut:
1.      Unit kontrol (Control Unit)
Unit kontrol ini adalah bagian dari prosesor yang mampu mengatur jalannya program. Komponen ini terdapat dalam semua CPU. CPU bertugas mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsi operasinya. termasuk dalam tanggung jawab unit kontrol adalah mengambil intruksi-intruksi dari memori utama dan menentukan jenis instruksi tersebut. Bila ada instruksi untuk perhitungan aritmatika atau perbandingan logika, maka unit kendali akan mengirim instruksi tersebut ke ALU (Aritmathic Logic Unit). Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output. Dengan demikian tugas dari unit kendali ini adalah:
·         Mengatur dan mengendalikan alat-alat input dan output.
·         Mengambil instruksi-instruksi dari memori utama.
·          Mengambil data dari memori utama (jika diperlukan) untuk diproses.
·         Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika.
·         Mengawasi kerja dari ALU.
·         Menyimpan hasil proses ke memori utama

2.      Register
Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan/atau instruksi yang sedang diproses. Memori ini bersifat sementara, biasanya di gunakan untuk menyimpan data saat di olah ataupun data untuk pengolahan selanjutnya. jika dianalogikan, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.
3.      ALU
ALU merupakan bagian dari CPU yang bertugas untuk melakukan operasi aritmetika dan operasi logika berdasar instruksi yang ditentukan. ALU sering di sebut mesin bahasa karena bagian ini ALU terdiri dari dua bagian, yaitu unit aritmatika dan unit logika boolean yang masing-masing memiliki spesifikasi tugas tersendiri. Tugas utama dari ALU adalah melakukan semua perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder.

Tugas lain dari ALU adalah melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan (¹ ), kurang dari (<), kurang atau sama dengan (£)lebih besar dari (>), dan lebih besar atau sama dengan (³ ).
4.      CPU Interconnections
CPU Interconnections adalah sistem koneksi dan bus yang menghubungkan komponen internal CPU, yaitu ALU, unit kontrol dan register-register dan juga dengan bus-bus eksternal CPU yang menghubungkan dengan sistem lainnya, seperti memori utama, piranti masukan /keluaran.

Komponen internal CPU

Struktur detail internal CPU

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

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

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

Siklus Fetch - Eksekusi
  • Pada setiap siklus instruksi, CPU awalnya akan membaca instruksi dari memori
  • Terdapat register dalam CPU yang berfungsi mengawasi dan menghitung instruksi selanjutnya, yang disebut Program Counter (PC)
  • PC akan menambah satu hitungannya setiap kali CPU membaca instruksi
  • Instruksi – instruksi yang dibaca akan dibuat dalam register instruksi (IR).
  • Instruksi – instruksi ini dalam bentuk kode – kode binner yang dapat diinterpretasikan oleh CPU kemudian dilakukan aksi yang diperlukan
Aksi CPU
  • CPU – Memori, perpindahan data dari CPU ke
  • memori dan sebaliknya.
  • CPU –I/O, perpindahan data dari CPU ke modul I/O
  • dan sebaliknya.
  • Pengolahan Data, CPU membentuk sejumlah operasi
  • aritmatika dan logika terhadap data.
  • Kontrol, merupakan instruksi untuk pengontrolan
  • fungsi atau kerja. Misalnya instruksi pengubahan
  • urusan eksekusi.
Siklus Eksekusi
  • Instruction Addess Calculation (IAC), yaitu mengkalkulasi atau menentukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya. Misalnya, bila panjang setiap instruksi 16 bit padahal memori memiliki panjang 8 bit, maka tambahkan 2 ke alamat sebelumnya.
  • Instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi memorinya ke CPU.
  • Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk menentukan jenis operasi yang akan dibentuk dan operand yang akan di
gunakan.
  • Operand Address Calculation (OAC), yaitu menentukan alamat operand, hal ini dilakukan apabila melibatkan referensi operand pada memori.
  • Operand Fetch (OF), adalah mengambil operand dari memori atau dari modul I/O.
  • Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
  • Operand store (OS), yaitu menyimpan hasil eksekusi ke dalam memori
Diagram siklus instruksi


Diagram Siklus Instruksi
Fungsi Interupsi
  • Mekanisme penghentian atau pengalihan pengolahan instruksi dalam CPU kepada routine interupsi.
  • Hampir semua modul (memori dan I/O) memiliki mekanisme yang dapat menginterupsi kerja CPU.
Tujuan Interupsi
  • Secara umum untuk menejemen pengeksekusian routine instruksi agar efektif dan efisien antar CPU dan modul – modul I/O maupun memori.
  • Setiap komponen komputer dapat menjalankan tugasnya secara bersamaan, tetapi kendali terletak pada CPU disamping itu kecepatan eksekusi masing – masing modul berbeda.
  • Dapat sebagai sinkronisasi kerja antar modul
Kelas sinyal interupsi
  • Program, yaitu interupsi yang dibangkitkan dengan beberapa kondisi yang terjadi pada hasil eksekusi program. Contohnya: arimatika overflow, pembagian nol, oparasi ilegal.
  • Timer, adalah interupsi yang dibangkitkan pewaktuan dalam prosesor. Sinyal ini memungkinkan sistem operasi menjalankan fungsi tertentu secara reguler.
  • I/O, sinyal interupsi yang dibangkitkan oleh modul I/O sehubungan pemberitahuan kondisi error dan penyelesaian suatu operasi.
  • Hardware failure, adalah interupsi yang dibangkitkan oleh kegagalan daya atau kesalahan paritas memori.
Proses Interupsi
  • Dengan adanya mekanisme interupsi, prosesor dapat digunakan untuk mengeksekusi instruksi – instruksi lain.
  • Saat suatu modul telah selesai menjalankan tugasnya dan siap menerima tugas berikutnya maka modul ini akan mengirimkan permintaan interupsi ke prosesor
  • Kemudian prosesor akan menghentikan eksekusi yang dijalankannya untuk menghandel routine interupsi.
  • Setelah program interupsi selesai maka prosesor akan melanjutkan eksekusi programnya kembali.
  • Saat sinyal interupsi diterima prosesor ada dua kemungkinan tindakan, yaitu interupsi diterima/ditangguhkan dan interupsi ditolak
Interupsi Ditangguhkan
Apa yang dilakukan Prosessor ?
  • Prosesor menangguhkan eksekusi program yang dijalankan dan menyimpan konteksnya. Tindakan ini adalah menyimpan alamat instruksi berikutnya yang akan dieksekusi dan data lain yang relevan.
  • Prosesor menyetel program counter (PC) ke alamat awal routineinterrupt handler.
Siklus eksekusi oleh prosesor
dengan adanya fungsi interupsi

Gambar Siklus eksekusi instruksi dengan interrupt

Sistem operasi kompleks
  • Interupsi ganda (multiple interrupt).
Misalnya suatu komputer akan menerima permintaan interupsi saat proses pencetakan dengan printer selesai, disamping itu dimungkinkan dari saluran komunikasi akan mengirimkan permintaan interupsi setiap kali data tiba.
  • Dapat diambil dua buah pendekatan untuk menangani interupsi ganda ini
Pendekatan Interupsi ganda
  • Ada 2 Pendekatan :
  • Pendekatan ini disebut pengolahan interupsi berurutan /
  • sekuensial
-Menolak atau tidak mengizinkan interupsi lain saat suatu interupsi ditangani prosesor.
-Setelah prosesor selesai menangani suatu interupsi maka interupsi lain baru di tangani.
  • Pengolahan interupsi bersarang yaitu mendefinisika
n prioritas bagi interupsi
  • Interrupt handler mengizinkan interupsi berprioritas lebih tinggi ditangani terlebih dahulu


Gambar Multiple Interrupts – Nested (Bersarang)

Gambar Multiple Interrupts – Nested (Bersarang)

Contoh Kasus
  • Suatu sistem memiliki tiga perangkat I/O: printer, disk, dan saluran komunikasi, masing – masing prioritasnya 2, 4 dan 5. Bagaimana proses interupsinya ?
  • Pada awal sistem melakukan pencetakan dengan printer, saat itu terdapat pengiriman data pada saluran komunikasi sehingga modul komunikasi meminta interupsi.
  • Proses selanjutnya adalah pengalihan eksekusi interupsi mudul komunikasi, sedangkan interupsi printer ditangguhkan.
  • Saat pengeksekusian modul komunikasi terjadi interupsi disk, namun karena prioritasnya lebih rendah maka interupsi disk ditangguhkan.
  • Setelah interupsi modul komunikasi selesai akan dilanjutkan interupsi yang memiliki prioritas lebih tinggi, yaitu disk.
  • Bila interupsi disk selesai dilanjutkan eksekusi interupsi printer. Selanjutnya dilanjutkan eksekusi program utama

Percabangan instruksi
Pemrosesan instruksi dalam CPU dibagi atas dua tahap, Tahap-I disebut Instruction Fetch, sedangkan Tahap-II disebut Instruction Execute. Tahap-I berisikan pemrosesan CPU dimana Control Unit mengambil data dan/atau instruksi dari main-memory ke register, sedangkan Tahap-II berisikan pemrosesan CPU dimana Control Unit menghantarkan data dan/atau instruksi dari register ke main-memory untuk ditampung di RAM, setelah Instruction Fetch dilakukan. Waktu pada tahap-I ditambah dengan waktu pada tahap-II disebut waktu siklus mesin (machine cycles time).
Penghitung program dalam CPU umumnya bergerak secara berurutan. Walaupun demikian, beberapa instruksi dalam CPU, yang disebut dengan instruksi lompatan, mengizinkan CPU mengakses instruksi yang terletak bukan pada urutannya. Hal ini disebut juga percabangan instruksi (branching instruction). Cabang-cabang instruksi tersebut dapat berupa cabang yang bersifat kondisional (memiliki syarat tertentu) atau non-kondisional. Sebuah cabang yang bersifat non-kondisional selalu berpindah ke sebuah instruksi baru yang berada di luar aliran instruksi, sementara sebuah cabang yang bersifat kondisional akan menguji terlebih dahulu hasil dari operasi sebelumnya untuk melihat apakah cabang instruksi tersebut akan dieksekusi atau tidak. Data yang diuji untuk percabangan instruksi disimpan pada lokasi yang disebut dengan flag.
Bilangan yang dapat ditangani
Kebanyakan CPU dapat menangani dua jenis bilangan, yaitu fixed-point dan floating-point. Bilangan fixed-point memiliki nilai digit spesifik pada salah satu titik desimalnya. Hal ini memang membatasi jangkauan nilai yang mungkin untuk angka-angka tersebut, tetapi hal ini justru dapat dihitung oleh CPU secara lebih cepat. Sementara itu, bilangan floating-point merupakan bilangan yang diekspresikan dalam notasi ilmiah, di mana sebuah angka direpresentasikan sebagai angka desimal yang dikalikan dengan pangkat 10 (seperti 3,14 x 1057). Notasi ilmiah seperti ini merupakan cara yang singkat untuk mengekspresikan bilangan yang sangat besar atau bilangan yang sangat kecil, dan juga mengizinkan jangkauan nilai yang sangat jauh sebelum dan sesudah titik desimalnya. Bilangan ini umumnya digunakan dalam merepresentasikan grafik dan kerja ilmiah, tetapi proses aritmatika terhadap bilangan floating-point jauh lebih rumit dan dapat diselesaikan dalam waktu yang lebih lama oleh CPU karena mungkin dapat menggunakan beberapa siklus detak CPU. Beberapa komputer menggunakan sebuah prosesor sendiri untuk menghitung bilangan floating-point yang disebut dengan FPU (disebut juga math co-processor) yang dapat bekerja secara paralel dengan CPU untuk mempercepat penghitungan bilangan floating-point. FPU saat ini menjadi standar dalam banyak komputer karena kebanyakan aplikasi saat ini banyak beroperasi menggunakan bilangan floating-point.