Saling Berbagi Itu Indah

Sunday 3 April 2016

Peripheral Component Interconnect (PCI)



Defenisi PCI



Peripheral Component Interconnect (PCI) merupakan bus lokal yang dirancang sebagai bus bandwidth tinggi yang menyediakan jalur data antara CPU dan beberapa perangkat peripheral dengan kinerja tinggi. PCI masih digunakan untuk kartu khusus tertentu, meskipun banyak tugas yang secara tradisional dilakukan oleh kartu ekspansi, sekarang dapat dilakukan sama baiknya oleh perangkat USB. PCI menyediakan jalur data bersama antara CPU dan pengendali peripheral di setiap model komputer, mulai dari laptop hingga mainframe. PCI dikembangkan oleh Intel Corporation, PCI pertama kali digunakan di komputer pada tahun 1993 bersamaan dengan bus ISA selama beberapa tahun. Beralih dari bus lokal  ISA dan VESA, PCI menjadi bus ekspansi standar yang digunakan di PC. Dibandingkan dengan spesifikasi bus lainnya, PCI memberikan sistem yang lebih baik bagi subsistem I/O berkecepatan tinggi (misalnya graphic display adapter, network interface controller, disk controller, dll). Saat ini, kebanyakan komputer hanya memiliki slot PCI dan satu slot AGP untuk adaptor layar.

PCI mendukung 32-bit dan 64-bit jalur data dan dapat berjalan pada kecepatan clock 33 MHz atau 66 MHz. PCI juga memiliki kemampuan untuk mendukung bus mastering. Spesifikasi PCI meliputi ukuran fisik dari bus, termasuk wire spacing, bus timing, karakteristik listrik, dan protokol.  

Perkembangan PCI :
  • PCI 1.0 Juni 1992 memiliki spesifikasi aslinya yang memiliki lebar bus 32 bit atau 64 bit
  • PCI 2.0 April 1993, jenis konektor dan papan ekspansi
  • PCI 2.1 Juni 1995, operasi 66 MHz di berlakukan, perubahan pada latency, adanya fungsi transaction ordering
  • PCI 2.2 Januari 1999, fitur manajemen daya mulai berlaku
  • PCI X.1.0 September 1999, spesifikasi PCI. X 133MHz
  • Mini PCI November 1999 untuk motherboard dengan foam factor yang kecil.
  • PCI 2.3 Maret 20002 pensinyalan 3.3 volt
  • X2.0 Juli 2003 dukungan modus kerja 266 MHz sampai 533 MHz
  • PCI Express 1.0 Juli 2002, cara transmisi serial dengan kecepatan 2500mb/s. Tiap jalur tiap transmisi tiap arah, menggunakan sinyal 0.8 volt yang di desain untuk menggantikan PCI 2.X dalam sistem komputer

Konfigurasi PCI


PCI dirancang untuk mendukung bermacam-macam konfigurasi berbasis microprocessor, baik sistem microprocessor tunggal maupun banyak. PCI memanfaatkan timing sinkron dan pola arbitrasi tersentralisasi.
Standar PCI mencakup kemampuan plug-and-play penuh. Ini berarti BIOS komputer atau sistem operasi dapat menentukan kebutuhan sumber daya (memori, I / O, atau interupsi) dari kartu perangkat secara otomatis dan menetapkan sumber daya agar tidak ada konflik dengan kartu perangkat lainnya.


Struktur Bus


PCI dapat dikonfigurasikan sebagai bus 32-bit atau 64-bit. Ada 50 saluran signal yang diharuskan bagi PCI. Signal-signal ini dibagi menjadi kelompok-kelompok fungsional sebagai berikut:

·      System pins: Meliputi pin waktu dan reset.

·      Address and Data pins: Meliputi 32 saluran yang time-multiplexed bagi alamat dan data. Saluran lainnya di dalam kelompok ini digunakan untuk menginterpretasi dan memvalidasi saluran-saluran signal yang membawa alamat dan data.

·      Interface Control Pins: Mengontrol timing transaksi dan mengkoordinasikan antara inisiator dan target

·      Arbitration Pins: Tidak seperti saluran signal PCI lainnya, pin-pin ini bukan saluran yang dipakai bersama-sama. Melainkan , masing-masing master PCI memiliki pasangan saluran arbitrasinya sendiri yang menghubungkan secar langsung dengan arbiter bus PCI.

·      Error Reporting Pins: Digunakan untuk melaporkan error parity dan error-error lainnya.



Selain itu, spesifikasi PCI mendefinisikan 50 saluran signal optional yang dibagi menjadi kelompok-kelompok fungsional sebagai berikut:

·      Interrupt Pins: Saluran signal ini disediakan bagi perangkat-perangkat PCI yang harus menghasilkan request untuk layanan. Seperti halnya pin arbitrasi, pin-pin ini pun bukan  saluran yang dapat dipakai bersama. Melainkan, masing-masing perangkat PCI memiliki sendiri saluran interrupt ke pengontrol interrupt.

·      Cache Support Pins: Pin-pin ini diperlukan untuk mendukung memori pada PCI yang dapat di cache-kan di dalam processor atau perangkat lainnya. Pin-pin ini mendukung protokol-protokol snoopy cache.

·      64-bit Bus Extension Pins: Meliputi 32 saluran yang merupakan time-multiplexed bagi alamat dan data dan dikombinasikan dengan saluran alamat/data untuk membentuk bus alamat/data 64-bit. Saluran lainnya didalam kelompok ini digunakan untuk menginterpretasi dan memvalidasi salura-saluran signal yang membawa alamat dan data. Terakhir, terdapat dua saluran yang memungkinkan dua buah perangkat PCI untuk menyetujui penggunaan kemampuan 64-bit.

·      JTAG/Boundary Scan Pins: Saluran-saluran signal ini mendukung pengujian prosedur-prosedur yang ditentukan dalam standart 149.1 IEEE.

 

Perintah-Perintah PCI


Aktifitas bus terjadi dalam bentuk  transaksi antara sebuah inisiator, atau master  dengan sebuah target.
Ketika memperoleh kontrol bus, master bus menentukan jenis transaksi yang akan terjadi berikutnya. Selama fase alamat dari suatu transaksi, saluran C/BE dipakai untuk memberikan signal jenis transaksi. Perintah-perintah itu adalah:

1.    Interrupt Acknowledge adalah perintah baca yang ditujukan bagi perangkat yang berfungsi sebagai pengontrol interrupt pada bus PCI. Saluran alamat tidak digunakan selama fase alamat, dan saluran byte enable menunjukkan ukuran interrupt identifier untuk dikembalikan.

2.    Perintah Special Cycle digunakan oleh inisiator untuk melakukan broadcast pesan ke sebuah target atau lebih.

3.    Perintah I/O Read dan I/O Write digunakan untuk melakukan transfer data antara inisiator dengan pengontrol I/O. Setiap perangkat I/O memiliki ruang alamatnya sendiri, dan saluran alamat yang digunakan untuk menunjukkan perangkat tertentu dan untuk menspesifikasikan data yang akan ditransfer ke perangkat itu atau ditransfer dari perangkat tersebut.

4.    Perintah-perintah memory read dan write seperti Memory Read, Memory Read Line, Memory Read Multiple, Memory Write dan Memory Write and Invalidate digunakan untuk menspesifikasikan transfer data, yang menempati satu siklus waktu atau lebih. Interpretasi perintah-perintah ini tergantung pada apakah pengontrol memori pada bus PCI mendukung protokol PCI untuk transfer antara memori dengan cache atau tidak. Bila demikian, transfer data ke memori atau dari memori berada pada saluran cache atau blok. Perintah Memory Write and Invalidate mentransfer data dalam satu siklus waktu atau lebih ke memori. Selain itu, perintah ini menjamin bahwa sedikitnya satu saluran cache akan ditulis. Perintah ini mendukung fungsi cache tentang penulisan kembali ke saluran memori.






5.    Configuration Read dan Configuration Write memungkinkan suatu transfer membaca dan meng-update parameter-parameter konfigurasi pada perangkat yang terhubung ke PCI. Masing-masing perangkat PCI dapat meliputi hingga 256 buah register internal yang digunakan selama inisialisasi sistem untuk mengkonfigurasi perangkat itu.

6.    Perintah Dual Address digunakan oleh inisiator untuk menunjukkan bahwa inisiator memakai pengalamatan 64 bit.



Transfer Data


Setiap transfer data pada bus PCI merupakan transaksi tunggal yang terdiri dari sebuah fase alamat dan satu atau lebih fase data. Disini dijelaskan tentang timing transaksi pembacaan. Semua kejadian disinkronkan dengan transisi balik pewaktu, yang terjadi di tengah-tengah pada setiap siklus waktu. Perangkat bus men-sample saluran bus pada ujung yang naik pada awal siklus bus. Berikut ini adalah kejadian penting Operasi Pembacaan PCI:







a)    Sekali master bus telah memperoleh kontrol bus, maka master bus akan memulai transaksi dengan menegaskan FRAME. Saluran ini akan tetap ditegaskan sampai inisiator siap untuk menyelesaikan fase data yang terakhir. Inisiator juga menaruh alamat awal pada bus alamat, dan membaca perintah pada saluran C/BE.

b)   Pada awal waktu ke -2, perangkat target akan mengetahui alamatnya di saluran AD.

c)    Inisiator berhenti mengendalikan bus AD. Siklus balik (turnaround) diperlukan pada semua saluran signal yang akan dikendalikan oleh lebih dari sebuah perangkat, sehingga penurunan signal alamat akan mempersiapkan bus untuk dipakai oleh perangkat target. Inisiator mengubah informasi pada saluran C/BE untuk memilih saluran AD yang akan digunakan untuk melakukan transfer data beralamat (dari 1 hingga 4 bit) saat itu. Inisiator mengaskan IRDY untuk menandakan bahwa dirinya siap untuk butir data pertama.

d)   Target yang terpilih menunjuk DEVSEL untuk menunjukkan bahwa target telah mengetahui alamatnya dan akan memberikan respon. Target yang terpilih menempatkan data yang diminta saluran AD dan menegaskan TRDY untuk mengindikasikan bahwa data yang valid terdapat pada bus.

e)    Inisiator membaca data pada awal waktu ke-4 dan mengubah saluran enable byte begitu diperlukan dalam persiapan pembacaan berikutnya.

f)     Dalam contoh ini, target membutuhkan beberapa saat untuk mempersiapkan blok kedua untuk transmisi. Karena itu, target melepaskan TRDY untuk memberi signal kepada inisiator bahwa tidak akan terdapat data baru selama siklus berikutnya. Kemudian, inisiator tidak akan membaca saluran data pada awal siklus waktu ke-5 dan tidak mengubah byte enable selama siklus itu. Blok data dibaca pada awal waktu ke-6

g)    Selama waktu ke-6, target menempatkan butir data ketiga pada bus. Namun, dalam contoh ini, inisiator belum siap untuk membaca butir data (misalnya, inisiator mempunyai kondisi penuh buffer sementara). Karena itu inisiator melepaskan IRDY. Hal ini akan menyebabkan target untuk menyediakan butir data ketiga pada bus sklus waktu tambahan.

h)    Inisiator mengetahui bahwa transfer data ketiga adalah yang terakhir, karena itu inisiator melepaskan FRAME untuk memberikan signal ke target bahwa itu merupakan transfer data yang terakhir. Inisiator juga menegaskan IRDY untuk memberikan signal bahwa dirinya siap untuk menyelesaikan transfer tersebut.

i)      Inisiator melepaskan IRDY, yang mengembalikan bus ke keadaan idle, dan target melepaskan TRDY dan DEVSEL.



Arbitrasi


PCI memanfaatkan pola arbitrasi sentral dan sinkron yang masing-masing masternya memiliki request unik (REQ) dan signal grant (GNT). Saluran-saluran signal ini dihubungkan dengan arbitrer sentral dan request-grant handshake sederhana digunakan untuk memberikan akses ke bus.

Spesifikasi PCI tidak mengharuskan algoritma arbitrasi khusus. Arbiter dapat menggunakan pendekatan first-come-first-serve, pendekatan round-robin, atau pola prioritas lainnya. Master PCI harus mengarbitrasi setiap transaksi yang ingin dibentuknya, yaitu sebuah transaksi terdiri dari sebuah fase alamat yang diikuti oleh satu fase data kontigus atau lebih. Langkah-langkah yang terjadi ketika terjadi arbitrasi untuk bus antara perangkat A dan B adalah sbb:

a)    Pada suatu titik sebelum awal waktu ke-1, A telah menegaskan signal REQ-nya. Arbiter men-sample signal ini pada awal siklus waktu ke-1.





PCI Bus Arbiter



b)   Selama siklus waktu ke-1, B membuat request untuk menggunakan bus dengan menegaskan signal REQ-nya

c)    Pada saat yang sama. Arbitrer menegaskan GNT-A untuk memberikan hak akses bus kepada A.

d)   Master bus A men-sample GNT-A pada awal waktu ke-2 dan memeriksa apakah dirinya telah diberi hak mengakses bus. Master bus juga menemukan pelepasan IRDY dan TRDY, yang menandakan bahwa bus tersebut dalam keadaan idle. Setelah itu, master bus menegaskan FRAME dan menempatkan informasi alamat pada bus alamat dan perintah pada bus C/BE. Master bus juga melanjutkan penegasan REQ-A, karena master bus memiliki transaksi kedua yang akan dibentuk setelah transaksi ini.







Arbitrasi Bus PCI antara Dua Master


e)    Arbitrer bus men-sample semua saluran GNT pada awal waktu ke-3 dan membuat keputusan arbitrasi untuk memberikan hak mengakses bus ke B pada transaksi berikutnya. Kemudian arbitrer bus menegaskan GNT-B dan melepaskan GNT-A. B tidak akan dapat menggunakan bus hingga bus itu dikembalikan ke keadaan idle.
f)     A melepaskan FRAME untuk menandakan bahwa transfer data terakhir (dan satu-satunya) sedang dilakukan. A menaruh data pada bus data dan memberi signal ke target dengan IRDY. Target membaca data pada awal siklus waktu berikutnya.
g)    Pada awal waktu ke-5, B menemukan IRDY dan FRAME yang dilepaskan dan karena itu B dapat melakukan kontrol terhadap bus dengan menegaskan FRAME. B juga melepaskan saluran REQ-nya karena B hanya perlu membentuk satu transaksi saja.
Kemudian, master A memberikan hak akses ke bus bagi transaksi berikutnya.
Perlu dicatat bahwa arbitrasi ada pada saat yang sama, ketika master bus saat itu sedang melakukan transfer data. Sehingga, tidak akan terdapat siklus bus yang hilang dalam pembentukan arbitrasi. Hal ini dikenal sebagai hidden arbitration (arbitrasi tersembunyi).


  
Sumber-sumber:
Stallings, William. 1998. Organisasi dan Arsitektur Komputer. Jakarta: PT. Prenhallindo.
http://www.meinberg.in/support/information/pci-pcix-bus.htm

Sumber gambar :
PCI Bus Arbiter                                     : http://www.slideshare.net/jeanie_d_a/03-buses
Arbitrasi Bus PCI antara Dua Master     : http://slideplayer.com/slide/5157751/



0 komentar:

Post a Comment

Translate

Popular Posts

Tutorial Bootstrap

Tutorial Bootstrap
>>> Klik Gambar untuk Mendownload File Tutorial Bootstrap 3 dan 4.

Presentation Input - Output System

Presentation Input - Output System
>>> Klik Gambar untuk Mendownload File Microsoft PowerPoint.

Project Sederhana Basis Data

Project Sederhana Basis Data
>>> Klik Gambar untuk Mendownload File Microsoft Access.

QR Code Kartu Nama

QR Code Kartu Nama
Kode QR atau biasa dikenal dengan istilah QR Code adalah bentuk evolusi kode batang dari satu dimensi menjadi dua dimensi. QR merupakan singkatan dari quick response atau respons cepat, yang sesuai dengan tujuannya adalah untuk menyampaikan informasi dengan cepat dan mendapatkan respons yang cepat juga. Berbeda dengan kode batang, yang hanya menyimpan informasi secara horizontal, kode QR mampu menyimpan informasi secara horizontal dan vertikal, oleh karena itu secara otomatis Kode QR dapat menampung informasi yang lebih banyak daripada kode batang.
bayusujatmoko. Powered by Blogger.