Anda di halaman 1dari 32

MAKALAH

ARSITEKTUR KOMPUTER
TENTANG
PARALLEL PROCESSING & MULTICORE COMPUTER

Disusun oleh:

Kelompok 10

1. WAHYU ALAMSYAH. (5191151010)


2. JUNIAR TRI REZKI LAHAGU. (5193151017)

Dosen pengampu:

1. Amirhud Dalimunthe,ST.,M.Kom

2. Ressy Dwitias Sari,S.T.,M.T.I.

PRODI PENDIDIKAN TEKNOLOGI INFORMATIKA DAN KOMPUTER

FAKULTAS TEKNIK

UNIVERSITAS NEGERI MEDAN

NOVEMBER 2019
1
KATAPENGANTAR

Puji Syukur kami panjatkan kehadirat Allah SWT, karena berkat rahmat-Nya kami bisa
menyelesaikan makalah yang berjudul Arsitektur Komputer.Makalah ini diajukan guna
memenuhi tugas Arsitektur Kompute .Sholawat serta salam semoga selalu tercurah kan kepada
Baginda kita Nabi Muhammad SAW.Yang membawa ajarannya dari zaman Zahiliyah sampai
zaman terang benderang sepertiini.
Kami mengucapkan terima kasih kepada dosen pengajar bapak Amirhud
Dalimunthe,S.T.,M.Kom dan ibu Ressy Dwitias Sari,S.T.,M.T.I yang telah bersedia
membimbing kami sehingga makalah ini dapat diselesaikan tepat pada waktunya.
Makalah ini masih jauh dari sempurna ,karena status kami yang masih dalam tahap
belajar, oleh karena itu kami mengharap kan kritik dan saran yang bersifat membangun demi
kesempurnaan makalah ini.
Besar harapan agar pembaca dapat memberian kritik dan saran agar penyusunan
selanjutnya lebihbaik.Semoga makalah inidapat memberikan informasi bagi mahasiswa dan
bermanfaat untuk pengembangan wawasan dan peningkatan ilmu pengetahuan bagi kita semua.

2
DAFTAR ISI

KATA PENGANTAR ...........................................................................................................2


DAFTAR ISI..........................................................................................................................3
BAB I PENDAHULUAN ......................................................................................................4
A. LATAR BELAKANG ...............................................................................................4
B. RUMUSAN MASALAH ...........................................................................................4
C. TUJUAN ....................................................................................................................4
BAB II PEMBAHASAN .......................................................................................................6
A. PARALLEL PROCESSING ......................................................................................6
1. MULTIPLE PROCESSOR ORGANIZATIONS ................................................6
2. MULTIPROCESSOR SYMMETRIC .................................................................7
3. KOHERENSI CACHE DAN PROTOKOL MESI ..............................................10
4. MULTIPREADING DAN CHIP MULTIPROCESSORS ..................................17
B. MULTICORE COMPUTER .....................................................................................20
1. ISU KINERJA PERANGKAT KERAS ..............................................................20
2. ISU KINERJA PERANGKAT LUNAK .............................................................21
3. ORGANISASI MULTICORE .............................................................................23
4. ORGANISASI MULTICORE YANG LEBIH BAIK .........................................25
5. INTEL CORE i7-990X ........................................................................................27
BAB III PENUTUP ...............................................................................................................31
A. KESIMPULAN ..........................................................................................................31
DAFTAR PUSTAKA ............................................................................................................32

3
BAB I
PENDAHULUAN

A. LATAR BELAKANG

Sebagai teknologi komputer telah berkembang, dan sebagai biaya perangkat keras
komputer telah menurun, desainer komputer telah mencari semakin banyak peluang
untuk paralelisme, biasanya untuk meningkatkan kinerja dan, dalam beberapa kasus,
meningkat tersedianya. Setelah tinjauan, bab ini melihat beberapa yang paling menonjol
pendekatan ke organisasi paralel. Pertama, kami memeriksa multiprosesor simetris
(SMP), salah satu yang paling awal dan masih merupakan contoh paling umum dari
organisasi paralel. Dalam organisasi SMP, banyak prosesor berbagi kesamaan ingatan.
Organisasi ini mengangkat masalah koherensi cache, di mana bagian terpisah
dikhususkan
Prosesor multicore, juga dikenal sebagai multiprosesor chip, menggabungkan dua
atau lebih unit prosesor (disebut core) pada selembar silikon (disebut die). Biasanya
masing-masing core terdiri dari semua komponen dari prosesor independen, seperti
register, ALU, perangkat keras pipa, dan unit kontrol, ditambah instruksi L1 dan cache
data. Di Selain beberapa core, chip multicore kontemporer juga termasuk L2 cache dan,
semakin banyak, cache L3. Prosesor multicore yang sangat terintegrasi, dikenal sebagai
sistem pada chip (SoCs), juga termasuk memori dan pengontrol periferal.

B. RUMUSAN MASALAH

1. Jelaskan tentang Parallel Processing?


2. Apa saja jenis-jenis parallel processing?
3. Jelaskan tentang multicore computer?
4. Apa saja jenis-jenis multicore computer?
5. Jelaskan bagian-bagian multicore computer?

C. TUJUAN
1. Mengetahui tentang parallel processing
2. Mengetahui jenis-jenis parallel processing

4
3. Mengetahui kegunaan parallel processing
4. Mengetahui tentang multicore computer
5. Mengetahui jenis dan bagian multicore computer

5
BAB II

PEMBAHASAN
A. PARALLEL PROCESSING
1. MULTIPLE PROCESSOR ORGANIZATIONS

1) Jenis Sistem Prosesor Paralel

Taksonomi yang pertama kali diperkenalkan oleh Flynn masih merupakan cara
yang paling umum dari sistem pengkategorisasian dengan kemampuan pemrosesan
paralel. Flynn mengusulkan yang berikut ini kategori sistem komputer:
■ Aliran instruksi tunggal, data tunggal (SISD): Prosesor tunggal mengeksekusi a
aliran instruksi tunggal untuk beroperasi pada data yang disimpan dalam satu memori.
Uniprocessors termasuk dalam kategori ini.
■ Aliran instruksi tunggal, banyak data (SIMD): Instruksi mesin tunggal mengontrol
eksekusi simultan sejumlah elemen pemrosesan pada dasar berbaris. Setiap elemen
pemrosesan memiliki memori data terkait, sehingga instruksi dieksekusi pada set data
yang berbeda oleh prosesor yang berbeda. Pembuat dan array prosesor masuk dalam
kategori ini.
■ Aliran banyak instruksi, data tunggal (MISD): Sekuens data ditransmisikan ke satu
set prosesor, yang masing-masing menjalankan instruksi yang berbeda urutan.
Struktur ini tidak diterapkan secara komersial.

■ Aliran banyak instruksi, banyak data (MIMD): Satu set prosesor secara simultan
menjalankan urutan instruksi berbeda pada set data yang berbeda. SMP, cluster, dan
sistem NUMA masuk dalam kategori ini.

2) Organisasi Paralel

Ada semacam unit kontrol (CU) yang menyediakan aliran instruksi (IS) ke unit
pemrosesan (PU). Pengolahan unit beroperasi pada aliran data tunggal (DS) dari unit
memori (MU). Dengan SIMD, masih ada unit kontrol tunggal, sekarang memberi
makan aliran instruksi tunggal ke banyak Nanah. Setiap PU dapat memiliki memori
khusus, atau mungkin ada memori bersama. Akhirnya, dengan MIMD, ada beberapa
6
kontrol unit, masing-masing memasukkan aliran instruksi terpisah ke PU sendiri.
MIMD mungkin multiprosesor berbagi-memori atau komputer multicom memori
terdistribusi. Masalah desain yang berkaitan dengan SMP, cluster, dan NUMA adalah
masalah yang kompleks, yang berkaitan dengan organisasi fisik, struktur interkoneksi,
interprocessor komunikasi, desain sistem operasi, dan teknik perangkat lunak aplikasi.
Kami perhatian di sini terutama dengan organisasi, meskipun kami menyentuh
sebentar tentang pengoperasian masalah desain sistem.

2. MULTIPROCESSOR SYMMETRIC

Sampai saat ini, hampir semua komputer pribadi pengguna tunggal dan sebagian
besar workstation berisi mikroprosesor tujuan umum tunggal. Seiring meningkatnya
permintaan akan kinerja dan seiring dengan menurunnya biaya mikroprosesor, para
vendor juga memperkenalkan sistem dengan organisasi SMP. Istilah SMP mengacu
pada komputer arsitektur perangkat keras dan juga perilaku sistem operasi yang
mencerminkan itu Arsitektur. SMP dapat didefinisikan sebagai sistem komputer
mandiri dengan karakteristik berikut:
1. Ada dua atau lebih prosesor serupa dengan kemampuan yang sebanding.
2. Prosesor ini memiliki memori utama dan fasilitas I / O yang sama dan saling
berhubungan oleh bus atau skema koneksi internal lainnya, sehingga memori tersebut
waktu akses kira-kira sama untuk setiap prosesor.
3. Semua prosesor berbagi akses ke perangkat I / O, baik melalui saluran yang sama
atau melalui saluran berbeda yang menyediakan jalur ke perangkat yang sama.
4. Semua prosesor dapat melakukan fungsi yang sama (maka istilah simetris).
5. Sistem dikendalikan oleh sistem operasi terintegrasi yang menyediakan interaksi
antara prosesor dan programnya di pekerjaan, tugas, file, dan tingkat elemen data.

Poin 1 hingga 4 harus jelas. Butir 5 mengilustrasikan salah satu kontras dengan
sistem multiprosesor yang digabungkan secara longgar, seperti sebuah cluster. Dalam
yang terakhir, yang unit interaksi fisik biasanya berupa pesan atau file lengkap.
Dalam SMP, elemen data individu dapat membentuk tingkat interaksi, dan bisa ada
yang tinggi tingkat kerja sama antar proses. Sistem operasi SMP menjadwalkan
7
proses atau utas di semua prosesor. Organisasi SMP memiliki sejumlah keunggulan
potensial dibandingkan organisasi uniprocessor, termasuk yang berikut:
■ Kinerja: Jika pekerjaan yang harus dilakukan oleh komputer dapat diatur sehingga
beberapa bagian dari pekerjaan dapat dilakukan secara paralel, kemudian sistem
dengan banyak prosesor akan menghasilkan kinerja yang lebih besar daripada satu
dengan prosesor tunggal tipe yang sama.
■ Ketersediaan: Dalam multiprosesor simetris, karena semua prosesor dapat
melakukan fungsi yang sama, kegagalan satu prosesor tidak menghentikan mesin.
Sebagai gantinya, sistem dapat terus berfungsi pada kinerja yang berkurang.
■ Pertumbuhan tambahan: Pengguna dapat meningkatkan kinerja sistem dengan
menambahkan prosesor tambahan.
■ Penskalaan: Vendor dapat menawarkan berbagai produk dengan harga dan
karakteristik kinerja yang berbeda berdasarkan jumlah prosesor yang dikonfigurasi
dalam sistem.
1) Organisasi

Ada dua atau lebih prosesor. Setiap prosesor mandiri, termasuk unit kontrol, ALU,
register, dan, biasanya, satu atau lebih level cache. Setiap prosesor memiliki akses ke
memori utama bersama dan perangkat I / O melalui beberapa bentuk mekanisme
interkoneksi. Prosesor dapat berkomunikasi satu sama lain melalui memori (pesan
dan informasi status tertinggal di area data umum). Mungkin juga begitu mungkin
bagi prosesor untuk bertukar sinyal secara langsung. Memori sering terorganisir
Organisasi yang paling umum untuk komputer pribadi, workstation, dan server adalah
bus yang dibagikan waktu. Bus yang dibagi waktu adalah mekanisme paling
sederhana untuk membangun sistem multiprosesor. Struktur dan antarmuka adalah
pada dasarnya sama dengan untuk sistem prosesor tunggal yang menggunakan
interkoneksi bus.
Bus terdiri dari garis kontrol, alamat, dan data. Untuk memfasilitasi transfer DMA
dari subsistem I / O ke prosesor, fitur-fitur berikut disediakan:
■ Mengatasi: Harus dimungkinkan untuk membedakan modul pada bus untuk
menentukan sumber dan tujuan data.
8
■ Arbitrase: Modul I / O apa saja dapat sementara berfungsi sebagai "master." Sebuah
mekanisme disediakan untuk menengahi permintaan bersaing untuk kontrol bus,
menggunakan beberapa semacam skema prioritas.
■ Pembagian waktu: Ketika satu modul mengendalikan bus, modul lainnya adalah
terkunci dan harus, jika perlu, menunda operasi sampai akses bus tercapai.
Fitur uniprocessor ini dapat langsung digunakan di organisasi SMP. Di kasus terakhir
ini, sekarang ada beberapa prosesor serta beberapa prosesor I / O semua berusaha
mendapatkan akses ke satu atau lebih modul memori melalui bus. Organisasi bus
memiliki beberapa fitur menarik:

■ Kesederhanaan: Ini adalah pendekatan paling sederhana untuk organisasi


multiprosesor. Itu antarmuka fisik dan pengalamatan, arbitrasi, dan logika pembagian
waktu setiap prosesor tetap sama seperti pada sistem prosesor tunggal.
■ Fleksibilitas: Pada umumnya mudah untuk memperluas sistem dengan
menempelkan lebih banyak prosesor ke bus.
■ Keandalan: Bus pada dasarnya adalah media pasif, dan kegagalan apa pun
perangkat yang terpasang tidak boleh menyebabkan kegagalan seluruh sistem.

2) Pertimbangan Desain Sistem Operasi Multiprosesor

Sistem operasi SMP mengelola prosesor dan sumber daya komputer lainnya
pengguna merasakan sistem operasi tunggal yang mengendalikan sumber daya sistem.
Faktanya, konfigurasi seperti itu akan muncul sebagai sistem multiprogramming satu-
prosesor. Baik dalam kasus SMP dan uniprosesor, beberapa pekerjaan atau proses
mungkin aktif di satu kali, dan merupakan tanggung jawab sistem operasi untuk
menjadwalkan eksekusi dan untuk mengalokasikan sumber daya. Seorang pengguna
dapat membuat aplikasi yang menggunakan banyak proses atau beberapa utas dalam
proses tanpa memperhatikan apakah satu prosesor atau beberapa prosesor akan
tersedia. Dengan demikian, operasi multiprosesor sistem harus menyediakan semua
fungsi sistem multi-pemrograman plus fitur tambahan untuk mengakomodasi banyak
prosesor. Di antara masalah desain utama:
■ Proses bersamaan simultan: Rutinitas OS perlu dimasukkan kembali untuk
9
memungkinkan beberapa prosesor untuk menjalankan kode IS yang sama secara
bersamaan. Dengan banyak prosesor yang menjalankan bagian OS yang sama atau
berbeda, tabel OS dan struktur manajemen harus dikelola dengan benar untuk
menghindari kebuntuan atau tidak valid operasi.
■ Penjadwalan: Setiap prosesor dapat melakukan penjadwalan, sehingga konflik
harus terjadi dihindari. Penjadwal harus menetapkan proses siap untuk prosesor yang
tersedia.
■ Sinkronisasi: Dengan beberapa proses aktif memiliki potensi akses ke ruang alamat
bersama atau sumber daya I / O bersama, perhatian harus diberikan untuk
menyediakan sinkronisasi yang efektif. Sinkronisasi adalah fasilitas yang
memberlakukan mutual pengecualian dan pemesanan acara.
■ Manajemen memori: Manajemen memori pada multiprosesor harus berurusan
dengan semua masalah yang ditemukan pada mesin uniprocessor, seperti yang
dibahas dalam. Mekanisme paging pada prosesor yang berbeda harus dikoordinasikan
untuk menegakkan konsistensi ketika beberapa prosesor berbagi halaman atau
segmen dan untuk memutuskan penggantian halaman.
■ Keandalan dan toleransi kesalahan: Sistem operasi harus memberikan anggun
degradasi dalam menghadapi kegagalan prosesor. Penjadwal dan bagian lainnya
sistem operasi harus mengenali hilangnya prosesor dan restrukturisasi tabel
manajemen yang sesuai.

3. KOHERENSI CACHE DAN PROTOKOL MESI

Dalam sistem multiprosesor kontemporer, biasanya memiliki satu atau dua level
cache yang terkait dengan setiap prosesor. Organisasi ini sangat penting untuk
mencapai kinerja yang masuk akal. Namun, hal itu menciptakan masalah yang
dikenal sebagai koherensi cache masalah. Inti dari masalahnya adalah ini: Banyak
salinan dari data yang sama dapat ada di berbagai cache secara bersamaan, dan jika
prosesor diizinkan untuk memperbarui memiliki salinan secara bebas, tampilan
memori yang tidak konsisten dapat terjadi. Dalam Bab 4 kita mendefinisikan dua
kebijakan penulisan umum:

10
■ Tulis kembali: Operasi penulisan biasanya dibuat hanya untuk cache. Memori
utama hanya diperbarui ketika garis cache yang sesuai diusir dari Internet cache.
■ Write through: Semua operasi penulisan dibuat ke memori utama juga ke cache,
memastikan bahwa memori utama selalu valid.

Jelas bahwa kebijakan balas dendam dapat mengakibatkan inkonsistensi. Jika dua
cache berisi baris yang sama, dan baris diperbarui dalam satu cache, cache lainnya
akan tanpa sadar memiliki nilai yang tidak valid. Selanjutnya membaca ke jalur
produksi yang tidak valid hasil tidak valid. Bahkan dengan kebijakan write-through,
ketidakkonsistenan dapat terjadi kecuali cache lainnya memantau lalu lintas memori
atau menerima pemberitahuan langsung dari memperbarui. Pada bagian ini, kami
akan secara singkat mensurvei berbagai pendekatan untuk masalah koherensi cache
dan kemudian fokus pada pendekatan yang paling banyak digunakan: MESI
(dimodifikasi / eksklusif / dibagi / tidak valid) protokol. Versi protokol ini digunakan
pada baik arsitektur x86.
Untuk setiap protokol koherensi cache, tujuannya adalah untuk membiarkan lokal
yang baru saja digunakan variabel masuk ke cache yang sesuai dan tetap di sana
melalui banyak membaca dan menulis, saat menggunakan protokol untuk menjaga
konsistensi variabel yang dibagi itu mungkin berada di beberapa cache sekaligus.
Pendekatan koherensi cache memiliki umumnya dibagi menjadi pendekatan
perangkat lunak dan perangkat keras. Beberapa implementasi mengadopsi strategi
yang melibatkan elemen perangkat lunak dan perangkat keras. Namun demikian,
klasifikasi ke dalam pendekatan perangkat lunak dan perangkat keras masih bersifat
instruktif dan umumnya digunakan dalam survei strategi koherensi cache.

1) Solusi Perangkat Lunak

Skema koherensi cache perangkat lunak berupaya menghindari perlunya sirkuit


dan logika perangkat keras tambahan dengan mengandalkan kompiler dan sistem
operasi untuk menangani masalah. Pendekatan perangkat lunak menarik karena
overhead mendeteks potensi masalah ditransfer dari waktu berjalan ke waktu
kompilasi, dan kompleksitas desain ditransfer dari perangkat keras ke perangkat
11
lunak. Di sisi lain, waktu kompilasi pendekatan perangkat lunak umumnya harus
membuat keputusan konservatif, yang mengarah pada pemanfaatan cache yang tidak
efisien.
Mekanisme koherensi berbasis kompiler melakukan analisis pada kode untuk
menentukan item data mana yang mungkin menjadi tidak aman untuk caching, dan
mereka menandainya item yang sesuai. Sistem operasi atau perangkat keras kemudian
mencegah noncacheable item dari di-cache. Pendekatan yang paling sederhana adalah
untuk mencegah variabel data yang dibagi di-cache Ini terlalu konservatif, karena
struktur data bersama mungkin eksklusif digunakan selama beberapa periode dan
mungkin hanya dapat dibaca secara efektif selama periode lainnya. Saya hanya
selama periode ketika setidaknya satu proses dapat memperbarui variabel dan
setidaknya satu proses lain dapat mengakses variabel bahwa koherensi cache adalah
masalah.

2) Solusi Perangkat Keras

Solusi berbasis perangkat keras umumnya disebut sebagai protokol koherensi


cache. Solusi ini memberikan pengakuan dinamis pada saat run time potensi
inkonsistensi kondisi. Karena masalahnya hanya ditangani ketika itu benar-benar
muncul, di sana adalah penggunaan cache yang lebih efektif, yang mengarah pada
peningkatan kinerja dibandingkan perangkat lunak pendekatan. Selain itu, pendekatan
ini transparan bagi programmer dan kompiler, mengurangi beban pengembangan
perangkat lunak. Skema perangkat keras berbeda dalam sejumlah hal, termasuk di
mana keadaannya informasi tentang jalur data diadakan, bagaimana informasi itu
diorganisasikan, di mana koherensi ditegakkan, dan mekanisme penegakannya.
Secara umum, skema perangkat kera dapat dibagi menjadi dua kategori: protokol
direktori dan protokol snoopy protokol direktori.

Protokol direktori, mengumpulkan dan memelihara informas tentang di mana


salinan garis berada. Biasanya, ada pengontrol terpusat bagian dari pengontrol
memori utama, dan direktori yang disimpan di memori utama. Direktori tersebut
berisi informasi keadaan global tentang konten berbagai cache lokal. Ketika
12
pengontrol cache individu membuat permintaan, terpusat
Pengontrol memeriksa dan mengeluarkan perintah yang diperlukan untuk transfer
data memori dan cache atau di antara cache. Itu juga bertanggung jawab untuk
menjaga negara informasi terkini; Oleh karena itu, setiap tindakan lokal yang dapat
mempengaruhi negara global garis harus dilaporkan ke pengontrol pusat. Biasanya,
pengontrol menyimpan informasi tentang prosesor yang dimiliki salinan garis mana.
Sebelum prosesor dapat menulis ke salinan lokal dari sebuah baris, itu harus meminta
akses eksklusif ke saluran dari controller. Sebelum memberikan ini akses eksklusif,
controller mengirim pesan ke semua prosesor dengan cache salinan baris ini,
memaksa setiap prosesor untuk membatalkan salinannya. Setelah menerima terima
kasih kembali dari masing-masing prosesor tersebut, controller memberikan eksklusif
akses ke prosesor yang meminta. Ketika prosesor lain mencoba membaca baris yang
secara eksklusif diberikan kepada prosesor lain, itu akan mengirim pemberitahuan
kehilangan ke controller. Controller kemudian mengeluarkan perintah untuk
memegang prosesor baris yang mengharuskan prosesor untuk melakukan tulis
kembali ke memori utama. Itu baris sekarang dapat dibagi untuk dibaca oleh prosesor
asli dan permintaan prosesor Skema direktori menderita dari kelemahan dari
kemacetan pusat dan overhead komunikasi antara berbagai pengontrol cache dan
pusat pengontrol. Namun, mereka efektif dalam sistem skala besar yang melibatkan
banyak bus atau skema interkoneksi kompleks lainnya.

Protokol snoopy, Protokol snoopy mendistribusikan tanggung jawab untuk


menjaga koherensi cache di antara semua pengontrol cache di multiprosesor. Cache
harus mengenali kapan garis yang dipegangnya dibagikan dengan chace yang lain.
Ketika tindakan pembaruan dilakukan pada baris cache bersama, itu harus
diumumkan ke semua cache lainnya oleh mekanisme penyiaran. Setiap pengontrol
cache dapat "mengintip" di jaringan untuk mengamati notifikasi yang disiarkan ini,
dan bereaksi sesuai.
Protokol Snoopy idealnya cocok untuk multiprosesor berbasis bus, karena bus
bersama menyediakan sarana sederhana untuk penyiaran dan pengintaian. Namun,
karena salah satu tujuan dari penggunaan cache lokal adalah untuk menghindari akses
13
bus, perawatan harus diambil bahwa peningkatan lalu lintas bus yang diperlukan
untuk penyiaran dan pengintaian tidak membatalkan keuntungan dari penggunaan
cache lokal.
Dua pendekatan dasar untuk protokol snoopy telah dieksplorasi: tulis invalidate dan
tulis pembaruan (atau tulis siaran). Dengan protokol write-invalidate, di sana dapat
terdiri dari beberapa pembaca tetapi hanya satu penulis pada satu waktu. Awalnya,
sebuah garis dapat dibagikan di antara beberapa cache untuk tujuan membaca. Ketika
salah satu cache ingin melakukan penulisan ke baris, pertama-tama akan
mengeluarkan pemberitahuan yang membatalkan baris itu di baris lain. cache,
membuat baris eksklusif untuk cache penulisan. Setelah garis eksklusif, maka
memiliki proses.

3) Protokol MESI

Untuk memberikan konsistensi cache pada SMP, cache data seringkali


mendukung protokol dikenal sebagai MESI. Untuk MESI, cache data mencakup dua
bit status per tag, sehingga setiap baris dapat dalam satu dari empat negara:
■ Dimodifikasi: Baris dalam cache telah dimodifikasi (berbeda dari memori utama)
dan hanya tersedia dalam cache ini.
■ Eksklusif: Baris dalam cache sama dengan yang ada di memori utama dan tidak
hadir dalam cache lainnya.
■ Dibagi-pakai: Baris dalam cache sama dengan yang ada di memori utama dan
mungkin hadir dalam cache lain.
■ Tidak valid: Baris dalam cache tidak berisi data yang valid.

Read Miss, Ketika read miss terjadi dalam cache lokal, prosesor memulai memori
baca untuk membaca garis memori utama yang berisi alamat yang hilang. Itu
Prosesor memasukkan sinyal pada bus yang memberitahukan semua unit prosesor /
cache lainnya mengintip transaksi. Ada sejumlah hasil yang mungkin:
■ Jika satu cache lainnya memiliki salinan bersih (tidak dimodifikasi sejak dibaca
dari memori) baris dalam keadaan eksklusif, ia mengembalikan sinyal yang
menunjukkan bahwa ia berbagi ini baris. Prosesor yang merespons kemudian
14
mentransisikan status salinannya dari eksklusif ke berbagi, dan prosesor yang
memulai membaca baris dari memori utama dan mentransisikan baris dalam cache
dari yang tidak valid ke yang dibagikan.

■ Jika satu atau lebih cache memiliki salinan baris yang bersih dalam status bersama,
masing-masing mereka memberi sinyal bahwa ia berbagi garis. Prosesor yang
memulai membaca baris dan mentransisikan baris dalam cache dari tidak valid ke
dibagikan.
■ Jika satu cache lainnya memiliki salinan salinan yang dimodifikasi, maka cache itu
memblokir memori membaca dan menyediakan baris ke cache yang meminta melalui
shared bis. Cache yang merespons kemudian mengubah barisnya dari diubah menjadi
dibagikan.1 Itu baris yang dikirim ke cache yang meminta juga diterima dan diproses
oleh memori controller, yang menyimpan blok dalam memori.
■ Jika tidak ada cache lain yang memiliki salinan saluran (bersih atau dimodifikasi),
maka tidak ada sinyal dikembalikan. Prosesor yang memulai membaca garis dan
mentransisikan garis di dalamnya cache dari tidak valid ke eksklusif.

Read hit, Ketika read hit terjadi pada baris yang saat ini ada di cache lokal, the
Prosesor hanya membaca item yang diperlukan. Tidak ada perubahan negara: Negara
tetap dimodifikasi, dibagikan, atau eksklusif.

Write Miss, Ketika write miss terjadi dalam cache lokal, prosesor memulai
memori baca untuk membaca garis memori utama yang berisi alamat yang hilang.
Untuk untuk tujuan ini, prosesor mengeluarkan sinyal pada bus yang berarti baca-
dengan-niat-untuk-memodifikasi (RWITM). Ketika garis dimuat, segera ditandai
dimodifikasi.
Sehubungan dengan cache lain, dua skenario yang mungkin mendahului pemuatan
baris data. Pertama, beberapa cache lain mungkin memiliki salinan baris ini yang
dimodifikasi (status = modifikasi). Dalam hal ini, prosesor yang disiagakan memberi
sinyal pada prosesor yang memulai bahwa prosesor lain memiliki salinan yang
dimodifikasi dari saluran tersebut. Prosesor yang memulai menyerahkan bus dan
menunggu.
15
Write hit, Ketika hit menulis terjadi pada baris saat ini di cache lokal, efeknya
tergantung pada kondisi saat itu dari baris itu di cache lokal:

■ Dibagi-pakai: Sebelum melakukan pembaruan, prosesor harus mendapatkan


kepemilikan eksklusif atas saluran tersebut. Prosesor menandakan niatnya di bus.
Setiap prosesor yang memiliki salinan baris bersama dalam cache-nya mentransisikan
sektor dari yang dibagikan menjadi tidak valid. Prosesor yang memulai kemudian
melakukan pembaruan dan mentransisikannya salinan garis dari dibagikan ke
dimodifikasi.
■ Eksklusif: Prosesor sudah memiliki kontrol eksklusif atas jalur ini, dan demikian
pula halnya cukup melakukan pembaruan dan mentransisikan salinan jalurnya dari
eksklusif untuk dimodifikasi.
■ Dimodifikasi: Prosesor sudah memiliki kontrol eksklusif pada baris ini dan
memiliki baris ditandai sebagai dimodifikasi, dan hanya melakukan pembaruan.

Konsistensi cache l1-l2, Sejauh ini kami telah menggambarkan protokol


koherensi cache dalam hal aktivitas kerjasama antara cache yang terhubung ke bus
yang sama atau fasilitas interkoneksi SMP lainnya. Biasanya, cache ini adalah cache
L2, dan masing-masing Prosesor juga memiliki cache L1 yang tidak terhubung
langsung ke bus dan itu karena itu tidak dapat terlibat dalam protokol snoopy. Jadi,
beberapa skema diperlukan untuk itu menjaga integritas data di kedua level cache dan
di semua cache di SMP konfigurasi. Strateginya adalah memperluas protokol MESI
(atau protokol koherensi cache apa pun) ke cache L1. Jadi, setiap baris dalam cache
L1 menyertakan bit untuk menunjukkan status.Intinya, tujuannya adalah sebagai
berikut: untuk setiap baris yang ada di kedua L2 cache dan cache L1 yang sesuai,
status garis L1 harus melacak status Garis L2. Cara sederhana untuk melakukan ini
adalah untuk mengadopsi kebijakan write-through di L1 cache; dalam hal ini write
through adalah untuk L2 cache dan bukan ke memori. Itu Kebijakan L1 write-through
memaksa setiap modifikasi ke jalur L1 ke cache L2 dan karenanya membuatnya
terlihat oleh cache L2 lainnya. Penggunaan L1 write-through kebijakan mensyaratkan
bahwa konten L1 harus merupakan bagian dari konten L2. Ini pada gilirannya

16
menunjukkan bahwa associativity dari cache L2 harus sama dengan atau lebih besar
dari itu dari asosiasi L1. Kebijakan menulis L1 digunakan dalam IBM S / 390 SMP.

Jika L1 cache memiliki kebijakan write-back, hubungan keduanya cache lebih


kompleks. Ada beberapa pendekatan untuk mempertahankan, suatu topik di luar
ruang lingkup kami.

4. MULTIPREADING DAN CHIP MULTIPROCESSORS

Ukuran kinerja yang paling penting untuk prosesor adalah tingkat kecepatan
prosesor mengeksekusi instruksi. Ini dapat dinyatakan sebagai
Tingkat MIPS = f * IPC
di mana f adalah frekuensi clock prosesor, dalam MHz, dan IPC (instruksi per siklus)
adalah jumlah rata-rata instruksi yang dieksekusi per siklus. Dengan demikian,
desainer telah mengejar tujuan peningkatan kinerja di dua bidang: meningkatkan
frekuensi clock dan meningkatkan jumlah instruksi yang dieksekusi atau, lebih
tepatnya, jumlah instruksi yang selesai selama siklus prosesor. Seperti yang telah kita
lihat dalam bab-bab sebelumnya, desainer telah meningkatkan IPC dengan
menggunakan pipa instruksi dan kemudian dengan menggunakan beberapa pipa
instruksi paralel dalam arsitektur superscalar. Dengan desain pipelined dan multiple-
pipeline, masalah utamanya adalah memaksimalkan penggunaan setiap tahap pipeline.
Untuk meningkatkan throughput, desainer harus menciptakan mekanisme yang lebih
kompleks, seperti mengeksekusi beberapa instruksi urutan yang berbeda dari cara
mereka muncul dalam aliran instruksi dan mulai pengeksekusi instruksi yang
mungkin tidak pernah diperlukan. Tetapi seperti yang telah dibahas dalam Bagian 2.2,
persetujuan ini.

1) Multithreading implisit dan Eksplisit

Konsep utas yang digunakan dalam membahas prosesor multithread mungkin atau
tidak sama dengan konsep utas perangkat lunak dalam operasi multiprogram sistem.
Ini akan berguna untuk mendefinisikan istilah secara singkat:
17
■ Proses: Contoh program yang berjalan di komputer. Suatu proses mewujudkan dua
karakteristik utama:
- Kepemilikan sumber daya: Suatu proses mencakup ruang alamat virtual untuk
menampung gambar proses; gambar proses adalah kumpulan program, data,
tumpukan, dan atribut yang menentukan proses. Dari waktu ke waktu, suatu proses
mungkin dialokasikan kontrol atau kepemilikan sumber daya, seperti memori utama, I
/ O saluran, perangkat I / O, dan file.
- Penjadwalan / eksekusi: Eksekusi suatu proses mengikuti jalur eksekusi (lacak)
melalui satu atau lebih program. Eksekusi ini dapat disisipkan dengan proses lainnya.
Dengan demikian, suatu proses memiliki status eksekusi (Running, Ready, dll.) Dan
prioritas pengiriman dan merupakan entitas yang diatur dan dikirim oleh sistem
operasi.
■ Sakelar proses: Suatu operasi yang mengalihkan prosesor dari satu proses ke proses
lain, dengan menyimpan semua data kontrol proses, register, dan informasi lainnya
untuk yang pertama dan menggantinya dengan informasi proses untuk yang kedua.
■ Utas: Unit kerja yang dapat dikirim dalam suatu proses. Ini termasuk prosesor
konteks (yang mencakup penghitung program dan penumpuk tumpukan) dan datanya
sendiri area untuk tumpukan (untuk mengaktifkan percabangan subrutin). Sebuah
thread dieksekusi secara berurutan dan interruptible sehingga prosesor dapat beralih
ke thread lain.
■ Switch thread: Tindakan mengalihkan kontrol prosesor dari satu thread ke thread
lain dalam proc yang sama.
2) Pendekatan untuk Multithreading Eksplisit

Minimal, prosesor multithreaded harus menyediakan penghitung program terpisah


untuk setiap utas eksekusi yang akan dieksekusi secara bersamaan. Desain berbeda
dalam jumlah dan jenis perangkat keras tambahan yang digunakan untuk mendukung
pengembangan thread bersamaan. Secara umum, pengambilan instruksi berlangsung
berdasarkan utas. Prosesor memperlakukan setiap utas secara terpisah dan dapat
menggunakan sejumlah teknik untuk mengoptimalkan eksekusi single-thread,
termasuk prediksi cabang, penggantian nama register, dan teknik supercalcal. Apa
18
yang dicapai adalah paralelisme tingkat-benang, yang mungkin menyediakan untuk
kinerja yang sangat meningkat ketika menikah dengan paralelisme tingkat instruksi.
Secara umum, ada empat pendekatan utama untuk multithreading:
■ Multithreading terjalin: Ini juga dikenal sebagai multithreading halus. Prosesor
berurusan dengan dua atau lebih konteks thread sekaligus, berganti dari satu utas ke
yang lain di setiap siklus clock. Jika utas diblokir karena dependensi data atau latensi
memori, utas yang dilewati dan siap utas dijalankan.

■ Pemblokiran multithreading: Ini juga dikenal sebagai multithreading kasar.


Instruksi sebuah thread dieksekusi berturut-turut sampai suatu peristiwa terjadi yang
dapat menyebabkan penundaan, seperti cache miss. Acara ini menyebabkan peralihan
ke utas lainnya. Pendekatan ini efektif pada prosesor berurutan yang mau hentikan
jalur pipa untuk acara penundaan seperti kehilangan cache.
■ Multithreading simultan (SMT): Instruksi dikeluarkan secara bersamaan dari
beberapa utas ke unit eksekusi prosesor superscalar. Ini menggabungkan kemampuan
masalah instruksi superscalar yang luas dengan penggunaan beberapa konteks utas.
■ Chip multiprocessing: Dalam hal ini, banyak core diimplementasikan pada satu
chip dan masing-masing inti menangani utas yang terpisah. Keuntungan dari
pendekatan ini adalah area logika yang tersedia pada sebuah chip digunakan secara
efektif tanpa tergantung pada kompleksitas yang semakin meningkat dalam desain
pipa. Ini disebut sebagai multi-inti.

Lebih banyak peluang untuk eksekusi paralel tersedia jika prosesor dapat
keluarkan beberapa instruksi per siklus. Gambar 17.7d hingga 17.7i menggambarkan
angka variasi di antara prosesor yang memiliki perangkat keras untuk mengeluarkan
empat instruksi per siklus. Dalam semua kasus ini, hanya instruksi dari satu utas yang
dikeluarkan dalam satu siklus. Alternatif berikut diilustrasikan:
■ Superscalar: Ini adalah pendekatan dasar superscalar tanpa multithreading. Sampai
relatif baru-baru ini, ini adalah pendekatan yang paling kuat untuk menyediakan
paralelisme di dalam prosesor. Perhatikan bahwa selama beberapa siklus, tidak semua
slot masalah yang tersedia digunakan. Selama siklus ini, kurang dari jumlah

19
maksimum instruksi dikeluarkan; ini disebut kerugian horizontal. Selama lainnya
siklus instruksi, tidak ada slot masalah yang digunakan; ini adalah siklus ketika tidak
ada instruksi dapat diterbitkan; ini disebut kerugian vertikal.
■ Superscalar multithreading terjalin: Selama setiap siklus, sebanyak mungkin
instruksi dikeluarkan dari satu utas. Dengan teknik ini, potensi penundaan karena
sakelar ulir dihilangkan, seperti yang telah dibahas sebelumnya. Namun demikian,
jumlah instruksi yang dikeluarkan dalam siklus tertentu masih dibatasi oleh
dependensi yang ada dalam utas apa pun yang diberikan.
■ Diblokir superscalar multithreaded: Sekali lagi, instruksi hanya dari satu utas dapat
dikeluarkan selama siklus apa pun, dan multithreading yang diblokir digunakan.
■ Kata instruksi yang sangat panjang (VLIW): Arsitektur VLIW, seperti IA-64,
tempat banyak instruksi dalam satu kata. Biasanya, VLIW dibangun oleh compiler,
yang menempatkan operasi yang dapat dieksekusi secara paralel dalam yang sama
kata. Dalam mesin VLIW sederhana (Gambar 17.7g), jika tidak mungkin untuk
mengisi kata dengan instruksi yang akan dikeluarkan bersamaan, no-ops digunakan.
■ Interleave multithreading VLIW: Pendekatan ini harus memberikan kesamaan
efisiensi untuk yang disediakan oleh multithreading interleaved pada superscalar
Arsitektur.
■ Blocked multithreaded VLIW: Pendekatan ini harus memberikan efisiensi yang
serupa dengan yang disediakan oleh multithreading yang diblokir pada arsitektur
superscalar.

B. MULTICORE COMPUTERS

1. ISU KINERJA PERANGKAT KERAS

Sistem mikroprosesor telah mengalami kondisi mapan peningkatan kinerja


eksekusi selama beberapa dekade. Peningkatan ini disebabkan oleh angka faktor,
termasuk peningkatan frekuensi clock, peningkatan kepadatan transistor, dan
perbaikan dalam organisasi prosesor pada chip.

1) Peningkatan Paralelisme dan Kompleksitas

20
Perubahan organisasi dalam desain prosesor terutama difokuskan mengeksploitasi
ILP, sehingga lebih banyak pekerjaan dilakukan di setiap siklus clock. Perubahan ini
termasuk, dalam urutan kronologis :

■ Pipelining: Instruksi individu dieksekusi melalui pipa tahapan sehingga sementara


satu instruksi dieksekusi dalam satu tahap pipa, yang lain instruksi sedang dieksekusi
di tahap lain dari pipeline.
■ Superscalar: Banyak pipa dibangun dengan mereplikasi eksekusi sumber daya. Ini
memungkinkan eksekusi paralel instruksi dalam pipa paralel, selama bahaya dihindari.

■ Multithreading simultan (SMT): Bank register diperluas sehingga beberapa utas


dapat berbagi penggunaan sumber daya pipa.

2) Konsumsi daya

Untuk mempertahankan tren kinerja yang lebih tinggi sebagai jumlah transistor
per chip meningkat, desainer telah menggunakan desain prosesor yang lebih rumit
(pipelining, supercalcal, SMT) dan frekuensi clock tinggi. Sayangnya, persyaratan
daya ada tumbuh secara eksponensial karena kerapatan chip dan frekuensi clock telah
meningkat.

Salah satu cara untuk mengontrol kepadatan daya adalah dengan menggunakan
lebih banyak area chip untuk cache ingatan. Transistor memori lebih kecil dan
memiliki kepadatan daya urutan besarnya lebih rendah dari logika (lihat Gambar
18.2). Sebagai kepadatan transistor chip meningkat, persentase area chip yang
dikhususkan untuk memori telah tumbuh, dan sekarang sering setengah dari area chip.
Meski begitu, masih ada banyak area chip dikhususkan untuk memproses logika.

2. ISU KINERJA PERANGKAT LUNAK

Pemeriksaan terperinci atas masalah kinerja perangkat lunak yang terkait dengan
multicore organisasi berada di luar jangkauan kami. Di bagian ini, pertama-tama kami
memberikan tinjauan umum tentang masalah-masalah ini, dan kemudian lihat contoh
aplikasi yang dirancang untuk mengeksploitasi kemampuan multicore.

21
1) Perangkat lunak di Multicore

Manfaat kinerja potensial dari organisasi multicore bergantung pada kemampuan


untuk secara efektif mengeksploitasi sumber daya paralel yang tersedia untuk aplikasi.
Biarkan kami pertama fokus pada satu aplikasi yang berjalan pada sistem multicore.

Undang-undang menganggap suatu program di mana sebagian kecil (1 - -f) dari


waktu eksekusi melibatkan kode yang secara inheren berurutan dan sebagian kecil f
yang melibatkan kode itu diparalelkan tanpa batas dengan tanpa penjadwalan
overhead.

Selain perangkat lunak server serba guna, sejumlah kelas aplikasi mendapat
manfaat langsung dari kemampuan untuk menskalakan throughput dengan jumlah
core.[MCDO06] mencantumkan contoh berikut:
■ Aplikasi asli multithreaded (paralelisme tingkat thread): Multithreaded aplikasi
ditandai dengan memiliki sejumlah kecil yang sangat berulir proses.
■ Aplikasi multiproses (paralelisme tingkat proses): Aplikasi multiproses ditandai
dengan adanya banyak proses single-threaded.
■ Aplikasi Java: Aplikasi Java menerapkan threading dengan cara yang mendasar.
Tidak hanya bahasa Jawa sangat memudahkan aplikasi multithreaded, tetapi Java
Virtual Machine adalah proses multithreaded yang menyediakan pengaturan dan
manajemen memori untuk aplikasi Java.
■ Aplikasi multi-instance (paralelisme tingkat aplikasi): Sekalipun aplikasi individual
tidak berskala untuk memanfaatkan sejumlah besar utas, masih dimungkinkan untuk
mendapatkan dari arsitektur multicore dengan menjalankan banyak contoh aplikasi
secara paralel. Jika beberapa contoh aplikasi memerlukan beberapa tingkat isolasi,
teknologi virtualisasi (untuk perangkat keras dari sistem operasi) dapat digunakan
untuk menyediakan masing-masing dengan mereka sendiri domain terpisah dan aman.

2) Contoh Aplikasi: Perangkat Lunak Game Katup

Valve adalah perusahaan hiburan dan teknologi yang telah mengembangkan


nomor gim populer serta mesin Sumber, salah satu gim yang paling banyak

22
dimainkan mesin tersedia. Source adalah mesin animasi yang digunakan oleh Valve
untuk gim-gimnya dan dilisensikan ke pengembang game lain.

Valve telah memprogram ulang perangkat lunak Source engine untuk


menggunakan multithreading mengeksploitasi skalabilitas chip prosesor multicore
dari Intel dan AMD [REIM06]. Kode engine Sumber yang direvisi memberikan
dukungan yang lebih kuat untuk gim Valve seperti Half Life 2.

Dari perspektif Valve, opsi granularity threading didefinisikan sebagai berikut


[HARR06]:
■ threading berbutir kasar: Modul individu, yang disebut sistem, ditugaskan untuk
prosesor individu. Dalam kasus mesin Sumber, ini berarti menempatkan rendering
pada satu prosesor, AI (kecerdasan buatan) pada yang lain, fisika pada yang lain, dan
seterusnya. Ini mudah. Intinya, setiap modul utama adalah tunggal berulir dan
koordinasi utama melibatkan sinkronisasi semua utas dengan utas waktu.
■ threading berbutir halus: Banyak tugas serupa atau identik tersebar di seluruh
beberapa prosesor. Misalnya, loop yang berulang di atas array data dapat dibagi
menjadi beberapa loop paralel yang lebih kecil di masing-masing utas yang dapat
dijadwalkan secara paralel.
■ Hibrid threading: Ini melibatkan penggunaan selektif fine threading untuk beberapa
sistem dan threading tunggal untuk sistem lain.

3. ORGANISASI MULTICORE

Pada tingkat atas deskripsi, variabel utama dalam organisasi multicore adalah
sebagai berikut:
■ Jumlah prosesor inti pada chip
■ Jumlah level memori cache
■ Bagaimana memori cache dibagi di antara inti
■ Apakah multithreading simultan (SMT) digunakan
■ Jenis-jenis inti

23
Kami mengeksplorasi semua kecuali yang terakhir dari pertimbangan ini di
bagian ini, menunda pembahasan jenis core ke bagian selanjutnya.

1) Tingkat Cache

Di organisasi ini, satu-satunya cache di-chip adalah L1 cache, dengan masing-


masing inti memiliki cache L1 khusus. Hampir selalu, cache L1 adalah dibagi
menjadi cache instruksi dan data untuk alasan kinerja, sementara L2 dan cache
tingkat lebih tinggi disatukan. Contoh dari organisasi ini adalah ARM11 MPCore.

Dalam hal ini, ada cukup area yang tersedia pada chip untuk memungkinkan
cache L2. Contoh dari organisasi ini adalah AMD Opteron. Gambar 18.6c
menunjukkan yang serupa alokasi ruang chip ke memori, tetapi dengan penggunaan
cache L2 bersama. Intel Core Duo memiliki organisasi ini. Akhirnya, seperti jumlah
memori cache yang tersedia pada chip terus tumbuh, pertimbangan kinerja mendikte
pemisahan Pisahkan cache L3 yang dibagi, dengan cache L1 dan L2 khusus untuk
masing-masing prosesor inti. Intel Core i7 adalah contoh dari organisasi ini.

Penggunaan cache level yang lebih tinggi bersama pada chip memiliki beberapa
kelebihanMketergantungan eksklusif pada cache khusus:
1. Gangguan konstruktif dapat mengurangi tingkat kesalahan keseluruhan. Artinya,
jika utas aktif satu inti mengakses lokasi memori utama, ini membawa garis berisi
lokasi yang dirujuk ke dalam cache bersama. Jika utas pada inti lain segera setelah itu
mengakses blok memori yang sama, lokasi memori akan sudah tersedia dalam cache
on-chip yang dibagikan.
2. Keuntungan terkait adalah bahwa data yang dibagikan oleh banyak core tidak
direplikasi di tingkat cache bersama.

3. Dengan algoritma penggantian garis yang tepat, jumlah cache bersama yang
dialokasikan untuk setiap inti bersifat dinamis, sehingga utas yang memiliki lokalitas
lebih sedikit (lebih besar set kerja) dapat menggunakan lebih banyak cache.
4. Komunikasi antar-inti mudah diimplementasikan, melalui lokasi memori bersama.
5. Penggunaan cache tingkat lebih tinggi bersama membatasi masalah koherensi

24
cache ke tingkat cache yang lebih rendah, yang dapat memberikan beberapa kinerja
tambahan keuntungan.

2) Multithreading simultan

Keputusan desain organisasi lain dalam sistem multicore adalah apakah core
individual akan mengimplementasikan multithreading simultan (SMT). Misalnya,
Intel Core Duo menggunakan core superscalar murni, sedangkan Intel Core i7
menggunakan SMT core. SMT memiliki efek meningkatkan jumlah utas tingkat
perangkat keras itu sistem multicore mendukung. Dengan demikian, sistem multicore
dengan empat core dan SMT yang mendukung empat utas simultan di setiap inti
nampak sama dengan tingkat penerapan sebagai sistem multicore dengan 16 inti.
Seiring berkembangnya perangkat lunak menjadi lebih banyak sepenuhnya
memanfaatkan sumber daya paralel, pendekatan SMT tampaknya lebih menarik
daripada pendekatan superscalar murni.

4. ORGANISASI MULTICORE YANG LEBIH BAIK

Upaya untuk mengoptimalkan penggunaan real estat silikon pada chip prosesor
tidak pernah akhir. Ketika kecepatan jam dan kepadatan logika meningkat, desainer
harus menyeimbangkan banyak hal elemen desain dalam upaya untuk
memaksimalkan kinerja dan meminimalkan konsumsi daya. Kami sejauh ini telah
memeriksa sejumlah pendekatan seperti itu, termasuk berikut:
1. Tingkatkan persentase chip yang ditujukan untuk memori cache.
2. Tingkatkan jumlah level memori cache.
3. Ubah panjang (kenaikan atau penurunan) dan komponen fungsional dari pipa
instruksi.
4. Gunakan multithreading secara simultan.
5. Gunakan beberapa core.

Kasus khas untuk penggunaan beberapa core adalah chip dengan banyak identic
core, yang dikenal sebagai organisasi multicore yang homogen. Untuk mencapai hasil
yang lebih baik, di dalam hal kinerja dan / atau konsumsi daya, desain yang semakin

25
popular pilihannya adalah organisasi multicore heterogen, yang mengacu pada chip
prosesor itu mencakup lebih dari satu jenis inti. Pada bagian ini, kita melihat dua
pendekatan untuk organisasi multicore heterogen.

1) Arsitektur Set Instruksi Berbeda

Pendekatan yang paling banyak mendapat perhatian industri adalah penggunaan


core itu memiliki ISA yang berbeda. Biasanya, ini melibatkan pencampuran inti
konvensional, sebagaimana dimaksud dalam konteks ini sebagai CPU, dengan core
khusus yang dioptimalkan untuk tipe data tertentu atau aplikasi. Paling sering, core
tambahan dioptimalkan untuk menangani vektor dan pengolahan data matriks.

CPU / GPU multicore, Tren paling menonjol dalam hal heterogen desain
multicore adalah penggunaan CPU dan unit pemrosesan grafis (GPU) pada chip yang
sama. GPU dibahas secara rinci dalam bab berikut. Secara singkat, GPU ditandai oleh
kemampuan untuk mendukung ribuan eksekusi parallel utas. Dengan demikian, GPU
cocok dengan aplikasi yang memproses jumlah besar.

CPU / DSP multicore, Contoh umum lain dari multicore yang heterogen Chip
adalah campuran CPU dan prosesor sinyal digital (DSP). A DSP menyediakan urutan
instruksi ultra-cepat (bergeser dan tambahkan; gandakan dan tambahkan), yang biasa
digunakan dalam aplikasi pemrosesan sinyal digital intensif matematika. DSP adalah
digunakan untuk memproses data analog dari sumber seperti suara, satelit cuaca, dan
monitor gempa. Sinyal dikonversi menjadi data digital dan dianalisis menggunakan
berbagai algoritma seperti Fast Fourier Transform. Core DSP banyak digunakan di
berbagai perangkat, termasuk ponsel, kartu suara, mesin faks, modem, hard disk, dan
TV digital.

Multicore heterogen ini Prosesor memberikan solusi pemrosesan hemat daya


untuk aplikasi pencitraan kelas atas. TI mencantumkan kinerja yang menghasilkan
hingga 352 GMACS, 198 GFLOPS, dan 19.600 MIPS. GMACS adalah singkatan
dari operasi giga (milyaran) akumulasi-ganda per detik, ukuran umum kinerja DSP.

26
Targetkan aplikasi untuk sistem ini meliputi otomasi industri, pengawasan video,
inspeksi kelas atas sistem, printer industri / pemindai, dan deteksi mata uang / palsu.

2) Set Arsitektur Set Instruksi Setara

Pendekatan lain baru-baru ini untuk organisasi multicore heterogen adalah


penggunaan beberapa core yang memiliki ISA yang setara tetapi bervariasi dalam
kinerja atau efisiensi daya. Contoh utama dari ini adalah arsitektur ARM yang besar.
Sedikit, yang kami periksa di bagian ini. Chip prosesor multicore yang mengandung
dua core Cortex-A15 berkinerja tinggi dan dua core Cortex-A7 yang berkinerja lebih
rendah. Inti A7 lebih sedikit menangani tugas intensif komputasi, seperti pemrosesan
latar belakang, memutar musik, mengirim teks, dan membuat panggilan telepon. Inti
A15 dipanggil untuk tugas intensitas tinggi, seperti untuk video, game, dan navigasi.

5. INTEL CORE i7-990X

Intel telah memperkenalkan sejumlah produk multicore dalam beberapa tahun


terakhir. Di bagian ini, kita melihat Intel Core i7-990X.

Struktur umum Intel Core i7-990X . Setiap core memiliki cache L2 khusus dan
enam core berbagi cache L3 12-MB. Satu mekanisme yang digunakan Intel untuk
membuat cache lebih efektif adalah pengambilan awal, di mana perangkat keras
memeriksa pola akses memori dan upaya untuk mengisi cache secara spekulatif
dengan data yang kemungkinan akan segera diminta. Chip Core i7-990X mendukung
dua bentuk komunikasi eksternal keripik lainnya. Pengontrol memori DDR3
membawa pengontrol memori untuk Memori utama DDR1 ke dalam chip.
Antarmuka mendukung tiga saluran Lebar 8 byte untuk total lebar bus 192 bit, untuk
laju data agregat hingga 32 GB / s. Dengan pengontrol memori pada chip, Front Side
Bus dihilangkan.

QuickPath Interconnect (QPI) adalah spesifikasi interkoneksi listrik berbasis


cache yang koheren, point-to-point untuk prosesor dan chipset Intel. Ini

27
memungkinkan komunikasi kecepatan tinggi di antara chip prosesor yang terhubung.
Tautan QPI beroperasi pada 6,4 GT / s (transfer per detik). Pada 16 bit per transfer,
itu menambahkan hingga 12,8 GB / s, dan karena tautan QPI melibatkan pasangan
dua arah khusus, total bandwidth adalah 25,6 GB / s. Bagian 3.5 mencakup QPI
secara terperinci.

6. ARM CORTEX-A15 MPCORE

Kami telah melihat dua contoh prosesor multicore heterogen menggunakan ARM
core, di Bagian 18.4: arsitektur big.Little, yang menggunakan kombinasi dari Core
ARM Cortex-A7 dan Cortex-A15; dan arsitektur Texas Instruments DSP SoC, yang
menggabungkan core Cortex-A15 dengan core TI DSP. Di bagian ini, kita
memperkenalkan chip multicore Cortex-A15 MPCore, yang merupakan prosesor
multicore homogen menggunakan beberapa inti A15. A15 MPCore adalah kinerja
tinggi chip yang ditargetkan pada aplikasi termasuk komputasi mobile, rumah digital
kelas atas server, dan infrastruktur nirkabel.
Kunci elemen-elemen sistem adalah sebagai berikut:
■ Generic interrupt controller (GIC): Menangani deteksi interupsi dan interupsi
prioritas. GIC mendistribusikan interupsi ke masing-masing core.
■ Unit debug dan antarmuka: Unit debug memungkinkan host debug eksternal untuk:
berhenti pelaksanaan program; memeriksa dan mengubah proses dan kondisi
coprocessor; memeriksa dan mengubah memori dan keadaan periferal input / output;
dan restart prosesor.
■ Timer umum: Setiap core memiliki timer pribadi sendiri yang dapat menghasilkan
interupsi.
■ Jejak: Mendukung pemantauan kinerja dan alat pelacak program.
■ Inti: Satu inti ARM Cortex-15.
■ L1 cache: Setiap core memiliki cache data L1 dan instruksi L1 khusus cache.
■ L2 cache: Layanan sistem memori L2 bersama instruksi dan data L1 cache hilang
dari setiap inti.

28
■ Snoop control unit (SCU): Bertanggung jawab untuk memelihara cache L1 / L2
koherensi.

1) Penanganan Interrupt

GIC mengumpulkan interupsi dari sejumlah besar sumber. Itu menyediakan:

■ Masking interupsi
■ Prioritas gangguan
■ Distribusi interupsi ke inti A15 target
■ Melacak status interupsi
■ Menghasilkan interupsi oleh perangkat lunak.

GIC dapat merutekan interupsi ke satu atau lebih CPU dalam tiga berikut cara:
■ Interupsi hanya dapat diarahkan ke prosesor tertentu.
■ Interupsi dapat diarahkan ke kelompok prosesor yang ditentukan. MPCore melihat
prosesor pertama yang menerima interupsi, biasanya yang paling sedikit dimuat,
sebagai diposisikan terbaik untuk menangani interupsi.
■ Interupsi dapat diarahkan ke semua prosesor.

Dari sudut pandang perangkat lunak yang berjalan pada CPU tertentu, OS dapat
menghasilkan interupsi untuk semua kecuali diri, untuk diri sendiri, atau untuk CPU
lain yang spesifik. Untuk komunikasi antara utas yang berjalan pada CPU yang
berbeda, mekanisme interupsi adalah biasanya dikombinasikan dengan memori
bersama untuk mengirim pesan. Jadi, ketika sebuah utas sedang diinterupsi oleh
interupsi komunikasi antarprosesor, ia membaca dari blok yang sesuai dari memori
bersama untuk mengambil pesan dari utas yang dipicu interupsi. Total 16 interrupt ID
per CPU tersedia untuk interprocessor komunikasi.

Dari sudut pandang inti A15, interupsi dapat berupa:


■ Tidak Aktif: Interupsi tidak aktif adalah yang tidak dikonfirmasi, atau yang dalam
lingkungan multi-pemrosesan telah sepenuhnya diproses oleh CPU tersebut tetapi
dapat masih tertunda atau Aktif di beberapa CPU yang ditargetkan, dan mungkin
tidak dibersihkan di sumber interupsi.
29
■ Tertunda: Interupsi tertunda adalah salah satu yang telah ditegaskan, dan untuk itu
pemrosesan belum dimulai pada CPU itu.
■ Aktif: Interupsi aktif adalah yang telah dimulai pada CPU itu, tetapi pemrosesan
tidak selesai. Interupsi aktif dapat dilakukan lebih dulu ketika baru interupsi dari
interupsi prioritas yang lebih tinggi.

Interupsi datang dari sumber-sumber berikut:


■ Interprocessor interrupts (IPIs): Setiap CPU memiliki interupsi pribadi, ID0-ID15,
yang hanya dapat dipicu oleh perangkat lunak. Prioritas IPI tergantung pada
menerima CPU, bukan CPU pengirim.
■ Timer pribadi dan / atau pengawas interupsi: Ini menggunakan ID interupsi 29 dan
30.
■ Lini FIQ warisan: Dalam mode IRQ lama, pin FIQ lawas, berdasarkan CPU,
memintas logika Interrupt Distributor dan secara langsung menggerakkan permintaan
interupsi ke dalam CPU.
■ Gangguan perangkat keras: Gangguan perangkat keras dipicu oleh programmable
peristiwa pada jalur input interupsi terkait. CPU dapat mendukung hingga 224 jalur
input interupsi. Gangguan perangkat keras dimulai pada ID32.

30
BAB III
PENUTUP
A. KESIMPULAN

Sampai saat ini, hampir semua komputer pribadi pengguna tunggal dan sebagian
besar workstation berisi mikroprosesor tujuan umum tunggal. Seiring meningkatnya
permintaan akan kinerja dan seiring dengan menurunnya biaya mikroprosesor, para
vendor juga memperkenalkan sistem dengan organisasi SMP. Istilah SMP mengacu pada
komputer arsitektur perangkat keras dan juga perilaku sistem operasi yang mencerminkan
itu Arsitektur. Ada dua atau lebih prosesor. Setiap prosesor mandiri, termasuk unit
kontrol, ALU, register, dan, biasanya, satu atau lebih level cache. Setiap prosesor
memiliki akses ke memori utama bersama dan perangkat I / O melalui beberapa bentuk
mekanisme interkoneksi. Prosesor dapat berkomunikasi satu sama lain melalui memori
(pesan dan informasi status tertinggal di area data umum). Mungkin juga begitu mungkin
bagi prosesor untuk bertukar sinyal secara langsung. Memori sering terorganisir
Organisasi yang paling umum untuk komputer pribadi, workstation, dan server adalah
bus yang dibagikan waktu.
Sistem mikroprosesor telah mengalami kondisi mapan peningkatan kinerja eksekusi
selama beberapa dekade. Peningkatan ini disebabkan oleh angka faktor, termasuk
peningkatan frekuensi clock, peningkatan kepadatan transistor, dan perbaikan dalam
organisasi prosesor pada chip. Kasus khas untuk penggunaan beberapa core adalah chip
dengan banyak identic core, yang dikenal sebagai organisasi multicore yang homogen.
Untuk mencapai hasil yang lebih baik, di dalam hal kinerja dan / atau konsumsi daya,
desain yang semakin popular pilihannya adalah organisasi multicore heterogen, yang
mengacu pada chip prosesor itu mencakup lebih dari satu jenis inti. Pada bagian ini, kita
melihat dua pendekatan untuk organisasi multicore heterogen.

31
DAFTAR PUSTAKA

WilliamStallings-ComputerOrganizationandArchitectureDesigningforPerformance10th
Edition-Pearson(2016)

32

Anda mungkin juga menyukai