61
PCI konvensional (PCI adalah initialism terbentuk dari Peripheral Component Interconnect [1] , bagian dari standar PCI Bus Lokal dan sering disingkat PCI) merupakan bus komputer untuk memasang perangkat keras dalam sebuah komputer . These devices can take either the form of an integrated circuit fitted onto the motherboard itself, called a planar device in the PCI specification, or an expansion card that fits into a slot. Perangkat ini dapat mengambil baik bentuk sirkuit terpadu dipasang ke motherboard itu sendiri, yang disebut perangkat planar dalam spesifikasi PCI, atau kartu ekspansi yang sesuai ke slot. The PCI Local Bus is common in modern PCs , where it has displaced ISA and VESA Local Bus as the standard expansion bus, and it also appears in many other computer types. PCI Local Bus adalah umum di modern PC , dimana telah terlantar ISA dan Lokal Bus VESA sebagai standar bus ekspansi, dan juga muncul dalam banyak jenis komputer lainnya. Despite the availability of faster interfaces such as PCI-X and PCI Express , conventional PCI remains a very common interface. Meskipun ketersediaan interface lebih cepat seperti PCI-X dan PCI Express , PCI konvensional tetap menjadi antarmuka yang sangat umum. The PCI specification covers the physical size of the bus (including the size and spacing of the circuit board edge electrical contacts), electrical characteristics, bus timing, and protocols. Spesifikasi PCI meliputi ukuran fisik dari bus (termasuk ukuran dan jarak kontak tepi papan sirkuit listrik), karakteristik listrik, waktu bus, dan protokol. The specification can be purchased from the PCI Special Interest Group (PCI-SIG). Spesifikasi dapat dibeli dari PCI Special Interest Group (PCI- SIG). Typical PCI cards used in PCs include: network cards , sound cards , modems , extra ports such as USB or serial , TV tuner cards and disk controllers . Khas PCI kartu yang digunakan di PC termasuk: kartu jaringan , kartu suara , modem , port tambahan seperti USB atau serial , kartu TV tuner dan kontroler disk . Historically video cards were typically PCI devices, but growing bandwidth requirements soon outgrew the capabilities of PCI. Sejarah kartu video yang biasanya perangkat PCI, namun kebutuhan

PCI konvensional

Embed Size (px)

Citation preview

Page 1: PCI konvensional

PCI konvensional (PCI adalah initialism terbentuk dari Peripheral Component Interconnect [1] , bagian dari standar PCI Bus Lokal dan sering disingkat PCI) merupakan bus komputer untuk memasang perangkat keras dalam sebuah komputer . These devices can take either the form of an integrated circuit fitted onto the motherboard itself, called a planar device in the PCI specification, or an expansion card that fits into a slot. Perangkat ini dapat mengambil baik bentuk sirkuit terpadu dipasang ke motherboard itu sendiri, yang disebut perangkat planar dalam spesifikasi PCI, atau kartu ekspansi yang sesuai ke slot. The PCI Local Bus is common in modern PCs , where it has displaced ISA and VESA Local Bus as the standard expansion bus, and it also appears in many other computer types. PCI Local Bus adalah umum di modern PC , dimana telah terlantar ISA dan Lokal Bus VESA sebagai standar bus ekspansi, dan juga muncul dalam banyak jenis komputer lainnya. Despite the availability of faster interfaces such as PCI-X and PCI Express , conventional PCI remains a very common interface. Meskipun ketersediaan interface lebih cepat seperti PCI-X dan PCI Express , PCI konvensional tetap menjadi antarmuka yang sangat umum.

The PCI specification covers the physical size of the bus (including the size and spacing of the circuit board edge electrical contacts), electrical characteristics, bus timing, and protocols. Spesifikasi PCI meliputi ukuran fisik dari bus (termasuk ukuran dan jarak kontak tepi papan sirkuit listrik), karakteristik listrik, waktu bus, dan protokol. The specification can be purchased from the PCI Special Interest Group (PCI-SIG). Spesifikasi dapat dibeli dari PCI Special Interest Group (PCI-SIG).

Typical PCI cards used in PCs include: network cards , sound cards , modems , extra ports such as USB or serial , TV tuner cards and disk controllers . Khas PCI kartu yang digunakan di PC termasuk: kartu jaringan , kartu suara , modem , port tambahan seperti USB atau serial , kartu TV tuner dan kontroler disk . Historically video cards were typically PCI devices, but growing bandwidth requirements soon outgrew the capabilities of PCI. Sejarah kartu video yang biasanya perangkat PCI, namun kebutuhan bandwidth yang tumbuh segera outgrew kemampuan PCI. PCI video cards remain available for supporting extra monitors and upgrading PCs that do not have any AGP or PCI Express slots. [ 2 ] kartu video PCI tetap tersedia untuk mendukung monitor tambahan dan upgrade PC yang tidak memiliki AGP atau slot PCI Express. [2]

Many devices traditionally provided on expansion cards are now commonly integrated onto the motherboard itself, meaning that modern PCs often have no cards fitted. Banyak perangkat tradisional yang diberikan pada kartu ekspansi sekarang umum terintegrasi ke motherboard itu sendiri, yang berarti bahwa PC modern tidak memiliki kartu dipasang. However, PCI is still used for certain specialized cards, although many tasks traditionally performed by expansion cards may now be performed equally well by USB devices. Namun, PCI masih digunakan untuk kartu khusus tertentu, walaupun banyak tugas yang secara tradisional dilakukan oleh kartu ekspansi sekarang dapat dilakukan sama baiknya oleh perangkat USB.

Contents Isi

[hide]

1 History 1 Sejarah

Page 2: PCI konvensional

2 Auto Configuration 2 Auto Configuration 3 Interrupts 3 menyela 4 Conventional hardware specifications 4 spesifikasi hardware Konvensional

o 4.1 Card keying 4.1 Kartu keying o 4.2 Connector pinout 4.2 Konektor pinout

5 Physical card dimensions 5 dimensi kartu Fisik o 5.1 Full-size card 5.1 Full-ukuran kartu o 5.2 Card backplate 5.2 Kartu backplate o 5.3 Half-length extension card (de-facto standard) 5.3 Setengah-panjang ekstensi

kartu (de-facto standar) o 5.4 Low-profile (half-height) card Low-profile 5.4 (setengah-tinggi) kartu o 5.5 Mini PCI 5.5 Mini PCI

5.5.1 Technical details of Mini PCI 5.5.1 Teknis rincian Mini PCI o 5.6 Other physical variations 5.6 Variasi lain fisik

6 PCI bus transactions 6 PCI bus transaksi o 6.1 PCI address spaces 6.1 PCI ruang alamat o 6.2 PCI command codes PCI 6.2 perintah kode

7 PCI bus signals 7 PCI bus sinyal o 7.1 Signal timing 7.1 Sinyal waktu o 7.2 Arbitration 7.2 Arbitrase o 7.3 Address phase 7.3 Alamat fase

7.3.1 Address phase timing 7.3.1 Alamat fase waktu 7.3.2 Dual-cycle address 7.3.2 Dual-siklus alamat 7.3.3 Configuration access 7.3.3 Konfigurasi akses

o 7.4 Data phases 7.4 Data fase 7.4.1 Fast DEVSEL# on reads 7.4.1 Cepat DEVSEL # pada reads

o 7.5 Ending transactions 7,5 Akhir transaksi 7.5.1 Initiator burst termination 7.5.1 Inisiator meledak pemutusan 7.5.2 Target burst termination 7.5.2 Target meledak pemutusan

o 7.6 Burst addressing 7.6 Burst menangani o 7.7 Transaction examples 7.7 Transaksi contoh o 7.8 Parity 7.8 Paritas o 7.9 Fast back-to-back transactions 7.9 Fast-to-back transaksi kembali o 7.10 64-bit PCI 7.10 64-bit PCI o 7.11 Cache snooping (obsolete) 7.11 Cache mengintai (usang)

8 Development tools 8 Pengembangan alat 9 See also 9 Lihat juga 10 References 10 Referensi 11 External links 11 Pranala luar

[ edit ] History [ sunting ] Sejarah

Work on PCI began at Intel 's Architecture Development Lab circa 1990. Bekerja pada PCI dimulai pada Intel 's Arsitektur Pengembangan Lab sekitar tahun 1990.

Page 3: PCI konvensional

A team of Intel engineers (composed primarily of ADL engineers) defined the architecture and developed a proof of concept chipset and platform (Saturn) partnering with teams in the company's desktop PC systems and core logic product organizations. Sebuah tim insinyur Intel (terutama terdiri dari insinyur ADL) mendefinisikan arsitektur dan mengembangkan bukti chipset konsep dan platform (Saturnus) bermitra dengan tim dalam sistem desktop perusahaan PC dan organisasi logika inti produk. The original PCI architecture team included, among others, Dave Carson, Norm Rasmussen, Brad Hosler, Ed Solari, Bruce Young, Gary Solomon, Ali Oztaskin, Tom Sakoda, Rich Haslam, Jeff Rabe, and Steve Fischer. Tim PCI arsitektur asli termasuk, antara lain, Dave Carson, Norm Rasmussen, Brad Hosler, Ed Solari, Bruce Young, Gary Salomo, Ali Oztaskin, Tom Sakoda, Rich Haslam, Jeff rabe, dan Steve Fischer.

PCI (Peripheral Component Interconnect) was immediately put to use in servers, replacing MCA and EISA as the server expansion bus of choice. PCI (Peripheral Component Interconnect) segera dimasukkan untuk digunakan dalam server, menggantikan MCA dan EISA sebagai bus ekspansi server pilihan. In mainstream PCs, PCI was slower to replace VESA Local Bus (VLB), and did not gain significant market penetration until late 1994 in second-generation Pentium PCs. Dalam PC mainstream, PCI lebih lambat untuk menggantikan VESA Local Bus (VLB), dan tidak mendapatkan penetrasi pasar yang signifikan sampai akhir tahun 1994 di generasi kedua Pentium PC. By 1996 VLB was all but extinct, and manufacturers had adopted PCI even for 486 computers. [ 3 ] EISA continued to be used alongside PCI through 2000. Apple Computer adopted PCI for professional Power Macintosh computers (replacing NuBus ) in mid-1995, and the consumer Performa product line (replacing LC PDS ) in mid-1996. Pada tahun 1996 VLB semua tapi punah, dan produsen telah mengadopsi PCI bahkan untuk 486 komputer. [3] EISA terus digunakan bersama PCI hingga tahun 2000. Apple Computer PCI diadopsi untuk profesional Macintosh Power komputer (menggantikan NuBus ) pada pertengahan tahun 1995, dan konsumen Performa lini produk (menggantikan LC PDS ) pada pertengahan 1996.

Later revisions of PCI added new features and performance improvements, including a 66 MHz 3.3 V standard and 133 MHz PCI-X , and the adaptation of PCI signaling to other form factors. Kemudian revisi dari PCI menambahkan fitur baru dan perbaikan kinerja, termasuk 66 MHz 3,3 V standar dan 133 MHz PCI-X , dan adaptasi dari PCI signaling faktor bentuk lain. Both PCI-X 1.0b and PCI-X 2.0 are backward compatible with some PCI standards. Kedua 1.0b PCI-X dan PCI-X 2.0 yang kompatibel dengan beberapa standar PCI.

The PCI-SIG introduced the serial PCI Express in 2004. PCI-SIG memperkenalkan seri PCI Express pada tahun 2004. At the same time they renamed PCI as Conventional PCI . Pada saat yang sama mereka diganti PCI sebagai PCI konvensional. Since then, motherboard manufacturers have included progressively fewer Conventional PCI slots in favor of the new standard. Sejak itu, produsen motherboard telah memasukkan semakin sedikit slot PCI konvensional dalam mendukung standar baru.

[ edit ] Auto Configuration [ sunting ] Auto Configuration

PCI provides separate memory and I/O port address spaces for the x86 processor family, 64 and 32 bits , respectively. PCI menyediakan memori terpisah dan I / O port ruang alamat untuk x86 keluarga prosesor, 64 dan 32 bit , masing-masing. Addresses in these address spaces are assigned

Page 4: PCI konvensional

by software. Alamat dalam ruang alamat ditugaskan oleh perangkat lunak. A third address space, called the PCI Configuration Space , which uses a fixed addressing scheme, allows software to determine the amount of memory and I/O address space needed by each device. Sebuah ruang alamat ketiga, disebut PCI Konfigurasi Space , yang menggunakan skema pengalamatan tetap, memungkinkan perangkat lunak untuk menentukan jumlah memori dan I / O address space yang dibutuhkan oleh masing-masing perangkat. Each device can request up to six areas of memory space or I/O port space via its configuration space registers. Setiap perangkat dapat meminta sampai enam area ruang memori atau I / O port ruang melalui ruang register konfigurasi.

In a typical system, the firmware (or operating system ) queries all PCI buses at startup time (via PCI Configuration Space ) to find out what devices are present and what system resources (memory space, I/O space, interrupt lines, etc.) each needs. Dalam sistem yang khas, yang firmware (atau sistem operasi ) query semua bus PCI pada waktu startup (via PCI Configuration Space ) untuk mencari tahu apa perangkat hadir dan apa sumber daya sistem (ruang memori, I / O ruang, garis interrupt, dll ) setiap kebutuhan. It then allocates the resources and tells each device what its allocation is. Kemudian mengalokasikan sumber daya dan memberitahu setiap perangkat apa alokasi adalah.

The PCI configuration space also contains a small amount of device type information, which helps an operating system choose device drivers for it, or at least to have a dialogue with a user about the system configuration. Ruang konfigurasi PCI juga mengandung sejumlah kecil informasi jenis perangkat, yang membantu sistem operasi memilih device driver untuk itu, atau setidaknya untuk berdialog dengan pengguna tentang konfigurasi sistem.

Devices may have an on-board ROM containing executable code for x86 or PA-RISC processors, an Open Firmware driver, or an EFI driver. Perangkat mungkin memiliki on-board ROM yang berisi kode executable untuk x86 atau PA-RISC prosesor, sebuah Open Firmware driver, atau EFI driver. These are typically necessary for devices used during system startup, before device drivers are loaded by the operating system. Ini biasanya diperlukan untuk perangkat yang digunakan ketika startup sistem, sebelum driver perangkat dimuat oleh sistem operasi.

In addition there are PCI Latency Timers that are a mechanism for PCI Bus-Mastering devices to share the PCI bus fairly. Selain itu ada PCI Latency Timer yang merupakan mekanisme untuk PCI Bus-Menguasai perangkat untuk berbagi PCI bus cukup. "Fair" in this case means that devices won't use such a large portion of the available PCI bus bandwidth that other devices aren't able to get needed work done. "Fair" dalam hal ini berarti bahwa perangkat tidak akan menggunakan seperti sebagian besar bandwidth bus PCI yang tersedia yang perangkat lain tidak bisa mendapatkan pekerjaan yang dibutuhkan. Note, this does not apply to PCI Express. Catatan, ini tidak berlaku untuk PCI Express.

How this works is that each PCI device that can operate in bus-master mode is required to implement a timer, called the Latency Timer, that limits the time that device can hold the PCI bus. Bagaimana ini bekerja adalah bahwa masing-masing perangkat PCI yang dapat beroperasi dalam mode bus-master diperlukan untuk mengimplementasikan timer, disebut Latency Timer, yang membatasi saat perangkat tersebut dapat terus bus PCI. The timer starts when the device

Page 5: PCI konvensional

gains bus ownership, and counts down at the rate of the PCI clock. Timer dimulai ketika kepemilikan perangkat keuntungan bus, dan menghitung mundur pada tingkat dari jam PCI. When the counter reaches zero, the device is required to release the bus. Saat counter mencapai nol, perangkat yang diperlukan untuk melepaskan bus. If no other devices are waiting for bus ownership, it may simply grab the bus again and transfer more data. [ 4 ] Jika tidak ada perangkat lain yang menunggu bus kepemilikan, itu hanya bisa ambil bus lagi dan transfer data yang lebih. [4]

[ edit ] Interrupts [ sunting ] interupsi

Devices are required to follow a protocol so that the interrupt lines can be shared. Perangkat yang dibutuhkan untuk mengikuti protokol sehingga mengganggu baris bisa dibagi. The PCI bus includes four interrupt lines, all of which are available to each device. Bus PCI mencakup empat baris interupsi, semua yang tersedia untuk setiap perangkat. However, they are not wired in parallel as are the other PCI bus lines. Namun, mereka tidak kabel secara paralel sebagai adalah jalur bus PCI lain. The positions of the interrupt lines rotate between slots, so what appears to one device as the INTA# line is INTB# to the next and INTC# to the one after that. Posisi garis mengganggu memutar antara slot, jadi apa yang muncul ke satu perangkat sebagai INTA # line INTB # ke depan dan INTC # untuk satu setelah itu. Single-function devices use their INTA# for interrupt signaling, so the device load is spread fairly evenly across the four available interrupt lines. Single-fungsi perangkat penggunaannya INTA # untuk mengganggu sinyal, sehingga beban perangkat tersebar cukup merata di empat baris interupsi tersedia. This alleviates a common problem with sharing interrupts. Hal ini meredakan masalah umum dengan melakukan sharing interrupt.

PCI bridges (between two PCI buses) map the four interrupt traces on each of their sides in varying ways. PCI jembatan (antara dua bus PCI) peta empat jejak mengganggu pada setiap sisi mereka dalam berbagai cara. Some bridges use a fixed mapping, and in others it is configurable. Beberapa jembatan menggunakan pemetaan tetap, dan di lain itu dikonfigurasi. In the general case, software cannot determine which interrupt line a device's INTA# pin is connected to across a bridge. Dalam kasus umum, software tidak dapat menentukan jalur yang mengganggu INTA # pin perangkat tersambung ke melintasi jembatan. The mapping of PCI interrupt lines onto system interrupt lines, through the PCI host bridge, is similarly implementation-dependent. Pemetaan garis PCI mengganggu pada baris mengganggu sistem, melalui jembatan host PCI, juga sama tergantung dari implementasi. The result is that it can be impossible to determine how a PCI device's interrupts will appear to software. Hasilnya adalah bahwa hal itu dapat tidak mungkin untuk menentukan bagaimana perangkat PCI interrupts akan muncul untuk perangkat lunak. Platform-specific BIOS code is meant to know this, and set a field in each device's configuration space indicating which IRQ it is connected to, but this process is not reliable. Platform-khusus kode BIOS dimaksudkan untuk mengetahui hal ini, dan menetapkan lapangan dalam ruang konfigurasi masing-masing perangkat yang menunjukkan IRQ terhubung ke, namun proses ini tidak dapat diandalkan.

PCI interrupt lines are level-triggered . mengganggu garis PCI tingkat-dipicu . This was chosen over edge-triggering in order to gain an advantage when servicing a shared interrupt line, and for robustness: edge triggered interrupts are easy to miss. Ini dipilih lebih dari tepi-memicu untuk

Page 6: PCI konvensional

mendapatkan keuntungan ketika melayani garis interupsi bersama, dan untuk ketahanan: tepi dipicu interupsi mudah untuk dilewatkan.

Later revisions of the PCI specification add support for message-signaled interrupts . Kemudian revisi dari spesifikasi PCI menambahkan dukungan untuk pesan-interrupts sinyal . In this system a device signals its need for service by performing a memory write, rather than by asserting a dedicated line. Dalam sistem ini perangkat sinyal kebutuhan untuk layanan dengan melakukan memori menulis, bukan dengan menegaskan dedicated line. This alleviates the problem of scarcity of interrupt lines. Hal ini meredakan masalah kelangkaan garis mengganggu. Even if interrupt vectors are still shared, it does not suffer the sharing problems of level-triggered interrupts. Bahkan jika vektor interupsi masih bersama, tidak mengalami masalah berbagi tingkat-dipicu interrupt. It also resolves the routing problem, because the memory write is not unpredictably modified between device and host. Hal ini juga mengatasi masalah routing, karena memori menulis tidak terduga diubah antara perangkat dan tuan rumah. Finally, because the message signaling is in-band , it resolves some synchronization problems that can occur with posted writes and out-of-band interrupt lines. Akhirnya, karena pesan signaling di-band , ini menyelesaikan masalah sinkronisasi beberapa yang dapat terjadi dengan diposting menulis dan out-of-band baris interupsi.

PCI Express does not have physical interrupt lines at all. PCI Express tidak memiliki garis mengganggu fisik sama sekali. It uses message-signaled interrupts exclusively. Menggunakan pesan-isyarat menyela eksklusif.

[ edit ] Conventional hardware specifications [ sunting ] spesifikasi hardware Konvensional

Diagram showing the different key positions for 32-bit and 64-bit PCI cards Diagram menunjukkan posisi kunci yang berbeda untuk 32-bit dan 64-bit PCI card

These specifications represent the most common version of PCI used in normal PCs. Spesifikasi ini merupakan versi yang paling umum dari PCI yang digunakan di PC normal.

Page 7: PCI konvensional

33.33 MHz clock with synchronous transfers 33,33 MHz jam dengan synchronous transfer

peak transfer rate of 133 MB /s (133 megabytes per second) for 32-bit bus width (33.33 MHz × 32 bits ÷ 8 bits/byte = 133 MB/s) puncak transfer rate sebesar 133 MB / s (133 megabyte per detik) untuk bit bus lebar-32 (33,33 MHz ÷ × 32 bit 8 bit / byte = 133 MB / s)

32-bit bus width 32-bit bus lebar 32- or 64-bit memory address space (4 gigabytes or 16 exabytes ) 32 - atau 64-bit ruang

alamat memori (4 gigabyte atau 16 exabyte ) 32-bit I/O port space 32-bit I / O port ruang 256- byte (per device) configuration space 256 - byte (per perangkat) ruang konfigurasi 5-volt signaling 5-volt sinyal reflected-wave switching tercermin gelombang switching

The PCI specification also provides options for 3.3 V signaling, 64-bit bus width, and 66 MHz clocking, but these are not commonly encountered outside of PCI-X support on server motherboards. Spesifikasi PCI juga menyediakan pilihan untuk 3.3 V signaling, 64-bit bus lebar, dan 66 MHz clocking, tetapi ini tidak umum ditemui di luar-X dukungan PCI pada motherboard server.

The PCI bus arbiter performs bus arbitration among multiple masters on the PCI bus. PCI bus arbiter melakukan arbitrase bus antara beberapa master pada bus PCI. Any number of bus masters can reside on the PCI bus, as well as requests for the bus. Sejumlah master bus bisa berada di dalam bus PCI, serta permintaan untuk bus. One pair of request and grant signals is dedicated to each bus master. Sepasang permintaan dan sinyal hibah didedikasikan untuk setiap bus master.

[ edit ] Card keying [ sunting ] keying Card

A PCI-X Gigabit Ethernet expansion card. A PCI-X Gigabit Ethernet kartu ekspansi. Note both 5 V and 3.3 V support notches are present. Catatan baik 5 V dan 3,3 V takik dukungan yang hadir.

Typical PCI cards present either one or two key notches, depending on their signaling voltage. Khas PCI kartu hadir baik satu atau dua takik kunci, tergantung pada tegangan sinyal mereka. Cards requiring 3.3 volts have a notch 56.21 mm from the front of the card (where the external connectors are) while those requiring 5 volts have a notch 104.47 mm from the front of the card. Kartu membutuhkan 3,3 volt memiliki 56,21 mm takik dari bagian depan kartu (dimana konektor

Page 8: PCI konvensional

eksternal), sedangkan yang memerlukan 5 volt memiliki 104,47 mm takik dari bagian depan kartu. So called "Universal cards" have both key notches and can accept both types of signal. Yang disebut "kartu Universal" memiliki kedua takik kunci dan dapat menerima kedua jenis sinyal.

[ edit ] Connector pinout [ sunting ] pinout Connector

The PCI connector is defined as having 62 contacts on each side of the edge connector , but two or four of them are replaced by key notches, so a card has 60 or 58 contacts on each side. Konektor PCI didefinisikan sebagai memiliki 62 kontak pada setiap sisi konektor tepi , tetapi dua atau empat dari mereka yang diganti dengan takik kunci, jadi kartu telah atau kontak 58 60 di setiap sisi. Pin 1 is closest to the backplate. Pin 1 adalah yang terdekat dengan bagian punggungnya. B and A sides are as follows, looking down into the motherboard connector. [ 5 ] [ 6 ]

[ 7 ] B dan A sisi adalah sebagai berikut, memandang ke bawah ke konektor motherboard. [5] [6] [7]

32-bit PCI connector pinout 32-bit PCI pinout konektor Pin Pin

Side B Side B Side A Side A Comments Komentar

1 1 −12V -12V TRST# TRST # JTAG port pins (optional) JTAG port pin (opsional)

2 2 TCK TCK +12V +12 V 3 3 Ground Tanah TMS TMS 4 4 TDO KPP TDI TDI 5 5 +5V +5 V +5V +5 V 6 6 +5V +5 V INTA# INTA #

Interrupt lines (open-drain) Interrupt baris (open-drain)

7 7 INTB# INTB # INTC# INTC # 8 8 INTD# INTD # +5V +5 V

9 9 PRSNT1# PRSNT1

# Reserved Cadangan

Pulled low to indicate 7.5 or 25 W power required Ditarik rendah untuk menunjukkan 7,5 atau 25 W diperlukan daya

10 10

Reserved Cadangan IOPWR IOPWR +5V or +3.3V +5 V atau 3,3 V

11 11

PRSNT2# PRSNT2 #

Reserved Cadangan Pulled low to indicate 7.5 or 15 W power required Ditarik rendah untuk menunjukkan 7,5 atau 15 W diperlukan daya

12 12

Ground Tanah Ground Tanah Key notch for 3.3V-capable cards Takik kunci untuk kartu 3.3V-mampu 13

13 Ground Tanah Ground Tanah

14 14

Reserved Cadangan 3.3Vaux 3.3Vaux Standby power (optional) Siaga daya (opsional)

15 15

Ground Tanah RST# RST # Bus reset Bus reset

16 16

CLK CLK IOPWR IOPWR 33/66 MHz clock 33/66 MHz clock

Page 9: PCI konvensional

17 17

Ground Tanah GNT# GNT # Bus grant from motherboard to card Bus hibah dari motherboard ke kartu

18 18

REQ# Req # Ground Tanah Bus request from card to motherboard Bus permintaan dari kartu dengan motherboard

19 19

IOPWR IOPWR PME# PME # Power management event (optional) Power management event (opsional)

20 20

AD[31] AD [31] AD[30] AD [30]

Address/data bus (upper half) Alamat / Data bus (bagian atas)

21 21

AD[29] AD [29] +3.3V 3,3 V

22 22

Ground Tanah AD[28] AD [28]

23 23

AD[27] AD [27] AD[26] AD [26]

24 24

AD[25] AD [25] Ground Tanah

25 25

+3.3V 3,3 V AD[24] AD [24]

26 26

C/BE[3]# C / BE [3] #

IDSEL IDSEL

27 27

AD[23] AD [23] +3.3V 3,3 V

28 28

Ground Tanah AD[22] AD [22]

29 29

AD[21] AD [21] AD[20] AD [20]

30 30

AD[19] AD [19] Ground Tanah

31 31

+3.3V 3,3 V AD[18] AD [18]

32 32

AD[17] AD [17] AD[16] AD [16]

33 33

C/BE[2]# C / BE [2] #

+3.3V 3,3 V

34 34

Ground Tanah FRAME# FRAME # Bus transfer in progress Bus transfer dalam penyelesaian

35 35

IRDY# IRDY # Ground Tanah Initiator ready Inisiator siap

36 36

+3.3V 3,3 V TRDY# TRDY # Target ready Target siap

37 37

DEVSEL# DEVSEL #

Ground Tanah Target selected Target dipilih

38 38

Ground Tanah STOP# STOP # Target requests halt Target permintaan berhenti

Page 10: PCI konvensional

39 39

LOCK# LOCK # +3.3V 3,3 V Locked transaction Dikunci transaksi

40 40

PERR# PERR # SMBCLK SMBCLK

SDONE SDONE

Parity error; SMBus clock or Snoop done (obsolete) Paritas kesalahan; SMBus jam atau Snoop dilakukan (usang)

41 41

+3.3V 3,3 V SMBDAT SMBDAT

SBO# SBO #

SMBus data or Snoop backoff (obsolete) SMBus data atau backoff Snoop (usang)

42 42

SERR# SERR # Ground Tanah System error Kesalahan sistem

43 43

+3.3V 3,3 V PAR PAR Even parity over AD[31:00] and C/BE[3:0]# Bahkan paritas lebih dari AD [31:00] dan C / BE [03:00] #

44 44

C/BE[1]# C / BE [1] #

AD[15] AD [15]

Address/data bus (lower half) Alamat / Data bus (setengah lebih rendah)

45 45

AD[14] AD [14] +3.3V 3,3 V

46 46

Ground Tanah AD[13] AD [13]

47 47

AD[12] AD [12] AD[11] AD [11]

48 48

AD[10] AD [10] Ground Tanah

49 49

M66EN M66EN

Ground Tanah

AD[09] AD [09]

50 50

Ground Tanah Ground Tanah Key notch for 5V-capable cards Takik kunci untuk kartu 5V-mampu 51

51 Ground Tanah Ground Tanah

52 52

AD[08] AD [08] C/BE[0]# C / BE [0] #

Address/data bus (lower half) Alamat / Data bus (setengah lebih rendah)

53 53

AD[07] AD [07] +3.3V 3,3 V

54 54

+3.3V 3,3 V AD[06] AD [06]

55 55

AD[05] AD [05] AD[04] AD [04]

56 56

AD[03] AD [03] Ground Tanah

57 57

Ground Tanah AD[02] AD [02]

58 58

AD[01] AD [01] AD[00] AD [00]

59 59

IOPWR IOPWR IOPWR IOPWR

Page 11: PCI konvensional

60 60

ACK64# ACK64 # REQ64# REQ64 # For 64-bit extension; no connect for 32-bit devices. Untuk ekstensi 64-bit, tidak terhubung untuk perangkat 32-bit.

61 61

+5V +5 V +5V +5 V

62 62

+5V +5 V +5V +5 V

64-bit PCI extends this by an additional 32 contacts on each side which provide AD[63:32], C/BE[7:4]#, the PAR64 parity signal, and a number of power and ground pins. PCI 64-bit meluas ini oleh 32 kontak tambahan pada setiap sisi yang menyediakan AD [63:32], C / BE [07:04] #, sinyal paritas par64, dan sejumlah pin kekuasaan dan tanah.

Legend Legenda Ground pin Ground

pin Zero volt reference Nol volt referensi

Power pin Power pin Supplies power to the PCI card Pasokan listrik ke kartu PCI Output pin Output

pin Driven by the PCI card, received by the motherboard Didorong oleh kartu PCI, diterima oleh motherboard

Initiator output Inisiator output

Driven by the master/initiator, received by the target Didorong oleh master / inisiator, diterima oleh target

I/O signal Aku sinyal / O

May be driven by initiator or target, depending on operation Mungkin didorong oleh inisiator atau target, tergantung pada operasi

Target output Target output

Driven by the target, received by the initiator/master Didorong oleh target, diterima oleh pemrakarsa / master

Input Input Driven by the motherboard, received by the PCI card Didorong oleh motherboard, diterima oleh kartu PCI

Open drain Buka drain

May be pulled low and/or sensed by multiple cards Mungkin ditarik rendah dan / atau dibaca oleh beberapa kartu

Reserved Cadangan Not presently used, do not connect Tidak saat ini digunakan, tidak terhubung

Most lines are connected to each slot in parallel. Sebagian besar garis saling terhubung satu slot secara paralel. The exceptions are: Pengecualian adalah:

Each slot has its own REQ# output to, and GNT# input from the motherboard arbiter. Setiap slot output sendiri REQ # untuk, dan GNT # masukan dari wasit motherboard.

Each slot has its own IDSEL line, usually connected to a specific AD line. Setiap slot IDSEL sendiri garis, biasanya terhubung ke saluran AD yang spesifik.

TDO is daisy-chained to the following slot's TDI. KPP adalah daisy-dirantai ke slot berikutnya TDI. Cards without JTAG support must connect TDI to TDO so as not to break the chain. Kartu tanpa JTAG dukungan harus terhubung TDI ke KPP sehingga tidak pecah rantai.

PRSNT1# and PRSNT2# for each slot have their own pull-up resistors on the motherboard. PRSNT1 # dan PRSNT2 # untuk slot masing-masing memiliki sendiri pull-

Page 12: PCI konvensional

up resistor pada motherboard. The motherboard may (but does not have to) sense these pins to determine the presence of PCI cards and their power requirements. Motherboard ini dapat (tetapi tidak harus) pengertian pin ini untuk menentukan adanya kartu PCI dan kebutuhan tenaga mereka.

REQ64# and ACK64# are individually pulled up on 32-bit only slots. REQ64 # dan ACK64 # secara individual berhenti di slot hanya 32-bit.

The interrupt lines INTA# through INTD# are connected to all slots in different orders. Garis mengganggu INTA # melalui INTD # yang terhubung ke semua slot dalam urutan yang berbeda. (INTA# on one slot is INTB# on the next and INTC# on the one after that.) (INTA # pada satu slot INTB # di bagian berikutnya dan INTC # pada satu setelah itu.)

Notes: Catatan:

IOPWR is +3.3V or +5V, depending on the backplane. IOPWR adalah 3,3 V atau +5 V, tergantung pada backplane. The slots also have a ridge in one of two places which prevents insertion of cards that do not have the corresponding key notch, indicating support for that voltage standard. Slot juga memiliki tonjolan di salah satu dari dua tempat yang mencegah penyisipan kartu yang tidak memiliki takik tombol yang sesuai, yang menunjukkan dukungan untuk itu standar tegangan. Universal cards have both key notches and use IOPWR to determine their I/O signal levels. kartu Universal memiliki kedua takik kunci dan menggunakan IOPWR untuk menentukan saya mereka / tingkat sinyal O.

The PCI SIG strongly encourages 3.3 V PCI signaling, [ 6 ] requiring support for it since standard revision 2.3, [ 5 ] but most PC motherboards use the 5 V variant. PCI SIG sangat mendorong 3.3 V PCI signaling, [6] yang membutuhkan dukungan untuk itu sejak 2,3 standar, revisi [5] tetapi motherboard PC kebanyakan menggunakan V varian 5. Thus, while many currently available PCI cards support both, and have two key notches to indicate that, there are still a large number of 5 V-only cards on the market. Jadi, sementara banyak saat ini tersedia kartu PCI mendukung kedua, dan memiliki dua takik kunci untuk menunjukkan bahwa, masih ada sejumlah besar 5 kartu V-satunya di pasar.

The M66EN pin is an additional ground on 5V PCI buses found in most PC motherboards. Pin M66EN adalah tanah tambahan pada 5V PCI bus ditemukan di motherboard PC yang paling. Cards and motherboards that do not support 66 MHz operation also ground this pin. Kartu dan motherboard yang tidak mendukung operasi 66 MHz juga tanah pin ini. If all participants support 66 MHz operation, a pull-up resistor on the motherboard raises this signal high and 66 MHz operation is enabled. Jika semua peserta mendukung operasi 66 MHz, sebuah resistor pull-up pada motherboard menimbulkan sinyal ini tinggi dan 66 MHz operasi diaktifkan.

At least one of PRSNT1# and PRSNT2# must be grounded by the card. Setidaknya satu dari PRSNT1 # dan PRSNT2 # harus didasarkan oleh kartu. The combination chosen indicates the total power requirements of the card (25 W, 15 W, or 7.5 W). Kombinasi yang dipilih menunjukkan kebutuhan daya total kartu (25 W, 15 W, atau 7,5 W).

SBO# and SDONE are signals from a cache controller to the current target. SBO # dan SDONE adalah sinyal dari pengendali cache dengan target saat ini. They are not initiator

Page 13: PCI konvensional

outputs, but are colored that way because they are target inputs. Mereka tidak output inisiator, tetapi berwarna seperti itu karena mereka adalah input target.

[ edit ] Physical card dimensions [ sunting ] dimensi kartu Fisik

[ edit ] Full-size card [ sunting ]-ukuran kartu Penuh

The original "full-size" PCI card is specified as a height of 107 mm (4.2 inches ) and a depth of 312 mm (12.283 inches). Asli "ukuran penuh" kartu PCI ditetapkan sebagai ketinggian 107 mm (4,2 inci ) dan kedalaman 312 mm (12,283 inci). The height includes the edge card connector. tinggi termasuk konektor kartu tepi. However, most modern PCI cards are half-length or smaller (see below) and many modern PCs cannot fit a full-size card. Namun, paling modern PCI card setengah panjang atau lebih kecil (lihat di bawah) dan PC modern tidak dapat memasukkan kartu ukuran penuh.

[ edit ] Card backplate [ sunting ] backplate Card

In addition to these dimensions the physical size and location of a card's backplate are also standardized. Selain itu dimensi ukuran fisik dan lokasi backplate kartu itu juga standar. The backplate is the part that fastens to the card cage to stabilize the card and also contains external connectors, so it usually attaches in a window so it is accessible from outside the computer case. backplate adalah bagian yang mengikatkan ke kandang kartu untuk menstabilkan kartu dan juga mengandung konektor eksternal, sehingga biasanya menempel di jendela sehingga dapat diakses dari luar kasus komputer. The backplate is fixed to the cage by a 6-32 screw . backplate ini tetap kandang oleh sekrup 6-32 .

The card itself can be a smaller size, but the backplate must still be full-size and properly located so that the card fits in any standard PCI slot. Kartu itu sendiri bisa menjadi ukuran yang lebih kecil, tapi bagian punggungnya masih harus ukuran penuh dan terletak dengan benar sehingga kartu pas dalam slot PCI standar.

[ edit ] Half-length extension card (de-facto standard) [ sunting ]-panjang perpanjangan kartu Half (de-facto standar)

This is in fact the practical standard now – the majority of modern PCI cards fit inside this length. Hal ini sebenarnya standar praktis sekarang - mayoritas kartu PCI modern sesuai dalam panjang ini.

Width: 0.6 inches (15.24 mm) Lebar: 0.6 inci (15,24 mm) Depth: 6.9 inches (175.26 mm) Depth: 6.9 inci (175,26 mm) Height: 4.2 inches (106.68 mm) Tinggi: 4.2 inci (106,68 mm)

[ edit ] Low-profile (half-height) card [ sunting ] Low-profil (setengah-tinggi) kartu

Page 14: PCI konvensional

The PCI organization has defined a standard for "low-profile" cards, which basically fit in the following ranges: Organisasi PCI telah menetapkan standar untuk "low-profile" kartu, yang pada dasarnya muat dalam rentang sebagai berikut:

Height: 1.42 inches (36.07 mm) to 2.536 inches (64.41 mm) Tinggi: 1,42 inci (36,07 mm) 2,536 inci (64,41 mm)

Depth: 4.721 inches (119.91 mm) to 6.6 inches (167.64 mm) Kedalaman: 4,721 inci (119,91 mm) menjadi 6,6 inci (167,64 mm)

The bracket is also reduced in height, to a standard 3.118 inches (79.2 mm). braket juga berkurang di ketinggian, ke 3,118 inci standar (79,2 mm). The smaller bracket will not fit a standard PC case, but will fit in a 2U rack-mount case. Braket yang lebih kecil tidak akan cocok dengan kasus PC standar, tetapi akan cocok dalam 2U rack-mount kasus. Many manufacturers supply both types of bracket (brackets are typically screwed to the card so changing them is not difficult). Banyak produsen pasokan kedua jenis braket (kurung biasanya disekrup ke kartu sehingga mengubahnya tidak sulit).

These cards may be known by other names such as "slim". Kartu ini dapat diketahui dengan nama lain seperti "langsing".

Low Profile PCI FAQ Profil PCI Rendah FAQ Low Profile PCI Specification Low Profile PCI Spesifikasi

[ edit ] Mini PCI [ sunting ] Mini PCI

Mini PCI Wi-Fi card Type IIIB Mini PCI Wi-Fi kartu Tipe IIIB

Mini PCI was added to PCI version 2.2 for use in laptops ; it uses a 32-bit, 33 MHz bus with powered connections (3.3 V only; 5 V is limited to 100 mA) and support for bus mastering and DMA . Mini PCI telah ditambahkan ke versi PCI 2.2 untuk digunakan dalam laptop , itu menggunakan 32-bit, 33 MHz bus dengan koneksi powered (3,3 V saja; 5 V dibatasi sampai 100 mA) dan dukungan untuk bus mastering dan DMA . The standard size for Mini PCI cards is approximately 1/4 of their full-sized counterparts. Ukuran standar untuk kartu Mini PCI adalah sekitar 1 / 4 dari rekan-rekan mereka berukuran penuh. As there is limited external access to the card compared to desktop PCI cards, there are limitations on the functions they may perform. Karena ada terbatas akses eksternal ke kartu dibandingkan dengan kartu PCI desktop, ada keterbatasan pada fungsi mereka dapat melakukan.

Page 15: PCI konvensional

MiniPCI-to-PCI converter Type III MiniPCI-to-PCI converter Tipe III

MiniPCI and MiniPCI Express cards in comparison MiniPCI MiniPCI dan Express card dibandingkan

Many Mini PCI devices were developed such as Wi-Fi , Fast Ethernet , Bluetooth , modems (often Winmodems ), sound cards , cryptographic accelerators , SCSI , IDE – ATA , SATA controllers and combination cards. Banyak perangkat Mini PCI dikembangkan seperti Wi-Fi , Fast Ethernet , Bluetooth , modem (sering Winmodem ), kartu suara , akselerator kriptografi , SCSI , IDE - ATA , SATA controller dan kartu kombinasi. Mini PCI cards can be used with regular PCI-equipped hardware, using Mini PCI-to-PCI converters . Mini PCI card dapat digunakan dengan hardware PCI-dilengkapi rutin, dengan menggunakan Mini PCI-to PCI konverter-. Mini PCI has been superseded by PCI Express Mini Card . Mini PCI telah digantikan oleh PCI Express Mini Card .

[ edit ] Technical details of Mini PCI [ sunting ] Rincian Teknis Mini PCI

Mini PCI cards have a 2 W maximum power consumption, which also limits the functionality that can be implemented in this form factor. Mini PCI kartu memiliki 2 W konsumsi daya maksimum, yang juga membatasi fungsi yang dapat diimplementasikan dalam faktor bentuk. They also are required to support the CLKRUN# PCI signal used to start and stop the PCI clock for power management purposes. Mereka juga diminta untuk mendukung CLKRUN # sinyal PCI digunakan untuk memulai dan menghentikan jam PCI untuk keperluan manajemen daya.

There are three card form factors : Type I, Type II, and Type III cards. Ada kartu tiga faktor bentuk : Tipe I, Tipe II, dan Type III kartu. The card connector used for each type include: Type I and II use a 100-pin stacking connector, while Type III uses a 124-pin edge connector, ie the connector for Types I and II differs from that for Type III, where the connector is on the edge of a card, like with a SO-DIMM . Konektor kartu yang digunakan untuk tiap jenis meliputi: Tipe I

Page 16: PCI konvensional

dan II menggunakan konektor stacking 100-pin, sedangkan tipe III menggunakan konektor 124-pin tepi, yaitu konektor untuk Tipe I dan II berbeda dari yang untuk Tipe III, di mana konektor berada di tepi kartu, seperti dengan SO-DIMM . The additional 24 pins provide the extra signals required to route I/O back through the system connector (audio, AC-Link , LAN , phone-line interface). 24 tambahan pin memberikan sinyal tambahan yang diperlukan untuk rute I / O belakang melalui konektor sistem (audio, AC-Link , LAN , telepon-line interface). Type II cards have RJ11 and RJ45 mounted connectors. Tipe II kartu telah terpasang RJ11 dan RJ45 konektor. These cards must be located at the edge of the computer or docking station so that the RJ11 and RJ45 ports can be mounted for external access. Kartu ini harus terletak di tepi komputer atau docking station sehingga port RJ11 dan RJ45 dapat dipasang untuk akses eksternal.

Type Jenis

Card on outer edge of host system Kartu

di tepi luar sistem host

Connector Konektor

Size Ukuran Comments Komentar

IA IA No Tidak ada 100-Pin Stacking 100-Pin Penumpukan

7.5 × 70 × 45 mm 7,5 × 70 × 45 mm

Large Z dimension (7.5 mm) Besar Z dimensi (7,5 mm)

IB IB No Tidak ada 100-Pin Stacking 100-Pin Penumpukan

5.5 × 70 × 45 mm 5.5 × 70 × 45 mm

Smaller Z dimension (5.5 mm) Z dimensi yang lebih kecil (5,5 mm)

IIA IIA

Yes Ya 100-Pin Stacking 100-Pin Penumpukan

17.44 × 70 × 45 mm 17,44 × 70 × 45 mm

Large Z dimension (17.44 mm) Besar Z dimensi (17,44 mm)

IIB IIB Yes Ya 100-Pin Stacking 100-Pin Penumpukan

5.5 × 78 × 45 mm 5.5 × 78 × 45 mm

Smaller Z dimension (5.5 mm) Z dimensi yang lebih kecil (5,5 mm)

IIIA IIIA

No Tidak ada 124-Pin Card Edge 124-Pin Kartu Ujung

2.4 × 59.6 × 50.95 mm 2.4 × 59,6 × 50,95 mm

Larger Y dimension (50.95 mm) Y dimensi yang lebih besar (50,95 mm)

IIIB IIIB

No Tidak ada 124-Pin Card Edge 124-Pin Kartu Ujung

2.4 × 59.6 × 44.6 mm 2.4 × 59,6 × 44,6 mm

Smaller Y dimension (44.6 mm) Kecil Y dimensi (44,6 mm)

Mini PCI should not be confused with 144-pin Micro PCI. [ 8 ] Mini PCI tidak harus bingung dengan 144-pin PCI Mikro. [8]

[ edit ] Other physical variations [ sunting ] variasi fisik lainnya

Typically consumer systems specify "N × PCI slots" without specifying actual dimensions of the space available. Biasanya sistem konsumen menentukan "N × slot PCI" tanpa menentukan dimensi sebenarnya dari ruang yang tersedia. In some small-form-factor systems, this may not be sufficient to allow even "half-length" PCI cards to fit. Dalam beberapa sistem kecil-form-faktor, ini mungkin tidak cukup untuk memungkinkan bahkan "setengah-panjang" PCI card agar sesuai. Despite this limitation, these systems are still useful because many modern PCI cards are

Page 17: PCI konvensional

considerably smaller than half-length. Meskipun keterbatasan ini, sistem ini masih berguna karena banyak modern PCI card jauh lebih kecil dari setengah panjang.

[ edit ] PCI bus transactions [ sunting ] transaksi PCI bus

PCI bus traffic is made of a series of PCI bus transactions. PCI bus lalu lintas dibuat dari rangkaian transaksi PCI bus. Each transaction is made up of an address phase followed by one or more data phases . Setiap transaksi terdiri dari sebuah fase alamat yang diikuti oleh satu atau lebih fase data. The direction of the data phases may be from initiator to target (write transaction) or vice-versa (read transaction), but all of the data phases must be in the same direction. Arah fase data tersebut dapat dari inisiator menargetkan (menulis transaksi) atau sebaliknya (baca transaksi), tapi semua fase data harus dalam arah yang sama. Either party may pause or halt the data phases at any point. Salah satu pihak dapat menghentikan sebentar atau menghentikan fase data pada titik apapun. (One common example is a low-performance PCI device that does not support burst transactions, and always halts a transaction after the first data phase.) (Salah satu contoh umum adalah kinerja rendah PCI perangkat yang tidak mendukung transaksi pecah, dan selalu menghentikan transaksi setelah fase data dulu.)

Any PCI device may initiate a transaction. Setiap perangkat PCI dapat melakukan transaksi. First, it must request permission from a PCI bus arbiter on the motherboard. Pertama, harus meminta izin dari arbiter bus PCI pada motherboard. The arbiter grants permission to one of the requesting devices. Arbiter memberikan izin untuk salah satu perangkat meminta. The initiator begins the address phase by broadcasting a 32-bit address plus a 4-bit command code, then waits for a target to respond. inisiator dimulai fase alamat dengan penyiaran sebuah alamat 32-bit ditambah kode perintah 4-bit, kemudian menunggu untuk target untuk merespon. All other devices examine this address and one of them responds a few cycles later. Semua perangkat lain memeriksa alamat ini dan salah satu dari mereka menanggapi beberapa siklus kemudian.

64-bit addressing is done using a two-stage address phase. 64-bit dilakukan dengan menggunakan fase alamat dua-tahap. The initiator broadcasts the low 32 address bits, accompanied by a special "dual address cycle" command code. Siaran inisiator alamat 32 bit rendah, disertai dengan "siklus alamat ganda" kode khusus perintah. Devices which do not support 64-bit addressing can simply not respond to that command code. Perangkat yang tidak mendukung 64-bit ternyata tidak bisa merespon dengan kode perintah. The next cycle, the initiator transmits the high 32 address bits, plus the real command code. Siklus berikutnya, inisiator mentransmisikan bit alamat tinggi 32, ditambah dengan kode perintah yang sebenarnya. The transaction operates identically from that point on. Transaksi ini beroperasi secara identik dari saat itu. To ensure compatibility with 32-bit PCI devices, it is forbidden to use a dual address cycle if not necessary, ie if the high-order address bits are all zero. Untuk memastikan kompatibilitas dengan perangkat PCI 32-bit, dilarang untuk menggunakan siklus alamat ganda jika tidak perlu, yaitu jika urutan-tinggi bit address adalah semua nol.

While the PCI bus transfers 32 bits per data phase, the initiator transmits a 4-bit byte mask indicating which 8-bit bytes are to be considered significant. Sementara transfer PCI bus 32 bit per fase data, inisiator mentransmisikan topeng byte 4-bit menunjukkan yang byte 8-bit harus dianggap signifikan. In particular, a masked write must affect only the desired bytes in the target

Page 18: PCI konvensional

PCI device. Secara khusus, bertopeng harus menulis hanya mempengaruhi byte yang diinginkan di target perangkat PCI.

[ edit ] PCI address spaces [ sunting ] alamat spasi PCI

PCI has three address spaces: memory, I/O address, and configuration. PCI memiliki ruang alamat tiga: memori, I / O alamat, dan konfigurasi.

Memory addresses are 32 bits (optionally 64 bits) in size, support caching and can be burst transactions. alamat memori 32 bit (opsional 64 bit) dalam ukuran, dukungan caching dan dapat transaksi meledak.

I/O addresses are for compatibility with the Intel x86 architecture 's I/O port address space. I / O alamat untuk kompatibilitas dengan Intel x86 arsitektur 's I / O address space port. Although the PCI bus specification allows burst transactions in any address space, most devices only support it for memory addresses and not I/O. Meskipun spesifikasi bus PCI memungkinkan transaksi meledak di setiap ruang alamat, perangkat yang paling hanya mendukung untuk alamat memori dan tidak aku O. /

Finally, PCI configuration space provides access to 256 bytes of special configuration registers per PCI device. Akhirnya, ruang konfigurasi PCI menyediakan akses ke 256 byte dari register konfigurasi khusus per perangkat PCI. Each PCI slot gets its own configuration space address range. Setiap slot PCI mendapatkan konfigurasi sendiri rentang ruang alamat. The registers are used to configure devices memory and I/O address ranges they should respond to from transaction initiators. Register digunakan untuk mengkonfigurasi perangkat memori dan I / O rentang alamat mereka harus menanggapi dari pemrakarsa transaksi. When a computer is first turned on, all PCI devices respond only to their configuration space accesses. Ketika komputer pertama kali diaktifkan, semua perangkat PCI merespon hanya untuk mengakses ruang mereka konfigurasi. The computers BIOS scans for devices and assigns Memory and I/O address ranges to them. Komputer BIOS scan untuk perangkat dan memberikan Memori dan I / O rentang alamat kepada mereka.

If an address is not claimed by any device, the transaction initiator's address phase will time out causing the initiator to abort the operation. Jika alamat tidak diklaim oleh perangkat apapun, fase alamat inisiator transaksi akan time-out menyebabkan inisiator untuk membatalkan operasi. In case of reads, it is customary to supply all-ones for the read data value (0xFFFFFFFF) in this case. Dalam hal membaca, adalah kebiasaan untuk memasok semua-orang untuk membaca nilai data (0xFFFFFFFF) dalam kasus ini. PCI devices therefore generally attempt to avoid using the all-ones value in important status registers, so that such an error can be easily detected by software. perangkat PCI karena itu umumnya berusaha untuk menghindari penggunaan nilai semua-yang ada di register status penting, sehingga kesalahan seperti itu dapat dengan mudah dideteksi oleh perangkat lunak.

[ edit ] PCI command codes [ sunting ] perintah kode PCI

Page 19: PCI konvensional

There are 16 possible 4-bit command codes, and 12 of them are assigned. Ada 16 kemungkinan kode perintah 4-bit, dan 12 dari mereka ditugaskan. With the exception of the unique dual address cycle, the least significant bit of the command code indicates whether the following data phases are a read (data sent from target to initiator) or a write (data sent from an initiator to target). Dengan pengecualian dari siklus alamat unik ganda, bit signifikan terkecil dari kode perintah menunjukkan apakah tahap data berikut adalah membaca (data yang dikirim dari target untuk inisiator) atau menulis (data yang dikirim dari initiator ke target). PCI targets must examine the command code as well as the address and not respond to address phases which specify an unsupported command code. PCI target harus memeriksa kode perintah serta alamat dan tidak menanggapi alamat fase yang menentukan kode perintah yang tidak didukung.

The commands that refer to cache lines depend on the PCI configuration space cache line size register being set up properly; they may not be used until that has been done. Perintah-perintah yang merujuk pada garis cache tergantung pada konfigurasi PCI ruang garis ukuran cache register yang diatur dengan benar, mereka tidak dapat digunakan sampai yang telah dilakukan.

0000 0000 Interrupt Acknowledge Interrupt Akui This is a special form of read cycle implicitly addressed to the interrupt controller, which returns an interrupt vector. Ini adalah bentuk khusus dari siklus membaca secara implisit ditujukan kepada interrupt controller, yang mengembalikan sebuah vektor interupsi. The 32-bit address field is ignored. Field alamat 32-bit diabaikan. One possible implementation is to generate an interrupt acknowledge cycle on an ISA bus using a PCI/ISA bus bridge. Salah satu implementasi yang mungkin adalah untuk menghasilkan interrupt mengakui siklus pada bus ISA menggunakan PCI / jembatan bus ISA. This command is for IBM PC compatibility ; if there is no Intel 8259 style interrupt controller on the PCI bus, this cycle need never be used. Perintah ini adalah untuk kompatibilitas IBM PC , jika tidak ada Intel 8259 gaya interrupt controller pada bus PCI, siklus ini tidak perlu digunakan.

0001 0001 Special Cycle Siklus Khusus This cycle is a special broadcast write of system events that PCI card may be interested in. The address field of a special cycle is ignored, but it is followed by a data phase containing a payload message. Siklus ini merupakan siaran khusus menulis tentang kejadian sistem yang kartu PCI mungkin tertarik Bidang alamat dari sebuah siklus khusus diabaikan, tetapi diikuti oleh fase data yang berisi pesan muatan. The currently defined messages announce that the processor is stopping for some reason (eg to save power). Pesan yang saat ini didefinisikan mengumumkan bahwa prosesor ini berhenti untuk beberapa alasan (misalnya untuk menghemat daya). No device ever responds to this cycle; it is always terminated with a master abort after leaving the data on the bus for at least 4 cycles. perangkat Tidak pernah menanggapi siklus ini, melainkan selalu diakhiri dengan membatalkan master setelah meninggalkan data pada bus setidaknya selama 4 siklus.

0010 0010 I/O Read I / O Baca

Page 20: PCI konvensional

This performs a read from I/O space. Ini melakukan membaca dari I / O space. All 32 bits of the read address are provided, so that a device can (for compatibility reasons) implement less than 4 bytes worth of I/O registers. Semua 32 bit dari alamat dibaca disediakan, sehingga perangkat dapat (untuk alasan kompatibilitas) melaksanakan kurang dari 4 byte senilai I / O register. If the byte enables request data not within the address range supported by the PCI device (eg a 4-byte read from a device which only supports 2 bytes of I/O address space), it must be terminated with a target abort. Jika byte memungkinkan data permintaan tidak dalam rentang alamat yang didukung oleh perangkat PCI (misalnya 4-byte dibaca dari perangkat yang hanya mendukung 2 byte I / O address space), itu harus segera diakhiri dengan membatalkan target. Multiple data cycles are permitted, using linear (simple incrementing) burst ordering. Beberapa data siklus diijinkan, menggunakan linear (sederhana incrementing) pecah pemesanan. The PCI standard is discouraging the use of I/O space in new devices, preferring that as much as possible be done through main memory mapping. Standar PCI mengecewakan penggunaan I / O di ruang perangkat baru, lebih memilih bahwa sebanyak mungkin dilakukan melalui pemetaan memori utama.

0011 0011 I/O Write I / O Write This performs a write to I/O space. Ini melakukan menulis ke I / O space.

010 x 010 x Reserved Cadangan A PCI device must not respond to an address cycle with these command codes. Perangkat PCI tidak harus menanggapi sebuah siklus alamat dengan kode-kode perintah.

0110 0110 Memory Read Memori Baca This performs a read cycle from memory space. Ini melakukan siklus membaca dari ruang memori. Because the smallest memory space a PCI device is permitted to implement is 16 bits, the two least significant bits of the address are not needed; equivalent information will arrive in the form of byte select signals. Karena ruang memori terkecil perangkat PCI diperbolehkan untuk melaksanakan adalah 16 bit, dua bit paling signifikan dari alamat yang tidak diperlukan; informasi setara akan tiba dalam bentuk sinyal pilih byte. They instead specify the order in which burst data must be returned. Mereka bukannya menentukan urutan data meledak harus dikembalikan. If a device does not support the requested order, it must provide the first word and then disconnect. Jika perangkat tidak mendukung urutan diminta, ia harus memberikan kata pertama dan kemudian lepaskan. If a memory space is marked as "prefetchable", then the target device must ignore the byte select signals on a memory read and always return 32 valid bits. Jika ruang memori ditandai sebagai "prefetchable", maka perangkat target harus mengabaikan sinyal pilih byte pada memori membaca dan selalu kembali 32 bit valid.

0111 0111 Memory Write Memori Menulis This operates similarly to a memory read. Ini beroperasi mirip dengan memori membaca. The byte select signals are more important in a write, as unselected bytes must not be written to memory. Sinyal pilih byte lebih penting dalam menulis, sebagai byte yang tidak dipilih tidak harus ditulis ke memori.

Page 21: PCI konvensional

Generally, PCI writes are faster than PCI reads, because a device can buffer the incoming write data and release the bus faster. Umumnya, PCI menulis lebih cepat daripada PCI berbunyi, karena perangkat bisa buffer menulis data yang masuk dan melepaskan bus lebih cepat. For a read, it must delay the data phase until the data has been fetched. Untuk membaca, ia harus menunda tahap data sampai data telah diambil.

100 x 100 x Reserved Cadangan A PCI device must not respond to an address cycle with these command codes. Perangkat PCI tidak harus menanggapi sebuah siklus alamat dengan kode-kode perintah.

1010 1010 Configuration Read Konfigurasi Baca This is similar to an I/O read, but reads from PCI configuration space. Hal ini mirip dengan sebuah I / O membaca, namun membaca dari ruang konfigurasi PCI. A device must respond only if the low 11 bits of the address specify a function and register that it implements, and if the special IDSEL signal is asserted. Perangkat harus menanggapi hanya jika 11 bit rendah dari alamat menetapkan fungsi dan terdaftar yang menerapkan, dan jika sinyal IDSEL khusus menegaskan. It must ignore the high 21 bits. Ini harus mengabaikan 21 bit tinggi. Burst reads (using linear incrementing) are permitted in PCI configuration space. Burst membaca (menggunakan incrementing linear) yang diperbolehkan dalam ruang konfigurasi PCI. Unlike I/O space, standard PCI configuration registers are defined so that reads never disturb the state of the device. Tidak seperti I / O space, standar PCI register konfigurasi yang didefinisikan sehingga membaca tidak pernah mengganggu keadaan perangkat. It is possible for a device to have configuration space registers beyond the standard 64 bytes which have read side effects, but this is rare. [ 9 ] Hal ini dimungkinkan untuk perangkat untuk memiliki ruang register konfigurasi melampaui standar 64 byte yang telah membaca efek samping, tetapi hal ini jarang terjadi. [9] Configuration space accesses often have a few cycles of delay in order to allow the IDSEL lines to stabilize, which makes them slower than other forms of access. mengakses ruang Konfigurasi sering memiliki beberapa siklus keterlambatan untuk memungkinkan garis IDSEL untuk menstabilkan, yang membuat mereka lebih lambat dibandingkan bentuk-bentuk akses. Also, a configuration space access requires a multi-step operation rather than a single machine instruction. Juga, akses ruang konfigurasi membutuhkan operasi multi-langkah daripada sebuah instruksi mesin tunggal. Thus, it is best to avoid them during routine operation of a PCI device. Jadi, yang terbaik adalah untuk menghindari mereka selama operasi rutin dari sebuah perangkat PCI.

1011 1011 Configuration Write Konfigurasi Tulis This operates analogously to a configuration read. Ini beroperasi analogi untuk konfigurasi membaca.

1100 1100 Memory Read Multiple Memori Baca Multiple This command is identical to a generic memory read, but includes the hint that a long read burst will continue beyond the end of the current cache line, and the target should internally prefetch a large amount of data. Perintah ini identik dengan memori generik membaca, tapi juga meliputi petunjuk bahwa ledakan baca panjang akan terus berlanjut

Page 22: PCI konvensional

setelah akhir baris cache saat ini, dan target internal harus prefetch sejumlah besar data. A target is always permitted to consider this a synonym for a generic memory read. Sebuah target selalu diizinkan untuk mempertimbangkan ini sinonim untuk memori generik dibaca.

1101 1101 Dual Address Cycle Siklus Dual Alamat When accessing a memory address that requires more than 32 bits to represent, the address phase begins with this command and the low 32 bits of the address, followed by a second cycle with the actual command and the high 32 bits of the address. Ketika mengakses alamat memori yang membutuhkan lebih dari 32 bit untuk mewakili, fase alamat dimulai dengan perintah ini dan 32 bit rendah dari alamat tersebut, diikuti oleh siklus kedua dengan perintah aktual dan tinggi 32 bit alamat. PCI targets that do not support 64-bit addressing can simply treat this as another reserved command code and not respond to it. PCI target yang tidak mendukung 64-bit hanya dapat memperlakukan ini sebagai kode perintah lainnya dilindungi dan tidak menanggapinya. This command code can only be used with a non-zero high-order address word; it is forbidden to use this cycle if not necessary. Kode perintah ini hanya dapat digunakan dengan non-nol tinggi urutan kata alamat, itu adalah dilarang untuk menggunakan siklus ini jika tidak diperlukan.

1110 1110 Memory Read Line Memori Baca Line This command is identical to a generic memory read, but includes the hint that the read will continue to the end of the cache line. Perintah ini identik dengan memori generik membaca, tapi juga meliputi petunjuk yang membaca akan melanjutkan ke akhir baris cache. A target is always permitted to consider this a synonym for a generic memory read. Sebuah target selalu diizinkan untuk mempertimbangkan ini sinonim untuk memori generik dibaca.

1111 1111 Memory Write and Invalidate Memori Menulis dan Pembatal This command is identical to a generic memory write, but comes with the guarantee that one or more whole cache lines will be written, with all byte selects enabled. Perintah ini identik dengan memori generik menulis, tetapi datang dengan jaminan bahwa satu atau lebih baris seluruh cache akan ditulis, dengan byte semua memilih diaktifkan. This is an optimization for write-back caches snooping the bus. Ini merupakan optimasi untuk write-back cache mengintai bus. Normally, a write-back cache holding dirty data must interrupt the write operation long enough write its own dirty data first. Biasanya, cache write-back memegang data kotor harus mengganggu operasi penulisan cukup lama menulis data sendiri kotor pertama. If the write is performed using this command, the data to be written back is guaranteed to be irrelevant, and can simply be invalidated in the write-back cache. Jika menulis dilakukan dengan menggunakan perintah ini, data yang akan ditulis kembali dijamin tidak relevan, dan hanya dapat batal dalam cache write-back. This optimization only affects the snooping cache, and makes no difference to the target, which may treat this as a synonym for the memory write command. optimasi ini hanya mempengaruhi cache mengintai, dan tidak ada bedanya dengan target, yang mungkin memperlakukan ini sebagai sinonim untuk memori menulis perintah.

Page 23: PCI konvensional

[ edit ] PCI bus signals [ sunting ] bus PCI sinyal

PCI bus transactions are controlled by five main control signals, two driven by the initiator of a transaction (FRAME# and IRDY#), and three driven by the target (DEVSEL#, TRDY#, and STOP#). transaksi PCI bus dikendalikan oleh lima sinyal kontrol utama, dua didorong oleh inisiator dari transaksi (FRAME # dan IRDY #), dan tiga didorong oleh target (DEVSEL #, TRDY #, dan STOP #). There are two additional arbitration signals (REQ# and GNT#) which are used to obtain permission to initiate a transaction. Ada dua sinyal arbitrase tambahan (REQ # dan GNT #) yang digunakan untuk mendapatkan izin untuk memulai transaksi. All are active-low , meaning that the active or asserted state is a low voltage . Semua adalah aktif-rendah , yang berarti bahwa atau menegaskan keadaan aktif rendah tegangan . Pull-up resistors on the motherboard ensure they will remain high (inactive or deasserted ) if not driven by any device, but the PCI bus does not depend on the resistors to change the signal level; all devices drive the signals high for one cycle before ceasing to drive the signals. -Up resistor Tarik pada motherboard memastikan mereka akan tetap tinggi (tidak aktif atau deasserted) jika tidak didorong oleh perangkat apapun, namun bus PCI tidak tergantung pada resistor untuk mengubah level sinyal; semua perangkat drive sinyal tinggi untuk satu siklus sebelum berhenti untuk drive sinyal.

[ edit ] Signal timing [ sunting ] Sinyal waktu

All PCI bus signals are sampled on the rising edge of the clock. Semua sinyal bus PCI sampel di tepi terbit jam. Signals nominally change on the falling edge of the clock, giving each PCI device approximately one half a clock cycle to decide how to respond to the signals it observed on the rising edge, and one half a clock cycle to transmit its response to the other device. Sinyal nominal perubahan di tepi jatuh jam, memberikan masing-masing perangkat PCI sekitar satu setengah siklus clock untuk memutuskan bagaimana menanggapi sinyal itu diamati di tepi meningkat, dan satu setengah siklus clock untuk mengirimkan tanggapannya ke perangkat lain .

The PCI bus requires that every time the device driving a PCI bus signal changes, one turnaround cycle must elapse between the time the one device stops driving the signal and the other device starts. Bus PCI mensyaratkan bahwa setiap kali perangkat mengendarai perubahan sinyal bus PCI, satu siklus perputaran harus berlalu antara waktu perangkat yang satu berhenti mengemudi sinyal dan mulai perangkat lain. Without this, there might be a period when both devices were driving the signal, which would interfere with bus operation. Tanpa ini, mungkin ada masa ketika kedua perangkat adalah mengemudi sinyal, yang akan mengganggu pengoperasian bus.

The combination of this turnaround cycle and the requirement to drive a control line high for one cycle before ceasing to drive it means that each of the main control lines must be high for a minimum of two cycles when changing owners. Kombinasi dari siklus perubahan haluan, dan persyaratan untuk drive garis kontrol yang tinggi untuk satu siklus sebelum berhenti untuk drive itu berarti bahwa masing-masing garis kontrol utama harus tinggi untuk minimal dua siklus ketika mengubah pemilik. The PCI bus protocol is designed so this is rarely a limitation; only in a few special cases (notably fast back-to-back transactions ) is it necessary to insert additional delay to meet this requirement. Protokol bus PCI dirancang sedemikian ini jarang pembatasan,

Page 24: PCI konvensional

hanya dalam beberapa kasus khusus (terutama back-to-back transaksi cepat ) adalah perlu untuk menunda memasukkan tambahan untuk memenuhi persyaratan ini.

[ edit ] Arbitration [ sunting ] Arbitrase

Any device on a PCI bus that is capable of acting as a bus master may initiate a transaction with any other device. Setiap perangkat pada bus PCI yang mampu bertindak sebagai bus master dapat melakukan transaksi dengan perangkat lain. To ensure that only one transaction is initiated at a time, each master must first wait for a bus grant signal, GNT#, from an arbiter located on the motherboard. Untuk memastikan bahwa hanya satu transaksi dimulai pada suatu waktu, setiap master harus terlebih dahulu menunggu sinyal hibah bus, GNT #, dari seorang arbiter yang terletak pada motherboard. Each device has a separate request line REQ# that requests the bus, but the arbiter may "park" the bus grant signal at any device if there are no current requests. Setiap perangkat memiliki garis permintaan terpisah REQ # bahwa permintaan bus, tetapi arbiter mungkin "taman" sinyal bus hibah pada perangkat apapun jika tidak ada permintaan saat ini.

The arbiter may remove GNT# at any time. Arbiter dapat menghapus GNT # setiap saat. A device which loses GNT# may complete its current transaction, but may not start one (by asserting FRAME#) unless it observes GNT# asserted the cycle before it begins. Perangkat yang kehilangan GNT # dapat menyelesaikan transaksi saat ini, tetapi mungkin tidak memulai satu (dengan menegaskan FRAME #) kecuali mengamati GNT # menegaskan siklus sebelum dimulai.

The arbiter may also provide GNT# at any time, including during another master's transaction. Arbiter juga dapat memberikan GNT # kapan saja, termasuk selama transaksi lain master. During a transaction, either FRAME# or IRDY# or both are asserted; when both are deasserted, the bus is idle. Selama transaksi, baik FRAME # atau IRDY # atau keduanya menegaskan, ketika keduanya deasserted, bus idle. A device may initiate a transaction at any time that GNT# is asserted and the bus is idle. perangkat mungkin melakukan transaksi pada setiap waktu yang GNT # ditegaskan dan bus idle.

[ edit ] Address phase [ sunting ] tahap Alamat

A PCI bus transaction begins with an address phase . Transaksi bus PCI dimulai dengan fase alamat. The initiator, seeing that it has GNT# and the bus is idle, drives the target address onto the AD[31:0] lines, the associated command (eg memory read, or I/O write) on the C/BE[3:0]# lines, and pulls FRAME# low. inisiator itu, melihat bahwa mereka telah GNT # dan bus idle, drive alamat target ke AD [31:0] garis, perintah yang berhubungan (misalnya memori baca, atau I / O menulis) di C / BE [3 : 0] # baris, dan menarik RANGKA # rendah.

Each other device examines the address and command and decides whether to respond as the target by asserting DEVSEL#. Setiap perangkat lain memeriksa alamat dan perintah dan memutuskan apakah akan merespon sebagai target dengan menegaskan DEVSEL #. A device must respond by asserting DEVSEL# within 3 cycles. Perangkat harus menanggapi dengan menegaskan DEVSEL # dalam 3 siklus. Devices which promise to respond within 1 or 2 cycles are said to have "fast DEVSEL" or "medium DEVSEL", respectively. Perangkat yang berjanji untuk merespon dalam waktu 1 atau 2 siklus yang dikatakan memiliki "DEVSEL cepat" atau

Page 25: PCI konvensional

"DEVSEL media", masing-masing. (Actually, the time to respond is 2.5 cycles, since PCI devices must transmit all signals half a cycle early so that they can be received three cycles later.) (Sebenarnya, waktu untuk merespon adalah 2,5 siklus, karena PCI perangkat harus mengirimkan semua sinyal setengah siklus awal sehingga mereka dapat menerima tiga siklus kemudian.)

Note that a device must latch the address on the first cycle; the initiator is required to remove the address and command from the bus on the following cycle, even before receiving a DEVSEL# response. Perhatikan bahwa perangkat harus latch alamat pada siklus pertama, inisiator diharuskan untuk menghapus alamat dan perintah dari bus pada siklus berikutnya, bahkan sebelum menerima respon DEVSEL #. The additional time is available only for interpreting the address and command after it is captured. Waktu tambahan hanya tersedia untuk menafsirkan alamat dan perintah setelah ditangkap.

On the fifth cycle of the address phase (or earlier if all other devices have medium DEVSEL or faster), a catch-all "subtractive decoding" is allowed for some address ranges. Pada siklus kelima dari fase alamat (atau lebih awal jika semua perangkat lain yang memiliki DEVSEL menengah atau lebih cepat), sebuah-menangkap semua "decoding subtraktif" diperbolehkan untuk beberapa rentang alamat. This is commonly used by an ISA bus bridge for addresses within its range (24 bits for memory and 16 bits for I/O). Hal ini umumnya digunakan oleh sebuah bus ISA jembatan untuk alamat dalam jangkauan (24 bit untuk memori dan 16 bit untuk I / O).

On the sixth cycle, if there has been no response, the initiator may abort the transaction by deasserting FRAME#. Pada siklus keenam, jika ada tanggapan, inisiator bisa membatalkan transaksi dengan deasserting FRAME #. This is known as master abort termination and it is customary for PCI bus bridges to return all-ones data (0xFFFFFFFF) in this case. Hal ini dikenal sebagai master dan membatalkan penghentian itu adat untuk PCI jembatan bus untuk mengembalikan semua-yang data (0xFFFFFFFF) dalam kasus ini. PCI devices therefore are generally designed to avoid using the all-ones value in important status registers, so that such an error can be easily detected by software. Oleh karena itu perangkat PCI umumnya dirancang untuk menghindari penggunaan nilai semua-yang ada di register status penting, sehingga kesalahan seperti itu dapat dengan mudah dideteksi oleh perangkat lunak.

[ edit ] Address phase timing [ sunting ] waktu fase Alamat

_ 0_ 1_ 2_ 3_ 4_ 5_ _ 0_ 3_ 1_ 2_ 4_ 5_ CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ CLK _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / ___ ___ GNT# \___/XXXXXXXXXXXXXXXXXXX (GNT# Irrelevant after cycle has started) GNT # \ ___ / XXXXXXXXXXXXXXXXXXX (GNT # Tidak Relevan setelah siklus telah dimulai) _______ _______ FRAME# \___________________ FRAME # \ ___________________ ___ ___ AD[31:0] -------<___>--------------- (Address only valid for one cycle.) AD [31:0] -------<___>--------------- (Alamat hanya berlaku untuk satu siklus.) ___ _______________ ___ _______________

Page 26: PCI konvensional

C/BE[3:0]# -------<___X_______________ (Command, then first data phase byte enables) C / BE [03:00] # -------<___ X_______________ (Command, maka data byte tahap pertama memungkinkan) _______________________ _______________________ DEVSEL# \___\___\___\___ DEVSEL # \ ___ \ ___ \ ___ \ ___ Fast Med Slow Subtractive Med Cepat Lambat subtraktif _ _ _ _ _ _ _ _ _ _ _ _ _ _ CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ CLK _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / 0 1 2 3 4 5 0 1 2 3 4 5

On the rising edge of clock 0, the initiator observes FRAME# and IRDY# both high, and GNT# low, so it drives the address, command, and asserts FRAME# in time for the rising edge of clock 1. Di sisi kenaikan dari jam 0, inisiator mengamati FRAME # dan IRDY # baik tinggi, dan GNT # rendah, sehingga drive alamat, perintah, dan menegaskan FRAME # pada waktunya untuk tepi meningkatnya 1 jam. Targets latch the address and begin decoding it. Target latch alamat dan mulai decoding itu. They may respond with DEVSEL# in time for clock 2 (fast DEVSEL), 3 (medium) or 4 (slow). Mereka mungkin menanggapi dengan DEVSEL # dalam waktu untuk jam 2 (cepat DEVSEL), (sedang) 3 atau 4 (lambat). Subtractive decode devices, seeing no other response by clock 4, may respond on clock 5. perangkat decode subtraktif, melihat tidak ada tanggapan lain dengan jam 4, mungkin akan menjawab pada 5 jam. If the master does not see a response by clock 5, it will terminate the transaction and remove FRAME# on clock 6. Jika tuan tidak melihat respons dengan 5 jam, akan mengakhiri transaksi dan menghapus FRAME # pada 6 jam.

TRDY# and STOP# are deasserted (high) during the address phase. TRDY # dan STOP # adalah deasserted (tinggi) selama fase alamat. The initiator may assert IRDY# as soon as it is ready to transfer data, which could theoretically be as soon as clock 2. inisiator mungkin menegaskan IRDY # secepat itu siap untuk mentransfer data, yang secara teoritis bisa secepat 2 jam.

[ edit ] Dual-cycle address [ sunting ]-siklus alamat Dual

To allow 64-bit addressing, a master will present the address over two consecutive cycles. Untuk memungkinkan 64-bit, master akan menampilkan alamat lebih dari dua siklus berturut-turut. First, it sends the low-order address bits with a special "dual-cycle address" command on the C/BE[3:0]#. Pertama, mengirimkan urutan bit rendah alamat dengan perintah "alamat dual-cycle" khusus pada C / BE [03:00] #. On the following cycle, it sends the high-order address bits and the actual command. Pada siklus berikutnya, ia mengirim alamat bit high-order dan perintah yang sebenarnya. Dual-address cycles are forbidden if the high-order address bits are zero, so devices which do not support 64-bit addressing can simply not respond to dual cycle commands. Dual-address siklus dilarang jika orde tinggi bit alamat nol, sehingga perangkat yang tidak mendukung 64-bit ternyata tidak bisa merespon perintah siklus ganda.

_ 0_ 1_ 2_ 3_ 4_ 5_ 6_ _ 0_ 3_ 1_ 2_ 4_ 5_ 6_ CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ CLK _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / ___ ___ GNT# \___/XXXXXXXXXXXXXXXXXXXXXXX GNT # \ ___ / XXXXXXXXXXXXXXXXXXXXXXX

Page 27: PCI konvensional

_______ _______ FRAME# \_______________________ FRAME # \ _______________________ ___ ___ ___ ___ AD[31:0] -------<___X___>--------------- (Low, then high bits) AD [31:0] -------<___ X___ >--------------- (rendah, maka bit tinggi) ___ ___ _______________ ___ ___ _______________ C/BE[3:0]# -------<___X___X_______________ (DAC, then actual command) C / BE [03:00] # -------<___ X___X_______________ (DAC, maka perintah yang sebenarnya) ___________________________ ___________________________ DEVSEL# \___\___\___\___ DEVSEL # \ ___ \ ___ \ ___ \ ___ Fast Med Slow Med Cepat Lambat _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ CLK _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / 0 1 2 3 4 5 6 0 1 2 3 4 5 6

[ edit ] Configuration access [ sunting ] mengakses Konfigurasi

Addresses for PCI configuration space access are decoded specially. Alamat untuk akses ruang konfigurasi PCI decode khusus. For these, the low-order address lines specify the offset of the desired PCI configuration register, and the high-order address lines are ignored. Untuk ini, garis low-order menentukan alamat offset dari register konfigurasi PCI yang diinginkan, dan garis high-order alamat diabaikan. Instead, an additional address signal, the IDSEL input, must be high before a device may assert DEVSEL#. Sebaliknya, sinyal alamat tambahan, masukan IDSEL, harus tinggi sebelum perangkat mungkin menegaskan DEVSEL #. Each slot connects a different high-order address line to the IDSEL pin, and is selected using one-hot encoding on the upper address lines. Setiap slot menghubungkan garis tinggi-order alamat yang berbeda ke pin IDSEL, dan dipilih dengan menggunakan satu-panas encoding pada baris alamat atas.

[ edit ] Data phases [ sunting ] Data fase

After the address phase (specifically, beginning with the cycle that DEVSEL# goes low) comes a burst of one or more data phases . Setelah fase alamat (khusus, dimulai dengan siklus yang DEVSEL # pergi rendah) datang ledakan dari satu atau lebih fase data. In all cases, the initiator drives active-low byte select signals on the C/BE[3:0]# lines, but the data on the AD[31:0] may be driven by the initiator (in case of writes) or target (in case of reads). Dalam semua kasus, inisiator drive aktif-rendah sinyal pilih byte di C / BE baris [03:00] #, tetapi data pada AD [31:0] mungkin didorong oleh pemrakarsa (dalam hal menulis) atau target (dalam kasus kali dibaca).

During data phases, the C/BE[3:0]# lines are interpreted as active-low byte enables . Selama fase data, C / BE [03:00] # baris diinterpretasikan sebagai low-byte aktif memungkinkan. In case of a write, the asserted signals indicate which of the four bytes on the AD bus are to be written to the addressed location. Dalam hal menulis, menegaskan sinyal yang menunjukkan dari empat byte pada bus AD akan ditulis ke lokasi ditangani. In the case of a read, they indicate which bytes the initiator is interested in. For reads, it is always legal to ignore the byte enable signals and simply return all 32 bits; cacheable memory resources are required to always return 32 valid bits. Dalam hal membaca, mereka menunjukkan yang byte inisiator ini tertarik masuk Untuk berbunyi, itu selalu hukum untuk mengabaikan byte mengaktifkan sinyal dan hanya mengembalikan semua 32

Page 28: PCI konvensional

bit; sumber daya memori disimpan di cache diwajibkan untuk selalu mengembalikan 32 bit valid. The byte enables are mainly useful for I/O space accesses where reads have side effects. byte ini memungkinkan terutama berguna untuk I / O mana akses ruang reads memiliki efek samping.

A data phase with all four C/BE# lines deasserted is explicitly permitted by the PCI standard, and must have no effect on the target (other than to advance the address in the burst access in progress). Fase data dengan semua C empat / BE # baris deasserted secara eksplisit diijinkan oleh standar PCI, dan harus tidak berpengaruh pada target (selain untuk memajukan alamat di akses meledak dalam penyelesaian).

The data phase continues until both parties are ready to complete the transfer and continue to the next data phase. Fase data terus sampai kedua pihak siap untuk menyelesaikan transfer dan melanjutkan ke tahap data berikutnya. The initiator asserts IRDY# ( initiator ready ) when it no longer needs to wait, while the target asserts TRDY# ( target ready ). Pemrakarsa menegaskan IRDY # (inisiator siap) ketika tidak lagi harus menunggu, sementara target menegaskan TRDY # (target siap). Whichever side is providing the data must drive it on the AD bus before asserting its ready signal. Apapun sisi menyediakan data harus drive itu di bus AD sebelum sinyal menyatakan siap nya.

Once one of the participants asserts its ready signal, it may not become un-ready or otherwise alter its control signals until the end of the data phase. Setelah salah satu peserta menegaskan sinyal siap, ia tidak dapat menjadi un-siap atau mengubah sinyal kontrol sampai akhir fase data. The data recipient must latch the AD bus each cycle until it sees both IRDY# and TRDY# asserted, which marks the end of the current data phase and indicates that the just-latched data is the word to be transferred. Penerima data harus kait bus AD setiap siklus sampai melihat baik IRDY # dan TRDY # menegaskan, yang menandai akhir fase data saat ini dan menunjukkan bahwa data hanya-terkunci adalah kata yang akan ditransfer.

To maintain full burst speed, the data sender then has half a clock cycle after seeing both IRDY# and TRDY# asserted to drive the next word onto the AD bus. Untuk mempertahankan kecepatan meledak penuh, pengirim data itu telah setengah siklus clock setelah melihat baik IRDY # dan TRDY # menegaskan untuk mendorong kata berikutnya ke bis AD.

0_ 1_ 2_ 3_ 4_ 5_ 6_ 7_ 8_ 9_ 3_ 1_ 2_ 0_ 4_ 7_ 5_ 6_ 8_ 9_ CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ CLK _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / ___ _______ ___ ___ ___ ___ _______ ___ ___ ___ AD[31:0] ---<___XXXXXXXXX_______XXXXX___X___X___ (If a write) AD [31:0] ---<___ XXXXXXXXX_______XXXXX___X___X___ (Jika menulis) ___ ___ _______ ___ ___ ___ ___ _______ ___ ___ AD[31:0] ---<___>~~~<XXXXXXXX___X_______X___X___ (If a read) AD [31:0] ---<___>~ XXXXXXXX___X_______X___X___ (Jika membaca) ___ _______________ _______ ___ ___ ___ _______________ _______ ___ ___ C/BE[3:0]# ---<___X_______________X_______X___X___ (Must always be valid) C / BE [03:00] # ---<___ X_______________X_______X___X___ (Harus selalu berlaku) _______________ | ___ | | | _______________ | ___ | | |

Page 29: PCI konvensional

IRDY# x \_______/ x \___________ IRDY # x \ _______/ x \ ___________ ___________________ | | | | ___________________ | | | | TRDY# xx \___________________ TRDY # xx \ ___________________ ___________ | | | | ___________ | | | | DEVSEL# \___________________________ DEVSEL # \ ___________________________ ___ | | | | ___ | | | | FRAME# \___________________________________ FRAME # \ ___________________________________ _ _ _ _ _ |_ _ |_ |_ |_ _ _ _ _ _ | _ _ | _ | _ | _ CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ CLK _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9

This continues the address cycle illustrated above, assuming a single address cycle with medium DEVSEL, so the target responds in time for clock 3. Ini terus siklus alamat digambarkan di atas, dengan asumsi satu siklus alamat tunggal dengan DEVSEL menengah, sehingga target merespon dalam waktu selama 3 jam. However, at that time, neither side is ready to transfer data. Namun, pada waktu itu, tidak ada pihak siap untuk mentransfer data. For clock 4, the initiator is ready, but the target is not. Untuk jam 4, inisiator siap, tetapi target tidak. On clock 5, both are ready, and a data transfer takes place (as indicated by the vertical lines). Pada jam 5, keduanya siap, dan transfer data berlangsung (seperti yang ditunjukkan oleh garis vertikal). For clock 6, the target is ready to transfer, but the initator is not. Untuk jam 6, target siap untuk mentransfer, tapi initator tidak. On clock 7, the initiator becomes ready, and data is transferred. Pada jam 7, inisiator menjadi siap, dan data ditransfer. For clocks 8 and 9, both sides remain ready to transfer data, and data is transferred at the maximum possible rate (32 bits per clock cycle). Untuk jam 8 dan 9, kedua belah pihak tetap siap untuk mentransfer data, dan data ditransfer pada tingkat maksimum yang mungkin (32 bit per siklus clock).

In case of a read, clock 2 is reserved for turning around the AD bus, so the target is not permitted to drive data on the bus even if it is capable of fast DEVSEL. Dalam hal membaca, jam 2 disediakan untuk memutar bus AD, sehingga target tidak diizinkan untuk drive data pada bus bahkan jika ia mampu DEVSEL cepat.

[ edit ] Fast DEVSEL# on reads [ sunting ] DEVSEL Cepat # pada reads

A target that supports fast DEVSEL could in theory begin responding to a read the cycle after the address is presented. Target yang mendukung fast DEVSEL bisa dalam teori mulai menanggapi membaca siklus setelah alamat disajikan. This cycle is, however, reserved for AD bus turnaround. Siklus ini, bagaimanapun, diperuntukkan bagi perputaran bus AD. Thus, a target may not drive the AD bus (and thus may not assert TRDY#) on the second cycle of a transaction. Dengan demikian, target tidak boleh drive bis AD (dan dengan demikian tidak mungkin menegaskan TRDY #) pada siklus kedua transaksi. Note that most targets will not be this fast and will not need any special logic to enforce this condition. Perhatikan bahwa target paling tidak akan cepat ini dan tidak membutuhkan logika khusus untuk menegakkan kondisi ini.

Page 30: PCI konvensional

[ edit ] Ending transactions [ sunting ] transaksi Akhir

Either side may request that a burst end after the current data phase. Entah sisi dapat meminta akhir yang meledak setelah tahap data saat ini. Simple PCI devices that do not support multi-word bursts will always request this immediately. Wikipedia PCI perangkat yang tidak mendukung multi-kata ledakan akan selalu permintaan ini segera. Even devices that do support bursts will have some limit on the maximum length they can support, such as the end of their addressable memory. Bahkan perangkat yang mendukung semburan akan memiliki beberapa batasan panjang maksimum mereka dapat mendukung, seperti akhir memori dialamatkan mereka.

[ edit ] Initiator burst termination [ edit ] pengakhiran meledak Inisiator

The initiator can mark any data phase as the final one in a transaction by deasserting FRAME# at the same time as it asserts IRDY#. Pemrakarsa dapat menandai setiap fase data yang terakhir dalam transaksi dengan deasserting FRAME # pada saat yang sama seperti yang menegaskan IRDY #. The cycle after the target asserts TRDY#, the final data transfer is complete, both sides deassert their respective RDY# signals, and the bus is idle again. Siklus setelah target menegaskan TRDY #, transfer data akhir selesai, kedua belah pihak deassert sinyal RDY masing-masing #, dan bus idle lagi. The master may not deassert FRAME# before asserting IRDY#, nor may it deassert FRAME# while waiting, with IRDY# asserted, for the target to assert TRDY#. master tidak mungkin deassert FRAME # sebelum menegaskan IRDY #, atau mungkin itu deassert FRAME # sambil menunggu, dengan IRDY # menegaskan, untuk target untuk menegaskan TRDY #.

The only minor exception is a master abort termination , when no target responds with DEVSEL#. Yang kecil-satunya pengecualian adalah abort master pemutusan, ketika target tidak merespons dengan DEVSEL #. Obviously, it is pointless to wait for TRDY# in such a case. Jelas, tidak ada gunanya menunggu TRDY # dalam kasus seperti itu. However, even in this case, the master must assert IRDY# for at least one cycle after deasserting FRAME#. Namun, bahkan dalam kasus ini, master harus menegaskan IRDY # untuk setidaknya satu siklus setelah deasserting FRAME #. (Commonly, a master will assert IRDY# before receiving DEVSEL#, so it must simply hold IRDY# asserted for one cycle longer.) This is to ensure that bus turnaround timing rules are obeyed on the FRAME# line. (Umumnya, master akan menegaskan IRDY # sebelum menerima DEVSEL #, sehingga hanya harus terus IRDY # menegaskan untuk satu siklus yang lebih lama.) Hal ini untuk memastikan bahwa aturan-aturan waktu turnaround bus dipatuhi pada RANGKA # line.

[ edit ] Target burst termination [ edit ] pengakhiran meledak Target

The target requests the initiator end a burst by asserting STOP#. Target permintaan pemrakarsa mengakhiri burst dengan menegaskan STOP #. The initiator will then end the transaction by deasserting FRAME# at the next legal opportunity; if it wishes to transfer more data, it will continue in a separate transaction. inisiator kemudian akan berakhir transaksi dengan deasserting FRAME # pada kesempatan hukum berikutnya, jika ingin mentransfer data lebih banyak, ia akan

Page 31: PCI konvensional

terus dalam sebuah transaksi terpisah. There are several ways for the target to do this: Ada beberapa cara untuk target untuk melakukan hal ini:

Disconnect with data Putus dengan data If the target asserts STOP# and TRDY# at the same time, this indicates that the target wishes this to be the last data phase. Jika target ini menegaskan STOP # dan TRDY # pada saat yang sama, ini menunjukkan bahwa target keinginan ini menjadi tahap data terakhir. For example, a target that does not support burst transfers will always do this to force single-word PCI transactions. Misalnya, target yang tidak mendukung transfer meledak selalu akan melakukan hal ini untuk memaksa satu-kata transaksi PCI. This is the most efficient way for a target to end a burst. Ini adalah cara yang paling efisien untuk target untuk mengakhiri burst.

Disconnect without data Putus tanpa data If the target asserts STOP# without asserting TRDY#, this indicates that the target wishes to stop without transferring data. Jika target ini menegaskan STOP # tanpa menegaskan TRDY #, ini menunjukkan bahwa target ingin berhenti tanpa mentransfer data. STOP# is considered equivalent to TRDY# for the purpose of ending a data phase, but no data is transferred. STOP # dianggap setara dengan TRDY # untuk tujuan mengakhiri fase data, tetapi tidak ada data yang ditransfer.

Retry Mencoba kembali A Disconnect without data before transferring any data is a retry , and unlike other PCI transactions, PCI initiators are required to pause slightly before continuing the operation. Sebuah Putus tanpa data sebelum mentransfer data apapun adalah coba lagi, dan tidak seperti transaksi PCI lainnya, PCI penggagas diharuskan untuk jeda sedikit sebelum melanjutkan operasi. See the PCI specification for details. Lihat spesifikasi PCI untuk rincian.

Target abort Target membatalkan Normally, a target holds DEVSEL# asserted through the last data phase. Biasanya, target memegang DEVSEL # menegaskan melalui fase data terakhir. However, if a target deasserts DEVSEL# before disconnecting without data (asserting STOP#), this indicates a target abort , which is a fatal error condition. Namun, jika target deasserts DEVSEL # sebelum memutuskan hubungan tanpa data (menegaskan STOP #), ini menunjukkan abort sasaran, yang merupakan kondisi kesalahan fatal. The initiator may not retry, and typically treats it as a bus error . inisiator tidak boleh mengulangi, dan biasanya memperlakukan sebagai kesalahan bus . Note that a target may not deassert DEVSEL# while waiting with TRDY# or STOP# low; it must do this at the beginning of a data phase. Perhatikan bahwa target tidak mungkin deassert DEVSEL # sambil menunggu dengan TRDY # atau STOP # rendah; itu harus melakukan ini pada awal fase data.

There will always be at least one more cycle after a target-initiated disconnection, to allow the master to deassert FRAME#. Akan selalu ada setidaknya satu siklus lebih setelah pemutusan target-dimulai, untuk memungkinkan master untuk deassert FRAME #. There are two sub-cases, which take the same amount of time, but one requires an additional data phase: Ada dua sub-kasus, yang mengambil jumlah waktu yang sama, tetapi satu membutuhkan fase data tambahan:

Disconnect-A Putus-A

Page 32: PCI konvensional

If the initiator observes STOP# before asserting its own IRDY#, then it can end the burst by deasserting FRAME# at the end of the current data phase. Jika inisiator mengamati STOP # sebelum menyatakan IRDY sendiri #, maka bisa mengakhiri meledak dengan deasserting FRAME # pada akhir tahap data saat ini.

Disconnect-B Putus-B If the initiator has already asserted IRDY# (without deasserting FRAME#) by the time it observes the target's STOP#, it is already committed to an additional data phase. Jika inisiator telah menegaskan IRDY # (tanpa deasserting FRAME #) pada saat itu mengamati target STOP #, sudah berkomitmen untuk fase data tambahan. The target must wait through an additional data phase, holding STOP# asserted without TRDY#, before the transaction can end. Target harus menunggu melalui tahap data tambahan, memegang STOP # menegaskan tanpa TRDY #, sebelum transaksi tersebut dapat diakhiri.

If the initiator ends the burst at the same time as the target requests disconnection, there is no additional bus cycle. Jika inisiator mengakhiri meledak pada waktu yang sama seperti target pemutusan permintaan, tidak ada siklus bus tambahan.

[ edit ] Burst addressing [ sunting ] Burst pengalamatan

For memory space accesses, the words in a burst may be accessed in several orders. Untuk mengakses ruang memori, kata-kata yang di burst dapat diakses di beberapa pesanan. The unnecessary low-order address bits AD[1:0] are used to convey the initiator's requested order. Rendah-order bit alamat yang tidak perlu AD [01:00] yang digunakan untuk menyampaikan perintah inisiator itu diminta. A target which does not support a particular order must terminate the burst after the first word. Sebuah target yang tidak mendukung urutan tertentu harus mengakhiri meledak setelah kata pertama. Some of these orders depend on the cache line size, which is configurable on all PCI devices. Beberapa perintah ini tergantung pada ukuran baris cache, yang dapat dikonfigurasi pada semua perangkat PCI.

PCI burst ordering PCI meledak pemesanan A[1] A

[1] A[0] A

[0] Burst order (with 16-byte cache line) Order burst (dengan baris cache 16-

byte)

0 0 0 0 Linear incrementing (0x0C, 0x10, 0x14, 0x18, 0x1C, ...) Linear incrementing (0x0C, 0x10, 0x14, 0x18, 0x1C, ...)

0 0 1 1 Cacheline toggle (0x0C, 0x08, 0x04, 0x00, 0x1C, 0x18, ...) Cacheline toggle (0x0C, 0x08, 0x04, 0x00, 0x1C, 0x18, ...)

1 1 0 0 Cacheline wrap (0x0C, 0x00, 0x04, 0x08, 0x1C, 0x10, ...) Cacheline wrap (0x0C, 0x00, 0x04, 0x08, 0x1C, 0x10, ...)

1 1 1 1 Reserved (disconnect after first transfer) Reserved (putuskan setelah transfer pertama)

If the starting offset within the cache line is zero, all of these modes reduce to the same order. Jika mulai offset di dalam baris cache adalah nol, semua mode mengurangi ke urutan yang sama.

Page 33: PCI konvensional

Cache line toggle and cache line wrap modes are two forms of critical-word-first cache line fetching. Cache line beralih dan mode baris cache membungkus dua bentuk baris cache kritis-kata-pertama menarik. Toggle mode XORs the supplied address with an incrementing counter. Toggle modus XORs alamat yang disertakan dengan counter incrementing. This is the native order for Intel 486 and Pentium processors. Ini adalah perintah asli untuk Intel 486 dan prosesor Pentium. It has the advantage that it is not necessary to know the cache line size to implement it. Hal ini memiliki keuntungan yang tidak perlu untuk mengetahui ukuran cache line untuk menerapkannya.

PCI version 2.1 obsoleted toggle mode and added the cache line wrap mode, [1] where fetching proceeds linearly, wrapping around at the end of each cache line. PCI versi 2.1 beralih modus usang dan menambahkan baris membungkus mode cache, [1] di mana mengambil hasil linear, membungkus sekitar di akhir setiap baris cache. When one cache line is completely fetched, fetching jumps to the starting offset in the next cache line. Ketika satu baris cache benar-benar diambil, mengambil melompat ke awal disajikan di baris cache berikutnya.

Note that most PCI devices only support a limited range of typical cache line sizes; if the cache line size is programmed to an unexpected value, they force single-word access. Perhatikan bahwa kebanyakan perangkat PCI hanya mendukung berbagai ukuran terbatas baris cache khas, jika ukuran baris cache diprogram untuk nilai yang tidak terduga, mereka memaksa akses tunggal-kata.

PCI also supports burst access to I/O and configuration space, but only linear mode is supported. PCI juga mendukung akses meledak ke I / O dan ruang konfigurasi, tetapi hanya modus linear didukung. (This is rarely used, and may be buggy in some devices; they may not support it, but not properly force single-word access either.) (Ini jarang digunakan, dan mungkin buggy dalam beberapa perangkat, mereka mungkin tidak mendukung, tapi tidak benar memaksa akses tunggal-kata yang baik.)

[ edit ] Transaction examples [ sunting ] Contoh Transaksi

This is the highest-possible speed four-word write burst, terminated by the master: Ini adalah kecepatan tertinggi-yang mungkin empat-kata menulis burst, diakhiri oleh master:

0_ 1_ 2_ 3_ 4_ 5_ 6_ 7_ 3_ 1_ 2_ 0_ 4_ 7_ 5_ 6_ CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \ CLK _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ AD[31:0] ---<___X___X___X___X___>---<___> AD [31:0] ---<___ X___X___X___X___ >---<___> ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ C/BE[3:0]# ---<___X___X___X___X___>---<___> C / BE [03:00] # ---<___ X___X___X___X___ >---<___> | | | | ___ | | | | ___ IRDY# ^^^^^^^^\______________/ ^^^^^ IRDY # ^^^^^^^^ \ ^^^^^ ______________/ | | | | ___ | | | | ___ TRDY# ^^^^^^^^\______________/ ^^^^^ TRDY # ^^^^^^^^ \ ^^^^^ ______________/

Page 34: PCI konvensional

| | | | ___ | | | | ___ DEVSEL# ^^^^^^^^\______________/ ^^^^^ DEVSEL # ^^^^^^^^ \ ^^^^^ ______________/ ___ | | | ___ ___ | | | ___ FRAME# \_______________/ | ^^^^\____ FRAME # \ _______________/ | ^ ^ ^ ^ \ ____ _ _ |_ |_ |_ |_ _ _ _ _ | _ | _ | _ | _ _ _ CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \ CLK _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

On clock edge 1, the initiator starts a transaction by driving an address, command, and asserting FRAME# The other signals are idle (indicated by ^^^), pulled high by the motherboard's pull-up resistors. Pada tepi jam 1, inisiator mulai transaksi dengan mengendarai sebuah alamat, perintah, dan menegaskan FRAME # Sinyal lainnya idle (ditunjukkan dengan ^^^), ditarik tarik tinggi dengan motherboard-up resistor. That might be their turnaround cycle. Yang mungkin siklus perputaran mereka. On cycle 2, the target asserts both DEVSEL# and TRDY#. Pada siklus 2, target menegaskan baik DEVSEL # dan TRDY #. As the initiator is also ready, a data transfer occurs. Sebagai inisiator juga siap, transfer data terjadi. This repeats for three more cycles, but before the last one (clock edge 5), the master deasserts FRAME#, indicating that this is the end. Ini diulangi selama tiga siklus lagi, tapi sebelum terakhir (ujung jam 5), menguasai deasserts FRAME #, menunjukkan bahwa ini adalah akhir. On clock edge 6, the AD bus and FRAME# are undriven (turnaround cycle) and the other control lines are driven high for 1 cycle. Pada tepi jam 6, bus AD dan FRAME # adalah undriven (siklus perputaran) dan saluran kontrol lain didorong tinggi untuk 1 siklus. On clock edge 7, another initiator can start a different transaction. Pada tepi jam 7, inisiator lain dapat memulai transaksi yang berbeda. This is also the turnaround cycle for the other control lines. Ini juga merupakan siklus perubahan haluan untuk saluran kontrol lainnya.

The equivalent read burst takes one more cycle, because the target must wait 1 cycle for the AD bus to turn around before it may assert TRDY#: Ledakan membaca setara mengambil satu siklus lebih, karena target harus menunggu 1 siklus untuk bus AD untuk memutar sebelum bisa menegaskan TRDY #:

0_ 1_ 2_ 3_ 4_ 5_ 6_ 7_ 8_ 3_ 1_ 2_ 0_ 4_ 7_ 5_ 6_ 8_ CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \ CLK _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ AD[31:0] ---<___>---<___X___X___X___>---<___> AD [31:0] ---<___>---<___ X___X___X___ >---<___> ___ _______ ___ ___ ___ ___ _______ ___ ___ ___ C/BE[3:0]# ---<___X_______X___X___X___>---<___> C / BE [03:00] # ---<___ X_______X___X___X___ >---<___> ___ | | | | ___ ___ | | | | ___ IRDY# ^^^^\___________________/ ^^^^^ IRDY ^ # ^ ^ ^ \ ^^^^^ ___________________/ ___ _____ | | | | ___ ___ _____ | | | | ___ TRDY# ^^^^ \______________/ ^^^^^ TRDY ^ # ^ ^ ^ \ ^^^^^ ______________/ ___ | | | | ___ ___ | | | | ___

Page 35: PCI konvensional

DEVSEL# ^^^^\___________________/ ^^^^^ DEVSEL ^ # ^ ^ ^ \ ^^^^^ ___________________/ ___ | | | ___ ___ | | | ___ FRAME# \___________________/ | ^^^^\____ FRAME # \ ___________________/ | ^ ^ ^ ^ \ ____ _ _ _ |_ |_ |_ |_ _ _ _ _ _ | _ | _ | _ | _ _ _ CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \ CLK _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8

A high-speed burst terminated by the target will have an extra cycle at the end: Ledakan kecepatan tinggi diakhiri oleh target akan memiliki siklus ekstra di akhir:

0_ 1_ 2_ 3_ 4_ 5_ 6_ 7_ 8_ 3_ 1_ 2_ 0_ 4_ 7_ 5_ 6_ 8_ CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \ CLK _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ AD[31:0] ---<___>---<___X___X___X___XXXX>---- AD [31:0] ---<___>---<___ X___X___X___XXXX >---- ___ _______ ___ ___ ___ ___ ___ _______ ___ ___ ___ ___ C/BE[3:0]# ---<___X_______X___X___X___X___>---- C / BE [03:00] # ---<___ X_______X___X___X___X___ >---- | | | | ___ | | | | ___ IRDY# ^^^^^^^\_______________________/ IRDY # ^^^^^^^ \ _______________________/ _____ | | | | _______ _____ | | | | _______ TRDY# ^^^^^^^ \______________/ TRDY # ^^^^^^^ \ ______________/ ________________ | ___ ________________ | ___ STOP# ^^^^^^^ | | | \_______/ STOP # ^^^^^^^ | | | \ _______/ | | | | ___ | | | | ___ DEVSEL# ^^^^^^^\_______________________/ DEVSEL # ^^^^^^^ \ _______________________/ ___ | | | | ___ ___ | | | | ___ FRAME# \_______________________/ ^^^^ FRAME ^ # \ _______________________/ ^ ^ ^ _ _ _ |_ |_ |_ |_ _ _ _ _ _ | _ | _ | _ | _ _ _ CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \ CLK _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ _ / \ 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8

On clock edge 6, the target indicates that it wants to stop (with data), but the initiator is already holding IRDY# low, so there is a fifth data phase (clock edge 7), during which no data is transferred. Pada tepi jam 6, target menunjukkan bahwa ia ingin berhenti (dengan data), tetapi inisiator tersebut sudah memegang IRDY # rendah, sehingga ada fase data kelima (tepi jam 7), di mana tidak ada data yang ditransfer.

[ edit ] Parity [ sunting ] Paritas

The PCI bus detects parity errors, but does not attempt to correct them by retrying operations; it is purely a failure indication. Bus PCI mendeteksi kesalahan paritas, tetapi tidak berusaha untuk memperbaikinya dengan mencoba lagi operasi; itu adalah murni indikasi kegagalan. Because of this, there is no need to detect the parity error before it has happened, and the PCI bus actually

Page 36: PCI konvensional

detects it a few cycles later. Karena itu, tidak perlu untuk mendeteksi kesalahan paritas sebelum itu telah terjadi, dan PCI bus benar-benar mendeteksi beberapa siklus kemudian. During a data phase, whichever device is driving the AD[31:0] lines computes even parity over them and the C/BE[3:0]# lines, and sends that out the PAR line one cycle later. Selama fase data, mana perangkat mengemudi AD [31:0] garis menghitung bahkan paritas atas mereka dan C / BE baris [03:00] #, dan mengirimkan bahwa dari baris PAR satu siklus nanti. All access rules and turnaround cycles for the AD bus apply to the PAR line, just one cycle later. aturan akses Semua dan perputaran siklus untuk bus AD berlaku untuk garis PAR, hanya satu siklus nanti. The device listening on the AD bus checks the received parity and asserts the PERR# (parity error) line one cycle after that. Perangkat mendengarkan bus AD memeriksa paritas diterima dan menegaskan PERR yang # (kesalahan paritas) line satu siklus setelah itu. This generally generates a processor interrupt, and the processor can search the PCI bus for the device which detected the error. Ini umumnya menghasilkan prosesor mengganggu, dan prosesor dapat mencari bus PCI untuk perangkat yang terdeteksi kesalahan.

The PERR# line is only used during data phases, once a target has been selected. Garis PERR # hanya digunakan selama fase data, setelah target telah dipilih. If a parity error is detected during an address phase (or the data phase of a Special Cycle), the devices which observe it assert the SERR# (System error) line. Jika kesalahan paritas terdeteksi selama fase alamat (atau fase data dari Siklus Khusus), perangkat yang mengamatinya menegaskan SERR # (System error) line.

Even when some bytes are masked by the C/BE# lines and not in use, they must still have some defined value, and this value must be used to compute the parity. Bahkan ketika beberapa byte bertopeng oleh C / BE # garis dan tidak digunakan, mereka masih harus memiliki beberapa nilai didefinisikan, dan nilai ini harus digunakan untuk menghitung paritas tersebut.

[ edit ] Fast back-to-back transactions [ sunting ] Fast back-to-back transaksi

Due to the need for a turnaround cycle between different devices driving PCI bus signals, in general it is necessary to have an idle cycle between PCI bus transactions. Karena kebutuhan siklus perputaran antara perangkat yang berbeda mengemudi sinyal PCI bus, secara umum perlu memiliki siklus idle antara transaksi bus PCI. However, in some circumstances it is permitted to skip this idle cycle, going directly from the final cycle of one transfer (IRDY# asserted, FRAME# deasserted) to the first cycle of the next (FRAME# asserted, IRDY# deasserted). Namun, dalam beberapa keadaan itu diizinkan untuk melewati siklus idle, pergi langsung dari siklus akhir dari satu transfer (IRDY # menegaskan, FRAME # deasserted) dengan siklus pertama berikutnya (FRAME # menegaskan, IRDY # deasserted).

An initiator may only perform back-to-back transactions when: Sebuah inisiator hanya dapat melakukan transaksi back-to-back apabila:

they are by the same initiator (or there would be no time to turn around the C/BE# and FRAME# lines), mereka oleh inisiator yang sama (atau tidak akan ada waktu untuk berbalik C / BE # dan FRAME # baris),

the first transaction was a write (so there is no need to turn around the AD bus), and transaksi pertama adalah menulis (sehingga tidak perlu untuk memutar bus AD), dan

Page 37: PCI konvensional

the initiator still has permission (from its GNT# input) to use the PCI bus. pemrakarsa masih memiliki ijin (dari GNT nya # input) untuk menggunakan bus PCI.

Additional timing constraints may come from the need to turn around are the target control lines, particularly DEVSEL#. kendala waktu tambahan dapat berasal dari kebutuhan untuk berbalik adalah saluran kontrol sasaran, khususnya DEVSEL #. The target deasserts DEVSEL#, driving it high, in the cycle following the final data phase, which in the case of back-to-back transactions is the first cycle of the address phase. Target deasserts DEVSEL #, mengemudi tinggi-tinggi, dalam siklus berikut tahap data akhir, yang dalam kasus transaksi back-to-back adalah siklus pertama dari fase alamat. The second cycle of the address phase is then reserved for DEVSEL# turnaround, so if the target is different from the previous one, it must not assert DEVSEL# until the third cycle (medium DEVSEL speed). Siklus kedua dari fase alamat kemudian dicadangkan untuk DEVSEL # turnaround, jadi jika target berbeda dari sebelumnya, tidak harus menegaskan DEVSEL # sampai siklus ketiga (media DEVSEL kecepatan).

One case where this problem cannot arise is if the initiator knows somehow (presumably because the addresses share sufficient high-order bits) that the second transfer is addressed to the same target as the previous one. Satu kasus di mana masalah ini tidak dapat timbul adalah jika inisiator tahu entah bagaimana (mungkin karena berbagi alamat yang cukup high-order bit) bahwa transfer kedua adalah ditujukan kepada target yang sama seperti sebelumnya. In that case, it may perform back-to-back transactions. Dalam hal ini, hal itu mungkin melakukan transaksi back-to-back. All PCI targets must support this. Semua sasaran PCI harus mendukung ini.

It is also possible for the target keeps track of the requirements. Hal ini juga mungkin bagi sasaran melacak persyaratan. If it never does fast DEVSEL, they are met trivially. Jika tidak pernah tidak cepat DEVSEL, mereka bertemu sepele. If it does, it must wait until medium DEVSEL time unless: Jika tidak, itu harus menunggu sampai waktu DEVSEL medium kecuali:

the current transaction was preceded by an idle cycle (is not back-to-back), or transaksi lancar didahului oleh siklus idle (tidak back-to-back), atau

the previous transaction was to the same target, or transaksi sebelumnya dengan target yang sama, atau

the current transaction began with a double address cycle. transaksi saat ini dimulai dengan siklus alamat ganda.

Targets which have this capability indicate it by a special bit in a PCI configuration register, and if all targets on a bus have it, all initiators may use back-to-back transfers freely. Target yang memiliki kemampuan ini menunjukkan itu dengan agak khusus dalam register konfigurasi PCI, dan jika semua target di bus memilikinya, semua pemrakarsa dapat menggunakan transfer back-to-back secara bebas.

A subtractive decoding bus bridge must know to expect this extra delay in the event of back-to-back cycles in order to advertise back-to-back support. Sebuah jembatan decoding subtraktif bus harus tahu untuk mengharapkan penundaan ini ekstra dalam hal siklus back-to-back untuk mengiklankan dukungan back-to-back.

Page 38: PCI konvensional

[ edit ] 64-bit PCI [ sunting ] 64-bit PCI

This section explains only basic 64-bit PCI; the full PCI-X protocol extension is much more extensive. Bagian ini hanya menjelaskan PCI 64-bit dasar; penuh PCI-X extension protokol jauh lebih luas.

The PCI specification includes optional 64-bit support. Spesifikasi PCI termasuk dukungan opsional 64-bit. This is provided via an extended connector which provides the 64-bit bus extensions AD[63:32], C/BE[7:4]#, and PAR64. Ini disediakan melalui konektor diperpanjang yang menyediakan 64-bit bus ekstensi AD [63:32], C / BE [07:04] #, dan par64. (It also provides a number of additional power and ground pins.) (Ini juga menyediakan sejumlah daya tambahan dan pin tanah.)

Memory transactions between 64-bit devices may use all 64 bits to double the data transfer rate. Memori transaksi antara perangkat 64-bit mungkin akan menggunakan semua 64 bit untuk menggandakan kecepatan transfer data. Non-memory transactions (including configuration and I/O space accesses) may not use the 64-bit extension. Non-memori transaksi (termasuk konfigurasi dan I / O mengakses ruang) tidak boleh menggunakan ekstensi 64-bit. During a 64-bit burst, burst addressing works just as in a 32-bit transfer, but the address is incremented twice per data phase. Selama burst 64-bit, meledak pengalamatan bekerja sama dalam transfer 32-bit, namun alamat bertambah dua kali per fase data. The starting address must be 64-bit aligned; ie AD2 must be 0. Alamat awal harus sejajar 64-bit; AD2 yaitu harus 0. The data corresponding to the intervening addresses (with AD2 = 1) is carried on the upper half of the AD bus. Data yang sesuai ke alamat intervensi (dengan AD2 = 1) dilakukan pada paruh atas bus AD.

To initiate a 64-bit transaction, the initiator drives the starting address on the AD bus and asserts REQ64# at the same time as FRAME#. Untuk memulai transaksi 64-bit, inisiator drive alamat awal pada bus AD dan menegaskan REQ64 # pada saat yang sama sebagai FRAME #. If the selected target can support a 64-bit transfer for this transaction, it replies by asserting ACK64# at the same time as DEVSEL#. Jika target yang dipilih dapat mendukung transfer 64-bit untuk transaksi ini, balasan dengan menegaskan ACK64 # pada saat yang sama seperti DEVSEL #. Note that a target may decide on a per-transaction basis whether to allow a 64-bit transfer. Perhatikan bahwa target dapat memutuskan pada basis per-transaksi apakah akan membolehkan transfer 64-bit.

If REQ64# is asserted during the address phase, the initiator also drives the high 32 bits of the address and a copy of the bus command on the high half of the bus. Jika REQ64 # ditegaskan selama fase alamat, inisiator juga drive 32 bit tinggi dari alamat dan salinan perintah bus di setengah tinggi bus. If the address requires 64 bits, a dual address cycle is still required, but the high half of the bus carries the upper half of the address and the final command code during both address phase cycles; this allows a 64-bit target to see the entire address and begin responding earlier. Jika alamat tersebut membutuhkan 64 bit, alamat siklus dual masih diperlukan, tetapi setengah tinggi bus membawa setengah bagian atas dari alamat dan kode perintah akhir selama siklus alamat fase kedua, ini memungkinkan target 64-bit untuk melihat alamat keseluruhan dan mulai menanggapi sebelumnya.

Page 39: PCI konvensional

If the initiator sees DEVSEL# asserted without ACK64#, it performs 32-bit data phases. Jika inisiator melihat DEVSEL # menegaskan tanpa ACK64 #, ia melakukan 32-bit data fase. The data which would have been transferred on the upper half of the bus during the first data phase is instead transferred during the second data phase. Data yang akan ditransfer pada bagian atas bus selama fase pertama adalah bukan data yang ditransfer selama tahap data kedua. Typically, the initiator drives all 64 bits of data before seeing DEVSEL#. Biasanya, inisiator drive semua 64 bit data sebelum melihat DEVSEL #. If ACK64# is missing, it may cease driving the upper half of the data bus. Jika ACK64 # hilang, mungkin berhenti mengemudi bagian atas bus data.

The REQ64# and ACK64# lines are held asserted for the entire transaction save the last data phase, and deasserted at the same time as FRAME# and DEVSEL#, respectively. Garis REQ64 # dan ACK64 # diadakan menegaskan untuk seluruh transaksi menyimpan data fase terakhir, dan deasserted pada waktu yang sama seperti FRAME # dan DEVSEL #, masing-masing.

The PAR64 line operates just like the PAR line, but provides even parity over AD[63:32] and C/BE[7:4]#. Garis par64 beroperasi seperti garis PAR, tetapi memberikan bahkan paritas lebih dari AD [63:32] dan C / BE [07:04] #. It is only valid for address phases if REQ64# is asserted. Hal ini hanya berlaku untuk fase alamat jika REQ64 # ditegaskan. PAR64 is only valid for data phases if both REQ64# and ACK64# are asserted. Par64 hanya berlaku untuk fase data jika kedua REQ64 # dan ACK64 # adalah menegaskan.

[ edit ] Cache snooping (obsolete) [ sunting ] Cache mengintai (usang)

PCI originally included optional support for write-back cache coherence . PCI awalnya termasuk dukungan opsional untuk write-back cache koherensi . This required support by cacheable memory targets, which would listen to two pins from the cache on the bus, SDONE (snoop done) and SBO# (snoop backoff). [ 10 ] Ini dukungan yang dibutuhkan oleh target memori disimpan di cache, yang akan mendengarkan dua pin dari cache di bus, SDONE (snoop dilakukan) dan SBO # (snoop backoff). [10]

Because this was rarely implemented in practice, it was deleted from revision 2.2 of the PCI specification, [ 6 ] [ 11 ] and the pins re-used for SMBus access in revision 2.3. [ 5 ] Karena ini jarang diterapkan dalam praktek, itu dihapus dari revisi 2.2 dari spesifikasi PCI, [6] [11] dan pin digunakan kembali untuk SMBus akses dalam revisi 2.3. [5]

The cache would watch all memory accesses, without asserting DEVSEL#. Cache akan menonton semua akses memori, tanpa menegaskan DEVSEL #. If it noticed an access that might be cached, it would drive SDONE low (snoop not done). Jika melihat akses yang mungkin di-cache, itu akan mendorong SDONE rendah (snoop tidak dilakukan). A coherence-supporting target would avoid completing a data phase (asserting TRDY#) until it observed SDONE high. Target koherensi-mendukung akan menghindari menyelesaikan fase data (menegaskan TRDY #) sampai diamati SDONE tinggi.

In the case of a write to data that was clean in the cache, the cache would only have to invalidate its copy, and would assert SDONE as soon as this was established. Dalam hal menulis ke data yang bersih dalam cache, cache hanya akan harus membatalkan menyalin, dan akan menegaskan

Page 40: PCI konvensional

SDONE secepat ini didirikan. However, if the cache contained dirty data, the cache would have to write it back before the access could proceed. Namun, jika cache berisi data kotor, cache harus menulis kembali sebelum akses bisa dilanjutkan. so it would assert SBO# when raising SDONE. sehingga akan menegaskan SBO # ketika menaikkan SDONE. This would signal the active target to assert STOP# rather than TRDY#, causing the initiator to disconnect and retry the operation later. Hal ini akan sinyal target aktif untuk menegaskan STOP # daripada TRDY #, menyebabkan inisiator untuk memutuskan dan coba operasi nanti. In the meantime, the cache would arbitrate for the bus and write its data back to memory. Sementara itu, cache akan arbitrase untuk bus dan menulis data kembali ke memori.

Targets supporting cache coherency are also required to terminate bursts before they cross cache lines. Target mendukung koherensi cache juga dibutuhkan untuk menghentikan semburan sebelum mereka menyeberangi garis cache.

[ edit ] Development tools [ sunting ] Alat Pengembangan

When developing and/or troubleshooting the PCI bus, examination of hardware signals can be very important. Logic analyzers and bus analyzers are tools which collect, analyze, decode signals for users to view in useful ways. Ketika mengembangkan dan / atau tips bus PCI, pemeriksaan sinyal hardware bisa sangat penting. Logika analisis dan bus analisa adalah alat yang mengumpulkan, menganalisis, men-decode sinyal bagi pengguna untuk melihat dengan cara yang bermanfaat.