Anda di halaman 1dari 11

3.

1 Komponen Komputer
Hampir semua desain komputer kontemporer didasarkan pada konsep yang dikembangkan oleh
John von Neumann di Institute for Advanced Studies, Princeton. Desain seperti itu disebut
sebagai arsitektur von Neumann dan didasarkan pada tiga konsep utama:
■ Data dan instruksi disimpan dalam satu memori baca-tulis.
■ Isi memori ini dapat diatasi berdasarkan lokasi, tanpa memperhatikan jenis data yang
terkandung di sana.
■ Eksekusi terjadi secara berurutan dari satu instruksi ke instruksi berikutnya.
Ada sekumpulan kecil komponen logika dasar yang dapat digabungkan dalam berbagai cara
untuk menyimpan data biner dan melakukan operasi aritmatika dan logis pada data itu. Jika ada
perhitungan tertentu yang akan dilakukan, konfigurasi komponen logika yang dirancang khusus
untuk komputasi tersebut dapat dibangun. Seluruh program sebenarnya adalah urutan langkah.
Pada setiap langkah, beberapa operasi aritmatika atau logis dilakukan pada beberapa data. Untuk
setiap langkah, serangkaian sinyal kontrol baru diperlukan. Mari kita memberikan kode unik
untuk setiap set sinyal kontrol yang mungkin, dan mari kita tambahkan ke perangkat keras tujuan
umum segmen yang dapat menerima kode dan menghasilkan sinyal kontrol . Pemrograman
sekarang jauh lebih mudah. Alih-alih memutar ulang perangkat keras untuk setiap program baru,
yang perlu kita lakukan adalah menyediakan urutan kode baru. Setiap kode, berlaku, instruksi,
dan bagian dari perangkat keras menafsirkan setiap instruksi dan menghasilkan sinyal kontrol.
Diperlukan satu komponen lagi. Perangkat input akan membawa instruksi dan data secara
berurutan. Tetapi sebuah program tidak selalu dijalankan secara berurutan; mungkin melompat-
lompat . Demikian pula, operasi pada data mungkin memerlukan akses ke lebih dari satu elemen
pada satu waktu dalam urutan yang telah ditentukan. Dengan demikian, harus ada tempat untuk
menyimpan sementara instruksi dan data. Modul itu disebut memori, atau memori utama, untuk
membedakannya dari penyimpanan eksternal atau perangkat periferal. Von Neumann
menunjukkan bahwa memori yang sama dapat digunakan untuk menyimpan instruksi dan data.

3.2 Fungsi Komputer


Pengambilan dan Eksekusi Instruksi
Fungsi dasar yang dilakukan oleh komputer adalah eksekusi program, yang terdiri dari
serangkaian instruksi yang disimpan dalam memori. Dalam bentuk yang paling sederhana,
pemrosesan instruksi terdiri dari dua langkah: Prosesor membaca instruksi dari memori satu per
satu dan menjalankan setiap instruksi. Pemrosesan yang diperlukan untuk satu instruksi disebut
siklus instruksi. Menggunakan deskripsi dua langkah yang disederhanakan yang diberikan
sebelumnya.
Pada awal setiap siklus instruksi, prosesor mengambil instruksi dari memori. Dalam prosesor
biasa, register yang disebut penghitung program memegang alamat instruksi yang akan diambil
berikutnya. Kecuali diberitahu sebaliknya, prosesor selalu menambah PC setelah setiap
pengambilan instruksi sehingga akan mengambil instruksi berikutnya secara berurutan . Jadi,
misalnya, pertimbangkan komputer di mana setiap instruksi menempati satu kata memori 16-bit.
Prosesor selanjutnya akan mengambil instruksi di lokasi 300. Pada siklus instruksi yang berhasil,
ia akan mengambil instruksi dari lokasi 301, 302, 303, dan sebagainya. Instruksi yang diambil
dimuat ke dalam register dalam prosesor yang dikenal sebagai register instruksi . Instruksi berisi
bit yang menentukan tindakan yang harus diambil prosesor.
Prosesor menafsirkan instruksi dan melakukan tindakan yang diperlukan. Secara umum, tindakan
ini termasuk dalam empat kategori:
■ Memori prosesor: Data dapat ditransfer dari prosesor ke memori atau dari memori ke prosesor.
■ Prosesor-I/O: Data dapat ditransfer ke atau dari perangkat periferal dengan mentransfer antara
prosesor dan modul I/O.
■ Pemrosesan data: Prosesor dapat melakukan beberapa operasi aritmetika atau logika pada data.
■ Kontrol: Instruksi dapat menentukan bahwa urutan eksekusi diubah. Misalnya, prosesor dapat
mengambil instruksi dari lokasi 149, yang menentukan bahwa instruksi berikutnya berasal dari
lokasi 182. Dengan demikian, pada siklus pengambilan berikutnya, instruksi akan diambil dari
lokasi 182 daripada 150. Eksekusi instruksi dapat melibatkan kombinasi tindakan ini.
Baik instruksi dan data sepanjang 16 bit. Format instruksi menyediakan 4 bit untuk opcode,
sehingga dapat ada sebanyak 24 = 16 opcode yang berbeda, dan hingga 212 = 4096 kata-kata
memori dapat langsung ditangani.

Tiga instruksi, yang dapat digambarkan sebagai tiga pengambilan dan tiga siklus eksekusi,
diperlukan:
1. PC berisi 300, alamat instruksi pertama. Instruksi ini (nilai 1940 dalam heksadesimal) dimuat
ke dalam register instruksi IR, dan PC bertahap. Perhatikan bahwa proses ini melibatkan
penggunaan register alamat memori dan register penyangga memori. Untuk kesederhanaan,
register menengah ini diabaikan.
2. 4 bit pertama (digit heksadesimal pertama) di IR menunjukkan bahwa AC akan dimuat.
Sisanya 12 bit (tiga digit heksadesimal) menentukan alamat (940) dari mana data akan dimuat.
3. Instruksi berikutnya (5941) diambil dari lokasi 301, dan PC bertahap.
4. Isi lama AC dan isi lokasi 941 ditambahkan, dan hasilnya disimpan di AC.
5. Instruksi berikutnya (2941) diambil dari lokasi 302, dan PC bertahap.
6. Isi AC disimpan di lokasi 941.
Dalam contoh ini, tiga siklus instruksi, masing-masing terdiri dari siklus pengambilan dan siklus
eksekusi, diperlukan untuk menambahkan konten lokasi 940 ke konten 941. Dengan set instruksi
yang lebih kompleks, lebih sedikit siklus yang diperlukan. Beberapa prosesor lama, misalnya,
menyertakan instruksi yang berisi lebih dari satu alamat memori. Dengan demikian, siklus
eksekusi untuk instruksi tertentu pada prosesor tersebut dapat melibatkan lebih dari satu referensi
ke memori. Selain itu, sebagai ganti referensi memori, instruksi dapat menentukan operasi I / O.
Sebagai contoh, prosesor PDP-11 menyertakan instruksi, yang dinyatakan secara simbolis
sebagai ADD B, A, yang menyimpan jumlah isi dari lokasi memori B dan A ke dalam lokasi
memori A.
Sebuah siklus instruksi tunggal dengan langkah-langkah berikut terjadi:
■ Fetch instruksi ADD.
■ Bacalah isi dari lokasi memori A ke dalam prosesor.
■ Bacalah isi dari lokasi memori B ke dalam prosesor. Agar konten A tidak hilang, prosesor
harus memiliki setidaknya dua register untuk menyimpan nilai memori, bukan satu akumulator.
■ Tambahkan kedua nilai tersebut.
■ Tuliskan hasil dari prosesor ke lokasi memori A.
Dengan demikian, siklus eksekusi untuk instruksi tertentu mungkin melibatkan lebih dari satu
referensi ke memori. Selain itu, sebagai ganti referensi memori, instruksi dapat menentukan
operasi I / O. Untuk setiap siklus instruksi tertentu, beberapa negara bagian mungkin nol dan
yang lainnya dapat dikunjungi lebih dari sekali.
Statusnya dapat dijelaskan sebagai berikut :
■ Perhitungan alamat instruksi: Tentukan alamat instruksi berikutnya yang akan dijalankan.
Biasanya, ini melibatkan penambahan nomor tetap ke alamat instruksi sebelumnya. Misalnya,
jika setiap instruksi memiliki panjang 16 bit dan memori diatur menjadi kata-kata 16-bit, maka
tambahkan 1 ke alamat sebelumnya. Sebaliknya, jika memori diatur sebagai byte 8-bit yang
dapat dialamatkan satu per satu, lalu tambahkan 2 ke alamat sebelumnya.
■ Pengambilan instruksi: Membaca instruksi dari lokasi memorinya ke dalam prosesor.
■ Dekode operasi instruksi: Analisis instruksi untuk menentukan jenis operasi yang akan
dilakukan dan operan yang akan digunakan.
■ Perhitungan alamat operan: Jika operasi melibatkan referensi ke operand dalam memori atau
tersedia melalui I / O, tentukan alamat operan tersebut.
■ Operand fetch: Mengambil operand dari memori atau membacanya dari I / O.
■ Operasi data: Lakukan operasi yang ditunjukkan dalam instruksi.
■ Operand store: Tulis hasil ke dalam memori atau ke I / O.
Keadaan oac muncul dua kali, karena instruksi mungkin melibatkan membaca, menulis, atau
keduanya. Akhirnya, pada beberapa mesin, satu instruksi dapat menentukan operasi yang akan
dilakukan pada vektor angka atau rangkaian karakter.
Interupsi
Hampir semua komputer menyediakan mekanisme di mana modul lain dapat mengganggu
pemrosesan normal prosesorSifat khusus dari interupsi-interupsi ini akan dibahas kemudian
dalam buku ini. Namun, kami perlu memperkenalkan konsep tersebut sekarang untuk memahami
lebih jelas sifat siklus instruksi dan implikasi interupsi pada struktur interkoneksi. Setelah setiap
operasi tulis, prosesor harus berhenti sebentar dan tetap diam hingga printer menyusul. Panjang
jeda ini mungkin di urutan ratusan atau bahkan ribuan siklus instruksi yang tidak melibatkan
memori. Yang jelas, ini sangat boros penggunaan prosesor. Program pengguna melakukan
serangkaian panggilan TULIS yang diselingi dengan pemrosesan. 
■ Urutan instruksi, berlabel 4 pada gambar, untuk mempersiapkan operasi I / O yang
sebenarnya. Ini mungkin termasuk menyalin data yang akan dikeluarkan ke buffer khusus dan
menyiapkan parameter untuk perintah perangkat.
■ Perintah I / O yang sebenarnya. Tanpa menggunakan interupsi, setelah perintah ini
dikeluarkan, program harus menunggu perangkat I / O menjalankan fungsi yang
diminta. Program mungkin menunggu hanya dengan melakukan operasi uji berulang kali untuk
menentukan apakah operasi I / O sudah selesai.
■ Urutan instruksi, berlabel 5 pada gambar, untuk menyelesaikan operasi.
Interupsi dan Siklus Instruksi
Program I / O yang dipanggil dalam kasus ini hanya terdiri dari kode persiapan dan perintah I / O
yang sebenarnya. Setelah beberapa instruksi ini dijalankan, kontrol kembali ke program
pengguna. Sementara itu, perangkat eksternal sibuk menerima data dari memori komputer dan
mencetaknya. Operasi I / O ini dilakukan secara bersamaan dengan eksekusi instruksi dalam
program pengguna. Kami memiliki program pengguna yang berisi dua perintah TULIS.
Demikian pula, program I / O terdiri dari segmen kode, diikuti oleh perintah I / O, diikuti oleh
segmen kode lainnya. Perintah I / O menjalankan operasi I / O perangkat keras. Saat pemrosesan
interupsi selesai, eksekusi dilanjutkan. Untuk mengakomodasi interupsi, siklus interupsi
ditambahkan ke siklus instruksi, seperti yang ditunjukkan pada Gambar 3.9. Dalam siklus
interupsi, prosesor memeriksa untuk melihat apakah telah terjadi interupsi, yang ditunjukkan
dengan adanya sinyal interupsi. Jika tidak ada interupsi yang tertunda, prosesor melanjutkan ke
siklus pengambilan dan mengambil instruksi berikutnya dari program saat ini.
■ Ini menangguhkan eksekusi dari program saat ini yang sedang dieksekusi dan menyimpan
konteksnya. Ini berarti menyimpan alamat instruksi berikutnya yang akan dieksekusi dan data
lain yang relevan dengan aktivitas prosesor saat ini.
■ Ini mengatur penghitung program ke alamat awal dari rutin penanganan interupsi.
Prosesor sekarang melanjutkan ke siklus pengambilan dan mengambil instruksi pertama dalam
program penangan interupsi, yang akan melayani interupsi. Program penangan interupsi
umumnya merupakan bagian dari sistem operasi. Biasanya, program ini menentukan sifat
interupsi dan melakukan tindakan apa pun yang diperlukan. Dalam contoh yang telah kita
gunakan, handler menentukan modul I / O mana yang menghasilkan interupsi dan dapat
bercabang ke program yang akan menulis lebih banyak data ke modul I / O tersebut. Saat rutin
penanganan interupsi selesai, prosesor dapat melanjutkan eksekusi program pengguna pada titik
gangguan. Instruksi tambahan harus dijalankan untuk menentukan sifat interupsi dan untuk
memutuskan tindakan yang sesuai. Namun demikian, karena jumlah waktu yang relatif besar
yang akan terbuang hanya dengan menunggu operasi I / O, prosesor dapat digunakan jauh lebih
efisien dengan penggunaan interupsi. Dalam gambar ini, segmen kode program pengguna diarsir
hijau, dan segmen kode program I / O diarsir abu-abu.
Setelah interupsi diperbaiki, eksekusi dilanjutkan dengan sisa segmen kode 2. Kasus yang lebih
umum, terutama untuk perangkat yang lambat seperti printer, adalah bahwa operasi I / O akan
memakan waktu lebih lama daripada menjalankan urutan instruksi pengguna. Dalam kasus ini,
program pengguna mencapai panggilan TULIS kedua sebelum operasi I / O yang dilakukan oleh
panggilan pertama selesai. Hasilnya adalah program pengguna ditutup pada saat itu.

Ketika operasi I / O sebelumnya selesai, panggilan TULIS baru ini dapat diproses, dan operasi I /
O baru dapat dimulai. Kita dapat melihat bahwa masih ada keuntungan dalam efisiensi karena
bagian waktu selama operasi I / O berlangsung tumpang tindih dengan pelaksanaan instruksi
pengguna.
Beberapa Interupsi
Printer akan menghasilkan interupsi setiap kali menyelesaikan operasi pencetakan. Unit dapat
berupa karakter tunggal atau blok, tergantung pada sifat disiplin komunikasi. Bagaimanapun,
adalah mungkin untuk interupsi komunikasi terjadi saat interupsi printer sedang
diproses. Interupsi yang dinonaktifkan berarti bahwa prosesor dapat dan akan mengabaikan
sinyal permintaan interupsi tersebut.
Jika interupsi terjadi selama waktu ini, biasanya interupsi tetap tertunda dan akan diperiksa oleh
prosesor setelah prosesor mengaktifkan interupsi. Saat rutinitas ini masih berjalan, pada t = 15,
terjadi interupsi komunikasi. Karena jalur komunikasi memiliki prioritas lebih tinggi daripada
printer, interupsi dijaga. ISR printer terputus, statusnya didorong ke tumpukan, dan eksekusi
berlanjut pada ISR komunikasi.
Saat rutinitas ini dijalankan, terjadi interupsi disk. Karena interupsi ini memiliki prioritas yang
lebih rendah, interupsi tersebut ditahan begitu saja, dan ISR komunikasi berjalan hingga
selesai. Ketika ISR komunikasi selesai, status prosesor sebelumnya dipulihkan, yang merupakan
eksekusi ISR printer. Namun, bahkan sebelum instruksi tunggal dalam rutinitas itu dapat
dijalankan, prosesor menghormati interupsi disk dengan prioritas lebih tinggi dan transfer kontrol
ke ISR disk.
Hanya setelah rutinitas itu selesai ISR printer dilanjutkan. Ketika rutinitas itu selesai, kontrol
akhirnya kembali ke program pengguna.
I/O Fungsi
I / O Modul I / O dapat bertukar data secara langsung dengan prosesor. Sama seperti prosesor
dapat memulai membaca atau menulis dengan memori, menunjuk alamat lokasi tertentu,
prosesor juga dapat membaca data dari atau menulis data ke modul I / O. Dalam kasus terakhir
ini, prosesor mengidentifikasi perangkat tertentu yang dikontrol oleh modul I / O tertentu. Dalam
kasus seperti itu, prosesor memberikan wewenang kepada modul I / O untuk membaca dari atau
menulis ke memori, sehingga transfer memori I / O dapat terjadi tanpa mengikat prosesor.
Selama transfer tersebut, modul I / O mengeluarkan perintah baca atau tulis ke memori,
membebaskan tanggung jawab prosesor untuk pertukaran tersebut.

3.3 Struktur Interkoneksi


Komputer terdiri dari sekumpulan komponen atau modul dari tiga tipe dasar yang saling
berkomunikasi. Akibatnya, komputer adalah jaringan modul dasar. Jadi, harus ada jalur untuk
menghubungkan modul. Kumpulan jalur yang menghubungkan berbagai modul disebut struktur
interkoneksi. Desain struktur ini akan bergantung pada pertukaran yang harus dilakukan antar
modul. 
■ Memori: Biasanya, modul memori terdiri dari N kata dengan panjang yang sama. Setiap kata
diberi alamat numerik yang unik. Sebuah kata dari data dapat dibaca dari atau ditulis ke dalam
memori
■ Modul I / O: Dari sudut pandang internal, I / O secara fungsional mirip dengan memori. Ada
dua operasi; Baca dan tulis. Selanjutnya, modul I / O dapat mengontrol lebih dari satu perangkat
eksternal. Kita dapat merujuk ke setiap antarmuka ke perangkat eksternal sebagai port dan
memberikan setiap alamat yang unik. Selain itu, ada jalur data eksternal untuk input dan output
data dengan perangkat eksternal. 
■ Prosesor: Prosesor membaca instruksi dan data, menulis data setelah diproses, dan
menggunakan sinyal kontrol untuk mengontrol keseluruhan operasi sistem. Ini juga menerima
sinyal interupsi
Struktur interkoneksi harus mendukung jenis transfer berikut:
■ Memori ke prosesor: Prosesor membaca instruksi atau unit data dari memori.
■ Prosesor ke memori: Prosesor menulis satu unit data ke memori.
■ I / O ke prosesor: Prosesor membaca data dari perangkat I / O melalui modul I / O.
■ Prosesor ke I / O: Prosesor mengirimkan data ke perangkat I / O.
■ I / O ke atau dari memori: Untuk dua kasus ini, modul I / O diizinkan untuk bertukar data
secara langsung dengan memori, tanpa melalui prosesor, menggunakan akses memori langsung.

3.4 Interkoneksi Bus


Bus adalah sarana dominan interkoneksi komponen sistem komputer selama beberapa
dekade. Untuk komputer tujuan umum, secara bertahap telah digantikan oleh berbagai struktur
interkoneksi titik-ke-titik, yang sekarang mendominasi desain sistem komputer. Sistem komputer
berisi sejumlah bus berbeda yang menyediakan jalur antar komponen di berbagai tingkat hierarki
sistem komputer. Bus yang menghubungkan komponen komputer utama disebut bus sistem.
Struktur interkoneksi komputer yang paling umum didasarkan pada penggunaan satu atau lebih
bus sistem. Bus sistem biasanya terdiri dari sekitar lima puluh hingga ratusan jalur
terpisah. Garis data menyediakan jalur untuk memindahkan data di antara modul sistem. Jalur-
jalur ini, secara kolektif, disebut bus data.
Bus data dapat terdiri dari 32, 64, 128, atau bahkan lebih banyak baris terpisah, jumlah baris
yang disebut sebagai lebar bus data. Lebar bus data merupakan faktor kunci dalam menentukan
kinerja sistem secara keseluruhan. Misalnya, jika bus data berukuran lebar 32 bit dan setiap
instruksi berukuran 64 bit, maka prosesor harus mengakses modul memori dua kali selama setiap
siklus instruksi. Baris alamat digunakan untuk menunjukkan sumber atau tujuan data pada bus
data.
Misalnya, jika prosesor ingin membaca sebuah kata data dari memori, ia meletakkan alamat kata
yang diinginkan pada baris alamat. Jelas, lebar bus alamat menentukan kemungkinan kapasitas
memori maksimum dari sistem. Garis kontrol digunakan untuk mengontrol akses dan
penggunaan data dan baris alamat. Karena data dan baris alamat digunakan bersama oleh semua
komponen, harus ada cara untuk mengontrol penggunaannya.
Sinyal kontrol mengirimkan informasi perintah dan waktu di antara modul sistem. Sinyal waktu
menunjukkan validitas data dan informasi alamat.
Sinyal perintah menentukan operasi yang akan dilakukan.
■ Penulisan memori: menyebabkan data di bus ditulis ke lokasi yang dituju.
■ Pembacaan memori: menyebabkan data dari lokasi yang dituju ditempatkan di bus.
■ I / O write: menyebabkan data di bus menjadi output ke port I / O yang dialamatkan.
■ Pembacaan I / O: menyebabkan data dari port I / O yang dialamatkan ditempatkan di bus.
■ Transfer ACK: menunjukkan bahwa data telah diterima dari atau ditempatkan di dalam bus.
■ Permintaan bus: menunjukkan bahwa modul perlu menguasai bus.
■ Pemberian bus: menunjukkan bahwa modul yang meminta telah diberikan kendali atas bus.
■ Permintaan interupsi: menunjukkan bahwa interupsi sedang menunggu.
■ Interrupt ACK: mengakui bahwa interrupt yang tertunda telah dikenali.
■ Jam: digunakan untuk menyinkronkan operasi.
■ Reset: menginisialisasi semua modul.
Pengoperasian bus adalah sebagai berikut. Jika satu modul ingin mengirim data ke yang lain, ia
harus melakukan dua hal: memperoleh penggunaan bus, dan mentransfer data melalui bus. Jika
satu modul ingin meminta data dari modul lain, ia harus mendapatkan penggunaan bus, dan
mentransfer permintaan ke modul lain melalui jalur kontrol dan alamat yang sesuai. Kemudian
harus menunggu modul kedua untuk mengirim data.

3.5 Interkoneksi Point-to-Point


3.6 Epress PCI
Interkoneksi komponen periferal adalah bus bandwidth tinggi yang tidak bergantung prosesor
yang dapat berfungsi sebagai mezanin atau bus periferal. Dibandingkan dengan spesifikasi bus
umum lainnya, PCI memberikan kinerja sistem yang lebih baik untuk subsistem I / O kecepatan
tinggi. Karena spesifikasinya berada dalam domain publik dan didukung oleh penampang luas
mikroprosesor dan industri periferal, produk PCI yang dibuat oleh vendor yang berbeda
kompatibel. Seperti bus sistem yang dibahas di bagian sebelumnya, skema PCI berbasis bus
belum mampu mengimbangi permintaan kecepatan data perangkat yang terpasang.
Persyaratan lain berkaitan dengan kebutuhan untuk mendukung aliran data yang bergantung pada
waktu. Aplikasi seperti video-ondemand dan audio redistribution juga memberikan batasan
waktu nyata pada server. Banyak aplikasi komunikasi dan sistem kontrol PC tertanam juga
memproses data secara real-time. Platform saat ini juga harus menangani beberapa transfer
bersamaan dengan kecepatan data yang terus meningkat. Data perlu diberi tag sehingga sistem I /
O dapat memprioritaskan alirannya di seluruh platform.
Arsitektur Fisik dan Logis PCI
Perangkat root complex, juga disebut sebagai chipset atau host bridge, menghubungkan prosesor
dan subsistem memori ke fabric switch PCI Express yang terdiri dari satu atau lebih perangkat
switch PCIe dan PCIe. Kompleks root bertindak sebagai perangkat penyangga, untuk menangani
perbedaan kecepatan data antara pengontrol I / O dan komponen memori dan prosesor. Tautan
PCIe dari chipset dapat dipasang ke jenis perangkat berikut yang mengimplementasikan PCIe
■ Sakelar: Sakelar mengelola beberapa aliran PCIe.
■ Titik akhir PCIe: Perangkat atau pengontrol I / O yang mengimplementasikan PCIe, seperti
sakelar ethernet Gigabit, pengontrol grafis atau video, antarmuka disk, atau pengontrol
komunikasi.
■ Titik akhir warisan: Kategori titik akhir warisan dimaksudkan untuk desain yang ada yang
telah dimigrasi ke PCI Express, dan memungkinkan perilaku lama seperti penggunaan ruang I /
O dan transaksi yang dikunci. Titik akhir PCI Express tidak diizinkan untuk meminta
penggunaan ruang I / O saat runtime dan tidak boleh menggunakan transaksi yang terkunci.
Dengan membedakan kategori ini, perancang sistem dapat membatasi atau menghilangkan
perilaku lama yang berdampak negatif pada kinerja dan ketahanan sistem.
■ PCIe / PCI bridge: Memungkinkan perangkat PCI yang lebih lama untuk dihubungkan ke
sistem berbasis PCIe. Seperti QPI, interaksi PCIe didefinisikan menggunakan arsitektur protokol.
Arsitektur protokol PCIe mencakup lapisan berikut:
■ Fisik: Terdiri dari kabel aktual yang membawa sinyal, serta sirkuit dan logika untuk
mendukung fitur tambahan yang diperlukan dalam transmisi dan penerimaan sinyal 1s dan 0s.
■ Tautan data: Bertanggung jawab atas transmisi dan kontrol aliran yang andal. 
■ Transaksi: Menghasilkan dan menggunakan paket data yang digunakan untuk
mengimplementasikan mekanisme transfer data muat / penyimpanan dan juga mengelola kontrol
aliran paket tersebut antara dua komponen pada sebuah link. Di atas TL adalah lapisan perangkat
lunak yang menghasilkan permintaan baca dan tulis yang diangkut oleh lapisan transaksi ke
perangkat I / O menggunakan protokol transaksi berbasis paket..
Lapisan Fisik PCIe
Berikut ini, kami mengacu pada spesifikasi PCIe 3.0, yang diperkenalkan pada akhir 2010.
Seperti halnya QPI, PCIe menggunakan teknik distribusi multilan. Contoh port PCIe yang terdiri
dari empat jalur. Data didistribusikan ke empat jalur 1 byte pada satu waktu menggunakan skema
round-robin sederhana. Di setiap jalur fisik, data di-buffer dan diproses 16 byte dalam satu
waktu. Jika ada penyimpangan antara jam yang digunakan untuk transmisi bit dan penerimaan
pemancar dan penerima, kesalahan dapat terjadi. Untuk mengkompensasi kemungkinan
penyimpangan, PCIe mengandalkan penerima yang disinkronkan dengan pemancar berdasarkan
sinyal yang ditransmisikan. Seperti QPI, PCIe menggunakan pensinyalan diferensial melalui
sepasang kabel. Sinkronisasi dapat dicapai oleh penerima yang mencari transisi dalam data dan
menyinkronkan jamnya ke transisi. Dalam keadaan ini, setiap penyimpangan antara jam
pemancar dan penerima akan mengakibatkan hilangnya sinkronisasi antara keduanya.
Pendekatan umum, dan yang digunakan dalam PCIe 3.0, untuk mengatasi masalah string panjang
bit dengan satu nilai adalah pengacakan. Scrambling, yang tidak menambah jumlah bit yang
akan dikirim, merupakan teknik pemetaan yang cenderung membuat data tampak lebih acak.
Pengacakan cenderung menyebarkan jumlah transisi sehingga muncul di penerima dengan jarak
yang lebih seragam, yang bagus untuk sinkronisasi. Juga, sifat transmisi lainnya, seperti sifat
spektral, ditingkatkan jika datanya lebih mendekati sifat acak daripada konstan atau berulang.
Untuk diskusi lebih lanjut tentang pengacakan, lihat Lampiran E. Teknik lain yang dapat
membantu dalam sinkronisasi adalah pengkodean, di mana bit tambahan dimasukkan ke dalam
aliran bit untuk memaksa transisi. Untuk PCIe 3.0, setiap grup 128 bit input dipetakan ke dalam
blok 130-bit dengan menambahkan header sinkronisasi blok 2-bit. Nilai tajuk adalah 10 untuk
blok data dan 01 untuk apa yang disebut blok himpunan berurutan, yang mengacu pada blok
informasi tingkat tautan. Gambar 3.24 mengilustrasikan penggunaan pengacakan dan
pengkodean. Data yang akan dikirim dimasukkan ke pengacak. Di penerima, jam disinkronkan
dengan data yang masuk untuk memulihkan aliran bit. Dengan menggunakan teknik ini,
kecepatan data 16 GB / s dapat dicapai.
Lapisan Transaksi PCIe
Lapisan transaksi menerima permintaan baca dan tulis dari perangkat lunak di atas TL
dan membuat paket permintaan untuk transmisi ke tujuan melalui lapisan tautan. Sebagian besar
transaksi menggunakan teknik transaksi terpisah, yang bekerja dengan cara berikut. Paket
permintaan dikirim oleh perangkat PCIe sumber, yang kemudian menunggu tanggapan, yang
disebut paket penyelesaian. Penyelesaian setelah permintaan dimulai oleh pelengkap hanya jika
memiliki data dan / atau status siap untuk pengiriman.
Setiap paket memiliki pengenal unik yang memungkinkan paket penyelesaian diarahkan
ke pembuat yang benar. Dengan teknik transaksi terpisah, penyelesaian dipisahkan dalam waktu
dari permintaan, berbeda dengan operasi bus biasa di mana kedua sisi transaksi harus tersedia
untuk merebut dan menggunakan bus. Antara permintaan dan penyelesaian, lalu lintas PCIe
lainnya dapat menggunakan tautan tersebut. Pesan TL dan beberapa transaksi tulis diposting
transaksi, artinya tidak ada tanggapan yang diharapkan. Format paket TL mendukung
pengalamatan memori 32-bit dan pengalamatan memori 64-bit yang diperluas. Paket juga
memiliki atribut seperti «no-snoop,» «relaxordering,» dan «priority,» yang dapat digunakan
untuk merutekan paket ini secara optimal melalui subsistem I / O.
NB :
1. Bab 3.5 belum diresume gr2 banyak gambarnya.
2. Halaman 113 di buku belom diresume karena itu lagi bahas tabelnya
Mulai dari kalimat “Address spaces and transaction types” yang warna ijo sampe
halaman 115 terakhir.

Anda mungkin juga menyukai