Arsitektur Processor dengan Teknologi Multicore

2012
07.27
CORE 2 DUO

Core2Duo adalah prosesor intel yang menggunakan arsitektur Core yang dirilis di tahun 2006. Sebelumya, intel mengandalkan Pentium 4 dan Pentium D yang menggunakan arsitektur NetBurst. Saat itu Pentium 4 dan Pentium D terkenal sebagai prosesor panas, haus daya dan performa loyo sementara kompetitornya, Athlon64 dan Athlon64 X2 memiliki poerforma lebih tinggi, suhu yang lebih rendah dan hemat daya. Intel berpindah ke fabrikasi 65 nanometer (seri 6×1 dan 9xx) namun konsumsi daya tetap tinggi. Akhirnya intel mengubah arsitektur prosesornya dan menggunakan materi high-K metalgate untuk prosesornya. Hasilnya?? Performa lebih cepat dan hemat konsumsi daya, bahkan secara clock-to-clock mampu mengungguli arsitektur K8 AMD.

Selain itu, Intel juga memperkenalkan set instruksi terbaru yaitu SSE4. Adapun fitur-fitur yang membuat Core2duo bertenaga, antara lain wide dynamic execution yaitu fitur yang memungkinkan Core2duo mengeksekusi banyak instruksi, yaitu 4 instruksi per clock cycle. Advanced media boost merupakan fitur yang memungkinkan mengeksekusi instruksi multimedia 128bit dalam 1 clock cycle atau 2x lipat lebih cepat dari arsitektur NetBurst. Smart Memory Access yaitu fitur yang mempercepat akses ke memori dengan menggunakan 2 teknik yaitu improved prefetcher & memory disambiguation artinya prosesor memiliki mekanisme prediksi yang lebih baik dan mampu melakukan penjadwalan data dari memori ke L2 cache, sehingga prosesor tidak terlalu sering menunggu data dari memori.

Advanced smart cache yaitu penggunahan shared L2 cache yang dapat diakses oleh kedua core prosesor. Intelegent Power Capability yaitu fitur penghematan daya menggunakan enhanced speed step dan enhanced halt step, cara kerja fitur ini mirip Cool ‘n quiet milik AMD. Menurut beberapa sumber, arsitektur Core merupakan perpaduan dari teknologi NetBurst dan teknologi mobile (banias). Banias (Pentium M) merupakan prosesor mobile yang basis pengembagan arsitekturnya berasal dari arsitektur Pentium III. Sehingga prosesor Core2duo memiliki fitur dari netburst (Quad Pumped Bus) dan banias (E1CE, EIST). Intel juga menggunakan material baru untuk Core arsitektur yaitu High-K Metalgate (hafnium) untuk mngurangi kebocoran daya pada prosesor sehingga menurukan konsumsi dayanya. Berikut cara kerja Core arsitektur:

Multicore menyediakan 4-arah multitask pengolahan dengan Intel HT Technology dan dua core fisik berdedikasi membantu untuk memberikan performa tambahan di berbagai jenis aplikasi dan beban kerja.
Sebuah prosesor multicore adalah sebuah sistem pengolahan yang terdiri dari dua atau lebih inti independen. Hal ini dapat digambarkan sebagai sebuah sirkuit terintegrasi ke dua atau lebih individu prosesor (disebut core dalam hal ini) telah terpasang. Inti biasanya terintegrasi ke dalam satu sirkuit terpadu (dikenal sebagai chip multiprosesor atau CMP), atau mereka mungkin diintregasikan ke beberapa dalam satupaket chip. Prosesor dengan banyak-inti adalah salah satu di mana jumlah core yang cukup besar multiprosesor tradisional teknik tidak lagi efisien batas ini adalah suatu tempat dalam jangkauan puluhan core dan mungkin memerlukan jaringan chip.
Sebuah prosesor dualcore berisi dua core, dan quadcore prosesor berisi empat core. Sebuah prosesor multicore mengimplementasikan multiprocessing dalam satu paket fisik. Core dalam perangkat multicore dapat digabungkan bersama-sama dengan erat. Sebagai contoh, core mungkin atau mungkin tidak berbagi cache, dan mereka dapat mengimplementasikan pesan lewat atau memori bersama antar-metode komunikasi inti. Umum topologi jaringan untuk menghubungkan core termasuk bus, cincin, 2-dimensi mesh, dan palang. Semua core adalah identik dalam homogen sistem multicore dan mereka tidak identik dalam heterogen sistem multicore. Seperti halnya dengan sistem prosesor tunggal, core dalam sistem multicore dapat mengimplementasikan arsitektur seperti superscalar, VLIW, pengolahan vektor, SIMD, atau multithreading.

CORE I7

Core i7 sendiri merupakan processor pertama dengan teknologi “Nehalem”. Nehalem menggunakan platform baru yang betul-betul berbeda dengan generasi sebelumnya. Salah satunya adalah mengintegrasikan chipset MCH langsung di processor, bukan motherboard. Nehalem juga mengganti fungsi FSB menjadi QPI (Quick Path Interconnect) yang lebih revolusioner.

Core i7 disusun oleh quad core processor, dengan frekuensi clocking mencapai 3.33 GHz didukung oleh Intel Turbo Boost. Termasuk didalamnya 6 core processor dengan 12 processing thread (Intel core i7 990x dan 980x processor), dengan L3 smart cache dari 8 MB sampai 12 MB, Intel QuickPath Interconnect technology (meningkatkan kecepatan data transfer sampai 25.6 GB/detik), di integrasikan dengan GPU, Hyper-Threading dan Intel HD
graphics.

Berikut arsitektur core i7:

Core i7 dapat meningkatkan performance seandainya menggunakan program yang dapat menjalankan 8 thread, dalam artian menggunakan aplikasi enterprise atau video editing – 3D rendering program, poto editing. Core i7 memiliki Hyper-Threading yang hebat tetapi hanya dipakai jika  menggunakan aplikasi khusus yang dapat menjalankan 8 thread.

Berikut perbandingan i3, i5, dan i7 seperti pada gambar di bawah ini:

BULLDOZER AMD

Apakah Bulldozer AMD lebih cepat dari Core i7 Intel dan Sandy Bridge?

Dokumen yang dikutip membandingkan prosesor 8-core berdasarkan pada arsitektur CPU “Bulldozer” performa tinggi dengan 8 thread, 4-core, Intel Core i7 950 dan dengan CPU II enam-core Phenom X6 1100T, dalam tiga skenario penggunaan yang berbeda (media, rendering dan game).
Hasil bervariasi tergantung pada tugas yang dijalankan, tapi, akhirnya, prosesor Bulldozer membuktikan diri untuk menjadi sekitar 50% lebih cepat daripada Core i7 950.

AMD Bulldozer lebih cepat dari Intel Core i7? Atau Anda bisa bertanya, Bulldozer adalah lebih cepat dari Sandy Bridge. Mari kita mulai dengan beberapa pengenalan Bulldozer AMD. Bulldozer AMD AMD taruhan terakhir untuk mengambil alih mahkota CPU. Gagal lain waktu akan memberikan pukulan serius untuk pangsa pasar AMD. Mereka perlu menjual CPU lebih menguntungkan daripada CPU low end yang tidak memberikan AMD yang profit margin tinggi, CPU high end adalah semua bisnis. Bulldozer AMD adalah arsitektur desain ulang keseluruhan, sejak AMD K8 (Athlon64/Athlon FX ingat?) Tidak ada perubahan besar dalam arsitektur CPU AMD untuk generasi Phenom satu dan serta Phenom II. Itulah sebabnya Intel mampu menarik menjelang AMD dalam hal kinerja per jam dan dengan demikian efisiensi daya.

AMD melangkah lebih jauh dengan membuat desain ulang baru yang tidak pernah terlihat sebelumnya dalam CPU apapun. Sebuah AMD Bulldozer terdiri dari modul bukan core seperti apa yang ditemukan di CPU modern hari ini, seperti quad core Phenom II X4, dual inti Core2Duo dan raja terbaru dari mahkota core 6 core i7 990X. Sebuah modul tunggal dari Bulldozer terdiri dari dua bilangan bulat scheduler dan satu floating point penjadwal. Floating point scheduler mampu menduplikasi ke dua thread pada tingkat hardware seperti apa yang Anda lihat dalam teknologi HyperThreading Intel menggunakan semacam SMT. Pada dasarnya, sebuah modul tunggal lebih besar dari satu inti dalam hal ukuran mati dan lebih kecil dari dual core. Sejauh ini kinerja, modul Bulldozer pasti lebih cepat dari single core, tetapi kehilangan ke dual core khas. AMD mengklaim bahwa modul Bulldozer lebih efisien daripada desain dual core yang hanya menggunakan ukuran mati 12% lebih besar untuk scheduler bilangan bulat digandakan tetapi memberikan cara yang lebih dari 12% dari kinerja threaded. Alasan lain untuk desain ini adalah bahwa desain multi-inti yang khas akan mengalami pemborosan perangkat keras sebagai sumber daya idle akan diduplikasi di chip tersebut, seperti diklaim oleh AMD.

Poin pertama yang harus ditekankan adalah angka patokan yang diberikan oleh AMD, tidak ada angka yang pasti seperti yang diam-diam disimpan tapi menurut TechPowerUp sini , Bulldozer lebih cepat dari Core i7 950 quad core 3GHz 8 thread dengan teknologi HyperThreading sebesar 50%! Itu klaim yang sangat besar tapi saya merasa mengejutkan. Bulldozer AMD adalah rakasa threaded. Sebuah CPU tunggal Bulldozer terdiri dari minimal 4 modul, yang sama dengan 8 benang. Saya tidak akan menyebutnya prosesor 8-core karena tidak benar-benar terdengar seperti inti kepada saya berdasarkan spesifikasi teknis. Karena setiap modul Bulldozer yang terdiri dari dua scheduler unit integer, itu akan menjadi tidak punya otak yang Bulldozer mampu menangani 8 thread lebih baik dari Core i7 950 yang merupakan hiper-threaded 8 benang prosesor quad core. Hal ini terutama berlaku di sebagian besar aplikasi kita berjalan di desktop kita saat ini yang mengandalkan sebagian besar pada unit pengolahan integer. AMD memberikan prioritas kurang pada merancang unit titik mengambang yang lebih baik untuk arsitektur baru mereka terutama karena AMD percaya masa depan akan APU, di mana semua perhitungan floating point akan dilakukan oleh unit pengolahan grafis sebagai gantinya.

Dari sudut pandang saya, desain sebuah modul 4 Bulldozer akan hampir setara ke arsitektur-sama dengan CPU 6 core benar. Yang berarti, jika Core i7 adalah kepala di kepala dengan Bulldozer untuk kinerja thread tunggal, Core i7 membutuhkan paling tidak CPU 6 inti untuk mencocokkan Bulldozer modul 4. Namun berdasarkan klaim kinerja 50% lebih baik oleh AMD, yang juga berarti inti i7 980X akan dihisap oleh Bulldozer. Kita bisa mengambil yang mengklaim 50% dengan sebutir garam, tetapi menjadi lebih cepat dari Core i7 950 pasti dikreditkan. Dan pertanyaan selanjutnya adalah, apa clock rate untuk Bulldozer AMD  untuk membandingkan ke 950 core i7?

Bagaimana Intel Bulldozer Sandy Bridge VS AMD? Sandy Bridge adalah hal yang baru, kinerjanya dapat dilihat dari Core i7 dua tahun. Serupa dalam kinerja tapi lebih murah. Dan itu baik untuk seseorang yang mencari CPU high end dengan harga mid range. Sandy Bridge pasti pilihan yang lebih baik jika AMD Bulldozer dengan harga kisaran yang lebih tinggi. Dan dengan teknologi Sync bonus Cepat, yang memungkinkan Anda melakukan encoding video / decoding pada kecepatan kali lebih cepat dari kartu grafis high end dari nvidia dan AMD.

Patokan ini diambil dari Rumourpedia, bagi penggemar. Titik berikutnya yang saya ingin menyebutkan adalah “FX” moniker. “FX” adalah penyebut yang digunakan oleh AMD untuk label CPU kinerja tinggi. Ingat Athlon FX hari? Athlon FX-55 dan Athlon FX-57 CPU baik dari memenangkan kembali tahun selama hari-hari emas AMD. Dan AMD telah membawa kembali “FX” kembali ke lineup CPU baru mereka tahun ini. Dan coba tebak, kita bisa melihat akhir seperti CPU tinggi dari AMD.  FX-8130P, FX-8110, FX-6110 dan FX-4110 adalah beberapa CPU Anda bisa diharapkan dari garis arsitektur Bulldozer AMD CPU. Dan menurut Xbitslab , Zambezi mampu menawarkan kinerja 50% lebih baik dalam aplikasi multimedia dibandingkan dengan Phenom II. Zambezi adalah nama kode untuk CPU arsitektur Bulldozer baru. Itu hanya tidak terdengar benar, seperti dengan meningkatkan arsitektur dan sangat berulir dengan hanya 50% perbaikan? Core i7 mampu meninggalkan margin besar dibandingkan Phenom II pada beberapa benchmark multimedia terutama pada video / audio encoding. Dan bahwa 50% lebih cepat dari Core i7 klaim oleh AMD membuat saya percaya patokan dari klaim 50% jelas bukan patokan multimedia.

Saya tidak akan ragu bahwa jika Core i7 adalah baik Nahalem atau Westmere. Berdasarkan info yang dikumpulkan sejauh ini, saya akan mengatakan ya. AMD Bulldozer ini lebih cepat dari Core i7 berdasarkan spekulasi. Namun, Core i7 Nehalem lebih dari dua tahun sementara Westmere baru berusia 1 bulan yang lalu. Tidak banyak info sejauh ini, tetapi ada dua hal yang tertentu, yang merupakan die 22nm menyusut dan lebih cepat dari generasi sebelumnya Core i7. Ini berarti masalah bagi AMD sebagai Ivy Bridge lebih kecil. Lebih baik kita berdoa mukjizat untuk Bulldozer AMD jika kita ingin beli dengan harga lebih murah, dan persaingan yang membawa manfaat bagi konsumen.

Implementasi Parallel Processing

2012
07.25
Parallel processing adalah penggunaan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, paralel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbeda-beda tanpa ada keterkaitan diantaranya.

Sebagian besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai lebih dari satu. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan satu CPU dapat melakukan parallel processing dengan mneghubungkannya dengan komputer lain pada jaringan. Namun, parallel processing ini memerlukan software canggih yang disebut distributed processing software.

Paralel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Paralel processing disebut juga parallel computing. Parallel computing adalah salah satu teknik melakukan komputasi secara bersamaan. Biasanya digunakan saat kapasitas yang dibutuhkan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu, diperlukan berbagai perangkat lunak pendukung yang disebut middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.

Gambar 1. Contoh struktur pengiriman permintaan dan jawaban dari parallel processing

Arsitektur Komputer Parallel

Berikut Taksonomi Flynn dan model pemrosesan parallel:

 Gambar 2. Model Pemrosesan Paralel

Keempat kelompok komputer tersebut adalah :

  1. Komputer SISD (Single Instruction stream-Single Data stream)
    • Pada komputer jenis ini semua instruksi dikerjakan terurut satu demi satu, tetapi juga dimungkinkan adanyaoverlapping dalam eksekusi setiap bagian instruksi (pipelining). Pada umumnya komputer SISD berupa komputer yang terdiri atas satu buah pemroses (single processor). Namun komputer SISD juga mungkin memiliki lebih dari satu unit fungsional (modul memori, unit pemroses, dan lain-lain), selama seluruh unit fungsional tersebut berada dalam kendali sebuah unit pengendali. Skema arsitektur global komputer SISD dapat dilihat pada gambar 3.1
    • Gambar 3.1 SISD
  2. Komputer SIMD (Single Instruction stream-Multiple Data stream)
    • Pada komputer SIMD terdapat lebih dari satu elemen pemrosesan yang dikendalikan oleh sebuah unit pengendali yang sama. Seluruh elemen pemrosesan menerima dan menjalankan instruksi yang sama yang dikirimkan unit pengendali, namun melakukan operasi terhadap himpunan data yang berbeda yang berasal dari aliran data yang berbeda pula. Skema arsitektur global komputer SIMD dapat dilihat pada gambar 3.2
    • Gambar 3.2 SIMD
  3. Komputer MISD (Multiple Instruction stream-Single Data stream)
    • Komputer jenis ini memiliki unit pemroses yang masing-masing menerima dan mengoperasikan instruksi yang berbeda terhadap aliran data yang sama, dikarenakan setiap unit pemroses memiliki unit pengendali yang berbeda. Keluaran dari satu pemroses menjadi masukan bagi pemroses berikutnya. Belum ada perwujudan nyata dari komputer jenis ini kecuali dalam bentuk prototipe untuk penelitian. Skema arsitektur global komputer MISD dapat dilihat pada gambar 3.3
    • Gambar 3.3. MISD
  4. Komputer MIMD (Multiple Instruction stream-Multiple Data stream)
    • Pada sistem komputer MIMD murni terdapat interaksi di antara pemroses. Hal ini disebabkan seluruh aliran dari dan ke memori berasal dari space data yang sama bagi semua pemroses. Komputer MIMD bersifat tightly coupledjika tingkat interaksi antara pemroses tinggi dan disebutloosely coupled jika tingkat interaksi antara pemroses rendah.  Skema arsitektur global komputer MISD dapat dilihat pada gambar 3.4

Gambar 3.4 MIMD

Paralel prosessing komputasi adalah proses atau pekerjaan komputasi di komputer dengan memakai suatu bahasa pemrograman yang dijalankan secara paralel pada saat bersamaan. Secara umum komputasi paralel diperlukan untuk meningkatkan kecepatan komputasi bila dibandingkan dengan pemakaian komputasi pada komputer tunggal.

Berikut ini adalah gambar perbedaan antara komputasi tunggal dengan parallel komputasi :

 
Gambar 4.1. Komputasi Tunggal / serial
 
Gambar 4.2. Komputasi Paralel

Implementasi Parallel Processing

Implementasi Parallel Processing pada Ray Tracing Engine menggunakan POV-Ray berbasis MPI

Yaitu mengimplementasikan parallel processing pada versi asli program ray tracing yang terkenal yaitu POV -Ray. Parallel processing pada algoritma ini melibatkan beberapa masalah yang biasa timbul pada komputasi parallel. Proses ray tracing sangat kompleks dan membutuhkan komputasi yang tinggi, untuk citra yang sangat kompleks dibutuhkan waktu berjam-jam bahkan berhari-hari untuk merender suatu kode POV-Ray. Maka dari itu kebutuhan untuk menaikkan kecepatan dari proses ini diwujudkan dalam implementasi parallel processing.

Berikut contoh kasus implementasinya:

 

  • POV-Ray

POV-Ray (Persistence Of Vision Raytracer – www.povray.org) adalah rendering engine 3 dimensi . Program ini menterjemahkan informasi dari file teks eksternal, mensimulasikan suatu cahaya yang berinteraksi dengan obyek dalam suatu scene untuk menghasilkan obyek 3 dimensi yang nyata. Berawal dari file teks yang berisi deskripsi dari scene (objects, lights, point o f view), programini dapat merender citra yang diinginkan. Algoritmanya bekerja baris demi baris. Fasilitas yang menarik dari POV-Ray ini adalah antialiasing. Antialiasing adalah teknik yang membantu untuk membuang sampling error, yang dapat menghasilkan c itra lebih baik.

Dengan menggunakan antialiasing, POV-Ray memulai tracing a ray untuk setiap pixel. Jika warna dari pixel berbeda dengan warna pixel tetangganya (pixel yang ada di sebelah kiri dan di atas), kemudian dari jumlahnya lebih besar dari nilai th reshold, maka pixel tersebut adalah supersampled tracing a fixed number of additional rays. Teknik ini disebut supersampling dan dapat meningkatkan kualitas akhir dari sebuah citra namun itu juga meningkatkan waktu rendering menjadi lebih lama. Setelah men guraikan data input, POV-Ray menguraikan semua pixel dari citra untuk proses render, melalui horizontal scan dari setiap baris dari kiri ke kanan. Setelah selesai penguraian dari suatu baris maka akan ditulis dalam sebuah file atau ditampilkan pada layar lalu memperhitungkan baris berikutnya sampai pada yang terakhir.

  • Message Passing Interface (MPI).

MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel. Proses yang dijalankan oleh sebuah aplikasi dapat dibagi untuk dikirimkan ke masing – masing compute node yang kemudian masing – masing compute node tersebut mengolah dan mengembalikan hasilnya ke komputer head node. Untuk merancang aplikasi paralel tentu membutuhkan banyak pertimbangan – pertimbangan diantaranya adalah latensi dari jaringan dan lama sebuah tugas dieksekusi oleh prosesor.

MPI ini merupakan standard yang dikembangkan untuk membuat aplikasi pengirim pesan secara portable. Sebuah komputasi paralel terdiri dari sejumlah proses, dimana masing-masing bekerja pada beberapa data lokal. Setiap proses mempunyai variabel lokal, dan tidak ada mekanisme suatu proses yang bisa mengakses secara langsung memori yang lain. Pembagian data antar proses dilakukan dengan message passing, yaitu dengan mengirim dan menerima pesan antar proses.

MPI menyediakan fungsi-fungsi untuk menukarkan antar pesan. Kegunaan MPI yang lain adalah:

  1. menulis kode paralel secara portable,
  2. mendapatkan performa yang tinggi dalam pemrograman paralel, dan
  3. menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak begitu cocok dengan model data paralel.
  • PVM (Parallel Virtual Machine)

Adalah paket software yang mendukung pengiriman pesan untuk komputasi parallel antar komputer. PVM dapat berjalan diberbagai macam variasi UNIX atau pun windows dan telah portable untuk banyak arsitektur seperti PC, workstation, multiprocessor dan superkomputer.

Sistem PVM terbagi menjadi dua. Pertama adalah daemon, pvmd, yang berjalan pada mesin virtual masing-masing komputer. Mesin virtual akan dibuat,  ketika User mengeksekusi aplikasi PVM. PVM dapat dieksekusi melalui prompt UNIX disemua host. Bagian kedua adalah library interface rutin yang mempunyai banyak fungsi untuk komunikasi antar task . Library ini berisikan rutin yang dapat dipanggil untuk pengiriman pesan, membuat proses baru, koordinasi task dan konfigurasi mesin virtual.

Salah aturan main yang penting dalam PVM adalah adanya mekanisme program master dan slave/worker. Programmer harus membuat Kode master yang menjadi koordinator proses dan Kode slave yang menerima, menjalankan, dan mengembalikan hasil proses ke komputer master. Kode master dieksekusi paling awal dan kemudian melahirkan proses lain dari kode master. Masing-masing program ditulis menggunakan C atau Fortran dan dikompilasi dimasing-masing komputer. Jika arsitektur komputer untuk komputasi paralel semua sama, (misalnya pentium 4  semua), maka program cukup dikompilasi pada satu komputer saja. Selanjutnya hasil kompilasi didistribusikan kekomputer lain yang akan menjadi node komputasi parallel. Program master hanya berada pada satu node sedangkan program slave berada pada semua node.

  Komunikasi dapat berlangsung bila masing-masing komputer mempunyai hak akses ke filesystem semua komputer. Akses kefile system dilakukan melalui protokol rsh yang berjalan di unix atau windows. Berikut adalah langkah pengaturan pada masing-masing komputer :

  1. Buat file hostfile yang berisi daftar node komputer dan nama user yang akan dipakai untuk komputasi parallel. Bila nama user pada semua komputer sama misalnya nama user riset pada komputer C1, C2,C3 dan C4, maka hostfile ini boleh tidak ada. Hostfile ini dapat digunakan bila nama user di masing-masing komputer berbeda.
  2. Daftarkan IP masing-masing komputer pada file /etc/hosts/hosts.allow dan /etc/hosts/hosts.equiv.
  3. Penambahan dan penghapusan host secara dinamis dapat dilakukan melalui konsole PVM. Bila IP tidak didefinisikan pada hostfile¸ cara ini dapat digunakan.

Program PVM terdiri dari master dan slave, dimana program master dieksekusi paling awal dan kemudian melahirkan proses lain. PVM memanggil rutin pvm_spawn() untuk melahirkan satu atau dua proses lebih yang sama. Fungsi-fungsi untuk PVM versi bahasa C mempunyai rutin awalan pvm. Pengiriman dan penerimaan task diidentifikasi dengan TID (Task Identifier). TID ini bersifat unik dan digenerate oleh pvmd lokal. PVM berisi beberapa rutine yang mengembalikan nilai TID sehingga aplikasi user dapat mengidentifikasi task lain disistem.

Gambar 5. Program PVM

Secara umum, langkah implementasi komputasi parallel sebagai berikut :

  1. Jalankan PVM daemon pada setiap mesin dalam cluster
  2. Jalankan program master pada master daemon
  3. Master daemon akan menjalankan proses slave.

 

Arsitektur Prosesor RISC

2012
07.19

Reduced Instruction Set Computers (RISC)

 

Reduced Instruction Set Computer (RISC) Merupakan rancangan arsitektur CPU yang mengambil dasar filosofi bahwa prosesor dibuat dengan arsitektur yang tidak rumit dengan membatasi jumlah instruksi hanya pada instruksi dasar yang diperlukan saja. Kata “reduced”, berarti pengurangan pada set instruksinya. Rancangan ini berawal dari pertimbangan – pertimbangan dan analisa model perancangan lain yang kompleks, sehingga harus ada pengurangan set instruksinya.

 

 

  1. 1.       Arsitektur Reduced Instruction Set Computers (RISC)

 

Perkembangan inovasi komputer sejak 1960 menambah satu daftar penemuan yang sangat menarik dan paling penting , yaitu Arsitektur Reduced Instruction Set computers ( RISC). Walaupun sistem RISC telah ditentukan dan dirancang dengan berbagai cara berdasarkan komunitasnya, elemen penting yang digunakan sebagian rancangan umumnya adalah sebagai berikut :

1)     Set instruksi yang terbatas dan sederhana

2)     Register general purpose berjumlah banyak atau penggunaaan teknologi kompiler untuk mengoptimalklan penggunaan register.

3)     Penekanan pada pengoptimalan pipeline instruksi.

 

1. 1. Karakteristik-Karakteristik Eksekusi Instruksi

Salah satu evolusi komputer yang besar adalah evolusi bahasa pemprograman. Bahasa pemprograman memungkinkan programmer dapat mengekspresikan algoritma lebih singkat, lebih memperhatikan rincian, dan mendukung penggunaan pemprograman terstruktur, tetapi ternyata muncul masalah lain yaitu semantic gap, yaitu perbedaan antara operasi-operasi yang disediakan oleh HLL dengan yang disediakan oleh arsitektur komputer, ini ditandai dengan ketidakefisienan eksekusi, program mesin yang berukuran besar, dan kompleksitas kompiler. Untuk mengurangi kesenjangan ini para perancang menjawabnya dengan arsitektur. Fitur-fiturnya meliputi set-set instruksi yang banyak, lusinan mode pengalamatan, dan statemen –statemen HLL yang diimplementasikan pada perangkat keras. Set-set instruksi yang kompleks tersebut dimaksudkan untuk :

1)     Memudahkan pekerjaan kompiler

2)     Meningkatkan efisiensi eksekusi, karena operasi yang kompleks dapat diimplementasikan didalam mikrokode.

3)     Memberikan dukungan bagi HLL yang lebih kompleks dan canggih.

Oleh karena itu untuk memahami RISC perlu memperhatikan karakteristik eksekusi instruksi. Adapun aspek-aspek komputasinya adalah:

1)     Operasi-operasi yang dilakukan;

2)     Operand-operand yang digunakan;

3)     Pengurutan eksekusi.

 

  1. 1.     Operasi

Beberapa penelitian telah menganalisis tingkah laku program HLL (High Level Language). Assignment Statement sangat menonjol yang menyatakan bahwa perpindahan sederhana merupakan satu hal yang penting. Hasil penelitian ini merupakan hal yang penting bagi perancang set instruksi mesin yang mengindikasikan jenis instruksi mana yang sering terjadi karena harus didukung

optimal.

  1. 2.     Operand

Penelitian Paterson telah memperhatikan [PATT82a] frekuensi dinamik terjadinya kelas-kelas variabel. Hasil yang konsisten diantara program pascal dan C menunjukkan mayoritas referensi menunjuk ke variable scalar. Penelitian ini telah menguji tingkah laku dinamik program HLL yang tidak tergantung pada arsitektur tertentu. Penelitian [LUND77] menguji instruksi DEC-10 dan secara dinamik menemukan setiap instruksi rata-rata mereferensi 0,5 operand dalam memori dan rata-rata mereferensi 1,4 register. Tentu saja angka ini tergantung pada arsitektur dan kompiler namun sudah cukup menjelaskan frekuensi pengaksesan operand sehingga menyatakan pentingnya sebuah arsitektur.

  1. 3.     Procedure Calls

Dalam HLL procedure call dan return merupakan aspek penting karena merupakan operasi yang membutuhkan banyak waktu dalam program yang dikompalasi sehingga banyak berguna untuk memperhatikan cara implementasi opperasi ini secara efisien. Adapun aspeknya yang penting adalah jumlah parameter dan variabel yang berkaitan dengan prosedur dan kedalaman pensarangan (nesting).

  1. Implikasi

Secara umum penelitian menyatakan terdapat tiga buah elemen yang menentukan karakter arsitektur RISC :

1)     Penggunaan register dalam jumlah besar yang ditunjukan untuk mengotimalkan pereferensian operand.

2)     Diperlukan perhatian bagi perancangan pipelaine instruksi karena tingginya proporsi instruksi pencabangan bersyarat dan procedure call, pipeline instruksi yang bersifat langsung dan ringkas menjadi tidak efisien

3)     Terdapat set instruksi yang disederhanakan

 

1. 2. Karakteristik Arsitektur Reduced Instruction Set Computers (RISC)

Arsitektur RISC memiliki beberapa karakteristik diantaranya :

  1. Siklus mesin ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU, dan menyimpan hasil operasinya kedalam register, dengan demikian instruksi mesin RISC tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat mikroinstruksi pada mesin-mesin CISC. Dengan menggunakan instruksi sederhana atau instruksi satu siklus hanya dibutuhkan satu mikrokode atau tidak sama sekali, instruksi mesin dapat dihardwired. Instruksi seperti itu akan dieksekusi lebih cepat dibanding yang sejenis pada yang lain karena tidak perlu mengakses penyimapanan kontrol mikroprogram saat eksekusi instruksi berlangsung.
  2. Operasi berbentuk dari register-ke register yang hanya terdiri dari operasi load dan store yang mengakses memori. Fitur rancangan ini menyederhanakan set instruksi sehingga menyederhanakan pula unit control. Keuntungan lainnya memungkinkan optimasi pemakaian register sehingga operand yang sering diakses akan tetap ada di penyimpan berkecepatan tinggi. Penekanan pada operasi register ke register merupakan hal yang unik bagi perancangan RISC.
  3. Penggunaan mode pengalamatan sederhana, hampir sama dengan instruksi menggunakan pengalamatan register,. Beberapa mode tambahan seperti pergeseran dan pe-relatif dapat dimasukkan selain itu banyak mode kompleks dapat disintesis pada perangkat lunak dibanding yang sederhana, selain dapat menyederhanakan sel instruksi dan unit kontrol.
  4. Penggunaan format-format instruksi sederhana, panjang instruksinya tetap dan disesuaikan dengan panjang word. Fitur ini memiliki beberapa kelebihan karena dengan menggunakan field yang tetap pendekodean opcode dan pengaksesan operand register dapat dilakukan secara bersama-sama

 

 

  1. 2.       PROSESSOR YANG MENGGUNAKAN SISTEM RISC

 

2.1.   PowerPC dibangun dengan Arsitektur RISC

Gambar Arsitektur PowerPC

Proyek mini komputer 801 di IBM pada tahun 1975 mengawali banyak konsep arsitektur yang digunakan dalam sistem RISC. 801 bersama dengan prosessor RISC I Berkeley, meluncurkan gerakan RISC, namun 801 hanya merupakan prototipe yang ditujukan untuk mengenalkan konsep disain. Keberhasilan memperkenalkan 801 menyebabkan IBM membangun produk workstation RISC komersial yaitu PC RT pada tahun 1986, dengan mengadaptasi konsep arsitektural 801 kedalam kinerja yang sebanding atau yang lebih baik. IBM RISC System/6000 merupakan mesin RISC superscalar1[3] yang dipasarkan sebagai workstation berunjuk kerja tinggi, tidak lama kemudian IBM mengkaitkan mesin ini sebagai arsitektur POWER.

IBM kemudian menjalin kerjasama dengan Motorola, pembuat mikroprosessor seri 6800, dan Apple, yang menggunakan keping Motorola dalam komputer Macintoshnya dan hasilnya adalah seri mesin yang mengimplementasikan arsitektur PowerPC yang diturunkan dari arsitektur POWER dan merupakan sistem RISC superscalar. Sejauh ini diperkenalkan empat anggota kelompok PowerPC yaitu

  1. 601, merupakan mesin 32-bit yang ditujukan untuk membawa arsitektur PowerPC kepasar secepat mungkin.
  2. 603, merupakan mesin 32-bit yang ditujukan bagi low-end desktop dan komputer portable dengan implementasi yang lebih efesien.
  3. 604, merupakan mesin 32-bit yang ditujukan bagi low-end server dan desktop, dengan menggunakan teknik rancangan superscalar lanjutan guna mendapatkan kinerja yang lebih baik.
  4. 620, ditujukan bagi high-end server, sekaligus merupakan kelompok PowerPC pertama yang mengimplementasikan arsitektur 64 bit penuh, termasuk regiater 64-bit dan lintasan data.

 

2.2.  Karakteristik dan Fungsi

  1. Jenis-Jenis Data

PowerPC dapat beroperasi menggunakan data yang panjang 8 bit (byte), 16

bit (halfword), 32 bit (word), dan 64 bit (doubleword). Beberapa instruksi mengharuskan agar operand memori dijajarkan (aligned) pada batas 32-bit, walaupun secara umum tidak terlalu diperlukan. Salah satu ciri PowerPC yang menarik adalah dapat menggunakan cara little-endian maupun big-endian2[6], dengan kata lain, byte yang paling kurang signifikan disimpan dalam alamat terendah atau tertinggi. Konsep ke-endianan pertama kali dibahas dalam literatur Cohen [COHE8]. Pada byte ke-endian-an harus melakukan pengurutan nilai-nilai skalar multibyte. Konsep ini terjadi apabila terdapat kebutuhan untuk memperlakukan entitas multiple-byte sebagai butir data tunggal, walaupun entitas ini terdiri dari unit-unit yang dapat dialamati yang lebih kecil.

Beberapa mesin seperti intel 80×86, pentium, dan VAX, merupakan mesin-mesin litlle endian, sedangkan mesin-mesin seperti IBM S/370, Motorola 680×0, dan sebagian besar mesin-mesin RISC merupakn mesin-mesin big-endian. Sifat ke­endian-an tidak akan melampaui unit data. Dalam sembarang mesin, aggregate seperti file, struktur data, dan array terdiri dari beberapa unit data, yang masing­masing memakai ke-endian-an. Jadi konversi blok memori dari suatu jenis ke­endian-an kejenis lainnya memerlukan pemahaman struktur data.

Tidak terdapat konsensus umum tentang ke-endianan yang terbaik3[7], PowerPC sendiri adalah jenis prosesor yang bi-endian, yang mendukung baik mode big-endian maupun litlle-endian. Arsitektur bi-endian memungkinkan pembuat perangkat lunak untuk memilih mode yang mana saja ketika harus memindahkan sistem operasi dan aplikasi dari suatu mesin ke mesin lainnya.

Byte, halfword, word, doubleword merupakan jenis data umum. Prosesor mengiterpretasikan isi item data tertentu tergantung pada instruksi. Prosesor fixed point mengenal jenis data berikut :

  • Unsigned Byte: dapat digunakan bagi operasi logika atau aritmetika integer. Data ini dimuat dari memori ke register umum dengan zero-extending dsebelah kiri keukuran penuh register.
  • Unsigned Halfword: seperti diatas namun dengan kuantitas 16-bit.
  • Signed Halfword: digunakan untuk operasi aritmatika, dimuatkan kedalam memori dengan sign-extending pada sebelah kiri keukuran penuh register (yaitu, bit tanda  disalinkan keposisi-posisi yang kosong).
  • Unsigned Word: digunakan untuk operasi logika dan berfungsi sebagai pointer lokal.
  • Signed Word: digunakan untuk operasi aritmatika.
  • Unsigned Doubleword: digunakan sebagai pointer alamat.
  • Byte String: panjangnya mulai 0 hingga 128 byte. Selain itu PowerPC mendukung data floating poing presisi tunggal dan presisi ganda yang ditetapkan pada IEEE 754.

 

  1. Jenis Jenis Operasi

PowerPC banyak memiliki jenis operasi , berikut disajikan berbagai jenis

operasi pada PowerPC :

Instruksi

Uraian

 

Berorientasi Percabangan

b Pencabangan tidak bersyarat
bl Bercabang kealamat sasaran dan menaruh alamat efektif instruksi yang berada setelah pencabangan kedalam link register
bc Pencabangan bersyarat pada Count Register dan/atau pada bit dalam Condition Register.
sc System Call untuk membangkitkan layanan sistem operasi
trap Membandingkan dua buah operand dan membangkitkan system trap handler bila persyaratan tertentu dipenuhi.
 

 

Load/Store

lwzu Memuatkan word dan nol kesebelah kiri; mengupdate register sumber.
ld Memuatkan dobleword.
lmw Memuatkan word ganda; memuatkan word berurutan ke regiater yang berdekatan dari register sasaran melalui General Purpose Register 31.
lswx Memuatkan suatu untaian byte kedalam register yang dimulai dengan register sasaran; empat byte per-register; diambil semua dari register 31 hingga register 0.
 

Arimatika Integer

add Menjumlahkan isi dari dua buah integer dan menyimpannya dalam register ketiga
subf Mengurangkan isi dua buah register dan menyimpannya dalam register ketiga.
mullw Mengalikan isi dua buah register orde rendah 32-bit dan menyimpan hasil perkaliannya dalam register 64-bit ketiga.
divd Membagi isi dua buah register 64-bit dan menyimpan kuosiennya dalam register ketiga.
 

 

Logika dan Sift

cmp Membandingkan dua buah operand dan menyetel empat buah bit kondisi dalam field register kondisi tertentu.
crand Condition Register AND : dua bit Condition Register di-AND-kan dan hasilnya disimpan dalam salah satu dari kedua posisi tersebut.
and Meng-AND-kan isi dua buah register dan menyimpannya dalam register ketiga
cntlzd Mencacah jumlah bit 0 berturutan yang berawal pada bit nol dalam register sumber dan menempatkan hasil perhitungan dalam register tujuan.
rldic Merotasikan ke kiri register doubleword, meng-AND-kannya dengan mask, dan menyimpannya dalam register tujuan.
sld Menggeser kekiri dalam register sumber dan menyimpannya dalam register tujuan
 

Floating Point

lfs Memuatkan bilangan floating point 32-bit dari memori, mengubahnya kedalam format 64 bit, dan menyimpannya dalam register floating point.
fadd Menjumlahkan dua buah register floating point dan menyimpannya dalam register ketiga.
fmadd Mengalikan isi dua buah register, menambahkan isi regiater ketiga, dan menyimpan hasilnya dalam regiater keempat.
fcmpu Membandingkan dua buah operand floating point dan menyetel bit-bit kondisi.
 

Manajemen Cache

dcbf Membersihkan (flush) blok data cache; melakukan lookup dalam cache yang terdapat pada alamat sasaran tertentu dan melakukan operasi pembersihan.
icbi Menginvalidasikan instruksi blok cache

2.1. Instruksi-Instruksi berorientasi Pencabangan

PowerPC memiliki orientasi pencabangan tidak bersyarat dan pencabangan bersyarat. Instruksi-instruksi pencabangan bersyarat menguji suatu bit tunggal dari register kondisi apakah benar, salah, atau tidak peduli dan isi dari counter register apakah nol, bukan nol, atau tidak peduli. Dengan demikian terdapat sembilan macam kondisi instruksi pencabangan bersyarat yang terpisah. Apabila counter register diuji apakah nol atau bukan nol, maka sesudah pengujian register berkurang 1. Hal ini tentunya memudahkan penyiapan loop iterasi. Instruksi dapat juga mengindikasikan bahwa alamat dari pencabangan itu ditempatkan dalam link register, hal ini memungkinkan pengolahan call/return.

 

2.2. Instruksi-instruksi Load/Store

Dalam arsitektur PowerPC hanya instruksi load/store yang dapat mengakses lokasi memori, instruksi logika dan aritmetika hanya dilakukan terhadap register. Terdapat dua fitur yang membedakan instruksi-instruksi load/store:

  1. Ukuran data, dimana data dapat dipindahkan dalam satu byte, halfword, word, atau doubleword. Instruksi-instruksi juga dapat digunakan untuk memuat atau menyimpan suatu untai byte ke dalam sejumlah register atau dari sejumlah register.
  2. Ekstensi Tanda, dimana pada pembuatan word dan halfword, bit-bit sebelah kiri register 64-bit tujuan yag tidak dipakai dapat diisi dengan bilangan-bilangan nol atau dengan bit tanda dari kuantitas yang dimuatkan.

 

  1. 3.       PIPELINING RISC

Merupakan metode untuk meningkatkan kinerja sistem komputer. Dimana instruksi yang bisa dilakukan akan dikerjakan tanpa menunggu instruksi sebelumnya selesai. Hal ini sangat baik untuk mengantisipasi waktu tunggu prosesor terhadap kerja komponan lainnya.

Pipelining akan lebih mudah diimplementasikan bila set instruksi sederhana dan teratur. Kebanyakan rancangan komputer memiliki panjang set instruksi yang sama sehingga tidak ada masalah dalam hal ini. Hal yang perlu diperhatikan adalah durasi antar set instruksi, karena tidak semua operasi memiliki waktu operasi yang sama. Operasi perpindahan data antar register lebih cepat daripada akses ke memori utama. Keteraturan dan durasi akan sulit diantisipasi bila set instruksi beragam, ada yang sederhana dan ada yang kompleks seperti rancangan CISC.

Karena pertimbangan inilah RISC lebih mudah menerapkan pipelininguntukmeningkatkan kinerjanya. Instruksi — instruksi RISC dibuat sederhana sehingga hampir durasi eksekusi instruksi sama sehingga akan mudah melakukan penjadwalan operasi pada teknik pipelining-nya. Disamping keteraturan instruksi, untuk memperoleh pipelining yang optimal harus dipertimbangkan kecepatan kerja komponen – komponen komputer, penjadwalan instruksi yang tepat dan alokasi register yang dinamis.

 

Effects of Pipelining

  

Optimasi Pipelining

Delayed Branch

Tidak berlaku sampai pelaksanaan instruksi berikutnya.

Instruksi berikutnya adalah slot keterlambatan.

 

Normal and Delayed Branch

Use of Delayed Branch

Arsitektur Prosesor dengan Teknologi Superscalar

2012
07.19
Arsitektur Prosesor dengan Teknologi Superscalar

Superscalar
Yaitu salah satu rancangan untuk meningkatkan kecepatan CPU. Instruksi umum (arithmatic, load/store, conditional branch) dapat dimulai dan dilaksanakan secara independen. Sebuah inti prosesor yang mengeksekusi dua kali/lebih operasi scalar dalam bentuk paralel. Sebuah prosesor yang memungkinkan eksekusi yang bersamaan dari instruksi yang banyak pada tahap pipeline yang sama. Dapat diterapkan untuk RISC & CISC, namun dalam prakteknya biasanya pada RISC.
Kebanyakan operasi pada besaran skalar (satu instruksi dalam satu siklus waktu). Sehingga superscalar meningkatkan operasi ini untuk mendapatkan peningkatan secara keseluruhan.

Gambar superscalar execution

Cara Kerja Superscalar
Superscalar dapat mengeksekusi instruksi 1 (I1) dan instruksi 2 (I2) secara paralel dengan syarat:
  • Keduanya instruksi yang sederhana
  • I1 tidak melakukan proses jump
  • Tujuan (destination) dari I1 bukan sumber (source) dari I2
  • Tujuan (destination) dari I1 bukan tujuan (destination) dari I2

Jika kondisi diatas tidak dapat dipenuhi, maka:

  • I1 melakukan proses U-pipe
  • I2 dijalankan di cycle berikutnya
Superscalar Processing
Memproses lebih dari satu instruksi per clock cycle. Sangat memungkinkan untuk memisahkan siklus fetch and execute. Memiliki Buffers pada fase antara proses fetch and decode. Selain itu juga memiliki unit eksekusi yang paralel.

Gambar Superscalar CPU Block Diagram

Arsitektur Superscalar pada Intel Pentium


  • 80486 – CISC.
adalah serangkaian prosesor mikro CISC skalar 32-bit Intel yang merupakan bagian dari keluarga prosesor x86 Intel. i486 merupakan penerus prosesor Intel 80386. Prosesor ini memiliki instruksi dan data cache yang tergabung dalam suatu chip, suatu

floating-point unit (FPU) tambahan pada chip (khusus model DX), dan bus interface unit yang ditingkatkan kemampuannya. Sebagai tambahan, pada kondisi optimal, inti prosesor dapat menjaga kecepatan eksekusi dari satu instruksi per clock cycle. Perbaikan ini secara kasar melipatgandakan kinerja dari Intel 80386 dalam clock rate yang sama.

  • Pentium.

Ada beberapa komponen superscalar.

  • 2 unit eksekusi integer yang terpisah.
  • Pentium Pro – Full superscalar.
  • Memperhalus models subsequent & Meningkatkan design superscalar.

Diagram Pentium 4

 

 

Operasi Pada Pentium 4

  • Pengambilan instructions pada memory dari urutan static program.
  • Menterjemahkan instruction menjadi satu atau lebih instruksi RISC dengan panjang yg tetap (micro-operations).
  • Meng-eksekusi micro-ops pada pipeline superscalar.

Micro-ops boleh dieksekusi tanpa berurutan.

  • Memasukan hasil dari micro-ops ke register set dalam urutan orisinil program.
  • Penggabungan CISC (bagian terluar) dengan RISC (bagian terdalam).
  • Pada pipeline RISC terdapat 20 tahapan.

 

Beberapa micro-ops memerlukan banyak tahapan eksekusi.

  • 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

Bahasa Assembly X86

2012
07.18

Bahasa Assembly adalah bahasa level rendah dari bahasa pemrograman.

CPU 8086 mempunyai 8 general purpose register, dimana tiap register mempunyai namanya sendiri-sendiri:

 

  •  AX  – the accumulator register (dibagi menjadi AH/AL)
  • BX – the base address register (dibagi menjadi BH/BL)
  • CX – the count register (dibagi menjadi CH/CL)
  • DX – the data register (dibagi menjadi DH/DL)
  • SI – source index register
  •  DI – destination index register
  •  BP – base pointer
  •  SP – stack pointer

 

ARSITEKTUR MIKROPROSESOR
1. Arsitektur Fisik+————–+ Keterangan:
| | A.. Address
GND | 1 40 | Vcc A../S. Address/Segment indentifier
<– A14 | 2 39 | A15 –> AD.. Address/Data
<– A13 | 3 38 | A15 –> ALE Address latch enable
<– A12 | 4 37 | A16/S3 –> CLK Clock
<– A11 | 5 36 | A17/S4 –> DEN Data Enable
<– A10 | 6 35 | A18/S5 –> DT/R Data transmit
<– A9 | 7 34 | A19/S6 –> HOLD Hold request
<– A8 | 8 33 | SSO –> HLDA Hold Acknologde
<–> AD7 | 9 32 | MN/MX–> INTR Interrupt Request
<–> AD6 | 10 31 | RD –> IO/M Memory or I/O Access
<–> AD5 | 11 30 | HOLD –> LOCK Bus Hol Control
<–> AD4 | 12 29 | HLDA –> MN/MX = Vcc for minimum system
<–> AD3 | 13 28 | WR –> NMI Non Maskable Interrupt
<–> AD2 | 14 27 | IO/M –> RD read Control
<–> AD1 | 15 26 | DT/R –> READY Wait State Request
<–> AD0 | 16 25 | DEN –> WR write
–> NMI | 17 24 | ALE –>
–>INTR | 18 23 | INTA –>
–> CLK | 19 22 | READY–>
GND |20 21 | RESET–>
| |
+————–+

Mikroprosesor 8086 memiliki dua mode proses CPU yaitu mode minimum dan mode maksimum. Pada mikroprosesor x86 (prosesor diatas 80386) memiliki dua mode proses juga yaitu normal mode dan protected mode. Prosesor ini adalah prosesor 32 bit.

Berikut penjelasan Bahasa Assembly-nya:

  1. Komentar
    • Komentar diawali dengan tanda titik koma (;)
    • ; ini adalah komentar
  2. Label
    • Label diakhiri dengan tanda titik dua (
    • contoh: main; loop; proses; keluar
  3. Assembler directives
    • Directives adalah perintah yang ditujukan kepada assembler ketika sedang menerjemahkan program kita ke bahasa mesin. Directive dimulai dengan tanda titik 
    • .model : memberitahu assembler berapa memori yang akan dipakai oleh program. Ada model tiny, model small, model compact, model medium, model large, dan model huge.
    • .data : memberitahu assembler bahwa bagian di bawah ini adalah data program.
    • .code : memberitahu assembler bahwa bagian di bawah ini adalah instruksi program.
    • .stack : memberitahu assembler bahwa program kita memiliki stack.
  4. Definisi Data
    • DB : define bytes. Membentuk data byte demi byte. Data bisa data numerik maupun teks. Contoh: teks 1 db “Hello world $”
    • DW : define words. Membentuk data word demi word (1 word = 2 byte). Syntax: {label} DW {data}. Contoh: kucing dw ?, ?, ?; mendefinisikan tiga slot 16-bit yang isinya don’t care (disimbolkan dengan tanda tanya)
    • DD : define double words. Membentuk data doubleword demi doubleword (4 byte). Syntax: {label} DD {data}
    • EQU : equals. Membentuk konstanta. Syntax: {label} EQU {data}. Contoh: sepuluh EQU 10 untuk assembly yang melibatkan bilangan pecahan (floating point)
  5. Perpindahan data
    • MOV : move. Memindahkan suatu nilai dari register ke memori, memori ke register, atau register ke register. Syntax: MOV {tujuan}, {sumber}. Contoh mov AX, 4C00H; mengisi register AX dengan 4C00(hex).
    • LEA : load effective address. Mengisi suatu register dengan alamat offset sebuah data. Syntax: LEA {register}, {sumber}. Contoh: lea DX, teks 1
    • XCHG : exchange. Menukar dua buah register langsung. Syntax: XCHG {register 1}, {register 2} Kedua register harus punya ukuran yang sama. Bila sama-sama 8 bit (misalnya AH dengan BL) atau sama-sama 16 bit (misalnya CX dan DX), maka pertukaran bisa dilakukan.
  6. Operasi Logika
    • AND : melakukan bitwise and. Sintaks: AND {register}, {angka} AND {register 1}, {register 2} hasil disimpan di register 1. Contoh: mov AL, 00001011b mov AH, 11001000b and AL, AH ; sekarang AL berisi 00001000(bin), sedangkan AH tidak berubah.
    • OR : melakukan bitwise or. Sintaks: OR {register}, {angka} OR {register 1}, {register 2} hasil disimpan di register 1.
    • NOT : melakukan bitwise not (one’s complement). Sintaks: NOT {register} hasil disimpan di register itu sendiri.
  7. Operasi matematika
    • ADD : add. Menjumlahkan dua buah register. Sintaks: ADD {tujuan}, {sumber} operasi yang terjadi: tujuan = tujuan + sumber. carry (bila ada) disimpan di CF.
    • INC : increment. Menjumlah isi sebuah register dengan 1. Bedanya dengan ADD, perintah INC hanya memakan 1 byte memori sedangkan ADD pakai 3 byte. Sintaks: INC {register}
    • SUB : substract. Mengurangkan dua buah register. Sintaks: SUB {tujuan}. {sumber} operasi yang terjadi: tujuan = tujuan – sumber. borrow (bila terjadi) menyebabkan CF bernilai 1.
    • DEC : decrement. Mengurang isi sebuah register dengan 1. Jika SUB memakai 3 byte memori, DEC hanya memakai 1 byte. Sintaks: DEC {register}
    • MUL : multiply. Mengalikan register dengan AX atau AH. Sintaks: MUL {sumber}
  8. Pengulangan
    • LOOP : loop. Mengulang sebuah proses. Sintaks: LOOP {label tujuan}
    • LOOPE : loop while equal. Melakukan pengulangan selama CX ≠ 0 dan ZF = 1. CX tetap dikurangi 1 sebelum diperiksa. Sintaks: LOOP {label tujuan}
  9. Perbandingan
    • CMP : compare. Membandingkan dua buah operand. Hasilnya mempengaruhi sejumlah flag register. Sintaks: CMP {operand 1}, {operand 2}.
  10. Lompat-lompat
    • JMP: jump. Lompat tanpa syarat. Sintaks: JMP {label tujuan} Lompat bersyarat sintaksnya sama dengan JMP, yaitu perintah jump diikuti label tujuan
Program Perkalian Assembly Menggunakan 8 digit bilangan

 

128372 x 294022 = 37744192184

di jadikan hexa menjadi

1F574 x 47C86 = 8CBAAAB8

;1F574 x 86

CLR C

MOV A , #074H

MOV B , #86H

MUL AB

MOV 07H , A

MOV 06H , B

MOV A , #F5H

MOV B , #86H

MUL AB

MOV 05H , B

MOV B , 06H

ADDC A , B

MOV 06H , A

MOV A , #01H

MOV B , #86H

MUL AB

MOV 03H , B

MOV B , 04H

ADDC A , B

MOV 04H , A

MOV A , #00H

MOV B , 03H

ADDC A , B

MOV 03H , A

;1F574 X 7C

CLR C

MOV A , #74H

MOV B , #7CH

MUL AB

MOV 16H , A

MOV 15H , B

MOV A , #F5H

MOV B , #7CH

MUL AB

MOV 14H , A

MOV B , 15H

ADDC A , B

MOV 15H , A

MOV A , #00H

MOV B,14H

ADDC A , B

MOV 14H , A

MOV A , 01H

MOV B , 7CH

MUL AB

MOV 12H , B

MOV B ,13H

ADDC A, B

MOV 13H , A

MOV A , #00H

MOV B ,12H

ADDC A , B

MOV 12H , A

;1F574 X 04

MOV A , #74H

MOV B , #04H

MUL AB

MOV 25H , A

MOV 24H , B

MOV A , #F5H

MOV B , #04H

MUL AB

MOV 23H , B

MOV B , 24H

ADDC A , B

MOV 24H , A

MOV A, #00H

MOV B , 23H

ADDC A , B

MOV 23H , A

MOV A , #01H

MOV B , #04H

MUL AB

MOV 22H , B

MOV B , 23H

ADDC A , B

MOV 23H , A

;PENJUMLAHAN DARI PERKALIAN DIA ATAS

MOV 77H , 07H

MOV A ,06H

MOV B , 16H

ADDC A , B

MOV 76H , A

MOV A , 05H

MOV B , 15H

ADDC A , B

MOV B , 25H

ADDC A , B

MOV 75H , A

MOV A , 04H

MOV B , 14H

ADDC A , B

MOV 44H , A

MOV A , 24H

MOV B , 34H

ADDC A,B

MOV 54H , A

MOV A , 44H

MOV B , 54H

ADDC A,B

MOV 74H , A

MOV A , 12H

MOV B , 22H

ADDC A,B

MOV B , 32H

ADDC A,B

MOV 72H , A

MOV A , 21H

MOV B , 31H

ADDC A,B

MOV 71H , A

MOV 70H , 30H

gambar

2012
07.18

 

SISTEM BUS PADA MOTHERBOARD

2012
07.14

SISTEM BUS PADA MOTHERBOARD

Ada beberapa macam sistem bus. Untuk mengkomunikasikan motherboard dan CPU Core 2 duo yaitu menggunakan FSB (Front Side Bus). FSB adalah jalur (bus) yang secara fisik menghubungkan prosesor dengan chipset northbridge pada motherboard. Jalur ini merupakan jalur dua arah, artinya aliran data/informasi bisa berjalan dari prosesor menuju motherboard atau sebaliknya. FSB juga menghubungkan processor dengan memori utama. Front Side Bus 1066, 1333 dan 1600 MHz yang dikenal pada prosessor Core2 Duo/Core2 Quad.

Kecepatan FSB yang dulunya maksimal 1.6 GT/s berlipat menjadi 6.4 GT/s. Hal ini dikarenakan kecepatan memory controller internal pada CPU lebih efektif dibandingkan memory controller pada Northbridge. Bandwidth maksimum FSB ditentukan lebar FSB (wide FSB), frekuensi FSB, dan jumlah transfer per detik (transfer/tick). Misalkan lebar FSB 32 bit (setara 4 byte) dengan frekuensi 200 MHz dan 4 transfer per detik. Bandwith maksimumnya adalah: Lebar FSB x frekuensi FSB x jumlah transfer per detik = 4 x 200 x 4 = 3200 Mega Byte perdetik Maknanya adalah jumlah data maksimum yang bisa dialirkan oleh FSB adalah 3200 MB per detik.

Makin besar bandwidth FSB makin cepat komputer bekerja. Namun, hal ini juga bergantung pada kemampuan komponen-komponen lain dalam mendukung kerja komputer (prosesor), misalnya cache memory, memori utama, teknologi-teknologi lain yang terkandung dalam prosesor itu sendiri. Kemampuan transfer per detik yang dimiliki FSB tergantung teknologi yang digunakan pada prosesor tersebut. FSB merupakan ‘tulang punggung’ hubungan antara prosesor dengan chipset pada motherboard, karena melalui FSB inilah keduanya saling mengirim dan menerima data/informasi. Melalui system bus chipset berhubungan ke komponen lain yang terhubung pada motherboard. FSB digunakan untuk mengomunikasikan antara motherboard dengan komponen lainnya. Berikut ini merupakan gambar arsitektur Front side bus.

 

FSB ( Front Side Bus )

FSB disebut juga dengan system bus. System bus adalah jalur (bus) yang menghubungkan mikroprosesor dengan chipset northbridge pada motherboard. Jalur ini sebagai tempat lintasan data/informasi yang diwujudkan dalam bentuk sinyal-sinyal elektronis. Jalur ini merupakan jalur dua arah. Artinya aliran data/informasi bisa berjalan dari mikroprosesor menuju motherboard atau sebaliknya. FSB juga menghubungkan mikroprosesor dengan memori utama (RAM). FSB biasanya terdiri dari bus data (data bus), bus control (control bus) dan bus alamat (address bus).

 

Ilustrasi  bus pada mikroprosesor

Bandwidth maksimum FSB ditentukan dari lebar FSB (width FSB), frekuensi FSB, dan jumlah transfer per detik (transfer/tick). Misalkan lebar FSB 32-bit (setara 4 byte) dengan frekuensi 200 MHz dan 4 transfer per detik. Bandwidth maksimumnya adalah :

Lebar FSB x frekuensi x jumlah transfer per detik

= 4 x 200 x 4

= 3200 Mega Byte per detik

Maknanya adalah jumlah data maksimum yang bisa dialirkan oleh FSB adalah 3200 MB per detik. Makin besar bandwidth FSB, makin cepat komputer bekerja. Namun, hal ini juga bergantung pada kemampuan komponen-komponen lain dalam mendukung kinerja komputer (mikroprosesor), misalnya cache memory, memori utama, dan teknologi-teknologi lain yang terkandung dalam mikroprosesor itu sendiri.

FSB merupakan ‘tulang punggung’ hubungan antara prosesor dengan chipset pada motherboard. Karena melalui FSB inilah keduanya saling mengirim dan menerima data/informasi. Melalui system bus, chipset berhubungan ke komponen lain yang terhubung pada motherboard. FSB digunakan untuk menghubungkan antara motherboard dengan komponen lainnya.

Patut dicatat bahwa semua system bus (PCI, AGP, memory) pada motherboard terhubung ke chipset, sehingga dapat dikatakan bahwa chipset menjadi titik utama koneksi system bus pada motherboard. Dengan demikian, tidaklah salah bila disebutkan bahwa FSB menghubungkan prosesor dengan komponen (device) lain dalam satu system computer melalui chipset yang ada pada motherboard.

Berikut ini bus utama dalam sistem komputer modern :

  1. Bus Prosessor.

Disebut juga dengan front-side bus (FSB), merupakan bus tercepat pada komputer dan merupakan inti dari chipset (dan motherboard). Utamanya, bus ini di gunakan oleh mikroprosesor untuk melewatkan informasi ke / dari chache atau memori utama, dan juga ke chipset north-bridge. Bus prosessor pada komputer sekarang berjalan pada kecepatan 66MHz, 100MHz, 133MHz,atau 200Mhz menggunakan lebar jalur data 64 bit (8 byte).

  1. VESA(Video electronics Standards Association), dikenal sebagai VESA local bus atau VL bus. VL Bus versi 1.0 ialah bus 32 bit yang dapat bekerja hingga 33MHz.

VGA

VGA, singkatan dari Video Graphics Adapter, adalah standar tampilan komputer analog yang dipasarkan pertama kali oleh IBM pada tahun 1987. Walaupun standar VGA sudah tidak lagi digunakan karena sudah diganti oleh standar yang lebih baru, VGA masih diimplementasikan pada Pocket PC. VGA merupakan standar grafis terakhir yang diikuti oleh mayoritas pabrik pembuat kartu grafis komputer. Tampilan Windows sampai sekarang masih menggunakan modus VGA karena didukung oleh banyak produsen monitor dan kartu grafis.

Istilah VGA juga sering digunakan untuk mengacu kepada resolusi layar berukuran 640×480, apa pun pembuat perangkat keras kartu grafisnya. Kartu VGA berguna untuk menerjemahkan keluaran komputer ke monitor. Untuk proses desain grafis atau bermain permainan video, diperlukan kartu grafis yang berdaya tinggi. Produsen kartu grafis yang terkenal antara lain ATI dan nVidia.

Selain itu, VGA juga dapat mengacu kepada konektor VGA 15-pin yang masih digunakan secara luas untuk mengantarkan sinyal video analog ke monitor. Standar VGA secara resmi digantikan oleh standar XGA dari IBM, tetapi nyatanya VGA justru digantikan oleh Super VGA.

  1. PCl Express

PCI Express (PCI-E/PCIex) adalah slot ekspansi module, di desain untuk menggantikan PCI bus yang lama. Banyak Motherboard mengadopsi PCI express dikarenakan PCI Express memiliki transfer data yang lebih cepat, terutama untuk keperluan grafis 3D. Slot ini memiliki kecepatan 1x, 2x, 4x, 8x, 16x and 32x, tidak seperti PCI biasa dengan sistim komunikasi paralel. PCI Express menggunakan sistem serial dan mampu berkomunikasi 2 kali (tulis/baca) dalam satu rute clock.

Ini adalah kecepatan lebar data maximun dari PCI:

  • Kecepatan Max
  • PCI-ex 1x 250 MB/s
  • PCI-ex 2x 500 MB/s
  • PCI-ex 4x 1000 MB/s
  • PCI-ex 8x 2000 MB/s
  • PCI-ex 16x 4000 MB/s
  • PCI-ex 32x 8000 MB/s

 

Sejarah Pengembangan

Dalam perjalanan pengembangannya PCI Express (PCIe) sebelumnya dinamai HSI (High Speed InterConnect) dan mengalami pergantian nama menjadi 3GIO (3rd Generation I/O). Akhirnya PCI SIG (PCI Special Interest Group) menamainya menjadi PCI Express.  PCIe masih dalam pengembangan yang berkelanjutan. versi sekarang yang banyak beredar adalah PCIe 1.0, PCI-SIG sudah mengumumkan beredarnya PCIe 2.0 (Januari 2007) dan PCIe 3.0 (Agustus 2007)

 

  1. AGP

Bus AGP, singkatan dari Accelerated Graphics Port adalah sebuah bus yang dikhususkan sebagai bus pendukung kartu grafis berkinerja tinggi, menggantikan bus ISA, bus VESA atau bus PCI yang sebelumnya digunakan.

Spesifikasi AGP pertama kali (1.0) dibuat oleh Intel dalam seri chipset Intel 440 pada Juli tahun 1996. Sebenarnya AGP dibuat berdasarkan bus PCI, tapi memiliki beberapa kemampuan yang lebih baik. Selain itu, secara fisik, logis dan secara elektronik, AGP bersifat independen dari PCI. Tidak seperti bus PCI yang dalam sebuah sistem bisa terdapat beberapa slot, dalam sebuah sistem, hanya boleh terdapat satu buah slot AGP saja.

Spesifikasi AGP 1.0 bekerja dengan kecepatan 66 MHz (AGP 1x) atau 133 MHz (AGP 2x), 32-bit, dan menggunakan pensinyalan 3.3 Volt. AGP versi 2.0 dirilis pada Mei 1998 menambahkan kecepatan hingga 266 MHz (AGP 4x), serta tegangan yang lebih rendah, 1.5 Volt. Versi terakhir dari AGP adalah AGP 3.0 yang umumnya disebut sebagai AGP 8x yang dirilis pada November 2000. Spesifikasi ini mendefinisikan kecepatan hingga 533 MHz sehingga mengizinkan throughput teoritis hingga 2133 Megabyte/detik (dua kali lebih tinggi dibandingkan dengan AGP 4x). Meskipun demikian, pada kenyataannya kinerja yang ditunjukkan oleh AGP 8x tidak benar-benar dua kali lebih tinggi dibandingkan AGP 4x, karena beberapa alasan teknis.

Spesifikasi AGP Diperkenalkan Kecepatan Tegangan Maksimum troughput

66 MHz (1 x 66 MHz), 32-bit

3.3 Volt 266 MByte/detik

133 MHz (2 x 66 MHz), 32-bit

3.3 Volt 533 MByte/detik

266 MHz (4 x 66 MHz), 32-bit

1.5 Volt 1066 MByte/detik

533 MHz (8 x 66 MHz), 32-bit

1.5 Volt 2133 MByte/detik

Selain empat spesifikasi AGP di atas, ada lagi spesifikasi AGP yang dinamakan dengan AGP Pro. Versi 1.0 dari AGP Pro diperkenalkan pada bulan Agustus 1998 lalu direvisi dengan versi 1.1a pada bulan April 1999. AGP Pro memiliki slot yang lebih panjang dibandingkan dengan slot AGP biasa, dengan tambahan pada daya yang dapat didukungnya, yakni hingga 110 Watt, lebih besar 25 Watt dari AGP biasa yang hanya 85 Watt. Jika dilihat dari daya yang dapat disuplainya, terlihat dengan jelas bahwa AGP Pro dapat digunakan untuk mendukung kartu grafis berkinerja tinggi yang ditujukan untuk workstation graphics, semacam ATi FireGL atau NVIDIA Quadro. Meskipun demikian, AGP Pro tidaklah kompatibel dengan AGP biasa: kartu grafis AGP 4x biasa memang dapat dimasukkan ke dalam slot AGP Pro, tapi tidak sebaliknya. Selain itu, karena slot AGP Pro lebih panjang, kartu grafis AGP 1x atau AGP 2x dapat tidak benar-benar masuk ke dalam slot sehingga dapat merusaknya. Untuk menghindari kerusakan akibat hal ini, banyak vendor motherboard menambahkan retensi pada bagian akhir slot tersebut: Jika hendak menggunakan kartu grafis AGP Pro lepas retensi tersebut.

Selain faktor kinerja video yang lebih baik, alasan mengapa Intel mendesain AGP adalah untuk mengizinkan kartu grafis dapat mengakses memori fisik secara langsung, yang dapat meningkatkan kinerja secara signifikan, dengan biaya integrasi yang relatif lebih rendah. AGP mengizinkan penggunaan kartu grafis yang langsung mengakses RAM sistem, sehingga kartu grafis on-board dapat langsung menggunakan memori fisik, tanpa harus menambah chip memori lagi, meski harus dibarengi dengan berkurangnya memori untuk sistem operasi.

Mulai tahun 2006, AGP telah mulai digeser oleh kartu grafis berbasis PCI Express x16, yang dapat mentransfer data hingga 4000 Mbyte/detik, yang hampir dua kali lebih cepat dibandingkan dengan AGP 8x, dengan kebutuhan daya yang lebih sedikit (voltase hanya 800 mV saja.)

 

  1. ISA (Industrial Standard Architecture)

Bus ISA dikembangkan oleh IBM di Boca Raton, Florida. Ketika IBM memperkenalkan IBM PC tahun 1981, digunakanlah bus ISA 8 bit, namun pada bulan Agustus 1984 IBM memperkenalkan IBM PC-AT (Advance Technology) yang menggunakan bus ISA 16 bit.Slot ISA terdiri dari 16 bit, meskipun tersedia yang 8 bit yang merupakan subset dari ISA 16 bit. Oleh karena itu kartu ISA 8 bit dapat dipasang pada slot ISA 16 bit namun tidak sebaliknya.

Slot ISA ini paling tepat dijadikan praktikum interfacing komputer karena kemampuan chip yang kita gunakan umumnya sesuai dengan kecepatan dan lebar data bus ISA. Pada ISA 8 bit hanya terdapat sebuah pengontrol  DMA (DMA Controller). Bus ISA 16 bit mempunyai 2 buah pengontrol DMA yaitu master dan slave. Pengontrol DMA dapat diprogram untuk transfer baca (data dibaca dari memori ke piranti I/O), transfer tulis (data dibaca dari piranti I/O ke memori) dan transfer verify yang digunakan oleh DMA kanal 0 untuk merefresh RAM/memori di komputer.

Ketika IBM PC XT diperkenalkan, ia hanya memiliki sebuah kontroler interupsi yaitu dari IC 8259 yang hanya bisa mengalamati 8 interupsi. Baru pada computer IBM PC AT dan seterusnya mempunyai pengontrol kedua dalam kombinasi master /slave. Sinyal interupsi bisa berupa edge triggered atau level triggered. Umumnya secara default ialah edge triggered dan aktif tinggi. Berikut Tabel perbandingan Bandwith ISA, EISA, dan Micro Channel Bus .

Semakin canggih komputer, yang membutuhkan kecdepatan bus yang berbeda (missal port ISa dengan VGA Card), para desainer motherboard mendesain ulang bus yang disebut sebagai local bus. Ide dari local bus ialah mengakses sistem bus pada kecepatan yang sama dengan mikroprosesor atau mendekatinya.  Pada mikroprosesor berkecepatan 33MHz yang memiliki bus local dan ISA, kecepatan bus ISA terbatas hanya 8 MHz, tetapi sinyal local bus diakses pada kecepatan yang sama dengan CPU, yaitu 33MHz.

ARSITEKTUR PROSESOR I3/I5/I7

2012
07.14

PROCESSOR INTEL CORE i3, i5 dan i7

Vendor prosesor Intel telah menghadirkan rangkaian prosesor berbasis Core dengan desain terbaru yang lebih revolusioner untuk pasar Indonesia. Rangkaian prosesor tersebut hadir dengan teknologi unggulan seperti Turbo Boost dan Hyper-Threading, serta kemampuan grafis definisi tinggi yang terintegrasi. Selain prosesor Intel Core i7 dan Core i5 yang telah diluncurkan lebih dahulu, hari ini Intel Indonesia Corporation juga meluncurkan prosesor terbarunya, Intel Core i3. Dengan jajaran prosesor anyar tersebut, kinerja PC maupun laptop yang ditawarkan tidak hanya cepat, melainkan juga lebih pintar karena dirancang untuk bisa menyesuaikan dengan kebutuhan individual secara otomatis.

Peluncuran prosesor Intel Core i7, i5 dan i3 ini dilaksanakan seiring dengan dimulainya proses manufaktur masal dari 32 nanometer (nm) yang merupakan terobosan terbaru Intel. Prosesor terbaru dari jajaran Intel Core 2010, yakni Intel Core i3, diproduksi menggunakan proses 32nm yang juga menggunakan transistor high-k metal gate generasi kedua Intel. Teknik tersebut, bersama dengan beberapa inovasi lainnya, menghasilkan kecepatan komputer yang lebih tinggi namun tetap hemat energi. Sementara itu Prosesor Intel Core i7 dan Core i5 juga telah dilengkapi teknologi Intel Turbo Boost dan Intel Hyper-Threading untuk daya komputasi yang adaptif dan efisien. Teknologi Intel Turbo Boost dijanjikan bisa meningkatkan kinerja secara otomatis ketika dibutuhkan, sesuai dengan beban aktifitas pengguna komputer.

Adapun teknologi Intel Hyper-Threading memungkinkan para pengguna komputer untuk ber-multitask dengan cara menjalankan beberapa “threads” pada setiap inti, sehingga komputer menjadi responsif dan memiliki kinerja yang tinggi, namun didukung oleh penggunaan energi yang efisien dalam memproses beberapa tugas sekaligus.

Untuk melengkapi jajaran prosesor Intel Core 2010 ini, Intel juga meluncurkan Chipset Seri 5 yang merupakan solusi chip tunggal pertama. Chipset ini telah berubah dari sekedar menjadi penyambung antara komponen hingga mampu memberikan inovasi dan kapabilitas platform tersendiri. Rangkaian Intel Core tersebut juga memiliki kapabilitas untuk menghemat energi yang dikenal dengan sebutan HUGI atau “hurry up and get idle” (cepat dan kemudian berhentilah), yang memungkinkan prosesor dapat menyelesaikan aktifitas dengan cepat, agar menghemat energi.

“Fitur-fitur unggulan yang tertanam pada rangkaian prosesor berbasis Core ini menghasilkan kinerja yang efisien untuk aplikasi musik, gaming, video, film, foto, jaringan sosial dan aplikasi berat lainnya,” kata Budi Wahyu Jati, Country Manager Intel Indonesia Corporation. Selain itu, kata Budi, rangkaian prosesor tersebut dapat mematikan inti yang sedang aktif atau mengurangi konsumsi energi sehingga dapat meningkatkan kinerja ketika dibutuhkan, dan menghemat energi apabila tidak dibutuhkan. “Untuk pertama kalinya, kami menyediakan serangkaian prosesor Intel dengan teknologi terdepan yang tersedia pada semua titik harga PC,” ujar Budi, dalam acara peluncuran yang digelar di Blowfish Lounge, Wisma Mulia Jakarta.

Rangkaian prosesor Intel Core 2010 ini merupakan produk pertama yang memiliki kapabilitas grafis yang terintegrasi dalam prosesor PC mainstream. Dengan menggunakan HD Graphics Intel, rangkaian prosesor tersebut memiliki tampilan gambar yang memukau dan playback video definisi tinggi (HD) yang mulus. Ini juga merupakan solusi terintegrasi pertama yang dapat memberikan Dolby TrueHD dan DTS Premium Suite multi-channel untuk audio home theater. Selain itu, Grafis Intel HD juga dapat digunakan untuk game mainstream atau 3-D biasa tanpa harus dengan tambahan video card, dan dapat mendukung sistem operasi Microsoft Windows 7 secara penuh.

Khusus untuk fitur HD, Intel Indonesia bekerjasama dengan animator lokal, Marlin Sugama dalam pembuatan film animasi pendek dan menciptakan tokoh-tokoh superhero, pencitraan dari prosesor Intel Core, yang ditayangkan perdana pada saat peluncuran. Pengguna kini mempunyai berbagai pilihan untuk memenuhi kebutuhan PC maupun laptop dengan performa handal yang dimiliki jajaran prosesor Intel Core tersebut. Pasalnya, Intel Indonesia Corporation telah menggandeng partner-partner seperti Acer, Asus, Dell, HP, Lenovo, Microsoft, Toshiba dan Zyrex.


CORE I3

Intel Core i3 merupakan varian paling value dibandingkan dua saudaranya yang lain. Processor ini akan mengintegrasikan GPU (Graphics Processing Unit) alias Graphics On-board didalam processornya. Kemampuan grafisnya diklaim sama dengan Intel GMA pada chipset G45. Selain itu Core i3 nantinya menggunakan manufaktur hybrid, inti processor dengan 32nm, sedangkan memory controller/graphics menggunakan 45nm. Code produk Core i3 adalah “Arrandale”.

Core i3 tidak memiliki Hyper-Threading, yang merupakan teknologi logic-core duplication yangmengijinkan masing-masing core untuk menggunakan 2 logic core. Clock graphics processor mempunyai kecepatan 100 MHz dan semua core i3 mempunyai 2000 seri IGP yang dibatasi sampai 6 execution cores.

Core i3 processor mempunyai twin core dengan range frekuensi clocking dari 2.933 GHz sampai 3.2 GHz, 4MB L3 smart cache, 2 x 256 KB L2 cache dan Direct Media Interface (DMI) bus dengan LGA 1156 socket. Di integrasikan dengan GPU (Graphic Processing Unit) untuk membuat graphic processing lebih cepat, Intel HD Graphics Intel Hyper-Threading dan Virtualization technology.

 

CORE I5

Core i5 Pada 2/20/2011, intel mengenalkan dual-core core i5 yang sebut 2390T. T berarti didesign sebagai bagian dual-core. Core i5 disusun dengan 3 seri prosessor yang terpisah dengan twin dan quad cores. Range frekuensi clocking dari 2.4 GHz sampai 3.33 GHz, didukung  oleh Intel Turbo Boost Technology yang pada saat diperlukan mampu menaikkan frekuensi ke tingkat yang lebih tinggi dan didukung juga dengan 4 MB sampai 8 MB L3 cache, direct media interface,integrated GPU, LGA 1156 socket, Intel HD graphics, Intel smart cache technology dan Hyper-Threading.

Core i5 : mid-range, lebih cepat tapi tergantung pada aplikasi yang dijalankan. Jika bermain games Solitaire, maka tidak ada bedanya dengan core i3. Core i5 akan terasa bedanya jika digunakan untuk mengedit banyak file di Adobe Flash, video editing atau gaming. Core i5 mempunyai 2 tipe yaitu : 

  • Dual core i5 : teknologi 32 nm, hyper-threading, virtualization support, dan teknologi turbo boost.
  • Quad core i5 : teknologi 45 nm, virtualization support, dan teknologi turbo boost tetapi tidak memiliki hyper thread.

 

CORE I7

Core i7 sendiri merupakan processor pertama dengan teknologi “Nehalem”. Nehalem menggunakan platform baru yang betul-betul berbeda dengan generasi sebelumnya. Salah satunya adalah mengintegrasikan chipset MCH langsung di processor, bukan motherboard. Nehalem juga mengganti fungsi FSB menjadi QPI (Quick Path Interconnect) yang lebih revolusioner.

Core i7 disusun oleh quad core processor, dengan frekuensi clocking mencapai 3.33 GHz didukung oleh Intel Turbo Boost. Termasuk didalamnya 6 core processor dengan 12 processing thread (Intel core i7 990x dan 980x processor), dengan L3 smart cache dari 8 MB sampai 12 MB, Intel QuickPath Interconnect technology (meningkatkan kecepatan data transfer sampai 25.6 GB/detik), di integrasikan dengan GPU, Hyper-Threading dan Intel HD
graphics.

Core i7 dapat meningkatkan performance seandainya menggunakan program yang dapat menjalankan 8 thread, dalam artian menggunakan aplikasi enterprise atau video editing – 3D rendering program, poto editing. Core i7 memiliki Hyper-Threading yang hebat tetapi hanya dipakai jika  menggunakan aplikasi khusus yang dapat menjalankan 8 thread.

Berikut perbandingan i3, i5, dan i7 seperti pada gambar di bawah ini:

Arsitektur dan Metode Akses pada Modul DDR2

2012
07.14
DDR2 merupakan generasi lanjutan dari DDR dengan perbaikan berbagai fitur, seperti penggunaan IC BGA (Ball Grid Array) yang tahan panas dan memiliki densitas tinggi serta FSB yang lebih tinggi. Karakteristik teknis DDR2 adalah 240-pin, 1.8V & FSB 400/533/667/800 MHz. DDR2 memiliki kapasitas yang lebih besar dari DDR, dimana nantinya bisa mencapai 2GB/modul. Dan saat ini DDR2 akan menjadi standar untuk semua platform Intel 2006 dan seterusnya. Tipe-tipe DDR2: DDR 256, 512, 1.024 MB PC3200/4300/5300/6400.
Gambar 1. DDR2
Kehadiran memori DDR2 merupakan kemajuan logis dalam teknologi memorimengacu pada penambahan kecepatan serta antisipasi semakin lebarnya jalur akses segitiga prosesor, memori, dan antarmuka grafik (grafik card) yang hadir dengan kecepatan komputasi yang berlipat ganda.
Perbedaan pokok anara DDR dan DDR2 adalah pada kecepatan data serta peningkatan latency mencapai dua kali lipat. Perubahan ini memang dimaksudkan untuk menghasilkan kecepatan secara maksimum dalamsebuah lingkungan komputasi yang semakin cepat, baik di sisi prosesor maupun grafik.
Selain itu, kebutuhan voltase DDR2 juga menurun. Kalau pada DDR kebutuhan voltase tercatat 2,5 volt, pada DDR2 kebutuhan ini hanya mencapai 1,8 Volt. Artinya, kemajuan teknologi pada DDR2 ini membutuhkan tenaga listrik yang lebih sedikit untuk menulis dan membaca pada memori.
Telnologi DDR2 sendiri dulu digunakan pada beberapa perangkat antarmuka grafik, dan baru pada akhirnya diperkenalkan penggunaannya pada teknologi RAM. Dan teknologi DDR2 ini tidak kompatibel dengan memori DDR sehingga penggunaannya pun hanya bisa dilakukan pada komputer yang memang mendukung DDR2.
Gambar 2. DDR2 SDRAM interface

Spesifikasi Standar
Modul DDR2 SDRAM yang digunakan dalam komputer PC Dekstop umumnya bertipe DIMM (Dual Inline Memory Module), memiliki 240 pin. Pada deretan pin terdapat sebuah lubang takikan (notch). Lubang takikn ini berada di deretan pin di bagian tengah, mirip dengan posisi lubang takikan pada DDR SDRAM, tetapi posisi lubang takikan pada DDR2 SDRAM lebih ke tengah. Bandingkan dengan SDRAM yang mempunyai dua lubang takikan.
Lubang takikan ini berguna untuk mencegah agar masing-masing tipe DRAM tersebut tidak saling dipertukarkan, karena masing-masing tipe DRAM tersebut tidak saling kompatibel. Akibat perbedaan lubanga takikan tersebut, maka modul SDRAM tidak akan cocok dimasukkan atau diselipkan pada slot DDR2 SDRAM maupun slot DDR2 SDRAM. Sebaliknya, modul DDR2 SDRAM tidak cocok dimasukkkan atau diselipkan pada slot SDRAM maupun slot DDR SDRAM. Adapun untuk konversi laju transfer modul memori DDR2 SDRAM dapat dilihat pada Gambar 3.
Gambar 3. Konversi laju transfer modul memori DDR2 SDRAM

Nama standar DDR2 biasanya dituliskan DDR2-xxx, simbol xxx kecepatan transfer data per detik (bukan bandwith). Jika dalam satu detik mampu melakukan 400 juta proses transfer data, maka penulisan nama standar DDR2 menjadi DDR2-400.
Modul atau keping DDR2 SDRAM yang tersedia di pasaran,ada yang tipe ECC, ada yang pula non ECC. Ada yang tipe buffered, ada pula yang unbuffered. Itulah sebabnya, varian DDR2 SDRAM yang beredar di pasaran menjadi cukup banyak. Tipe-tipe DDR2 SDRAM biasanya dituliskan dengan aturan sebagai berikut:
Modul DDR2 SDRAM yang dilengkapi ECC dapat diketahui dengan mudah, karena biasanya kode tulisan ECC ini tertera (ditambahkan) di belakang nama modul memori. Misalnya PC2-4200 ECC, berarti modul memori ini adalah modul DDR2 SDRAM PC2-4200 yang dilengkapi ECC.
Modul DDR2 SDRAM tipe buffered (buffered memory) juga dapat diketahui dengan mudah. Di belakang nama modul memori ini biasanya dicantumkan tanda huruf (karakter) ‘R’, misalnya PC2-4200, berarti modul memori ini adalah tipe modul DDR2-SDRAM PC2-4200 buffered. Jika modul memori ini bertipe unbuffered (unbuffered memory), maka kemungkinan di belakang nama modul memori ini daicantumkan tanda huruf (karakter) ‘U’. Misalnya PC2-4200U, berarti modul memori ini adalah tipe modul DDR2 SDRAM PC2-4200 unbuffered.
Modul DDR2 SDRAM tipe buffered umumnya memiliki chip yang berbeda yang letaknya berada di tengah-tengah modul RAM diantara deretan chip memori yang ada. Chip tersebut yang disebut ‘buffer’, bentuknya mirip dengan chip memori. Secara visual, seringkali modul RAM buffered dan unbuffered sulit dibedakan. Perlu dicatat bahwa modul DDR2 SDRAM tipe buffered harganya lebih mahal. Modul yang banyak dijual di pasaran adalah DDR2 SDRAM tipe unbuffered.
Perlu diketahui bahwa modul memori unbuffered tidak cocok dipasangkan dengan modul memori buffered pada saluran (channel) yang sama. Buffered memory adalah memori yang memiliki logic khusus untuk mengatur pembagian beban kerja pada setiap chip memori yang terdapat pada suatu modul DRAM. Buffered memory berguna untuk meningkatkan kemampuan kerja (kinerja) suatu modul DRAM. Modul memori yang termasuk jenis buffered biasanya memiliki chip-chip buffer berukuran kecil yang terpasang pada modul tersebut. Modul memori tipe ini biasanya digunakan untuk sistem komputer yang sangat penting, atau untuk komputer-komputer yang memiliki beban kerja tinggi pada memori, misalnya komputer server.
Berbeda dengan buffered memory, modul memori tipe unbuffered (unbuffered memory) tidak memiliki logic khusus untuk mengatur pembagian beban kerja pada setiap chip memori seperti yang terdapat pada buffered memory. Unbuffered memory disebut juga dengan nama non-regitered memory.

Gambar 4. Modul DDR2 SDRAM Buffered yang dilengkapi ECC

Modul DDR2 SDRAM yang diperkenalkan pertama kali adalah DDR2 ber-bus 200 MHz (PC2-3200) dan DDR2 ber-bus 266 MHz (PC2-4200). Keduanya diperkenalkan pada kuartal kedua tahun 2003. Namun, sayangnya, performa kedua modul DDR2 tersebut tidak lebih baik dari DDR generasi pendahulunya, sebab kedua modul DDR2 tadi memiliki latency yang lebih tinggi sehingga membuat total waktu akses data menjadi lebih lama. Teknologi DDR sendiri tidak dikembangkan lagi sebab kecepatan bus data maksimum yang bisa dijangkau secara normal terbatas pada 266 MHz.
Akhirnya, pada akhir tahun 2004, muncul modul DDR2 SDRAM yang memiliki latency lebih rendah dan memiliki performa lebih bagus. Sejak saat itu DDR2 mampu bersaing dan menggeser dominasi DDR, generasi pendahulunya.

Heatspreader pada DDR2 SDRAM

Tidak sedikit modul DDR2 SDRAM yang dilengkapi heat spreader yang melekat dan menutupi chip-chip memori. Heat spreader ini berguna untuk menyerap panas yang dikeluarkan oleh chip memori yang kemudian dibuang ke udara sekeliling modul. Dengan demikian temperatur chip memori tetap terpelihara tidak terlalu panas. Keberadaan heat spreader ini menjadi lebih penting terutama pada modul DDR2 SDRAM yang berkepatan tinggi.

Heat spreader ini juga berfungsi sebagai pelindung chip-chip memori dari efek listrik statis yang terdapat pada tubuh manusia, yaitu ketika keping memori sedang terpegang tangan yang terutama sering terjadi saat berlangsung pemasangan atau pelepasan modul memori dari slotnya di motherboard.
Bahan dasar heat spreader ini sangat beragam, biasanya yang banyak digunakan terbuat dari aluminium.

Mekanisme DDR2

Sebenarnya memori RAM dikendalikan oleh sebuah sirkuit yang dikenal dengan nama memory controller. Antara RAM dengan memory controller dihubungan oleh serangkaian saluran kabel yang melekat pada motherboard. Rangkaian saluran kabel ini sebenarnya terdiri dari tiga kelompok kabel, yaitu kelompok kabel yang bertugas menyalurkan data (bus data) saluran yang khusus untuk jalan data, baik data yang dibaca dari RAM, maupun data yang akan ditulis atau disimpan ke RAM., kelompok kabel yang bertugas menyalurkan informasi tentang address (address bus = bus alamat) bertugas membawa informasi tentang alamat (address) dan memberi tahu modul memori tentang alamat (address) dimanakah persisnya data yang telah dikirim dari CPU harus disimpan di dalam RAM, atau dengan kalimat sederhana dapat dikatakan ‘di alamat manakah data harus disimpan di dalam memori’., dan kelompok kabel yang bertugas menyalurkan instruksi atau komando (control bus = bus kontrol), bertugas mengirimkan perintah atau instruksi ke modul memori tentang macam operasi yang harus dilakukan. Misalnya, operasi ‘pembacaan’ (read) atau mungkin operasi ‘penyimpanan’ (write/store).

Gambar 5. Skema alur dan simpan data

misalnya memory controller menetapkan kecepatan maksimum yang bisa ditoleransi pada sebuah sistem komputer adalah 667 MHz (DDR2-667). Bila ke dalam sistem komputer tersebut digunakan modul memori berkecepatan 800 MHz (DDR2-800), maka memori ini dengan sendirinya akan menyesuaikan diri bekerja pada kecepatan 667 MHz. Pembatasan kecepatan seperti ini diatur oleh memory controller dan umumnya terjadi pada komputer yang menggunakan CPU berbasis Intel.

Mekanisme Operating System Linux

2012
07.13
LINUX

Linux atau GNU/Linux adalah sistem operasi bebas yang sangat populer. Istilah Linux atau GNU/Linux (GNU) juga digunakan bagi merujuk kepada keseluruhan edaran Linux (Linux Distribution), yang selalunya disertakan program-program-program lain selain Sistem Pengoperasian. Contoh-contoh program adalah seperti Server Web, Bahasa Pengaturacaraan, Basis Data, Persekitaran Dekstop (Dekstop environment) (seperti GNOME dan KDE), dan suite kantor (office suite) seperti OpenOffice.org. Edaran-edaran Linux telah mengalami pertumbuhan yang pesat dari segi kepopuleran, sehingga lebih populer dari versi UNIX yang propritari (proprietary) dan mula menandingi dominasi Microsoft Windows dalam beberapa kasus.
Linux menyokong banyak Perkakasan Komputer, dan telah diguna di dalam berbagai peralatan dari Komputer pribadi sampai SuperKomputer dan Sistem Benam (Embedded System) (seperti Telefon Mudahalih dan Perekam Video pribadi Tivo). Pada mulanya, ia dibuat dan digunakan oleh peminatnya saja. Kini Linux telah mendapat sokongan dari perusahaan besar seperti IBM, dan Hewlett-Packarddan perusahaan besar lain. Para penganalisa menunjukkan kejayaannya ini disebabkan karena Linus tidak bergantung kepada vendor (vendor-independence), biaya perkakasan yang rendah, dan kepantasannya berbanding dengan Microsoft Windows. Ciri-ciri ini juga menjadi bukti atas keunggulan model pembangunan sumber terbuka.
Sistem Linux
  • Menggunakan tool yang dikembangkan sebagai bagian dari Berkeley’s BSD operating system, MIT’s Window System, dan Free Software Foundation’s GNU Project
  • Main system libraries pada awalnya diciptakan oleh proyek GNU dan kemudian dikembangkan oleh komunitas Linux.
Distribusi Linux
  • Standar, himpunan paket yang belum dikompiliasi atau distribusi termasuk sistem dasar Linux, sistem instalasi dan management utilities,dan paket siap install dari tool UNIX.
  • Distribusi pertama mengatur paket-paket dengan memberikan cara bagaimana meletakkan semua file ke dlam tempat yang tepat, distribusi modern berisi manajemen paket lanjutan.
  • Distribusi awal yang ada adalah SLS dan Slacware, sedangkan Red Hat distribusi yang popular dari sumber yang komersial, dan Debian merupakan distribusi yang popular dari sumber non komersial.
Lisensi Linux
  • Kernel Linux didistribusikan di bawah lisensi GNU General Public License (GPL) di bawah naungan the Free Software Foundation
  • Linux bukan public-domain software
  • Linux adalah free-software
  • Software yang dikeluarkan oleh GPL tidak dapat didistribusikan kembali sebagai produk binary-only.
Rancangan Dasar GNU/Linux
  • Linux adalah sebuah sistem yang multiuser, multitasking dengan toolskompatibel UNIX yang lengkap
  • Sistem file-nya mengikuti semantic UNIX tradisional dan mengimplementasikan secara penuh standar model network UNIX
  • Tujuan utama adalah kecepatan, efisiensi, dan standarisasi
Komponen Sistem Linux
  • Seperti kebanyakan implementasi dari UNIX, Linux terdiri dari tiga bagian utama kode.
  • Perbedaan yang paling besar adalah antara Kernel dan komponen-komponen lainnya
  • Kernel bertanggungjawab untuk menjalankan sistem operasi
  • Library sistem merupakan himpunan standar dari fungsi-fungsi melalui mana aplikasi-aplikasi berinteraksi dan yang mengimplementasikan sebagian besar dari fungsi-fungsi melalui mana aplikasi-aplikasi berinteraksi dan yang mengimplementasikan sebagian besar dari fungsi-fungsi sistem operasi yang tidak membutuhkan hak-hak dari kode kernel.
  • Perlengkapan sistem melakukan tugas-tugas manajemen tertentu secara individual.
Berdasarkan uraian diatas, dapat dilihat bagian terpenting sistem operasi adalah kernel, yang merupakan jantung sistem operasi.
  • Kernel menyediakan tool dimana semua layanan sistem komputer disediakan
  • Kernel mencegah proses aplikasi mengakses perangkat keras secara langsung, memaksa proses menggunakan tool yang disediakan
  • Kernel memberi proteksi kepada pemakai dari gangguan pemakai lain

Tool kernel digunakan melalui panggilan sistem (system call). Program sistem menggunakan tool kernel untuk implementasi beragam layanan. Program sistem dan semua program lain berjalan di atas kernel. Program pemakai berjalan di mode berbeda dengan kernel, disebut mode pemakai.

Kernel berisi beberapa bagian penting, yaitu:
  • Manajemen Proses
  • Manajemen memori
  • Driver-Driver perangkat keras
  • Driver-driver sistem file
  • Manajemen Jaringan
  • dan beragam subsistem lain.
Gambar 1. adalah arsitektur sistem operasi Linux
 
Gambar 1. Arsitektur Sistem Linux

Manajemen Proses
Setiap aplikasi yang dijalankan di Linux mempunyai pengenal yang disebut sebagai process identification number (PID). PID disimpan dalam 32 bit dengan angka berkisar dari 0-32767 untuk menjamin kompatibilitas dengan UNIX. Dari nomor PID inilah Linux dapat mengawasi dan mengatur proses-proses yang terjadi di dalam system. Proses yang dijalankan ataupun yang baru dibuat mempunyai struktur data yang disimpan di task struct.
Proses dan thread
Proses dan thread di dalam Linux merupakan sesuatu yang dapat dikatakan sama. Perbedaannya hanya terletak dalam proses pembuatannya. Proses dibuat dengan fork system call sedangkan thread dibuat dengan clonesystem call.

Pada Gambar 2. dapat dlihat gambaran proses yang terjadi di Linux:
 
Gambar 2. Proses di Linux

Penjadwalan
Penjadual adalah suatu pekerjaan yang dilakukan untuk mengalokasikan CPU Time untuk tasks yang berbeda-beda
  • Task dari proses yang sedang jalan
  • Task dari device driver
Sinkronisasi Kernel
  • Normal kernel code
  • Processor’s interrupt control hardware
Penjadualan Proses
Algoritma
  • time-sharing algorithm
  • real-time algorithm
Symmetric multiprocessing 
  • SMP di Kernel Linux sebelum 2.0
  • SMP di Kernel Linux 2.0
  • SMP di Kernel Linux setelah 2.0
Manajemen Memori
  • Memori manajemen pada Linux mempunyai dua komponen
  • Berurusan dengan mengalokasikan dan membebaskan pages, kumpulanpages, dan kumpulan blok kecil dari memori
  • Berurusan dengan pengaturan memori virtual, dimana memori dipetakan kedalam alamat ruang dari proses yang berjalan
Manajemen Memori Fisik
  • Tabel kernel pages memetakan sebanyak mungkin memori fisik kedalam suatu range alamat. Alamat fisik yang ditempati oleh kode kernel dan data telah dipesan dan tidak akan pernah dialokasikan untuk tujuan lain.
  • Penggunaan dan manajemen dari memori fisik diatur oleh zone allocator
  • Allocator menggunakan algoritma buddy-heap untuk menjaga dan melihat memori fisik yang ada.
  • Alokasi memori di kernel Linux dapat terjadi secara static (driver memesan suatu area tertentu di memori pada saat boot sistem) atau dinamik (dengan menggunakan zone allocator)
Memori Virtual
  • Memori Virtual menjaga agar alamat space terbaca dalam setiap proses dengan cara menciptakan pages dari memori virtual sesuai permintaan, dan mengatur pemakaian dari pages tersebut.
  • Manajer Memori Virtual menjaga dua sudut pandang yang berbeda dari alamat space sebuah proses
  • Sudut pandang logika menggambarkan instruksi berkaitan dengan tatanan dari alamat space
  • Sudut pandang fisik dari tiap alamat space, yang tersimpan dalam table hardware pages untuk proses tersebut.
  • Kernel linux menjaga satu daerah tetap yang bergantung dari arsitektur dari alamat virtual space yang digunakan oleh tiap proses untuk penggunaannya sendiri.
Load dan Eksekusi Program
  • Linux membuat sebuah tabel fungsi untuk meload program, memberikan kesempatan pada tiap fungsi untuk mencoba meload file yang akan berjalan ketika sebuah system call exec dipanggil.
  • Pertama-tama page file binary ditempatkan pada virtual memori. Hanya ketika program tersebut mencoba mengakses page yang diberikan dan terjadi page fault, maka page tersebut akan diload ke memori fisik.
Linking Statis dan Dinamis
  • Linking statis: Sebuah program yang semua library yang digunakan ditaruh secara langsung dalam kode binary program. Kelemahannya adalah tiap program yang dihasilkan harus mengandung kopi system library yang sama.
  • Linking dinamis lebih efisien dalam hal memori fisik dan ruang disk, karena hanya memerlukan satu sistem library untuk tiap program yang dihasilkan.
Sistem Berkas Linux
  • Sistem berkas Linux menggunakan layer abstraksi VPS (Virtual File Systems). Terdiri dari dua komponen:
    • Sekumpulan definisi yang mendefinisikan seperti apa sebuah objek berkas harus terlihat
    • Sebuah layer software untuk memanipulasi objek tersebut.
  • Tiga tipe objek yang didefinisikan oleh VFS
    • Inode-object
    • File-object
    • File-system-object
Berbagai macam Sistem Berkas Linux
  • EXT2
    • EXT2 mendefinisikan topologi file sistem dengan memberikan arti bahwa setiap file pada sistem diasosiasikan dengan struktur data inode.
  • Proc
    • Tidak menyimpan data, namun hanya berisi komputasi atas kebutuhan berdasarkan permintaan I/O pengguna.
  • EXT3
    • EXT 3 adalah peningkatan dari EXT2 file sistem. Kelebihannya antara lain dalam kemudahan pengecekan data setealh ‘crash’, inegritas data, kecepatan throughput, dan migrasi.
  • Reiser
  • X
Bentuk Sistem berkas Linux lainnya
  • Steganographic File System, menyediakan sedikit perlindungan terhadap instrumen legal ataupun illegal yang mengharuskan pemilik data untuk memberikan kunci deskripsi bagi data yang disimpan sekali kehadiran data terenkripsi dari komputer yang diinspeksi terbangun.
  • Trnsparent Criptographic File System, yaitu system berkas terdistribusi yang kriptografik, memungkinkan pengguna untuk mengakses berkas-berkas sensitif secara remote dengan aman.
  • Web File System, yaitu sistem berkas linux yang baru yang menyediakan sistem berkas seperti antarmuka untuk www. Sistem berkas ini menyediakan caching remote document dan dapat memproses multiple outstanding request secara konkruen.
I/O Kernel Linux
  • I/O Linux ini berhubungan dengan bagaimana kernel Linux mengatur device fisik di sistem
  • Linux membagi device ini ke tiga kelas:
    • device karakter
    • device blok
    • device jaringa
Device Karakter
  • Device Karakter, device paling sederhana dari Linux, diakses sebagai berkas
  • Aplikasi menggunakan system calls standar  untuk membukanya, membacanya dan menulisnya dan menutupnya persis seolah devices adalah berkas.
  • Digunakan line displicine sebagai interpreter bagi informasi dari device terminal
Device Blok
  • Device ini pun diakses seperti berkas
  • Mekanisme untuk menyediakan perangkat operasi berkas yang benar bagi berkas khusus blok yang terbuka sama seperti devices karakter.
  • Untuk kecepatan aksesnya digunakan dua komponen:
    • Block Buffer Cache, sebagai pool bagi buffers untuk I/O aktif dan sebuah cache untuk completed I/O
    • The Request Manager, Layer software yang mengatur isi buffer baca/ tulis ke dan dari block-device driver.
Device Jaringan
  • Device jaringan merupakan sebuah entity yang mengirimkan dan menerima paket-paket data
  • Biasanya merupakan device fisik seperti kartu Ethernet