Anda di halaman 1dari 12

TUGAS RESUME 2

Nama : Larasati Octavianda


NIM : 201910201065
Prodi : S1 Teknik Elektro
Kelas : Organisasi dan Arsitektur Komputer B

Bab 3 : Tampilan Tingkat Tinggi dari Fungsi Komputer dan Interkoneksi

Di tingkat teratas, komputer terdiri dari CPU (central processing unit), memori, dan
komponen I / O, dengan satu atau lebih modul untuk setiap jenis. Komponen ini saling
berhubungan dalam beberapa cara untuk mencapai fungsi dasar komputer, yaitu menjalankan
program.
Bab ini berfokus pada struktur dasar yang digunakan untuk komponen komputer
interkoneksi. Sebagai latar belakang, bab ini dimulai dengan pemeriksaan singkat tentang
komponen dasar dan persyaratan antarmukanya. Kemudian gambaran fungsionalnya
disediakan. Kami kemudian bersiap untuk memeriksa penggunaan bus untuk sistem
interkoneksi komponen.

3.1 Komponen Komputer

Seperti dibahas dalam Bab 1, hampir semua desain komputer kontemporer didasarkan
tentang konsep yang dikembangkan oleh John von Neumann di Institute for Advanced
Studies,Princeton. Desain seperti itu disebut sebagai arsitektur von Neumann dan berbasis
pada tiga konsep utama:
• Data dan instruksi disimpan dalam satu memori baca-tulis.
• Isi memori ini dapat dialamatkan berdasarkan lokasi, tanpa memperhatikan
jenis data yang ada di sana.
• Eksekusi terjadi secara berurutan (kecuali secara eksplisit dimodifikasi) dari satu
instruksi ke instruksi berikutnya.

Ada sekumpulan kecil komponen logika dasar yang dapat dikombinasikan dengan
berbagai cara untuk menyimpan data biner dan melakukan aritmatika dan logika operasi pada
data itu. Jika ada perhitungan tertentu yang akan dilakukan, sebuah penggambaran komponen
logika yang dirancang khusus untuk komputasi itu bisa dibangun. "Program" yang dihasilkan
ada di dalam bentuk perangkat keras dan diistilahkan sebagai program bawaan. Sekarang
pertimbangkan alternatif ini, misalkan kita membangun tujuan umum penggambaran fungsi
aritmatika dan logika. Perangkat keras ini akan melakukan berbagai fungsi kami pada data
tergantung pada sinyal kontrol yang diterapkan ke perangkat keras. Dalam kasus asli dari
perangkat keras yang disesuaikan, sistem menerima data dan menghasilkan hasil.
Tujuan umum dari perangkat keras adalah sistem menerima data dan kontrol
memberi sinyal lalu membuahkan hasil. Jadi, alih-alih memasang kembali perangkat keras
untuk setiap program yang baru, programmer hanya perlu menyediakan satu set sinyal
kontrol baru. Bagaimana sinyal kontrol akan dipasok? Jawabannya sederhana, seluruh
program sebenarnya adalah urutan langkah-langkah. Pada setiap langkah, beberapa aritmatika
atau operasi logis dilakukan pada beberapa data. Untuk setiap langkah, satu set kontrol sinyal
dibutuhkan. Setiap kode, dalam efek, instruksi, dan bagian dari perangkat keras menafsirkan
setiap instruksi dan membuat sinyal kontrol. Untuk membedakan metode pemrograman baru
ini, urutan kode atau instruksi disebut perangkat lunak. Beberapa komponen lain diperlukan
untuk menghasilkan fungsi komputer. Data dan instruksi harus dimasukkan ke dalam
sistem. Untuk itu kita butuhkan semacam modul masukan. Modul ini berisi komponen dasar
untuk menerima data dan instruksi dalam beberapa bentuk dan mengubahnya menjadi bentuk
sinyal internal yang dapat digunakan oleh sistem. Diperlukan sarana untuk melaporkan hasil
dalam bentuk modul keluaran. Secara keseluruhan, ini disebut sebagai I / O komponen .
Dibutuhkan satu komponen lagi, perangkat input akan membawa instruksi dan data secara
berurutan. Tetapi sebuah program tidak selalu dieksekusi secara berurutan,mungkin
melompat-lompat (misalnya, instruksi lompat IAS. Von Neumann menunjukkan bahwa
memori yang sama dapat digunakan untuk menyimpan instruksi dan data. Gambar 3.2
mengilustrasikan komponen tingkat atas ini dan menyarankan interaksi di antara
mereka. CPU bertukar data dengan memori. Untuk tujuan ini, khususnya menggunakan dua
register internal ke CPU yaitu memory address register (MAR) , yang menetapkan alamat
dalam memori untuk pembacaan atau penulisan berikutnya, dan memory buffer register
(MBR) , yang berisi data yang akan ditulis ke dalam memori atau menerima data yang dibaca
dari memori. Demikian pula, register alamat I / O (I / OAR) menentukan perangkat I / O
tertentu. Register penyangga I / O (I / OBR) digunakan untuk pertukaran data antara modul I
/ O dan CPU. Sebuah modul memori terdiri dari satu set lokasi, ditentukan oleh nomor
berurutan. Setiap lokasi berisi bilangan biner yang dapat diartikan sebagai baik instruksi atau
data. Modul I / O mentransfer data dari perangkat eksternal ke CPU dan memori, dan
sebaliknya. Ini berisi buffer internal untuk penyangga sementara hingga data ini dapat
dikirim. Setelah melihat secara singkat komponen utama ini, sekarang kita beralih ke
gambaran umum tentang bagaimana komponen ini berfungsi bersama untuk menjalankan
program.

3.2 Fungsi Komputer

Fungsi dasar yang dilakukan oleh komputer adalah menjalankan program, yang
terdiri dari satu set instruksi yang disimpan dalam memori. Prosesor melakukan pekerjaan
sebenarnya dengan menjalankan instruksi yang ditentukan dalam program. Bagian ini
memberikan gambaran umum tentang elemen kunci dari eksekusi program. Dalam
bentuknya yang paling sederhana, pemrosesan instruksi terdiri dari dua Langkah yaitu
prosesor membaca ( mengambil ) instruksi dari memori satu pada satu waktu dan
menjalankan setiap instruksi. Eksekusi program terdiri dari pengulangan proses pengambilan
instruksi dan eksekusi instruksi. Eksekusi instruksi mungkin melibatkan beberapa operasi dan
tergantung pada sifat. Pemrosesan yang diperlukan untuk satu instruksi disebut siklus
instruksi . Menggunakan deskripsi dua langkah yang disederhanakan yang diberikan
sebelumnya, siklus instruksi adalah digambarkan pada Gambar 3.3. Kedua langkah tersebut
disebut sebagai siklus pengambilan dan eksekusi siklus . Eksekusi program berhenti hanya
jika mesin dimatikan, semacam tidak dapat dipulihkan lalu error terjadi, atau instruksi
program yang menghentikan komputer ditemui.

• Ambil dan Jalankan Instruksi


Pada awal setiap siklus instruksi, prosesor mengambil instruksi dari penyimpanan dalam
prosesor tipikal, register yang disebut program counter (PC) menyimpan file alamat instruksi
yang akan diambil berikutnya. Kecuali diberitahu sebaliknya, prosesor selalu menaikkan PC

setelah setiap pengambilan instruksi sehingga akan mengambil instruksi berikutnya instruksi
secara berurutan (yaitu, instruksi yang terletak di memori yang lebih tinggi berikutnya
alamat). Jadi, misalnya, mempertimbangkan komputer di mana setiap instruksi menempati
satu memori 16-bit. Asumsikan bahwa penghitung program diatur ke lokasi memori 300, di
mana alamat lokasi mengacu pada kata 16-bit. Prosesor selanjutnya akan
ambil instruksi di lokasi 300. Prosesor menafsirkan instruksi dan melakukan
tindakan yang diperlukan. Secara umum, tindakan ini terbagi dalam empat kategori:
■Processor-memory: Data dapat ditransfer dari prosesor ke memori atau
dari memori ke prosesor.
■ Processor-I/O: Data dapat ditransfer ke atau dari perangkat periferal oleh
mentransfer antara prosesor dan modul I / O.
■ Data processing: Prosesor dapat melakukan beberapa operasi aritmatika atau logika
asi pada data.
■ Control Sebuah instruksi dapat menetapkan bahwa urutan eksekusi diubah.
Program yang ditampilkan menambahkan isi kata memori pada alamat 940 dengan isi
kata memori pada alamat 941 dan menyimpan hasilnya di lokasi terakhir. Tiga instruksi, yang
bisa dideskripsikan sebagai tiga siklus pengambilan dan tiga eksekusi, yang diperlukan:
1. PC berisi 300, alamat instruksi pertama. Instruksi ini (file nilai 1940 dalam heksadesimal)
dimuat ke dalam register instruksi IR, dan PC bertambah
2. 4 bit pertama (digit heksadesimal pertama) dalam IR menunjukkan bahwa AC akan
digunakan. 12 bit tersisa (tiga digit heksadesimal) menentukan alamatnya (940) dari mana
data akan dimuat.
3. Instruksi berikutnya (5941) diambil dari lokasi 301, dan PC bertambah.
4. Isi lama AC dan isi lokasi 941 ditambahkan, dan hasilnya disimpan di AC.
5. Instruksi berikutnya (2941) diambil dari lokasi 302, dan PC bertambah.
6. Isi AC disimpan di lokasi 941.
Dalam contoh ini, tiga siklus instruksi, masing-masing terdiri dari siklus pengambilan
dan menjalankan siklus, diperlukan untuk menambahkan konten lokasi 940 ke konten 941.
Dengan serangkaian instruksi yang lebih kompleks, lebih sedikit siklus yang
dibutuhkan. Beberapa prosesor prosesor terdahulu menyertakan instruksi yang berisi lebih
dari satu memori alamat. Jadi, siklus eksekusi untuk instruksi tertentu pada prosesor tersebut
bisa melibatkan lebih dari satu referensi ke memori. Oleh karena itu, instruksi dapat
menentukan operasi I / O.
Sebagai contoh, prosesor PDP-11 menyertakan instruksi biasanya sebagai TAMBAH B, A,
yang menyimpan jumlah isi lokasi memori B dan A ke dalam lokasi memori A. Siklus
instruksi tunggal dengan langkah-langkah berikut terjadi:
■ Ambil 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 yang menyimpan nilai memori, bukan akumulator
tunggal.
■ 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. Statusnya dapat dijelaskan sebagai berikut:
■ Intruction address calculation (IAC): Tentukan alamat berikutnya instruksi untuk
dieksekusi. Biasanya, ini melibatkan penambahan nomor tetap ke alamat instruksi
sebelumnya. Misalnya, jika setiap instruksi bernilai 16 bit panjang dan memori diatur
menjadi kata-kata 16-bit, lalu tambahkan 1 ke alamat kami. Sebaliknya, jika memori diatur
sebagai 8-bit yang dapat dialamatkan secara individual byte, lalu tambahkan 2 ke alamat
sebelumnya.
■ Intruction fetch (IF): Membaca instruksi dari lokasi memorinya ke file prosesor.
■ Intruction operation decoding (IOD): Analisis instruksi untuk menentukan jenis
operasi yang akan dilakukan dan operan yang akan digunakan.
■ Operand address calculation(OAC): Jika operasi melibatkan referensi ke operan dalam
memori atau tersedia melalui I / O, kemudian tentukan alamat operan.
■ Operand fetch (OF): Mengambil operand dari memori atau membacanya dari I / O.
■ Data operation (DO): Lakukan operasi yang ditunjukkan dalam instruksi.
■ Operand store (OS): Tulis hasilnya ke dalam memori atau ke I / O.
• Interupsi
Hampir semua komputer menyediakan mekanisme di mana modul lain (I / O, memori)
dapat mengganggu pemrosesan normal prosesor. Bagian kode 1, 2, dan 3 mengacu pada
urutan instruksi yang tidak melibatkan I / O. Panggilan WRITE ditujukan ke I / O program
yang merupakan utilitas sistem dan yang akan menjalankan operasi I / O aktual. Itu
Program I / O terdiri dari tiga bagian:
■ Urutan instruksi, berlabel 4 pada gambar, untuk mempersiapkan I / O yang sebenarnya
operasi. Ini mungkin termasuk menyalin data untuk dikeluarkan ke buffer khusus dan
menyiapkan parameter untuk perintah perangkat.
■ Perintah I / O yang sebenarnya. Tanpa menggunakan interupsi, sekali perintah ini
dikeluarkan, program harus menunggu perangkat I / O melakukan yang diminta fungsi (atau
polling perangkat secara berkala). Program mungkin hanya menunggu berulang kali
melakukan operasi uji untuk menentukan apakah operasi I / O sudah selesai.
■ Urutan instruksi, berlabel 5 pada gambar, untuk menyelesaikan operasi. Ini mungkin
termasuk mengatur bendera yang menunjukkan keberhasilan atau kegagalan operasi.
Multiple Interrupts adalah dua pendekatan dapat diambil untuk menangani beberapa
interupsi. Pertama adalah menonaktifkan interupsi saat interupsi sedang diproses. Sebuah
interupsi dinonaktifkan berarti bahwa prosesor dapat dan akan mengabaikan sinyal
permintaan interupsi. Jika interupsi terjadi selama waktu ini, biasanya interupsi tetap dan
akan tetap tertunda diperiksa oleh prosesor setelah prosesor mengaktifkan interupsi. Kedua
adalah menentukan prioritas untuk interupsi dan mengizinkan interupsi berprioritas lebih
tinggi untuk menyebabkan pengendali interupsi berprioritas lebih rendah terputus sendiri.
• FUNGSI I/O
Sejauh ini, kita telah membahas pengoperasian komputer yang dikendalikan oleh
prosesor, dan kami telah melihat terutama pada interaksi prosesor dan memori. Pembahasan
hanya menyinggung peran komponen I / O. Peran ini disinggung secara rinci di Bab 7, tetapi
ringkasan singkat ada di sini. Modul I / O (misalnya, pengontrol disk) dapat bertukar data
secara langsung dengan prosesor. Sama seperti prosesor dapat memulai membaca atau
menulis dengan memori dengan menyebutkan alamat lokasi tertentu, prosesor juga dapat
membaca data dari atau menulis data ke modul I / O. Dalam kasus terakhir ini, prosesor
mengidentifikasi yang spesifik perangkat yang dikontrol oleh modul I / O tertentu. Dalam
beberapa kasus, memungkinkan pertukaran I / O terjadi secara langsung dengan
penyimpanan. Dalam kasus seperti itu, prosesor memberi modul I / O otoritas untuk
membaca atau tulis ke memori, sehingga transfer memori I / O dapat terjadi tanpa mengikat
prosesor. Selama transfer tersebut, modul I / O mengeluarkan perintah baca atau tulis tugas
ke memori, membebaskan prosesor dari tanggung jawab untuk pertukaran. Operasi ini
dikenal sebagai akses memori langsung (DMA) dan dibahas pada Bab 7.

3.3 Struktur Interkoneksi

Komputer terdiri dari satu set komponen atau modul dari tiga tipe dasar (prosesor,
memori, I / O) yang berkomunikasi satu sama lain. Akibatnya, komputer adalah jaringan
modul dasar. Jadi, harus ada jalur untuk menghubungkan modul. Kumpulan jalur yang
menghubungkan berbagai modul disebut interkoneksi. Desain struktur ini akan tergantung
pada pergantian yang dibuat di antara modul. Bentuk utama input dan output untuk setiap
modul adalah:
■ Memori: Biasanya, modul memori terdiri dari N kata dengan panjang yang sama.
Setiap kata diberi alamat numerik unik (0, 1, c, N -1). Lokasi operasi adalah ditentukan
dengan alamat.
■ Modul I / O: Dari sudut pandang internal (ke sistem komputer), I / O adalah
secara fungsional mirip dengan memori. Ada dua operasi baca dan tulis. Modul I / O dapat
mengontrol lebih dari satu perangkat eksternal. Selain itu, ada jalur data eksternal untuk
input dan output data dengan perangkat eksternal. Terakhir, modul I / O mungkin dapat
mengirim sinyal interupsi ke prosesor.
■ Prosesor: Prosesor membaca instruksi dan data, kemudian menulis data, dan menggunakan
sinyal kontrol untuk mengontrol keseluruhan operasi sistem.
Interkoneksi struktur harus mendukung jenis transfer berikut:
■ Memori ke prosesor: Prosesor membaca instruksi atau unit data
dari ingatan.
■ Prosesor ke memori: Prosesor menulis satu unit data ke memori.
■ I / O ke prosesor: Prosesor membaca data dari perangkat I / O melalui I / O
modul.
■ Prosesor ke I / O: Prosesor mengirimkan data ke perangkat I / O.
■ I / O ke atau dari memori: Untuk dua kasus ini, modul I / O diperbolehkan bertukar data
langsung dengan memori, tanpa melalui prosesor, menggunakan akses memori langsung.
Selama bertahun-tahun, sejumlah struktur interkoneksi telah dicoba. Sejauh ini yang paling
umum adalah bus dan berbagai struktur bus ganda, dan titik-struktur interkoneksi ke titik
dengan transfer data terpaket.

3.4 Interkoneksi Bus

Bus adalah alat dominan interkoneksi komponen sistem computer selama beberapa
dekade. Tujuan komputer umunya, secara bertahap telah diberikan cara untuk berbagai
struktur interkoneksi point-to-point, yang sekarang mendominasi sistem computer rancangan.
Namun, struktur bus masih umum digunakan untuk sistem tertanam, terutama
mikrokontroler. Biasanya, bus terdiri dari beberapa jalur komunikasi atau garis. Setiap garis
mampu memancarkan sinyal yang mewakili biner 1 dan biner 0. Seiring waktu, urutan digit
biner dapat dikirim melalui satu baris. Beberapa baris bus dapat digunakan untuk
mengirimkan digit biner secara bersamaan (secara paralel). Garis data menyediakan jalur
untuk memindahkan data di antara modul sistem. Garis ini secara kolektif, disebut bus data .
Bus data dapat terdiri dari 32, 64, 128, atau bahkan lebih baris yang terpisah, jumlah baris
yang disebut sebagai lebar dari bus data. Karena setiap baris hanya dapat membawa satu bit
pada satu waktu, sejumlah baris menentukan berapa banyak bit yang dapat ditransfer pada
suatu waktu. Lebar data bus merupakan faktor kunci dalam menentukan kinerja sistem secara
keseluruhan. Baris alamat digunakan untuk menunjukkan sumber atau tujuan data pada bus
data. Misalnya, jika prosesor ingin membaca sebuah kata (8, 16, atau 32 bit) data dari
memori, ini menempatkan alamat kata yang diinginkan pada baris alamat. Jelas, lebar bus
alamat menentukan kapasitas memori maksimum yang dari sistem. Lebih lanjut, baris alamat
umumnya juga digunakan untuk mengalamatkan I / O. Garis kontrol digunakan untuk
mengontrol akses dan penggunaan data dan baris alamat. Karena baris data dan alamat
digunakan bersama oleh semua komponen. Garis kontrol meliputi:

■ Memory write: menyebabkan data di bus ditulis ke lokasi yang dituju.


■ Memory read: menyebabkan data dari lokasi yang dituju ditempatkan di bus.
■ I / O write: menyebabkan data pada bus menjadi output ke port I / O yang dialamatkan.
■ I / O read: menyebabkan data dari port I / O yang dialamatkan ditempatkan di bus.
■ Transfer ACK: menunjukkan bahwa data telah diterima dari atau ditempatkan di
bis.
■ Bus request: menunjukkan bahwa modul perlu menguasai bus.
■ Bus grant: menunjukkan bahwa modul yang meminta telah diberikan kontrol atas
bis.
■ Interrupt request: menunjukkan bahwa interupsi sedang menunggu.
■ Interrupt ACK: mengakui bahwa interrupt yang tertunda telah dikenali.
■ Clock: digunakan untuk menyinkronkan operasi.
■ Reset: menginisialisasi semua modul.
Pengoperasian bus adalah sebagai berikut. Jika satu modul ingin mengirim data ke
lain, itu harus melakukan dua hal mendapatkan penggunaan bus, dan mentransfer data
melalui bus.

3.5 Interkoneksi Titik ke Titik

Arsitektur bus bersama adalah pendekatan standar untuk interkoneksi antar


prosesor dan komponen lainnya (memori, I / O, dan sebagainya) selama beberapa dekade.
Tapi sistem sementara semakin mengandalkan interkoneksi point-to-point daripada bus
bersama. Alasan utama mendorong perubahan dari bus ke interkoneksi titik ke titik nect
adalah kendala listrik yang dihadapi dengan meningkatkan frekuensi lebar bus sinkron. Di
bagian ini, kami melihat contoh penting dan representatif dari pendekatan interkoneksi point-
to-point: Intel QuickPath Interconnect (QPI) , yang diperkenalkan pada tahun 2008. Berikut
ini adalah karakteristik signifikan QPI dan point-to-point lainnya:
■Multiple direct connections: Nikmati beberapa komponen dalam sistem
koneksi berpasangan langsung ke komponen lain. Ini menghilangkan kebutuhan akan
arbitrase ditemukan dalam sistem transmisi bersama.
■ Layered protocol architecture: Seperti yang ditemukan di lingkungan jaringan, seperti
Jaringan data berbasis TCP / IP, interkoneksi tingkat prosesor ini menggunakan lay-
arsitektur protokol ered, daripada penggunaan sederhana dari sinyal kontrol yang ditemukan
dalam pengaturan bus bersama.
■ Packetized data transfer: Data tidak dikirim sebagai aliran bit mentah. Melainkan, data
dikirim sebagai urutan paket, yang masing-masing menyertakan header kontrol dan
kode kontrol kesalahan.
Selain itu, QPI digunakan untuk menghubungkan ke modul I / O, yang disebut hub I / O
(IOH). IOH bertindak sebagai sakelar yang mengarahkan lalu lintas ke dan dari perangkat I /
O. Tautan dari IOH ke pengontrol perangkat I / O menggunakan interkoneksi teknologi yang
disebut PCI Express (PCIE).
QPI didefinisikan sebagai arsitektur protokol empat lapis:
■ Fisik: Terdiri dari kabel aktual yang membawa sinyal, serta sirkuit dan logika untuk
mendukung fitur tambahan yang diperlukan dalam transmisi dan penerimaan dari angka 1
dan 0. Satuan transfer pada lapisan Fisik adalah 20 bit, yaitu disebut Phit (unit fisik).
■ Tautan: Bertanggung jawab atas transmisi dan kontrol aliran yang andal. Lapisan Link
unit transfer adalah Flit 80-bit (unit kontrol aliran).
■ Routing: Menyediakan kerangka kerja untuk mengarahkan paket melalui fabric.
■ Protokol: Kumpulan aturan tingkat tinggi untuk bertukar paket data antara
perangkat. Sebuah paket terdiri dari sejumlah Flits yang tidak terpisahkan.
• Lapisan Fisik QPI
Port QPI terdiri dari 84 tautan individu dikelompokkan sebagai berikut. Setiap jalur data
terdiri dari sepasang kabel itu mentransmisikan data sedikit demi sedikit pasangan ini disebut
sebagai jalur. Ada 20 data jalur di setiap arah (mengirim dan menerima), ditambah jalur jam
di setiap arah. Dengan demikian, QPI mampu mentransmisikan 20 bit secara paralel di setiap
arah.
20-bit unit disebut sebagai phit. Bentuk transmisi pada setiap jalur dikenal sebagai
pensinyalan diferensial , atau transmisi seimbang. Secara khusus, teknik yang digunakan oleh
QPI dikenal sebagai pensinyalan diferensial tegangan rendah (LVDS). Fungsi lain yang
dilakukan oleh lapisan fisik adalah mengatur hubungan antara flits 80-bit dan phits 20-bit
menggunakan teknik yang dikenal sebagai multilane distribusi. Flits dapat dianggap sebagai
aliran bit yang didistribusikan ke seluruh jalur data.
• Lapisan Tautan QPI
Lapisan tautan QPI melakukan dua fungsi utama: kontrol aliran dan kontrol kesalahan. Ini
fungsi dilakukan sebagai bagian dari protokol lapisan tautan QPI, dan beroperasi pada tingkat
flit (unit kontrol aliran). Setiap flit terdiri dari muatan pesan 72-bit dan kode kontrol
kesalahan 8-bit yang disebut pemeriksaan redundansi siklik (CRC). Fungsi kontrol aliran
diperlukan untuk memastikan bahwa entitas pengirim QPI melakukan tidak membebani
entitas penerima QPI dengan mengirimkan data lebih cepat dari yang dapat dilakukan
penerima memproses data dan menghapus buffer untuk lebih banyak data yang masuk.
Kadang-kadang, sedikit yang ditransmisikan pada lapisan fisik diubah selama transmisi,
karena kebisingan atau fenomena lainnya. Fungsi control kesalahan di lapisan tautan
mendeteksi dan memulihkan dari kesalahan bit tersebut, dan dengan demikian mengisolasi
lapisan yang lebih tinggi yang mengalami sedikit kesalahan. Prosedur bekerja sebagai berikut
untuk aliran data dari sistem A ke sistem B:
1. Seperti yang disebutkan, setiap flit 80-bit menyertakan bidang CRC 8-bit. CRC adalah
fungsi dari nilai 72 bit yang tersisa. Saat transmisi, A menghitung Nilai CRC untuk setiap flit
dan memasukkan nilai itu ke dalam flit.
2. Ketika flit diterima, B menghitung nilai CRC untuk payload 72-bit dan membandingkan
nilai ini dengan nilai nilai CRC yang masuk di flit. Jika dua nilai CRC tidak cocok, kesalahan
telah terdeteksi.
3. Ketika B mendeteksi kesalahan, ia mengirimkan permintaan ke A untuk mengirimkan
kembali flit itu dalam kesalahan. Namun, karena A mungkin memiliki kredit yang cukup
untuk mengirim streaming flits, sehingga flit tambahan telah dikirim setelah flit dalam
kesalahan dan sebelum A menerima permintaan untuk mengirim ulang.
• Lapisan Perutean QPI
Lapisan perutean digunakan untuk menentukan jalur yang akan dilintasi paket
interkoneksi sistem yang tersedia. Tabel perutean ditentukan oleh firmware dan menjelaskan
kemungkinan jalur yang dapat diikuti oleh sebuah paket. Dalam konfigurasi kecil, seperti
platform dua soket, opsi perutean terbatas dan tabel perutean cukup sederhana. Untuk sistem
yang lebih besar, opsi tabel perutean lebih kompleks, memberikan ekstensi fleksibilitas
perutean dan perutean ulang lalu lintas tergantung pada bagaimana perangkat terkait dengan
platform, sumber daya sistem dipartisi, dan peristiwa keandalan menghasilkan pemetaan di
sekitar sumber daya yang gagal.
• Lapisan Protokol QPI
Di lapisan ini, paket didefinisikan sebagai unit transfer. Definisi isi paket distandarisasi
dengan beberapa fleksibilitas yang diizinkan untuk memenuhi kebutuhan yang berbeda. Salah
satu fungsi kunci yang dilakukan pada tingkat ini adalah protokol koherensi cache, yaitu
berurusan dengan memastikan bahwa nilai memori utama yang disimpan di beberapa cache
konsisten.

3.6 Interkoneksi Komponen Perifer (PCI)


adalah bandwidth tinggi yang populer, bus prosesor-independen 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 (misalnya,
adaptor tampilan grafis, pengontrol wajah, dan pengontrol disk). Intel mulai mengerjakan PCI
pada tahun 1990 untuk sistem berbasis Pentium. Intel segera merilis paten ke semua domain
publik dan mempromosikan pembuatan asosiasi industri, PCI Special Interest Group (SIG),
untuk berkembang lebih jauh dan menjaga kompatibilitas spesifikasi PCI. Hasilnya adalah
PCI diadopsi secara luas dan semakin banyak digunakan di komputer pribadi, workstation,
dan sistem server. Karena spesifikasinya ada di domain publik dan didukung oleh penampang
luas mikroprosesor dan industri periferal, produk PCI Produk yang dibuat oleh vendor yang
berbeda kompatibel. Karena itu, versi baru, yang dikenal sebagai PCI Express (PCIe) telah
dikembangkan. PCIe, seperti halnya QPI, adalah skema interkoneksi titik-ke-titik yang
dimaksudkan untuk diganti skema berbasis bus seperti PCI. Persyaratan utama PCIe adalah
kapasitas tinggi untuk mendukung kebutuhan yang lebih tinggi data rate perangkat I / O,
seperti Gigabit Ethernet. Persyaratan lain berkaitan dengan kebutuhan untuk mendukung
aliran data yang bergantung pada waktu. Aplikasi seperti video-on-permintaan dan
redistribusi audio juga menempatkan kendala waktu nyata pada server.
• Arsitektur Fisik dan Logika PCI
Sebuah akar perangkat kompleks, juga disebut sebagai chipset atau jembatan host ,
menghubungkan prosesor dan subsistem memori ke switch PCI Express yang terdiri dari satu
atau lebih perangkat sakelar PCIe. Kompleks root bertindak sebagai perangkat penyangga,
untuk menangani perbedaan kecepatan data antara pengontrol I / O dan memori atau prosesor
komponen. Kompleks root juga menerjemahkan antara format transaksi PCIe dan prosesor
dan sinyal memori dan persyaratan kontrol. Tautan PCIe dari chipset mungkin terpasang ke
jenis perangkat berikut yang mengimplementasikan PCIe yaitu:
■ Sakelar: Sakelar mengelola beberapa aliran PCIe.
■ Titik akhir PCIe: Perangkat atau pengontrol I / O yang mengimplementasikan PCIe, seperti
sakelar ethernet Gigabit.
■ Titik akhir warisan: Kategori titik akhir warisan ditujukan untuk desain yang sudah ada
yang telah dimigrasi ke PCI Express, dan memungkinkan perilaku lama seperti itu sebagai
penggunaan ruang I / O dan transaksi yang terkunci. Titik akhir PCI Express tidak diizinkan
untuk meminta penggunaan ruang I / O saat runtime dan tidak boleh menggunakan transaksi
terkunci. Dengan membedakan kategori-kategori ini, dimungkinkan untuk suatu sistem
perancang untuk membatasi atau menghilangkan perilaku lama yang memiliki dampak
negatif tentang kinerja dan ketahanan sistem.
■ PCIe / PCI bridge: Memungkinkan perangkat PCI yang lebih lama untuk dihubungkan ke
berbasis PCIe sistem.
Seperti QPI, interaksi PCIe didefinisikan menggunakan arsitektur protokol. Arsitektur
protokol PCIe mencakup lapisan berikut:
■ Physical: Terdiri dari kabel aktual yang membawa sinyal, serta sirkuit
dan logika untuk mendukung fitur tambahan yang diperlukan dalam transmisi dan
penerimaan
dari angka 1 dan 0.
■ Data link: Bertanggung jawab atas transmisi dan kontrol aliran yang andal. Paket data-
ets yang dihasilkan dan dikonsumsi oleh DLL disebut Data Link Layer Packets
(DLLP).
■ Transaction: Menghasilkan dan menggunakan paket data yang digunakan untuk
mengimplementasikan load / menyimpan mekanisme transfer data dan juga mengelola
kontrol aliran paket antara dua komponen pada sebuah tautan. Paket data yang dihasilkan dan
dikonsumsi oleh TL disebut Transaction Layer Packets (TLPs).
• Lapisan Fisik PCIe
Mirip dengan QPI, PCIe adalah arsitektur point-to-point. Setiap port PCIe terdiri dari
jalur dua arah (perhatikan bahwa di QPI, jalur mengacu pada transfer dalam satu jalurarah
saja). Transfer di setiap arah di jalur adalah melalui sinyal diferensial menggunakan sepasang
kabel. Port PCI dapat menyediakan jalur 1, 4, 6, 16, atau 32. Berikut ini, kami mengacu pada
spesifikasi PCIe 3.0, yang diperkenalkan pada akhir 2010. Seperti QPI, PCIe menggunakan
teknik distribusi multilane. Di setiap jalur fisik, data di-buffer dan diproses 16 byte (128 bit)
pada satu waktu. Setiap blok 128 bit dikodekan menjadi kata sandi 130-bit yang unik untuk
transmisi ini disebut sebagai pengkodean 128b / 130b. Dengan demikian, kecepatan data
efektif jalur individu dikurangi faktor 128/130. Untuk memahami alasan pengkodean 128b /
130b, perhatikan bahwa tidak seperti QPI, PCIe tidak menggunakan garis jamnya untuk
menyinkronkan aliran bit. Artinya, garis jam tidak digunakan untuk menentukan titik awal
dan akhir dari setiap bit yang masuk; itu digunakan untuk tujuan pensinyalan lainnya saja.
Namun, penerima perlu disinkronkan.
• Lapisan Transaksi PCIe
Lapisan transaksi (TL) menerima permintaan baca dan tulis dari perangkat lunak
dan membuat paket permintaan untuk transmisi ke tujuan melalui tautan lapisan. Sebagian
besar transaksi menggunakan teknik transaksi terpisah. Paket permintaan dikirim oleh sumber
perangkat PCIe, yang kemudian menunggu untuk sebuah tanggapan, yang disebut paket
penyelesaian. Penyelesaian setelah permintaan diprakarsai oleh pelengkap hanya jika
memiliki data dan atau status siap untuk dikirim. Setiap paket memiliki pengenal unik yang
memungkinkan paket penyelesaian diarahkan ke pembuat yang benar. Dengan teknik
transaksi split, penyelesaiannya muncul dalam waktu dari permintaan tersebut, berbeda
dengan operasi bus pada umumnya di mana keduanya sisi transaksi harus tersedia untuk
merebut dan menggunakan bus. Antara permintaan tersebut dan penyelesaiannya, lalu lintas
PCIe lainnya dapat menggunakan tautan tersebut. Format paket TL mendukung memori 32-
bit dan diperpanjang memori 64-bit. Paket juga memiliki atribut seperti "no snoop",
"Pengurutan santai", dan "prioritas", yang dapat digunakan untuk mengarahkan ini secara
optimal melalui paket subsistem I / O. Ruang alamat dan jenis transaksi TL mendukung
empat ruang alamat yaitu:
■ memory: Ruang memori termasuk memori utama sistem. Ini juga termasuk
Perangkat PCIe I / O. Rentang alamat memori tertentu dipetakan ke perangkat I / O.
■ I / O: Ruang alamat ini digunakan untuk perangkat PCI lama, dengan memori cadangan
rentang alamat yang digunakan untuk menangani perangkat I / O lama.
■ Configuration: Ruang alamat ini memungkinkan TL untuk membaca / menulis konfigurasi
register yang terkait dengan perangkat I / O.
■ Message: Ruang alamat ini untuk sinyal kontrol yang terkait dengan interupsi, kesalahan
penanganan, dan manajemen daya.
Dalam kasus transaksi memori, ada juga fungsi permintaan kunci baca. Operasi
terkunci terjadi akibat driver perangkat yang meminta akses atomik ke register pada alat
PCIe. Pengandar perangkat, misalnya, dapat membaca, memodifikasi, dan kemudian menulis
ke register perangkat. Untuk mencapai ini, pengandar perangkat menyebabkan prosesor
menjalankan instruksi atau set instruksi. Set tertentu instruksi prosesor yang dapat
menyebabkan operasi terkunci terjadi tergantung pada chipset sistem dan arsitektur prosesor.
Untuk menjaga kompabilitas dengan PCI, PCIe mendukung konektor Tipe 0 dan Tipe 1.
Konfigurasi transaksi dikonversi pada tautan tujuan dari Tipe 1 ke Tipe 0 melalui jembatan.
Akhirnya, pesan penyelesaian digunakan dengan transaksi terpisah untuk memori, I / O, dan
konfigurasi transaksi. Perangkat lunak lapisan atas mengirimkan ke TL informasi yang
diperlukan untuk TL inti TLP, yang terdiri dari bidang berikut:
■ Header: Header menjelaskan jenis paket dan mencakup informasi dibutuhkan oleh
penerima untuk memproses paket, termasuk perutean yang diperlukan informasi. Format
tajuk internal dibahas selanjutnya.
■ Data: Bidang data hingga 4096 byte dapat disertakan dalam TLP. Beberapa TLP
tidak berisi bidang data.
■ ECRC: Bidang CRC ujung-ke-ujung opsional memungkinkan lapisan TL tujuan ke
periksa kesalahan di bagian header dan data TLP.
• Lapisan Tautan Data PCIe
Tujuan dari lapisan data link PCIe adalah untuk memastikan pengiriman paket yang andal
melintasi tautan PCIe. DLL berpartisipasi dalam pembentukan TLP dan juga transmisi
DLLP. Paket lapisan tautan data berasal dari tautan data lapisan perangkat transmisi dan
berakhir di DLL perangkat di ujung lain tautan. Saat TLP tiba di perangkat, DLL menghapus
nomor urut LCRC dan memeriksa LCRC. Ada dua kemungkinan:
1. Jika tidak ada kesalahan yang terdeteksi, bagian inti TLP akan diserahkan ke lapisan
lokal transaksi. Jika perangkat penerima ini adalah tujuan yang dimaksudkan, maka
TL memproses TLP. Jika tidak, TL menentukan rute untuk TLP dan meneruskannya
kembali ke DLL untuk transmisi melalui tautan berikutnya dalam perjalanan ke
tujuan.
2. Jika kesalahan terdeteksi, DLL menjadwalkan paket NAK DLL untuk kembali ke
pemancar jarak jauh. TLP dieliminasi. Saat DLL mentransmisikan TLP, DLL
menyimpan salinan TLP. Jika menerima sebuah NAK untuk TLP dengan nomor urut
ini, itu mentransmisikan kembali TLP. Kapan itu menerima ACK, itu membuang TLP
yang di-buffer.

Anda mungkin juga menyukai