Arsitektur dan Organisasi Komputer : Rangkuman Pengukuran Performa, Hukum Amdahl, dan Hukum Little

Arsitektur dan Organisasi Komputer : Rangkuman Pengukuran Performa, Hukum Amdahl, dan Hukum Little



Designing For Performance 



Dasarnya setiap tahun, harga elektronika—terutama hal yang berbau tentang teknologi dengan basis prosesor dan mikroprosesor—akan terus turun. Hal ini dibenarkan pada justifikasi bahwa komputer—laptop dalam contoh ini—tahun 1997, Gateway 2000, memiliki harga sekitar 1499 dollar US ( 2360 dollar US untuk inflasi tahun 2019 ). Gateway 2000 ini tersendiri memiliki spesifikasi berupa prosesor Intel Pentium II ( Clock Base 266MHz, 512K Byte Cache), RAM 128MB SDRAM, GPU AccelGraphics Permedia 2, dan Hard Drive 6.4GB Ultra ATA Drive. 

Akan tetapi karena perkembangan prosesor yang jumlah transistornya akan bertambah tiap tahunnya, harga laptop Gateway 2000 jatuh ke harga 749 dollar US ( atau 1179 dollar US untuk inflasi tahun 2019 ). Perkembangan prosesor dalam hal ini meliputi kinerja image processing, 3-D Rendering, Speech and Voice Recognition, Videoconferencing, Multimedia, Video Editing, dan Simulation Modelling yang memang harus dituntut lebih cepat, kencang dan lebih baik dengan menggandakan jumlah transistor. Hal inilah—jatuhnya harga elektronika dengan perkembangan transistor yang bertambah—yang kemudian disebut dengan Hukum Moore—Moore’s Law. 


Microprocessor Speed



Mikroprosesor adalah sebuah central processing unit (CPU) elektronik komputer yang terbuat dari transistor mini dan sirkuit lainnya di atas sebuah sirkuit terintegrasi semikonduktor.

Seperti yang sudah dijelaskan sebelumnya tentang hukum Moore, bahwa setiap generasi baru dari suatu chip setiap tiga tahun dengan 4 kali lebih banyak transistornya, di dalam memory chip kapasitas DRAM—Dynamic Random Access Memory—akan 4 kali lipat lebih banyak pula. Dalam microprosesor, penambahan base speed, penambahan circuit baru terus berkembang tiap tahunnya dan bahkan sejak Intel pertama kali merilis Intel x86 pada tahun 1978, perkembangan performa mereka akan 3 – 4 kali lebih cepat tiap 3 tahun. Hal ini juga tidak terlepas dengan bagaiman mereka membuat suatu prosesor secara kontemporer. 

Ada beberapa teknik untuk membuat prosesor secara kontemporer, meliputi 

  • Pipelining 
  • Branch Prediction 
  • Superscalar execution 
  • Data flow analysis 
  • Speculative execution 

Berikut Penjelasannya

Pipelining adalah sebuat set eksekusi yang terdiri dari beberapa stage operasi, termasuk proses fetch instruksi, decoding opcode, perhitungan performa, dan lainnya yang mampu mengaktifkan sebuah prosesor untuk bekerja secara bersamaan dalam beberapa perintah. Pipeline bersifat assembly line. 

Branch Prediction adalah sebuah set instruksi kode yang memberitahu prosesor sebuah instruksi selanjutnya dari serangkaian proses. Maksunya adalah bahwa Branch Prediction akan memberikan petunjuk tentang proses yang akan dilakukan oleh prosesor seperti proses fetch memory, dan proses yang lainnya. 

Superscalar execution adalah sebuah kemampuan untuk melakukan satu atau lebih instruksi dalam setiap prosesor clock cycle. Dalam hal ini, digunakanlah beberapa pipeline yang bersifat pararel. 

Data flow analysis adalah kemampuan sebuah prosesor untuk menganalisis instruksi yang bergantung dari hasil data untuk menciptakan jadwal instruksi. Hal ini akan mencegah terjadinya delay yang tidak penting. 

Speculative execution adalah sebuah proses dari prosesor untuk mengspekulasikan instruksi eksekusi selanjutnya dari hasil sebenarnya dan disimpan dalam tempat yang sementara. 


Performance Balance


Terkadang masalah dapat mucul karena ada beberapa hal di dalam proses dalam prosessor seperti masalah mismatch antara sebuah prosessor dan main memory. Bisa saja ketika kecepatan prosesor meningkat secara tajam, kecepatan transmisi data antara memori utama dan prosessor dapat mengalami lag atau delay. 

Kunci utama agar kinerja prosesor optimal adalah sebuah keseimbangan atau disebut juga dengan balance. Seorang desainer harus dituntut bisa mengoptimalkan kinerja prosesor , memori utama, I/O devices, dan struktur interkoneksi. Hal ini harus terjadi dengan dilakukannya dua hal/faktor: 

  • Performa yang terus berubah di beberapa hal dapat menyebabkan perubahan secara dramatis 
  • Aplikasi baru secara konstan berubah nature yang berbasis dari demand dalam instruksi profile 

Improvements of Chip Organization and Architecture



Ada 3 hal yang perlu diperhatikan dalam meningkatkan performa kecepatan prosesor 

  • Meningkatkan kecepatan hardware prosesor dengan meningkatkan base clock speed dari prosesor tersebut. 
  • Meningkatkan ukuran dan kecepatan caches 
  • Melakukan modifikasi terhadap aritektur dan organisasi prosesor yang dapat meningkatkan kecepatan, efektifitas untuk melakukan set instruksi eksekusi. 

Kemudian, meskipun ketiga hal yang mendasar untuk melakukan peningkatan prosesor secara hardware, tentu ada beberapa halangan atau rintangan untuk melakukan hal tersebut seperti; 

  • Power harus ditingkatkan kembali dayanya 
  • RC Delay yang terbatas karena mengecilnya ukuran CPU secara umum 
  • Memori dan Latency lag speed 

Dua Hukum Performa Prosesor



Amdahl’s Law ( Hukum Amdahl ) 



Hukum Amdahl pada dasarnya bahwa kecepatan dalam aspek teknologi ataupun desain tidak menghasilkan peningkatan performa secara signifikan, tetapi melalui pembaharuan peralatan perangkat keras maupun perangkat lunak juga menjadi hal yang perlu diperhitungkan. Artinya, sebuah komputer dinyatakan meningkat kecepatannya apabila hardware diperbaharui ataupun software yang diperbaharui. 

Hukum Amdahl sendiri tercipta oleh Gene Amdahl di tahun 1967. Dalam hukum Amdahl, berisi cara untuk menghitung speed-up yang dilakukan yaitu dengan rumus berikut 


Dimana : 

F = proporsi waktu eksekusi 

N = speed up dari sistem yang sudah ditingkatkan 

Speedup = thoeritical speedup 

Contoh Soal 

Jika waktu eksekusi yang digunakan akan 30% lebih efisien dan peningkatan performa yang terjadi akan 2 kali lipat. Maka rata-rata speedup yang terjadi : 



Dimana : 

Slatency = Speed Up secara umum ( rata-rata speedup ) 

p = Waktu Eksekusi 

s = Peningkatan Perfroma—speed up pada komponen tertentu 



Little Law ( Hukum Little )


Hukum Little ini berlaku dalam bentuk sistem antrian atau queuing system. Asumsikan elemen utama adalah sebuah server yang berisikan sebuah item. Item tersebut akan dijalankan dan didistribusikan ke sistem. Jika dalam keadaan idle—tidak sibuk, item akan dikirimkan secara langsung. Namun, apabila sedang sibuk, iteam akan dikirim ke tempat queue—diantrikan. Tempat queue juga ada macamnya—single dan multiple. 

Bedasarkan ilustrasi tadi, Hukum Little dapar diekspresikan melalui rumus berikut: 



Dimana 

L = Rata-rata unit yang terjadi pada satu waktu
λ = Item per unit time 
W = waktu 


Basic Measure of Computer Performance



Ada 2 hal yang fundamental tentang perhitungan dasar sebuah performa komputer, yaitu meliputi; 

  • Clock Speed 
  • IER ( Instruction Execution Rate ) 

Clock Speed



Clock Speed secara harfiah berarti kecepatan clock. Secara istilah berarti besaran kecepatan yang dilakukan oleh sebuah prosesor untuk mengirimkan sebuah set instruksi atau siklus instruksi per detiknya--tempo dari prosesor. Lazimnya dikenali dalam bentuk Hz—satuan frekuensi. Sebagai contoh, sebuah prosesor Intel® Pentium Gold G4560 memiliki base clock speed sebesar 3.5GHz. Hal ini berarti sebuah prosesor Intel® Pentium Gold G4560 mampu mengirimkan atau melakukan set instruksi dari siklus instruksi sebanyak 3.5 x 109 instruksi per detiknya atau 3,5 miliar pulse per second. 

Kecepatan prosesor Intel® Pentium Gold G4560 dengan kecepatan 3.5GHz disebut juga dengan Clock Rate atau Clock Speed. Dalam increment tingkat 1, atau satu pulse biasa juga disebut Clock Cycle atau Clock Tick. Waktu antara pulse dengan pulse disebut dengan Cycle Time. 



Instruction Execution Rate 

Eksekusi Instruksi Rate dapat dihitung dengan rumus berikut 



Dimana : 

CPI = Rata-rata cycle per instruction keseluruhan 

CPIi = cycle yang dibutuhkan dari sebuah instruksi tipe i 

Ii = Jumlah instruksi tipe i yang diberikan program yang dilakukan 

Ic = Jumlah instruksi keseluruhan 


Kemudian dapat diekspresikan sebagai berikut 


Kita dapat mengetahui bahwa CPI itu sendiri diproses oleh prosesor, memory, dan memori cycle time. Jadi kita dapat merumuskan kembali sebagai berikut.



Dimana : 

T = prosesor time yang dibutuhkan untuk mengeksekusi program 

Ic = Jumlah instruksi keseluruhan 

p = jumlah siklus prosesor yang dibutuhkan untuk decode dan mengeksekusi instruksi 

m = Memori yang dibutuhkan 

k = rasio antara waktu siklus memori dan siklus prosesor 

τ = konstata cycle time


Bedasarkan rumus tersebut pula, kita dapat mengetahui faktor-faktor yang mempengaruhi performa, yaitu 

  • Arsitektur Set Instruksi 
  • Teknologi Compiler 
  • Implementasi Prosesor 
  • Cache dan Hieraki Memori 


Ada juga yang disebut dengan MIPS atau millions of instruction per second yang berarti sebuah pengukuran umum untuk performa prosesor yang dirumuskan sebagai berikut 


Dimana 

MIPS Rate = Jutaan Instruksi per Detik 

F = Frekuensi 

CPI = Rata-rata Cycle keseluruhan 

Ic = Jumlah Instruksi Keseluruhan 

T = prosesor time yang dibutuhkan untuk mengeksekusi program 

Selain MIPS Rate, ada pula MFLOPS Rate atau millions of floating-point operations per second. MFLOPS Rate diimplementasikan pada performa instruksi floating-point pada aplikasi saintifik dan permainan gim. Berikut rumusnya 



Sumber 

Stallings, Williams. 2016. Computer Organization And Architecture: Designing for Performance Tenth Edition. United States of America. Pearson Education 

M. Gilmore, Charles. 1996. Microprocessors: Principles And Applications Second Edition. New York. McGraw Hill 

https://itstillworks.com/specifications-gateway-2000-computer-7699939.html

https://ark.intel.com/content/www/us/en/ark/products/97143/intel-pentium-processor-g4560-3m-cache-3-50-ghz.html

1 Komentar

Posting Komentar

Lebih baru Lebih lama