Sunday, 15 November 2015

Definisi Arsitektur Komputer


               Arsitektur komputer adalah atribut atribut sebuah sistem komputer, dilihat dari sudut pandang    
     seorang programmer.

     Dalam hal ini  struktur konseptual dan  perilaku fungsional  sistem komputer.

       Struktur konseptual  menyangkut bagaimana komponen komponen   tersebut disalinghubungkan      
     (diinterkoneksikan).
       Perilaku fungsional (fungsional behaviour ) menyangkut fungsi   komponen-komponen secara individual, 
     dan sebagai bagian dari struktur  (aliran  informasi dan kendali antar komponen-komponen dalam        
     struktur).

Fungsi fungsi dasar sebuah  sistem komputer

  •   Data processing
  •   Data storage
  •   Data movement
  •   Control

Generasi Komputer Berdasarkan Teknologi

       Teknologi IC

      •          Vacuum tube - 1946-1957
      •          Transistor - 1958-1964
      •          Small Scale Integration - 1965 on
      –        Up to 100 devices on a chip
      •          Medium Scale Integration - to 1971
      –        100-3,000 devices on a chip
      •          Large Scale Integration - 1971-1977
      –        3,000 - 100,000 devices on a chip
      •          Very Large Scale Integration - 1978 to date
      –        100,000 - 100,000,000 devices on a chip
      •          Ultra Large Scale Integration
      –        Over 100,000,000 devices on a chip

Pentium Evolution

      •          8080
      –        first general purpose microprocessor
      –        8 bit data path
      –        Used in first personal computer – Altair
      •          8086
      –        much more powerful
      –        16 bit
      –        instruction cache, prefetch few instructions
      –        8088 (8 bit external bus) used in first IBM PC
      •          80286
      –        16 Mbyte memory addressable
      –        up from 1Mb
      •          80386
      –        32 bit
      –        Support for multitasking
      •          80486
      –        sophisticated powerful cache and instruction pipelining
      –        built in maths co-processor
      •          Pentium
      –        Superscalar  
      –        Multiple instructions executed in parallel
      •          Pentium Pro
      –        Increased superscalar organization
      –        Aggressive register renaming
      –        branch prediction
      –        data flow analysis
      –        speculative execution
      •          Pentium II
      –        MMX technology
      –        graphics, video & audio processing
      •          Pentium III
      –        Additional floating point instructions for 3D graphics
      •          Pentium 4
      –        Note Arabic rather than Roman numerals
      –        Further floating point and multimedia enhancements
      •          Itanium
      –        64 bit
      –        32 bit

Struktur Dasar Komputer

                  Fungsi                Komponen

  •   Data processing             CPU
  •   Control
  •   Data movement            I/O unit
  •   Data storage                Memory

SET INSTRUKSI

        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, jenis instruksi, jenis register, mode peng-alamatan, arsitektur memory, penanganan interupsi, eksepsi, dan operasi I/O eksternalnya (jika ada).

       Set instruksi (instruction set) adalah sekumpulan lengkap instruksi yang dapat di mengerti oleh sebuah CPU, set instruksi sering juga disebut sebagai bahasa mesin (machine code), karena aslinya juga berbentuk biner kemudian dimengerti sebagai bahasa assembly, untuk konsumsi manusia (programmer), biasanya digunakan representasi yang lebih mudah dimengerti oleh manusia.

Operation Code (opcode)                                         :      menentukan operasi yang akan
                                                                                     dilaksanakan.
Source Operand Reference                                      :      merupakan input bagi operasi
                                                                                     yang akan dilaksanakan.
Result Operand Reference                                       :      merupakan hasil dari operasi
                                                                                     yang dilaksanakan.
Next instruction Reference                                     :      memberitahu CPU untuk
                                                                                     mengambil (fetch) instruksi
                                                                                     berikutnya setelah instruksi
                                                                                     yang dijalankan selesai.

Storage dari Source dan result operands reference dapat berupa salah satu diantara tiga jenis berikut ini:

Ø  Main or Virtual Memory
Ø  CPU Register
Ø  I/O Device

Jenis instruksi

      Data processing: Arithmetic dan Logic Instructions.
      Aritmetik (ADD, SUB, dsb) dan Logic (AND, OR, NOT,    SHR, dsb);
      Data storage: Memory instructions. Transfer data (STOR, LOAD, MOVE, dsb)
      Data Movement: I/O instructions. Input dan Output ke modul I/O
         
           Control: Test and branch instructions

Beberapa simbolik instruksi:

   ADD                        :    Add (jumlahkan)                          STOR         :    Simpan data ke 
                                                                                                                       register/memory
   SUB                         :    Subtract (Kurangkan)                  LOAD        :    Load data dari 
                                                                                                                       register/memory
   MPY/MUL            :    Multiply (Kalikan)                        SHL            :    Shift kiri data .dan lain-
                                                                                                                       lain
   DIV                         :    Divide (Bagi)                                 SHR           :    Shift kanan data
   MOVE                    :    Pindahkan data 
                                        dari satu tempat 
                                        ke tempat lain


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

1. Kelengkapan set instruksi
2. Ortogonalitas (sifat independensi instruksi)
3. Kompatibilitas :    

    -  Source code compatibility
    - Object code Compatibility

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

1.  Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya
2.  Data Types: tipe/jenis data yang dapat olah oleh Instruction Format: panjangnya, banyaknya alamat, dsb.
3.  Register: Banyaknya register yang dapat digunakan
4.  Addressing: Mode pengalamatan untuk operand

Jenis – jenis operand seperti :

1.  Addresses modes
2.  Numbers   :            -           Integer or fixed point
                                  -           Floating point
                                  -           Decimal (BCD)
3. Characters:             -           ASCII     (American Standard Code for Information 
                                                               Interchange)
                                  -           EBCDIC (Extended Binary Coded Decimal Interchange Code)

4. Logical Data : Bila data berbentuk binary: 0 dan 1

Operasi set instruksi untuk transfer data :

      MOVE                        : Memindahkan word atau blok dari sumber ke tujuan
      STORE                       : Memindahkan word dari prosesor ke memori.
      LOAD                         : Memindahkan word dari memori ke prosesor.
      EXCHANGE              : Menukar isi sumber ke tujuan.
      CLEAR / RESET        : Memindahkan word 0 ke tujuan.
      SET                            : Memindahkan word 1 ke tujuan.
      PUSH                          : Memindahkan word dari sumber ke bagian paling atas stack.
      POP                            : Memindahkan word dari bagian paling atas sumber

Tindakan CPU untuk melakukan operasi arithmetic :

     1. Transfer data sebelum atau sesudah.
     2. Melakukan fungsi dalam ALU.
     3. Menset kode-kode kondisi.

Operasi set instruksi untuk arithmetic :

      1.            ADD               :           penjumlahan    5.         ABSOLUTE
      2.            SUBTRACT   :           pengurangan    6.         NEGATIVE
      3.            MULTIPLY    :           perkalian         7.         DECREMENT
      4.            DIVIDE          :           pembagian       8.         INCREMENT

      Nomor 5 sampai 8 merupakan instruksi operand tunggal.

Bentuk instruksi:

Format instruksi 3 alamat

      Mempunyai bentuk umum seperti : [OPCODE][AH],[AO1],[AO2]. Terdiri dari satu alamt hasil, dan dua alamat operand, misal SUB Y,A,B Yang mempunyai arti dalam bentuk algoritmik : Y := A – B dan arti dalam bentuk penjelasan : kurangkan isi reg a dengan isi reg B, kemudian simpan hasilnya di reg Y. bentuk bentuk pada format ini tidak umum digunakan di dalam computer, tetapi tidak dimungkinkan ada pengunaanya, dalam peongoprasianya banyak register sekaligus dan program lebih pendek.

Contoh:

A, B, C, D, E, T, Y adalah register
Program                      :  Y = (A – B) / ( C + D × E)
SUB Y, A, B               Y := A – B
MPY T, D, E               T := D × E
ADD T, T, C               T := T + C
DIV Y, Y, T                Y:= Y / T
Memerlukan 4 operasi



CACHE MEMORY

Overview Cache Memory

    Cache memory adalah memori sesaat yang memiliki kecepatan tinggi dengan ukuran yang kecil. Memori ini bertugas untuk menyimpan salinan perintah / instruksi yang selalu diakses oleh CPU. Tugas Cache memory adalah sebagai penghubung perbedaan kecepatan antara CPU dan Memori Utama.

         Dalam implementasinya jenis memori yang digunakan untuk cache adalah statik RAM (SRAM).

Operasi Cache

   Jika prosesor membutuhkan suatu data, pertama prosesor akan mencarinya pada cache. Jika data ditemukan, prosesor akan langsung membacanya dengan delay yang sangat kecil. Tetapi jika data yang dicari tidak ditemukan,prosesor akan mencarinya pada RAM yang kecepatannya lebih rendah.

Karakteristik Cache Memory

         Kapasitas relatif lebih kecil dari main memory, tetapi memiliki kecepatan yang relativ lebih tinggi 
      dibanding main memory.
         Cache memory merupakan suatu memori buffer (salinan data) bagi memori utama.
         Meskipun cache menggunakan informasi yang tersimpan dalam memori utama, tetapi ia tidak 
      berhadapan secara langsung dengan memori utama.
         Word yang disimpan didalam cache memory adalah word yang diambil dari main memory, yang 
      dikerjakan sesuai perintah CPU.

Cache Design

         Ukuran cache
         Pemetaan (Mapping Function)
         Algoritma Penggantian (Replacement Algorithm)
         Write Policy
         Ukuran Blok
         Jumlah Cache

Ukuran Cache

             Menentukan ukuran cache memory sangat penting untuk mendongkrak kinerja komputer. Dari segi harga cache memory sangat, mahal tidak seperti memori utama. Semakin besar kapasitas cache tidak berarti semakin cepat prosesnya, dengan ukuran besar akan terlalu banyak gate pengalamatannya sehingga akan memperlambat proses.

Level Cache Memory

     Cache memory memori level 1 (L1) adalah cache memory yang terletak dalam prosesor (internal cache). 
    Cache memory ini memiliki kecepatan akses paling tinggi. Ukuran memori berkembang mulai dari 8KB, 
    64KB dan 128KB.
     Cache memory level 2 (L2) memiliki kapasitas yang lebih besar yaitu berkisar antara 256KB sampai 
    dengan 2MB. Namun, cache memory L2 ini memiliki kecepatan yang lebih rendah dari cache memory L1.     Cache memory L2 terletak terpisah dengan prosesor atau disebut dengan external cache.
     Cache memory level 3 (L3) hanya dimiliki oleh prosesor yang memiliki unit lebih dari satu misalnya    
    dualcore dan quadcore. Fungsinya adalah untuk mengontrol data yang masuk dari tembolok L2 dari 
    masing-masing inti prosesor.

Pemetaan

          Karena saluran cache memory lebih sedikit dibandingkan dengan blok memori utama, maka diperlukan algoritma untuk pemetaan blok memori utama ke dalam saluran cache memory. Pemilihan terhadap fungsi pemetaan akan sangat menentukan bentuk organisasi cache memory. Telah kita ketahui bahwa cache memory mempunyai kapasitas yang kecil dibandingkan memori utama. Sehingga diperlukan aturan blok-blok mana yang diletakkan dalam cache memory.

Teknik Pemetaan

         Direct mapping
         Fully associative mapping
         Set associative mapping

Direct Mapping

Keuntungan menggunakan Direct Mapping antara lain:

         Mudah dan murah diimplementasikan.
         Mudah untuk menentukan letak salinan data main memory pada cache.

Kerugian menggunakan Direct Mapping antara lain:

         Setiap blok main memory hanya dipetakan pada 1 line saja.
         Terkait dengan sifat lokal pada main memory, sangat mungkin mengakses blok yang dipetakan pada line       yang sama pada cache. Blok seperti ini akan menyebabkan seringnya sapu masuk dan keluar data                 ke/dari cache, sehingga hit ratio mengecil. Hit ratio adalah perbandingan antara jumlah ditemukannya       
      data pada cache dengan jumlah usaha mengakses cache.

Full associative mapping

         Memungkinkan blok diletakkan di sebarang line yang sedang tidak terpakai.
         Diharapkan akan mengatasi kelemahan utama Direct Mapping.
         Harus menguji setiap cache untuk menemukan blok yang diinginkan.

ü  Mengecek setiap tag pada line
ü  Sangat lambat untuk cache berukuran besar.

         Nomor line menjadi tidak berarti. Address main memory dibagi menjadi 2 field saja, yaitu tag dan word         offset.

Full associative mapping

         Keuntungan Associative Mapping: cepat dan fleksibel.
         Kerugiannya: biaya implementasi. Misalnya : untuk cache ukuran 8 kbyte dibutuhkan 1024 x 17 bit 
      associative memory untuk menyimpan tag identifier.

Set associative mapping

         Merupakan kompromi antara Direct dengan Full Associative Mapping.
         Membagi cache menjadi sejumlah set (v) yang masing-masing memiliki sejumlah line (k)
         Setiap blok dapat diletakkan di sebarang line
         Jika sebuah set dapat menampung X line, maka cache disebut memiliki Xway set associative cache.
         Hampir semua cache yang digunakan saat ini menggunakan organisasi 2 atau 4-way set associative 
      mapping

Keuntungan menggunakan Set Associative Mapping antara lain:

Ø     Setiap blok memori dapat menempati lebih dari satu kemungkinan nomor line (dapat menggunakan line 
      yang kosong), sehingga thrashing dapat diperkecil
Ø     Jumlah tag lebih sedikit (dibanding model associative), sehingga jalur untuk melakukan perbandingan tag 
      lebih sederhana.

Algoritma pergantian

         Pada teknik direct mapping, jika sebuah blok akan disalinkan ke sebuah slot dan slot tersebut sedang 
      terisi, maka blok yang baru tersebut langsung akan menggantikan blok yang lama.
         Pada teknik fully associative dan set associative mapping, jika sebuah blok akan disalinkan ke slot cache       dan semua slot saat itu penuh, maka harus ditentukan isi slot mana yang harus diganti. Untuk itu       
      diperlukan suatu algoritma penggantian.

Write Policy

      Write Policy adalah suatu keadaan apabila suatu data telah diletakkan pada cache memory maka sebelum ada penggantian harus dicek apakah data tersebut telah mengalami perubahan. Apabila telah berubah maka data pada memori utama harus di-update.
Ada 2 write policy yang biasa digunakan, yaitu:

         Write Through
         Write Back

      Write Through

         Penulisan dilakukan pada cache dan juga memori utama
         Akan menyebabkan banyak trafik
         Memperlambat proses penulisan

      Write Back

         Pada awalnya, perubahan hanya dilakukan di cache.
         Sebuah bit akan diset apabila update terjadi.
         Pada saat blok akan diganti, penulisan pada memori hanya dilakukan apabila bit tersebut dalam keadaan       diset.
         Setiap I/O harus mengakses langsung ke cache karena isi memori utama tidak valid.
         Rangkaian menjadi rumit.


ARSITEKTUR KOMPUTER


     Memory

     Memori adalah bagian dari komputer tempat program – program dan data – data disimpan.
Sering digunakan istilah store atau storage untuk memori, meskipun kata storage sering digunakan untuk menunjuk ke penyimpanan disket.
Tempat informasi, untuk dibaca dan ditulis
Memiliki aneka ragam jenis, teknologi, organisasi, unjuk kerja dan harganya

*  Memory merupakan sumberdaya komputer yang dikelola oleh sistem operasi komputer.
*  Pengelolaan memory bersangkutan dengan ruang atau letak  selain sebagai pengingat, memory juga  
     bertindak selaku penyimpan (storage).
*  Ada isi memory yang sUdah bersifat tetap, sehingga tidak dapat diubah lagi, ada juga memory yang  tidak bersifat tetap.
*  Keluasan ruang memory menyebabkan pencarian pencarian bagian atau letak memory tertentu menjadi  
     tidak mudah

      ALAMAT MEMORI

*  Berdasarkan atas keperluan penyimpanan informasi, dikenal adanya alamat memori mutlak atau  alamat memori fisik.
*  Berdasarkan atas kemudahan tataolah, dikenal adanya alamat memori relatif atau alamat memori  logika.
      Jenis memori dan alamat memori :
*  Pada memori kerja, alamat mutlak adalah alamat fisik pada memori kerja, sedangkan alamat relatif    adalah alamat memori yang secara tidak langsung menunjuk ke salah satu sel pada memori kerja .

    Random Memory Access (RAM)

*  RAM ditemukan oleh Robert Dennard dan diproduksi secara besar - besaran oleh Intel pada tahun       1968, Pada awal diciptakannya, RAM membutuhkan tegangan 5.0 volt untuk dapat berjalan pada         frekuensi 4,77MHz, dengan waktu akses memori (access time) sekitar 200ns (1ns = 10-9 detik).
*  Baca dan tulis data dari dan ke memori dapat dilakukan dengan mudah dan cepat.
*  Bersifat volatile
*  Perlu catu daya listrik
*  RAM diakses melalui alamat, semua lokasi yang dapat dialamati dapat diakses secara acak (random)
     dan membutuhkan waktu akses yang sama tanpa tergantung pada lokasi fisiknya di dalam memori.
*  Terdapat dua jenis RAM, statik dan dinamik. RAM dinamik tersusun oleh sel-sel yang menyim pan
     data sebagai muatan Iistrik pada kapasitor. RAM statik menyimpan nilai-nilai biner dengan
     menggunakan konfigurasi gerbang logika flipflop.

Jenis-jenis RAM

Berdasarkan cara kerja  :
dynamic RAM (DRAM)
Fast Page Mode DRAM (FPM DRAM)
Extended Data Output DRAM (EDO DRAM)  

Berdasarkan Module  :
Single Inline Memory Module (SIMM)
Double Inline Memory Module (DIMM)
RIMM (Rambus)



Read Only Memory (ROM)

             Data Permanen, tidak bisa diubah
Keuntungannya untuk data yang permanen
Kerugiannya apabila ada kesalahan data atau adanya perubahan data sehingga perlu penyisipan-penyisipan
Dua masalah ROM
Langkah penyisipan data memerlukan biaya tetap yang tinggi.
Tidak boleh terjadi kesalahan (error). 

Dynamic RAM (DRAM)

       Dibentuk dari kapasitor (peralatan yang digunakan untuk menyimpan muatan listrik) dan transistor.
Menggunakan sirkuit pembangkit
Waktu siklusnya dua kali read access time (waktu akses baca) yaitu waktu yang dibutuhkan untuk
memanggil kembali data dari peralatan.

Jenis DRAM

       DRAM disebut memori dinamis karena harus direcharge (diperbaharui muatan listriknya) secara
periodik karena pengaruh sifat kebocoran muatan yang dimiliki oleh kapasitor yang dipakai untuk
membuat sel-sel memori dari DRAM. Kelebihan DRAM adalah lebih murah dan lebih mudah
rangkaiannya sehingga satu chip DRAM dapat memuat sel bit data jauh lebih besar dari SRAM. 
DRAM dapat dikatagorikan menurut metode akses datanya atas:

ØFPM (Fast Page Mode)
ØEDO (Extended Data Out)
ØBEDO (Burst EDO)
ØSDRAM (Synchronous DRAM)
ØRDRAM (Rambus DRAM)

SDRAM


       Salah satu jenis DRAM yang operasinya disinkronisasikan langsung dengan sinyal clock. SDRAM muncul
dipasaran dengan ukuran 64 bit (sepanjang 168 pin DIMMs).
SDRAM hanya mengakses 612ns Pada frekuensi kerja 66 MHz. Kemudian muncul pula pada frekuensi
kerja 100 dan 133 MHz. Standar SDRAM melakukan operasi pada sisi sinyal clock tinggi. 

Definisi Memori Internal

       Memory Internal adalah Memory yang dapat diakses secara langsung oleh prosesor. Dalam hal ini yang
disimpan di dalam memori utama dapat berupa data atau program. 
Fungsi dari memori utama sendiri adalah :


§  Menyimpan data yang berasal dari peranti masukan sampai data dikirim ke ALU (Arithmetic and  Logic Unit) untuk diproses.

§   Menyimpan daya hasil pemrosesan ALU sebelum dikirimkan ke peranti keluaran Menampung 
program/
instruksi yang berasal dari peranti masukan atau dari peranti pengingat sekunder.

Pembagian Memory Internal

ROM (Read-Only-Memory )


          Adalah jenis memori data yang hanya dapat dibaca dan biasanya telah disediakan oleh vendor komputer. Memory ini tidak akan kehilangan data walaupun tidak mendapatkan daya listrik. Dalam sebuah perangkat Personal Computer (PC), ROM biasa disebut BIOS (Basic Input/Output System) atau ROM-BIOS. Instruksi dalam BIOS inilah yang akan dijalankan oleh mikroprosesor ketka komputer mulai dihidupkan

Pengendali Peranti (device driver)

      Pengendali peranti adalah program penghubung antara hardware dengan software yang bertugas
sebagai pemberi identitas bagi perangkat keras tertentu (misalnya scanner) sehingga bisa dikenali oleh 
sistem operasi.

- Menginisialisasi register dan manajemen daya listrik
- Melakukan pengujian perangkat keras (POST atau the power-on self-test) untuk 
  memastikanbahwa semua perangkat keras dalam keadaan baik
- Menampilkan pengaturan-pengaturan pada system
- Menentukan peranti yang akan digunakan untuk menjalankan program (ex. : hard disk)
- Mengambil isi boot sector. Boot sector juga merupakan sebuah program kecil. Oleh BIOS 
  program ini dimuat ke RAM dan kemudian mikroprosesor akan mengeksekusi perintah-erintah
  yang sudah berada dalam RAM tersebut .









        Lokasi Memori

Register

Ø Berada di dalam chip prosesor.
Ø Diakses langsung oleh prosesor dalam menjalankan operasinya.
Ø Register digunakan sebagai memori sementara dalam perhitungan maupun pengolahan 
       data dalam prosesor

Memori internal

Ø Berada diluar chip prosesor
Ø Dapat diakses langsung oleh prosesor.
Ø Dibedakan menjadi memori utama dan cache memori

Memori eksternal

Ø Diakses oleh prosesor melalui piranti I/O
Ø Dapat berupa disk maupun pita .

Kapasitas Memori


Ø Kapasitas memori internal maupun eksternal biasanya dinyatakan dalam bentuk byte (1 
    byte =  8 bit) atau word.
Ø Panjang word umumnya 8, 16, 32 bit.
Ø Memori eksternal biasanya lebih besar kapasitasnya daripada memori internal, hal ini 
    disebabkan karena teknologi dan sifat penggunaannya yang berbeda.

Konsep Satuan Transfer

Ø    Word, merupakan satuanalamiorganisasi memori. Ukuran word biasanya sama dengan
       jumlah bit yang digunakan untuk representasi bilangan dan panjang instruksi.

Ø    Addressable units, pada sejumlah sistem, addressable units adalah word. Namun terdapat
      sistem dengan pengalamatan pada tingkatan byte. Pada semua kasus hubungan antara 
      panjang A suatu alamat dan jumlah N adressable unit adalah 2A =N.

Ø   Unit of transfer, adalah jumlah bit yang dibaca atau  dituliskan ke dalam memori pada 
      suatu saat. Pada memori eksternal, transfer data biasanya lebih besar dari suatu word, 
      yang disebut dengan block.


Metode Akses

       Sequential

       Mulai dari awal dan membaca (read) sesuai urutan data.
       Tidak ada alamat spesifik.
       Waktu akses tergantung dari letak data dan letak pointer terakhir
       Contoh: tape (pita magnetik)

       Direct

       Setiap block memiliki alamat yang unik
       Akses dilakukan dengan melompat (jump) ke alamat block terdekat kemudian diteruskan 
       secara sequential
       Waktu akses tergantung dari letak data dan letak pointer terakhir
       Contoh : disk

       Random

       Setiap alamat menunjuk ke lokasi word yang acak
       Waktu akses tidak tergantung dari letak data dan letak pointer terakhir
       Contoh: RAM
       Associative

       Pencarian lokasi data didasarkan pada perbandingan sebagian dari isinya atau mappingnya 
       (located by a comparison with contents of a portion of the store)
       Waktu akses tidak tergantung dari letak data dan letak pointer terakhir.

       Contoh: cache 

No comments:

Post a Comment