protokol bas PCI. Menggunakan penguji pci kad pos daripada kit induk nm9221 untuk diagnostik PC

Setiap transaksi (pertukaran dalam bas) melibatkan dua peranti - pemula pertukaran, juga dikenali sebagai peranti induk, dan peranti sasaran, juga dikenali sebagai hamba. Bas PCI menganggap semua transaksi sebagai paket: setiap transaksi bermula dengan fasa alamat, yang boleh diikuti oleh satu atau lebih fasa data. Komposisi dan tujuan isyarat antara muka bas diberikan dalam Jadual. 1.

Jadual 1. Komposisi dan tujuan isyarat antara muka bas PCI.

Isyarat

Tujuan

Alamat/Data - alamat berganda/bas data. Pada permulaan transaksi, alamat dihantar, dalam kitaran seterusnya - data

Command/Byte Enable - arahan/kebenaran untuk mengakses bait. Perintah yang menentukan jenis kitaran bas seterusnya ditentukan oleh kod empat bit dalam fasa alamat

Bingkai. Pengenalan isyarat menandakan permulaan transaksi (fasa alamat), penyingkiran isyarat menunjukkan bahawa kitaran pemindahan data seterusnya adalah yang terakhir dalam transaksi

Pilih Peranti - peranti dipilih (tindak balas CPU kepada transaksi yang ditujukan kepadanya)

Sedia Pemula - kesediaan peranti induk untuk pertukaran data

Sedia Sasaran - kesediaan pusat kawalan untuk pertukaran data

Permintaan daripada CPU kepada tuan untuk menghentikan transaksi semasa

Isyarat penangkapan bas untuk memastikan operasi yang konsisten. Digunakan oleh jambatan yang memerlukan berbilang transaksi PCI untuk menyelesaikan satu operasi

Permintaan - permintaan daripada peranti induk untuk merampas bas

Geran - pemberian kawalan bas kepada tuan

Pariti - bit pariti biasa untuk baris AD dan C/BE#

Ralat Pariti - isyarat ralat pariti (untuk semua kitaran kecuali yang istimewa). Dijana oleh mana-mana peranti yang mengesan ralat

Peristiwa Pengurusan Kuasa - isyarat tentang peristiwa yang menyebabkan perubahan mod

penggunaan ( isyarat tambahan, diperkenalkan dalam PCI 2.2)

Jam berjalan - bas beroperasi pada kekerapan jam nominal. Mengalih keluar isyarat bermakna memperlahankan atau menghentikan penyegerakan untuk mengurangkan penggunaan (untuk aplikasi mudah alih)

Hadir - penunjuk kehadiran papan mengekod permintaan penggunaan kuasa. Pada kad pengembangan, satu atau dua talian LED disambungkan ke bas GND, yang dirasai oleh papan induk

Tetapkan semula - tetapkan semula semua daftar kepada keadaan asalnya

Inisialisasi Pilih Peranti- pemilihan peranti dalam kitaran konfigurasi

baca dan tulis

Ralat Sistem - ralat sistem. Ralat pariti alamat data gelung khas atau ralat bencana lain yang dikesan oleh peranti. Diaktifkan oleh mana-mana peranti PCI dan memanggil NMI

Minta 64 bit - minta pertukaran 64 bit. Isyarat adalah input 64-bit

pemula, ia bertepatan dengan masa dengan isyarat FRAME*. Semasa penyiapan set semula (isyarat RST*) memberi isyarat kepada peranti 64-bit bahawa ia disambungkan ke bas 64-bit. Jika peranti 64-bit tidak mengesan isyarat ini, ia mesti mengkonfigurasi semula dirinya kepada mod 32-bit dengan melumpuhkan litar penimbal bait tinggi

Pengesahan pertukaran 64-bit. Isyarat dimasukkan oleh CPU 64-bit, yang telah mengenali alamatnya, serentak dengan DEVSEL*. Kegagalan untuk memberikan pengesahan ini akan memaksa pemula untuk melakukan pertukaran pada 32-bit

A, B, C, D - talian permintaan gangguan, kepekaan tahap, tahap aktif - rendah, yang membolehkan kebolehpisahan (perkongsian) baris

jam- kekerapan jam tayar. Mesti dalam 20-33 MHz,

Dalam PCI2.1 - sehingga 66 MHz

Dayakan 66MHz - resolusi frekuensi jam sehingga 66 MHz

Snoop Selesai - memberi isyarat bahawa kitaran pengintipan selesai untuk transaksi semasa. Level rendah menunjukkan bahawa kitaran pemantauan koheren memori dan cache tidak lengkap. Isyarat pilihan, hanya digunakan oleh peranti bas dengan memori cache

Snoop Backoff - tekan pada akses memori semasa pelanggan bas

kepada baris cache yang diubah suai. Isyarat pilihan, hanya digunakan oleh pelanggan bas dengan memori cache semasa algoritma tulis balik

Jam Ujian - Penyegerakan antara muka ujian JTAG

Input Data Ujian - data input antara muka ujian JTAG

Output Data Ujian - data output antara muka ujian JTAG

Pilih Mod Ujian - pilih mod untuk antara muka ujian JTAG

Test Logic Reset - set semula logik ujian

Pada bila-bila masa, bas hanya boleh dikawal oleh satu peranti induk, yang telah menerima hak untuk berbuat demikian daripada penimbang tara. Setiap peranti induk mempunyai sepasang isyarat - REQ# untuk meminta kawalan bas dan GNT# untuk mengesahkan bahawa kawalan bas telah diberikan. Peranti boleh memulakan transaksi (tetapkan isyarat FRAME#) hanya apabila isyarat GNT# yang diterima aktif. Mengalih keluar isyarat GNT* menghalang peranti daripada memulakan transaksi seterusnya, dan dalam keadaan tertentu (lihat di bawah) menyebabkan peranti itu menamatkan transaksi semasa. Timbangtara permintaan untuk menggunakan bas dikendalikan oleh nod khas yang disertakan dalam chipset papan induk. Skim keutamaan (tetap, round-robin, digabungkan) ditentukan oleh pengaturcaraan penimbang tara.

Talian AD bermultipleks biasa digunakan untuk alamat dan data. Empat baris C/BE bermultipleks menyediakan pengekodan perintah dalam fasa alamat dan resolusi bait dalam fasa data. Pada permulaan transaksi, peranti induk mengaktifkan isyarat FRAME#, menghantar alamat sasaran melalui bas AD dan maklumat tentang jenis transaksi (perintah) melalui talian C/BE#. Pusat kawalan beralamat bertindak balas dengan isyarat DEVSEL#. Peranti induk menunjukkan kesediaannya untuk menukar data dengan isyarat IRDY#; kesediaan ini boleh ditetapkan sebelum menerima DEVSEL#. Apabila pusat kawalan bersedia untuk menukar data, ia akan menetapkan isyarat TRDY#. Data dihantar pada bas AD hanya apabila isyarat IRDY# dan TRDY# hadir serentak. Dengan bantuan isyarat ini, peranti induk dan pusat kawalan menyelaraskan kelajuannya dengan memperkenalkan kitaran menunggu. Dalam Rajah. Rajah 1 menunjukkan gambarajah pemasaan pertukaran di mana kedua-dua peranti induk dan pusat kawalan memasuki kitaran menunggu. Jika kedua-duanya memasuki isyarat sedia pada penghujung fasa alamat dan tidak mengeluarkannya sehingga akhir pertukaran, maka 32 bit data akan dihantar dalam setiap kitaran jam selepas fasa alamat, yang akan memberikan prestasi pertukaran maksimum.

Bilangan fasa data dalam paket tidak dinyatakan secara eksplisit, tetapi sebelum fasa data terakhir, peranti induk, apabila isyarat IRDY# dimasukkan, mengeluarkan isyarat FRAME#. Dalam transaksi tunggal, isyarat FRAME# aktif untuk satu kitaran jam sahaja. Jika peranti tidak menyokong transaksi kelompok dalam mod hamba, maka ia mesti meminta agar transaksi kelompok ditamatkan semasa fasa data pertama (dengan memasukkan isyarat STOP# pada masa yang sama seperti TRDY#). Sebagai tindak balas kepada ini, peranti induk akan ditamatkan transaksi ini dan akan terus menukar transaksi berikutnya dengan nilai alamat baharu. Selepas fasa data terakhir, peranti hos mengalih keluar isyarat IRDY# dan bas masuk ke keadaan melahu (PCI Idle) - kedua-dua isyarat FRAME# dan IRDY# berada dalam keadaan pasif. Inisiator boleh memulakan transaksi seterusnya tanpa tempoh rehat dengan memasukkan FRAME# serentak dengan pengeluaran IRDY#. Urus niaga bersebelahan pantas (Fast Back-to-Back) boleh dialamatkan kepada kedua-dua pusat pusat yang satu dan berbeza. Jenis pertama disokong oleh semua peranti PCI yang bertindak sebagai unit kawalan pusat. Inisiator dibenarkan (jika dia boleh) menggunakan transaksi bersebelahan pantas dengan peranti berbeza (bit 9 daftar arahan) hanya jika semua ejen bas membenarkan akses pantas.

nasi. 1. Kitaran komunikasi pada bas PCI

Protokol jabat tangan memastikan kebolehpercayaan pertukaran - peranti induk sentiasa menerima maklumat mengenai pemprosesan transaksi oleh pusat kawalan pusat. Cara untuk meningkatkan kebolehpercayaan (kesahan) ialah penggunaan kawalan pariti: baris AD dan C/BE# dalam kedua-dua fasa alamat dan fasa data dilindungi oleh bit pariti PAR (bilangan bit unit baris ini, termasuk PAR , mestilah genap). Nilai PAR sebenar muncul pada bas dengan kelewatan satu kitaran jam berbanding baris AD dan C/BE#. Apabila ralat CPU dikesan, isyarat PERR# dijana (dengan anjakan jam selepas kesahihan bit pariti). Apabila mengira pariti semasa menghantar data, semua bait diambil kira, termasuk yang tidak sah (ditandakan dengan tahap tinggi isyarat C/BEx#). Keadaan bit, walaupun dalam bait data tidak sah, mesti kekal stabil semasa fasa data.

Setiap transaksi di dalam bas mesti diselesaikan seperti yang dirancang atau dibatalkan, dan bas mesti masuk ke dalam keadaan rehat (isyarat FRAME# dan IRDY# adalah pasif). Penyelesaian transaksi dilakukan sama ada atas inisiatif tuan atau atas inisiatif PU. Tuan boleh melengkapkan urus niaga dalam salah satu cara berikut:

    Penamatan biasa (Camletiori) dilakukan apabila pertukaran data selesai.

    Tamat masa berlaku apabila, semasa transaksi, kawalan induk bas diambil (dengan mengalih keluar isyarat GNT#) dan masa yang dinyatakan dalam Pemasa Latensinya tamat tempoh. Ini boleh berlaku jika CU yang dialamatkan secara tiba-tiba lambat atau urus niaga dijadualkan terlalu lama. Urus niaga pendek (dengan satu atau dua fasa data), walaupun isyarat GNT# dialih keluar dan pemasa dicetuskan, diselesaikan secara normal.

    Transaksi ditolak (Master-Abort) apabila induk tidak menerima respons daripada CPU (DEVSEL#) dalam masa yang ditetapkan.

Urus niaga boleh ditamatkan atas inisiatif Pusat Kawalan; Untuk melakukan ini, ia boleh memasukkan isyarat STOP#. Terdapat tiga jenis penamatan yang mungkin:

    Cuba semula - isyarat STOP# dimasukkan apabila isyarat TRDY# pasif sebelum fasa data pertama. Keadaan ini berlaku apabila pusat kawalan, disebabkan kesibukan dalaman, tidak mempunyai masa untuk mengeluarkan data pertama tepat pada masanya (16 kitaran jam). Cuba semula ialah petunjuk kepada tuan untuk memulakan transaksi yang sama sekali lagi.

    Putuskan sambungan - Isyarat STOP# dimasukkan semasa atau selepas fasa data pertama. Jika isyarat STOP# dimasukkan semasa isyarat TRDY# fasa data seterusnya aktif, maka data ini dihantar dan transaksi selesai. Jika isyarat STOP# dimasukkan dengan isyarat TRDY# pasif, maka transaksi selesai tanpa menghantar data fasa seterusnya. Pemutusan sambungan berlaku apabila pusat kawalan tidak dapat mengeluarkan atau menerima bahagian data paket seterusnya tepat pada masanya.

    Target-Abort - isyarat STOP# dimasukkan serentak dengan isyarat DEVSEL# dialih keluar (dalam kes sebelumnya, apabila isyarat STOP# muncul, isyarat DEVSEL# aktif). Selepas ini, data tidak lagi dihantar. Penolakan diperkenalkan apabila pusat kawalan mengesan ralat yang membawa maut atau keadaan lain di mana ia tidak lagi dapat melakukan servis. permintaan ini.

Perintah bas, memori dan pengalamatan I/O

Setiap arahan bas menentukan alamat data yang dihantar dalam fasa data pertama paket. Alamat untuk setiap fasa data berikutnya bagi paket ditambah sebanyak 4 (kata ganda seterusnya), tetapi dalam arahan capaian memori susunan mungkin berbeza (lihat di bawah). Bait bas AD yang membawa maklumat yang sah dipilih oleh isyarat C/BE# dalam fasa data. Dalam satu paket, isyarat ini boleh menukar keadaan dari fasa ke fasa dengan cara sewenang-wenangnya. Bait yang dibenarkan mungkin bertaburan; Mungkin terdapat fasa data di mana tiada bait dibenarkan. Tidak seperti bas ISA, tiada perubahan bit dinamik pada PCI - semua peranti mesti disambungkan ke bas dalam cara 32-bit. Jika peranti PCI menggunakan litar berfungsi dengan kapasiti yang berbeza (contohnya, anda perlu menyambungkan cip 8255 yang mempunyai bas data 8-bit dan empat daftar), maka anda perlu menggunakan kaedah penukaran litar yang memetakan semua daftar ke 32 -bit AD bas.

Menangani memori, port dan daftar konfigurasi adalah berbeza.

♦ Dalam kitaran capaian memori, alamat yang dijajarkan pada sempadan kata ganda dipindahkan di sepanjang baris AD; Garis AD menentukan susunan alamat dalam paket:

    00 - kenaikan linear; alamat fasa berikutnya berbeza daripada yang sebelumnya dengan bilangan bait bas (4 untuk 32-bit dan 8 untuk bas 64-bit).

    10 - Mod Cacheline Wrap, pembalut alamat dengan mengambil kira panjang baris cache. Dalam urus niaga, alamat untuk fasa seterusnya dinaikkan sehingga ia mencapai sempadan baris cache, selepas itu ia bergerak ke permulaan baris ini dan meningkat ke alamat sebelum permulaan. Jika transaksi lebih panjang daripada garisan cache, ia akan diteruskan dalam baris seterusnya pada offset yang sama di mana ia bermula. Jadi, dengan panjang talian 16 bait dan bas 32-bit, transaksi yang bermula pada alamat xxxxxxOSh akan mempunyai fasa data berikutnya yang berkaitan dengan alamat xxxxxxOCh, xxxxxxOOh, xxxxxx04h; dan seterusnya ke xxxxxxlSh, xxxxxxlCh, xxxxxxlOh, xxxxxx!4h. Panjang talian cache ditentukan dalam ruang konfigurasi peranti (lihat bahagian 6.2.12). Jika peranti tidak mempunyai daftar Saiz Talian Cache, maka ia mesti membatalkan transaksi selepas fasa data pertama;

    01 dan 11 - dikhaskan, boleh digunakan sebagai petunjuk untuk memutuskan sambungan (Disconnect) selepas fasa data pertama.

    Dalam kitaran mengakses port I/O, semua baris AD digunakan untuk menangani sebarang bait. Dalam kes ini, bit alamat AD menunjukkan alamat kata ganda yang dimiliki oleh data yang dihantar, dan bit tertib rendah alamat AD mesti sepadan dengan bait yang boleh didayakan oleh isyarat C/BE#. Apabila AD=00, C/BE# dibenarkan - xxxO atau 1111, dengan AO «01-C/BE# = xx01 atau 1111, dengan AO=10-C/BE# = x011 atau 1111, dengan AD=11 - C /BE# = 0111 (hanya bait 3) atau 1111 dihantar (tiada bait dibenarkan). Kitaran ini juga boleh berkumpulan, walaupun dalam praktiknya ciri ini jarang digunakan.

    Dalam kitaran tulis/baca konfigurasi, peranti (kad pengembangan) dipilih oleh isyarat IDSEL individu; fungsi ditangani oleh bit AD, dan daftar konfigurasi (kata ganda sahaja) ditangani oleh bit AD, dengan AD=00.

Pasukan Bas PCI ditentukan oleh nilai bit C/BE# dalam fasa alamat.

    Sampuk arahan mengakui direka untuk membaca vektor gangguan. Menurut protokol, ia kelihatan seperti arahan baca, secara tersirat ditujukan kepada pengawal gangguan sistem. Di sini, dalam fasa alamat, tiada maklumat berguna dihantar melalui bas AD, tetapi pemulanya (jambatan utama) mesti memastikan kestabilan isyarat dan pariti yang betul. Dalam PC, vektor 8-bit dihantar dalam bait 0 apabila pengawal gangguan sedia (melalui isyarat TRDY#). Pengesahan gangguan dilakukan dalam satu kitaran (kitaran terbiar pertama, yang dilakukan oleh pemproses x86 sebagai penghormatan kepada keserasian zaman dahulu, ditindas oleh jambatan).

    Kitaran khas berbeza daripada semua yang lain kerana ia disiarkan. Walau bagaimanapun, tiada ejen bertindak balas kepadanya, dan jambatan utama atau peranti lain yang memperkenalkan kitaran ini sentiasa menamatkannya menggunakan kaedah Master Abort (ia memerlukan 6 kitaran bas). Gelung khas direka bentuk untuk menjana mesej siaran - ia boleh dibaca oleh mana-mana ejen bas yang "berminat". Jenis mesej dinyahkod oleh kandungan baris AD; baris AD boleh mengandungi data yang dibawa dalam mesej. Tiada fasa alamat dalam kitaran ini untuk peranti konvensional, tetapi jambatan menggunakan maklumatnya untuk mengawal penyebaran mesej. Mesej dengan kod OOOOh, 000lh dan 0002h diperlukan untuk menunjukkan penutupan, penghentian pemproses atau fungsi pemproses x8b khusus yang berkaitan dengan cache dan surih. Kod 0003-FFFFh dikhaskan. Kitaran khas boleh dijana oleh mekanisme perkakasan dan perisian yang sama seperti kitaran konfigurasi (lihat bahagian 6.2.11), tetapi dengan nilai alamat tertentu.

    Baca dan Tulis Perintah I/O berfungsi untuk mengakses ruang pelabuhan. Baris AD mengandungi alamat bait, dan bit ADO dan AD1 juga tertakluk kepada penyahkodan (walaupun fakta bahawa isyarat BEx# hadir). Port PCI boleh menjadi 16-bit atau 32-bit. Semua 32 bit alamat tersedia untuk menangani port pada bas PCI, tetapi pemproses x86 hanya boleh menggunakan 16 bit yang lebih rendah.

    Perintah Akses Memori, sebagai tambahan kepada membaca dan menulis biasa, termasuk membaca baris cache, berbilang bacaan (berbilang baris), penulisan tidak sah.

    Konfigurasi membaca dan menulis arahan dialamatkan ke ruang konfigurasi peranti (lihat klausa 6.2.12). Alamat dibuat hanya dalam kata ganda. Struktur ini mengandungi pengecam peranti dan output untuk, keadaan dan arahan, maklumat tentang sumber yang diduduki dan sekatan ke atas penggunaan bas. Untuk menjana arahan ini, mekanisme perkakasan dan perisian khas diperlukan (lihat bahagian 6.2.11).

    Membaca baris memori digunakan, apabila lebih daripada dua pemindahan 32-bit dijadualkan dalam urus niaga (biasanya dibaca hingga hujung baris cache).

    Bacaan memori berbilang digunakan untuk transaksi rentas sempadan talian cache.

    Rekod dengan tidak sah digunakan untuk keseluruhan baris cache dan membenarkan pengoptimuman kitaran tulis balik baris cache yang kotor.

Kitaran dua alamat membolehkan anda mengakses peranti dengan pengalamatan 64-bit melalui bas 32-bit. Dalam kes ini, 32 bit alamat yang lebih rendah dihantar dalam kitaran jenis ini, diikuti dengan kitaran biasa yang menentukan jenis pertukaran dan membawa 32 bit alamat yang paling ketara. Bas PCI membenarkan pengalamatan 64-bit port I/O (ini tidak berguna untuk x86, tetapi PCI wujud pada platform lain).

Jenis Perintah S/BE

0000 Interrupt Acknowledge - pengesahan gangguan

0001 Kitaran Khas - kitaran khas

0010 I/O Read - membaca port I/O

0011 Tulis I/O - menulis ke port I/O

0100 Terpelihara

0101 Terpelihara

0110 Bacaan Memori - ingatan bacaan

0111 Memori Tulis - menulis ke ingatan

1000 Terpelihara

1001 Terpelihara

1010 Bacaan Konfigurasi - bacaan konfigurasi

1011 Tulis Konfigurasi - tulis konfigurasi

1100 Bacaan Berbilang Memori - bacaan memori berbilang

1101 Kitaran Dwi Alamat (DAC)

1110 Memory-Read Line - membaca baris memori

1111 Memori Tulis dan Batal - rekod dengan tidak sah.

    Organisasi akses ingatan langsung. Tujuan, pelaksanaan dan tugas kawalan pengawal capaian memori langsung.

Akses ingatan terus (DMA) adalah salah satu cara untuk menukar data dengan PU. Dalam mod ini, pertukaran data antara unit kawalan dan memori sistem mikropemproses berlaku tanpa penyertaan pemproses. Pertukaran dalam mod DMA dikawal bukan oleh program yang dilaksanakan oleh pemproses, tetapi oleh peranti khas di luar pemproses, dipanggil pengawal DMA (KPDC). DMA digunakan untuk input/output pantas blok data dan memunggah pemproses daripada mengurus operasi I/O. Pertukaran blok data menggunakan pertukaran terkawal perisian agak perlahan, kerana beberapa arahan pemproses dibelanjakan untuk menukar setiap bait. DDP membebaskan pemproses daripada menguruskan operasi I/O, dengan itu membenarkan pemproses melaksanakan program selari dalam masa dengan pertukaran data antara PU dan memori, dan untuk menjalankan pertukaran ini pada kelajuan yang terhad hanya oleh lebar jalur memori. atau PU. Oleh itu, DMA, dengan melepaskan pemproses daripada menservis operasi I/O, membantu meningkatkan prestasi keseluruhan sistem mikropemproses.

Untuk melaksanakan mod DMA, adalah perlu untuk memastikan komunikasi langsung antara pengawal DMA dan memori sistem mikropemproses, i.e. saluran maklumat khas di mana pertukaran dijalankan dalam mod DTP - saluran DTP. Untuk tujuan ini, anda boleh menggunakan lebuh raya khusus yang menyambungkan pengawal DMA ke memori. Walau bagaimanapun, penyelesaian sedemikian tidak boleh dianggap optimum, kerana ia akan membawa kepada komplikasi ketara sistem mikropemproses secara keseluruhan, terutamanya apabila menyambungkan beberapa unit kawalan. Untuk mengurangkan bilangan talian dalam bas sistem mikropemproses, pengawal DMA disambungkan ke memori melalui bas sistem. Ini menimbulkan masalah perkongsian bas sistem antara pemproses dan pengawal DMA. Terdapat dua cara utama untuk menyelesaikannya:

    pelaksanaan pertukaran dalam mod DMA dengan tangkapan kitaran;

    pelaksanaan pertukaran dalam mod DMA dengan penyekatan pemproses.

Terdapat dua perisa DMA yang menarik gelung. Cara paling mudah untuk mengatur DAP ialah kitaran pemproses di mana ia tidak menukar data dengan memori digunakan untuk pertukaran. Semasa kitaran sedemikian, pengawal DMA boleh berkomunikasi dengan memori tanpa mengganggu pemproses. Walau bagaimanapun, terdapat keperluan untuk memperuntukkan kitaran sedemikian supaya tiada pertindihan sementara pertukaran DMA dengan operasi pertukaran yang dimulakan oleh pemproses. Sesetengah pemproses menjana isyarat kawalan khas untuk menunjukkan kitaran di mana pemproses tidak menggunakan memori. Sekiranya pemproses tidak menghasilkan isyarat sedemikian, maka untuk memperuntukkan kitaran bebas adalah perlu untuk menggunakan litar khas dalam pengawal DMA, yang membawa kepada komplikasi yang terakhir. Penggunaan kaedah penganjuran DAP ini tidak mengurangkan prestasi sistem, tetapi pertukaran dalam mod DAP hanya boleh dilakukan secara rawak dalam satu perkataan.

Yang paling biasa ialah DMA dengan tangkapan kitaran dan pemutusan paksa pemproses daripada bas sistem. Untuk melaksanakan mod DMA ini, bas sistem ditambah dengan dua isyarat kawalan - "Permintaan untuk akses memori langsung" HOLD dan "Sediakan akses memori langsung" HLDA.

Isyarat kawalan HOLD dihasilkan oleh pengawal DMA. Pemproses, setelah menerima isyarat ini, menangguhkan pelaksanaan arahan semasa tanpa menunggu penyelesaiannya, memutuskan sambungan dari bas sistem dan mengeluarkan isyarat kawalan HLDA kepada pengawal DMA. Mulai saat ini, semua bas sistem dikawal oleh pengawal DMA. Pengawal DMA, menggunakan bas bas sistem, menukar satu perkataan data dengan memori dan kemudian, selepas mengeluarkan isyarat HOLD, mengembalikan kawalan bas sistem kepada pemproses. Sebaik sahaja pengawal DMA bersedia untuk menukar perkataan data seterusnya, ia sekali lagi merebut kitaran pemproses, dan seterusnya. Dalam selang waktu antara tangkapan kitaran oleh pengawal DMA, pemproses terus melaksanakan arahan program. Oleh itu, pelaksanaan program menjadi perlahan, tetapi pada tahap yang lebih rendah daripada semasa bertukar dalam mod gangguan.

Memindahkan blok data menggunakan DDP melibatkan melaksanakan urutan tindakan tertentu (Rajah 32):

    pemasangan awal ( persiapan awal) Pengawal TPM;

    melancarkan pengawal DDP;

    menduduki kitaran pemproses beberapa kali;

    penyempurnaan pertukaran.

nasi. 32 – Algoritma untuk menghantar blok data menggunakan pengawal DDP

Program ini hanya digunakan untuk pemasangan awal dan permulaan pertukaran melalui saluran DDP. Pemproses kemudiannya boleh melaksanakan program utama, yang tidak dikaitkan dengan pertukaran. Semasa pelaksanaan program ini, setiap kali permintaan diterima untuk DMA, pengawal DMA akan menduduki kitaran pemproses dan melakukan pemindahan. Selepas tamat pertukaran, gangguan digunakan untuk memindahkan kawalan ke program penyiapan pertukaran dalam mod DMA. Program utama kemudiannya boleh diteruskan.

Mari kita pertimbangkan organisasi pengawal DMA, yang menyediakan input data ke dalam memori sistem mikropemproses dalam mod DMA (Rajah 33).

nasi. 33 – Organisasi pengawal TPM

Persediaan awal untuk pertukaran dalam mod DMA terdiri daripada memperuntukkan kepada PU kawasan memori yang digunakan dalam pertukaran dan menunjukkan saiznya, i.e. bilangan perkataan maklumat yang ditulis ke ingatan atau dibaca daripada ingatan. Oleh itu, pengawal DMA mesti memasukkan daftar alamat dan pembilang kata. Sebelum memulakan pertukaran dengan PU dalam mod DMA, pemproses mesti melaksanakan program pemuatan yang memastikan bahawa alamat permulaan memori yang diperuntukkan oleh PU dan saiznya dalam perkataan kedalaman bit tertentu ditulis ke daftar yang ditentukan bagi Pengawal DMA.

Oleh itu, sebelum mula memasukkan blok data seterusnya daripada PU, pemproses memuatkan maklumat berikut ke dalam daftar pengawal DMA: ke dalam pembilang perkataan - bilangan perkataan yang diterima, dan ke dalam daftar alamat - alamat permulaan bagi kawasan memori untuk data input. Oleh itu, pengawal bersedia untuk melaksanakan operasi memasukkan data daripada PU ke dalam memori dalam mod DMA.

Pengawal DPM dimulakan dengan arahan output, yang menetapkan pencetus mula kepada 1. Pencetus permulaan menyambungkan PU ke pengawal DMA. Selepas arahan permulaan pengawal DMA mesti ada perintah membolehkan gangguan. Pada masa hadapan, blok data dimasukkan melalui saluran DDP tanpa penyertaan arahan program.

Apabila PU menyediakan perkataan data, ia dihantar ke daftar data pengawal. Dalam kes ini, setiap perkataan disertakan dengan isyarat kawalan daripada unit kawalan "Input Data", yang memastikan bahawa perkataan data ditulis pada daftar data pengawal. Menggunakan isyarat yang sama (apabila pencetus mula ditetapkan kepada 1), pencetus permintaan ditetapkan kepada 1, isyarat daripada outputnya dihantar kepada input pemproses "Keperluan akses memori langsung" HOLD. Selepas pemproses menjana isyarat tindak balas "Menyediakan akses memori langsung" HLDA, kitaran mesin seterusnya diduduki oleh pertukaran. Dalam kes ini, satu pemindahan perkataan data dijalankan ke sel memori di alamat yang terletak dalam daftar alamat pengawal. Berdasarkan isyarat HLDA, pengawal mendedahkan kandungan alamat dan daftar datanya masing-masing kepada alamat dan bas data bas sistem. Dengan menjana isyarat kawalan MEMWR, pengawal DMA memastikan bahawa perkataan data ditulis daripada daftar datanya ke memori. Isyarat Geran Akses Memori Langsung HLDA juga digunakan dalam pengawal untuk melaksanakan tiga operasi:

    set semula pencetus permintaan;

    meningkatkan kandungan daftar alamat sebanyak 1;

    Kurangkan kandungan kata pembilang sebanyak 1.

Untuk setiap isyarat HLDA, 1 ditolak daripada kandungan pembilang perkataan, dan apabila ia menjadi sama dengan 0, penghujung pencetus pemindahan blok data ditetapkan kepada 1, isyarat keluaran yang digunakan sebagai permintaan gangguan dan dihantar. kepada input pemproses yang sepadan. Pemproses mengganggu pelaksanaan program dan memindahkan kawalan kepada rutin gangguan untuk menyelesaikan pertukaran.

Pertukaran selesai dengan memutuskan sambungan PU daripada pengawal DPM dengan arahan output, yang menetapkan semula pencetus mula kepada 0. Di samping itu, penghujung pencetus penghantaran blok data ditetapkan semula kepada 0 dengan cara yang sama. Apabila gangguan diproses, kawalan kembali ke program utama.

Jika tidak ada keperluan untuk terus melaksanakan program selari dengan penghantaran dalam mod DMA, ia digunakan sebagai isyarat sedia, yang tersedia kepada pemproses melalui daftar status pengawal DMA. Dalam kes ini, gangguan tidak digunakan (output pencetus akhir pemindahan tidak disambungkan kepada input permintaan gangguan pemproses atau gangguan dalam pemproses dinyahdayakan). Semasa pertukaran melalui saluran DMA, pemproses berada dalam kitaran menunggu penghujung pemindahan, mengundi bit kesediaan yang sepadan bagi daftar status pengawal DMA atas arahan input. Sebaik sahaja pemproses mengesan kesediaan, ia meneruskan prosedur penyiapan pertukaran (langkah 4 urutan yang dibincangkan di atas), selepas itu pelaksanaan program diteruskan.

Penyelesaian pertukaran dengan memutuskan sambungan PU daripada pengawal DPM - menetapkan semula pencetus mula kepada 0 - boleh dilakukan bukan dengan arahan output dalam subrutin pemprosesan sampukan, tetapi secara automatik apabila kandungan pembilang perkataan menjadi sama dengan 0 (seperti serta menetapkan pencetus tamat pemindahan kepada 1). Dalam kes ini, tidak ada keperluan untuk pencetus permulaan dalam pengawal DPM, dan sambungan/pemutus sambungan PU ke pengawal dijalankan bergantung pada keadaan pembilang perkataan. Apabila memuatkan bilangan perkataan yang diterima ke dalam kaunter, isyarat "0=" ditetapkan kepada 1 dan menghubungkan isyarat kawalan daripada panel kawalan "Input Data" ke input S pencetus permintaan. Selepas semua perkataan telah dihantar, kandungan pembilang menjadi sama dengan 0, isyarat "0=" ditetapkan semula kepada 0 dan melarang aliran isyarat kawalan daripada "Input Data" PU ke input S pencetus permintaan. , dengan itu memutuskan sambungan PU daripada pengawal DPM.

Di atas, hanya proses penyediaan pengawal DPM dan pemindahan data secara langsung dalam mod DPM telah dibincangkan. Dalam amalan, sebarang sesi pertukaran data dengan PU dalam mod DDP sentiasa juga termasuk peringkat penyediaan PU untuk pertukaran. Pada peringkat ini, pemproses, dalam mod pertukaran terkawal program, meninjau keadaan PU, menyemak kesediaannya untuk pertukaran, dan menghantar arahan kepada PU untuk memastikan penyediaannya untuk pertukaran data melalui saluran DMA. Persediaan sedemikian boleh dikurangkan, sebagai contoh, untuk menggerakkan kepala ke trek yang diperlukan dalam NMD. Kemudian daftar pengawal DMA dimuatkan, selepas itu pertukaran data dalam mod DMA bermula sama ada atas inisiatif pengawal DMA, seperti yang dibincangkan di atas, atau atas inisiatif PU.

Perlu diingatkan bahawa penggunaan pertukaran dalam mod DMA dengan tangkapan kitaran dalam sistem mikropemproses memerlukan pengaturcara mempunyai pemahaman yang sangat jelas tentang proses yang berlaku dalam sistem semasa pelaksanaan program dan penyegerakan yang jelas bagi proses pelaksanaan program dan input/ output melalui saluran DMA.

Akses memori terus dengan kunci pemproses berbeza daripada mod DMA dengan tangkapan kitaran dalam kawalan bas sistem itu dipindahkan ke pengawal DMA bukan untuk tempoh pemindahan satu perkataan, tetapi untuk tempoh pertukaran blok data. Mod DMA ini diperlukan dalam kes di mana masa antara dua isyarat HOLD "Permintaan Akses Memori Terus" adalah setanding dengan kitaran pemproses. Dalam kes ini, pemproses tidak mempunyai masa untuk melaksanakan sekurang-kurangnya satu arahan antara operasi pertukaran berturut-turut dalam mod DMA.

Dalam sistem mikropemproses, anda boleh menggunakan beberapa unit kawalan yang beroperasi dalam mod DMA. Penyediaan bas sistem kepada PU tersebut untuk pertukaran data dijalankan berdasarkan keutamaan. Dalam kes ini, keutamaan PU dilaksanakan dengan cara yang sama seperti semasa menukar data dalam mod gangguan. Sebagai peraturan, setiap PU menggunakan sepasang isyarat kawalannya sendiri "Permintaan untuk akses memori langsung" HOLD dan "Sediakan akses memori langsung" HLDA dan saluran berasingan dalam pengawal DDP.

    Von Neumann (Princeton) dan seni bina Harvard. Organisasi memori dan ruang I/O. Kaedah asas untuk mengurangkan penggunaan tenaga komputer mikropemproses.

Di bawah organisasi memahami komposisi komponen (perkakasan atau perisian), hubungan antara mereka dan ciri fungsinya.

Komputer mempunyai organisasi hierarki pelbagai peringkat dengan komponennya sendiri pada setiap peringkat:

    1) peringkat bawah - tahap komponen fizikal - organisasi fizikal (diwakili dalam bentuk rajah litar);

    2) tahap fungsi yang dilaksanakan dalam komputer - organisasi logik (fungsional) (diwakili dalam bentuk rajah berfungsi);

    3) tingkat atas− tahap perkakasan (komposisi, sambungan berfungsi dan ciri modul perkakasan) − organisasi struktur (diwakili dalam bentuk gambar rajah blok).

Semua komponen sistem mikropemproses diwakili kepada pemproses sebagai satu set sel memori atau port input/output, yang membentuk dua ruang utama: ruang memori dan ruang input/output, masing-masing.

Von Neumann (Princeton) dan seni bina Harvard. Kebanyakan sistem mikropemproses moden menggunakan bas memori biasa untuk menyimpan program dan data. Organisasi ini dipanggil seni bina J. von Neumann, yang mencadangkan program pengekodan dalam format yang sepadan dengan format data. Komputer dengan seni bina ini dipanggil mesin jenis von Neumann atau Princeton. Di dalamnya, kawasan untuk menyimpan program (Ruang Program - PS) dan data (Ruang Data - DS) membentuk ruang tunggal dan boleh ditempatkan di mana-mana dalam memori yang dikongsi. Dalam kes ini, tiada tanda yang menunjukkan jenis maklumat dalam sel memori. Kandungan sel ditafsirkan oleh CPU, dan ia adalah tugas pengaturcara untuk memastikan bahawa data dan program dilayan secara berbeza. Seni bina Von Neumann adalah tipikal bagi Ahli Parlimen sejagat.

MT dan mikropengawal tersuai menggunakan reka bentuk berbeza yang dikenali sebagai Harvard Lab atau seni bina Harvard. Dalam versi klasiknya, program dan data disimpan dalam dua kenangan yang berasingan, yang membolehkan pengambilan dan pelaksanaan arahan digabungkan sepenuhnya dalam masa. Komputer yang direka mengikut konsep membahagikan memori kepada dua jenis dipanggil mesin jenis Harvard. Dalam sistem sedemikian, memori program dan memori data diasingkan dan mempunyai ruang alamat dan cara untuk mengaksesnya sendiri. Program ini sentiasa berada dalam satu memori, dan data berada dalam memori yang lain. Pemisahan ini memungkinkan untuk meningkatkan prestasi dan memudahkan pelaksanaan litar sistem mikropemproses.

Penambahbaikan lanjut kedua-dua jenis seni bina terdiri daripada peruntukan ruang data kecil khas, yang merupakan satu set daftar boleh diakses perisian (Register Space). Tidak seperti memori dan port I/O, daftar sentiasa terletak di dalam MP bersama-sama dengan ALU, yang menyediakan akses fizikal pantas kepada maklumat yang disimpan di dalamnya. Pada selang masa tertentu, program ini berfungsi paling intensif dengan hanya sejumlah kecil data. Kawasan daftar bertujuan untuk penyimpanan sementara data ini - satu set daftar yang boleh diakses secara pengaturcaraan.

Kawasan daftar boleh sama ada diasingkan sepenuhnya daripada ruang data DS atau sebahagiannya bertindih dengannya, yang memungkinkan untuk menganggap daftar MP individu sebagai sel memori data biasa. Organisasi sedemikian sesuai jika MP menyokong akses pantas kepada semua atau sekurang-kurangnya sebahagian daripada memori data.

Semua Ahli Parlimen moden mempunyai kawasan pendaftaran, tanpa mengira jenis mereka: Princeton atau Harvard. Organisasi logik dalaman kawasan daftar sangat pelbagai dan bergantung pada jenis MP. Struktur fungsi kawasan daftar akan dibincangkan kemudian. Buat masa ini, kami akan perhatikan hanya satu daftar dalam komposisinya, yang dipanggil PC kaunter program (Kaunter Program). Daftar ini adalah wajib untuk semua Ahli Parlimen dan dikaitkan dengan menangani memori program. Ia berfungsi sebagai penunjuk kepada elemen seterusnya urutan atur cara untuk diambil dan dilaksanakan.

Ruang I/O mewakili satu set litar penimbal dan daftar yang boleh dialamatkan, dipanggil port, yang melaluinya komunikasi dengan perkakasan luaran dan dalaman sistem mikropemproses dijalankan.

Sistem mikropemproses boleh menggunakan dua pilihan untuk mengatur ruang I/O:

    I/O terpencil. Port I/O terletak dalam ruang input/output khas (IOS), diasingkan daripada ruang data lain. Dalam kes ini, MP mempunyai set khas arahan input/output.

    gabungan I/O atau I/O dipetakan memori. Dalam kes ini, tiada ruang I/O terpencil, dan ruang memori data DS diperuntukkan kepada kawasan di mana port berada. Mengatur capaian kepada port dalam sistem mikropemproses sedemikian tidak berbeza dengan proses mengakses data dalam ingatan.

Dalam Rajah. Rajah 4 menunjukkan empat set tipikal kawasan untuk menyimpan program dan data. Anak panah menunjukkan proses mengasingkan kawasan individu, yang membawa kepada kemunculan set tipikal baharu. Semua set wujud dalam realiti, masing-masing mempunyai kelebihan dan kekurangannya sendiri, dengan mengambil kira yang membolehkan anda mencipta sistem yang sangat cekap untuk pelbagai tujuan.

Berbeza dengan kawasan daftar, ruang memori program PS dan ruang memori data DS, serta kawasan IOS I/O, disusun dengan lebih ringkas. Memori ialah set tertib linear bagi sel akses rawak n-bit (tatasusunan satu dimensi) - ingatan linear. Semua sel bernombor, jadi setiap sel dalam set mempunyai nombor yang dipanggil alamatnya. Semua alamat menduduki julat integer dari 0 hingga 2 m -1 (m ialah lebar alamat), yang membentuk ruang alamat memori. Dalam kebanyakan kes, pemproses boleh menangani memori dengan ketepatan satu bait, i.e. Unit terkecil yang boleh dialamatkan ialah bait dan memori mempunyai organisasi bait.

nasi. 4 – Kawasan mikropemproses untuk menyimpan program dan data

Organisasi ruang ingatan ditunjukkan dalam Rajah. 5. Dalam kes ini, ingatan digambarkan sedemikian rupa sehingga sel dengan alamat tinggi terletak lebih rendah daripada yang rendah. Penomboran digit individu dalam sel dilakukan dari kanan ke kiri, bermula dari sifar, dengan digit dengan nombor sifar adalah yang paling tidak ketara.

nasi. 5 - Organisasi ruang ingatan

Objek program (arahan dan operan) boleh lebih panjang daripada satu bait, contohnya, dua bait ialah perkataan 16-bit atau hanya satu perkataan, empat bait ialah perkataan 32-bit atau kata ganda, lapan bait ialah perkataan 64-bit atau perkataan quad. Objek sedemikian terletak dalam sel bersebelahan ruang ingatan, dengan bait rendah biasanya terletak dalam sel dengan alamat yang lebih rendah. Alamat objek adalah alamat terkecil dari sel yang diduduki olehnya, i.e. dalam kes ini, alamat bait rendahnya. Pesanan ini dipanggil Format Memori Little-Endian. Ia digunakan dalam mikropemproses dengan seni bina x86. Keluarga pemproses lain juga menggunakan susunan terbalik - Format Memori Big-Endian, di mana objek terletak dalam sel memori bersebelahan, bermula dengan bait tinggi, dan bait rendah diletakkan dalam sel berikutnya (contohnya, dalam mikropengawal keluarga 68HC11 daripada Motorola). Dalam kes ini, alamat objek ialah alamat bait tingginya. Untuk penukaran bersama format objek, pemproses mempunyai arahan khas. Operasi capaian memori melibatkan membaca atau menulis keseluruhan objek secara keseluruhan. Sebagai contoh, perkataan 16-bit dalam ingatan disimpan dalam dua sel bersebelahan. Bait tinggi perkataan menduduki sel dengan alamat yang lebih tinggi, dan bait rendah menduduki sel dengan alamat yang lebih rendah. Dalam kes ini, alamat bait rendah berfungsi sebagai alamat perkataan (lihat Rajah 5).

Selalunya, organisasi memori mengenakan sekatan tertentu ke atas kemungkinan lokasi objek multibait. Sebagai contoh, perkataan dalam ingatan hanya boleh berada di alamat genap. Kemudian, apabila mengakses perkataan, nilai bit tertib rendah alamatnya, yang menunjuk kepada bait dalam perkataan, tidak diambil kira, i.e. ingatan sedemikian mempunyai had perkataan.

Sebagai contoh, dalam 8086 MP, mana-mana dua bait bersebelahan dalam ingatan boleh dianggap sebagai perkataan 16-bit. Oleh itu, kata-kata data boleh diletakkan secara bebas di mana-mana alamat, yang menjimatkan memori kerana pembungkusannya yang padat. Walau bagaimanapun, untuk menjimatkan masa pelaksanaan program, adalah dinasihatkan untuk meletakkan perkataan data dalam ingatan pada alamat genap, kerana MP menghantar perkataan sedemikian dalam satu kitaran bas. Perkataan dengan alamat ganjil (tidak sejajar) juga boleh diterima, tetapi penghantarannya memerlukan dua kitaran bas, yang mengurangkan prestasi MP. Ia amat penting untuk mempunyai perkataan yang diselaraskan untuk operasi tindanan, kerana ia hanya melibatkan perkataan. Oleh itu, penuding tindanan SP mesti sentiasa dimulakan ke alamat genap. Arahan dalam MP 8086 sentiasa diambil dengan perkataan pada alamat genap, dengan pengecualian pengambilan pertama selepas pemindahan kawalan ke alamat ganjil, apabila satu bait diambil. Aliran arahan dibahagikan kepada bait dalam MP, jadi penjajaran arahan tidak menjejaskan prestasi dan oleh itu tidak digunakan.

Dalam pemproses Intel bermula dari 486, pada tahap keistimewaan 3, kawalan penjajaran operan di sepanjang sempadan yang sesuai boleh didayakan: perkataan pada alamat genap, kata ganda pada alamat yang merupakan gandaan empat dan perkataan empat kali ganda pada alamat yang gandaan lapan. Pada tahap keistimewaan 0, 1, 2, kawalan penjajaran tidak dilakukan.

Organisasi ingatan yang dipertimbangkan sepadan dengan tahap perwakilan memori yang lebih rendah (fizikal). Ruang I/O mempunyai organisasi yang sama. Terdapat tahap organisasi memori yang lebih tinggi (logik) di mana pengaturcara berfungsi dan yang dikaitkan dengan seni bina pemproses.

Prinsip modular tulang belakang untuk mengatur sistem mikropemproses. Kebanyakan sistem mikropemproses moden dibina berdasarkan prinsip modular tulang belakang. Selaras dengan prinsip ini, subsistem memori dan input/output dilaksanakan dalam bentuk modul lengkap yang berfungsi berasingan yang disambungkan kepada tulang belakang intra-sistem tunggal.

Subsistem memori terdiri daripada modul memori baca sahaja (ROM), yang digunakan untuk menyimpan program dan pemalar, dan modul memori akses rawak (RAM), yang digunakan untuk menyimpan pembolehubah dan program yang dimuatkan secara luaran.

Dalam kes yang paling mudah, subsistem IC terdiri daripada litar penimbal dan daftar yang dialamatkan kepada MP - port input/output. Ia direka untuk berkomunikasi dengan peranti luaran yang ringkas seperti LED, suis, dsb. Modul subsistem I/O yang lebih kompleks, direka untuk mengawal peralatan antara muka luaran dan melaksanakan fungsi I/O khas, dibina berdasarkan port I/O dan dipanggil penyesuai atau pengawal persisian.

Modul subsistem input/output yang paling kompleks ialah pemproses input/output (coprocessors), yang beroperasi pada program mereka sendiri yang disimpan dalam ingatan dan pada asasnya merupakan sistem mikropemproses yang berasingan.

Bergantung pada kaedah menyambungkan modul individu sistem mikropemproses ke bas sistem, terdapat tiga struktur tipikal sistem mikropemproses:

    garisan utama;

    lata utama;

    jejari utama.

Dalam struktur tulang belakang, semua modul memori dan subsistem I/O disambungkan terus ke tulang belakang sistem. Ini adalah struktur yang paling mudah. Kelemahan struktur talian utama ialah:

    semua modul mesti menyokong protokol pertukaran melalui bas sistem dan mengandungi cara antara muka dengannya, yang, bergantung pada mikropemproses, boleh menjadi agak rumit;

    prestasi rendah, kerana Peranti persisian yang perlahan boleh menduduki tulang belakang sistem untuk masa yang lama.

Dalam struktur lata tulang belakang dan jejari tulang belakang, modul individu disambungkan menggunakan pengawal bas khas (penyesuai), tujuan utamanya adalah untuk melaksanakan hubungan keutamaan apabila menggunakan tulang belakang.

Dalam struktur lata tulang belakang, modul individu disambungkan kepada pengawal bas menggunakan saluran biasa tambahan, contohnya, bas tulang belakang atau I/O, i.e. mengikut litar utama. Dalam struktur jejari tulang belakang, setiap modul disambungkan kepada pengawal bas menggunakan saluran individu, i.e. mengikut skema radial.

Seni bina dengan hierarki bas. Pada masa ini, dua kaedah pembinaan adalah lebih kurang sama meluas komputer: Berganding langsung dan berasaskan bas.

Dalam sistem yang dibina menggunakan kaedah pertama, terdapat sambungan langsung antara peranti yang berinteraksi (pemproses, memori, peranti input/output). Ciri sambungan (bilangan talian dalam bas, lebar jalur, dll.) ditentukan oleh jenis maklumat, sifat dan intensiti pertukaran. Kelebihan seni bina dengan sambungan langsung boleh dianggap sebagai kemungkinan menyahgandingkan kesesakan dengan memperbaiki struktur dan ciri-ciri sambungan tertentu sahaja, yang boleh menjadi penyelesaian yang paling menguntungkan dari segi ekonomi. Dalam komputer von Neumann, kesesakan seperti itu adalah saluran pemindahan data antara pemproses dan memori, dan agak sukar untuk memisahkannya. Di samping itu, sistem dengan sambungan langsung sukar untuk dikonfigurasikan semula.

Dalam pilihan bas biasa, semua peranti komputer disambungkan ke bas sistem, yang berfungsi sebagai satu-satunya laluan untuk arahan, data dan aliran kawalan. Kehadiran bas biasa dengan ketara memudahkan pelaksanaan komputer dan memudahkan untuk menukar komposisi dan konfigurasi mesin. Terima kasih kepada sifat-sifat ini, seni bina bas telah meluas dalam mikrokomputer. Pada masa yang sama, kelemahan utama seni bina dikaitkan dengan bas: pada bila-bila masa, hanya satu peranti boleh menghantar maklumat melalui bas. Beban utama pada bas datang daripada pertukaran antara pemproses dan memori yang berkaitan dengan mendapatkan semula arahan dan data daripada memori dan menulis hasil pengiraan ke dalam ingatan. Hanya sebahagian lebar jalur bas tersedia untuk operasi I/O. Amalan menunjukkan bahawa walaupun dengan bas yang cukup pantas untuk 90% aplikasi, sumber baki ini biasanya tidak mencukupi, terutamanya dalam kes input atau output sejumlah besar data.

Oleh itu, sambil mengekalkan konsep von Neumann bagi pelaksanaan berurutan arahan program, seni bina bas dalam bentuk tulennya ternyata tidak cukup berkesan. Seni bina hierarki bas adalah lebih biasa, di mana sebagai tambahan kepada bas sistem terdapat beberapa bas tambahan. Mereka boleh menyediakan komunikasi langsung antara peranti yang paling banyak diperdagangkan, seperti pemproses dan cache. Pilihan lain untuk menggunakan bas tambahan ialah menggabungkan peranti input/output dari jenis yang sama dengan output berikutnya daripada bas tambahan ke bas sistem. Ini membolehkan anda mengurangkan beban pada bas biasa dan menggunakan lebar jalurnya dengan lebih cekap. Yang paling meluas ialah sistem mikropemproses dengan satu bas, dua atau tiga jenis bas.

Dalam struktur bas tunggal, terdapat satu bas sistem yang menyediakan pertukaran maklumat antara pemproses dan memori, serta antara peranti input/output, di satu pihak, dan pemproses atau memori, di pihak yang lain. Pendekatan ini dicirikan oleh kesederhanaan dan kos rendah. Walau bagaimanapun, organisasi bas tunggal tidak dapat menyediakan kelajuan komunikasi yang tinggi, dan bas menjadi kesesakan.

Walaupun pengawal peranti I/O boleh disambungkan terus ke bas sistem, kesan yang lebih besar dicapai dengan menggunakan satu atau lebih bas I/O. Peranti I/O disambungkan kepada bas I/O, yang mengendalikan sebahagian besar trafik yang tidak dikaitkan dengan output kepada pemproses atau memori. Sambungan dibuat menggunakan penyesuai bas, yang menyediakan penimbalan data kerana ia dihantar antara bas sistem dan pengawal peranti I/O. Ini membolehkan sistem mikropemproses menyokong berbilang peranti input/output dan pada masa yang sama memisahkan pertukaran maklumat di sepanjang laluan memori pemproses daripada pertukaran maklumat dengan peranti input/output. Skim sedemikian dengan ketara mengurangkan beban pada bas memori pemproses berkelajuan tinggi dan membantu meningkatkan prestasi keseluruhan sistem mikropemproses.

Bas pengembangan berkelajuan tinggi boleh ditambah pada sistem bas untuk menyambungkan peranti persisian berkelajuan tinggi. Bas I/O disambungkan ke bas pengembangan, dan dari sana melalui penyesuai ke bas memori pemproses. Litar ini mengurangkan lagi beban pada bas memori pemproses. Susunan bas ini dipanggil seni bina mezanin.

    Ciri-ciri organisasi seni bina CISC dan RISC. Kelebihan dan kekurangan utama.

Pengalamatan Peranti PCI

Untuk bas PCI, hierarki konsep menangani telah diterima pakai: bas, peranti, fungsi. Konsep ini muncul hanya apabila mengakses daftar ruang konfigurasi. Daftar ini diakses pada peringkat konfigurasi - perakaunan semula peranti yang dikesan, memperuntukkan sumber tidak bertindih kepada mereka (kawasan memori dan ruang I/O) dan menetapkan nombor gangguan perkakasan. Dengan lebih lanjut kerja biasa peranti akan bertindak balas kepada permintaan pada memori yang diperuntukkan dan alamat I/O, yang disampaikan kepada modul perisian yang berkaitan. Alamat ini diterima daripada bas AD pada permulaan setiap transaksi. Barisan IDSEL yang berasingan digunakan untuk mengakses ruang konfigurasi

Peranti PCI ialah cip atau kad pengembangan yang disambungkan kepada salah satu bas PCI dan menggunakan talian IDSEL yang diberikan kepadanya milik bas ini untuk pengecaman. Peranti boleh menjadi pelbagai fungsi, iaitu, terdiri daripada banyak (dari 1 hingga 8) fungsi yang dipanggil. Setiap fungsi diperuntukkan ruang konfigurasi sebanyak 256 bait. Peranti pelbagai fungsi seharusnya hanya bertindak balas kepada kitaran konfigurasi dengan nombor fungsi yang ruang konfigurasi tersedia. Dalam kes ini, fungsi nombor 0 mesti ada; bilangan fungsi lain diberikan sewenang-wenangnya oleh pembangun peranti (dalam julat 1-7). Peranti ringkas (fungsi tunggal), bergantung pada pelaksanaan, boleh bertindak balas sama ada kepada sebarang nombor fungsi atau hanya kepada fungsi nombor 0.

Bas PCI ialah satu set garis isyarat yang menyambung secara langsung pin antara muka sekumpulan peranti (slot, litar mikro pada papan sistem). Sistem mungkin mempunyai berbilang bas PCI yang disambungkan oleh jambatan PCI. Jambatan secara elektrik memisahkan isyarat antara muka satu bas daripada bas yang lain, menyambungkannya secara logik; Jambatan utama menghubungkan bas utama ke teras sistem (pemproses dan memori). Setiap bas mempunyai nombor bas sendiri (nombor bas PCI). Tayar dinomborkan secara berurutan; bas utama bernombor sifar.

Dari sudut pandangan konfigurasi, unit beralamat minimum hierarki ini ialah fungsi; alamat penuhnya terdiri daripada tiga bahagian: nombor bas, nombor peranti dan nombor fungsi. Satu bentuk pengenalan ringkas bagi bentuk RSY:1:2 (contohnya, dalam mesej OS Unix) bermaksud fungsi 2 peranti 1 yang disambungkan ke bas PCI utama (0).

Setiap transaksi (pertukaran dalam bas) melibatkan dua peranti - pemula pertukaran, juga dikenali sebagai peranti induk, dan peranti sasaran, juga dikenali sebagai hamba. Bas PCI menganggap semua transaksi sebagai paket: setiap transaksi bermula dengan fasa alamat, yang boleh diikuti oleh satu atau lebih fasa data. Komposisi dan tujuan isyarat antara muka bas diberikan di bawah/

Alamat/Data AD - alamat berganda/bas data. Pada permulaan transaksi, alamat dihantar, dalam kitaran seterusnya - data

C/BE# Command/Byte Enable - arahan/kebenaran untuk mengakses bait. Perintah yang menentukan jenis kitaran bas seterusnya ditentukan oleh kod empat bit dalam fasa alamat „

RANGKA* - Bingkai. Pengenalan isyarat menandakan permulaan transaksi (fasa alamat), penyingkiran isyarat menunjukkan bahawa kitaran pemindahan data seterusnya adalah yang terakhir dalam transaksi

DEVSEL* Device Select - peranti dipilih (tindak balas CPU kepada transaksi yang ditujukan kepadanya)

IRDY* Initiator Ready - kesediaan peranti induk untuk pertukaran data

TRDY* Sasaran Sedia - kesediaan pusat kawalan untuk pertukaran data

STOP* Permintaan daripada CPU kepada induk untuk menghentikan transaksi semasa

LOCK* - Isyarat kunci bas untuk memastikan operasi tidak terganggu. Digunakan oleh jambatan yang memerlukan berbilang transaksi PCI untuk menyelesaikan satu operasi

REQ# Request - permintaan daripada peranti induk untuk merampas bas

Geran GNT# - memberikan kawalan bas kepada tuan

PAR Parity - bit pariti biasa untuk baris AD dan C/BE#

PERR* - Ralat Pariti - isyarat ralat pariti (untuk semua kitaran kecuali yang istimewa). Dijana oleh mana-mana peranti yang mengesan ralat

Acara Pengurusan Kuasa PME# - isyarat tentang peristiwa yang menyebabkan perubahan mod

penggunaan (isyarat tambahan diperkenalkan dalam PCI 2.2)

CLKRUN* Jam berjalan - bas beroperasi pada kekerapan jam nominal. Mengalih keluar isyarat bermakna memperlahankan atau menghentikan penyegerakan untuk mengurangkan penggunaan (untuk aplikasi mudah alih)

PRSNT# Present - penunjuk kehadiran papan mengekod permintaan penggunaan kuasa. Pada kad pengembangan, satu atau dua talian LED disambungkan ke bas GND, yang dilihat papan sistem

RST# Reset - set semula semua daftar ke keadaan awal

IDSEL Initialization Device Select - pemilihan peranti dalam kitaran konfigurasi

baca dan tulis

SERR# Ralat Sistem - ralat sistem. Ralat pariti alamat data gelung khas atau ralat bencana lain yang dikesan oleh peranti. Diaktifkan oleh mana-mana peranti PCI dan memanggil NMI

REQ64* Minta 64 bit - minta pertukaran 64-bit. Isyarat adalah input 64-bit

pemula, ia bertepatan dengan masa dengan isyarat FRAME*. Semasa penyiapan set semula (isyarat RST*) memberi isyarat kepada peranti 64-bit bahawa ia disambungkan ke bas 64-bit. Jika peranti 64-bit tidak mengesan isyarat ini, ia mesti mengkonfigurasi semula dirinya kepada mod 32-bit dengan melumpuhkan litar penimbal bait tinggi

ACK64* - Pengesahan pertukaran 64-bit. Isyarat dimasukkan oleh CPU 64-bit, yang telah mengenali alamatnya, serentak dengan DEVSEL*. Kegagalan untuk memberikan pengesahan ini akan memaksa pemula untuk melakukan pertukaran pada 32-bit

INTA#, INTB*, Interrupt A, B, C, D - baris permintaan gangguan, kepekaan tahap, INTC#, INTD* tahap aktif - rendah, yang membenarkan kebolehpisahan ( perkongsian)garisan

Jam CLK - kekerapan jam bas. Hendaklah berada dalam julat 20-33 MHz, dalam PCI2.1 - sehingga 66 MHz

M66EN 66MHz Dayakan - resolusi frekuensi jam sehingga 66 MHz

SDONE Snoop Selesai - memberi isyarat bahawa kitaran pengintipan selesai untuk transaksi semasa. Tahap yang rendah menunjukkan bahawa kitaran pemantauan koheren memori dan cache tidak lengkap. Isyarat pilihan, hanya digunakan oleh peranti bas dengan memori cache

SBO# Snoop Backoff - tekan pada akses memori semasa pelanggan bas

kepada baris cache yang diubah suai. Isyarat pilihan, hanya digunakan oleh pelanggan bas dengan memori cache semasa algoritma tulis balik

Jam Ujian TSK - penyegerakan antara muka ujian JTAG

Input Data Ujian TDI - data input antara muka ujian JTAG

Output Data Ujian TOO - data output antara muka ujian JTAG

Pilih Mod Ujian TMS - pilih mod untuk antara muka ujian JTAG

Set Semula Logik Ujian TRST - set semula logik ujian

Pada bila-bila masa, bas hanya boleh dikawal oleh satu peranti induk, yang telah menerima hak untuk berbuat demikian daripada penimbang tara. Setiap peranti induk mempunyai sepasang isyarat - REQ# untuk meminta kawalan bas dan GNT* untuk mengesahkan bahawa kawalan bas telah diberikan. Peranti boleh memulakan transaksi (tetapkan isyarat FRAME*) hanya apabila isyarat GNT* yang diterima aktif. Mengalih keluar isyarat GNT* menghalang peranti daripada memulakan transaksi seterusnya, dan dalam keadaan tertentu (lihat di bawah) menyebabkan peranti itu menamatkan transaksi semasa. Timbangtara permintaan untuk menggunakan bas dikendalikan oleh nod khas yang disertakan dalam set cip motherboard. Skim keutamaan (tetap, round-robin, digabungkan) ditentukan oleh pengaturcaraan penimbang tara.

Talian AD bermultipleks biasa digunakan untuk alamat dan data. Empat baris C/BE bermultipleks menyediakan pengekodan perintah dalam fasa alamat dan resolusi bait dalam fasa data. Pada permulaan transaksi, peranti induk mengaktifkan isyarat FRAME*, menghantar alamat sasaran melalui bas AD dan maklumat tentang jenis transaksi (perintah) melalui talian C/BE#. Pusat kawalan beralamat bertindak balas dengan isyarat DEVSEL*. Peranti induk menunjukkan kesediaannya untuk menukar data dengan isyarat IRDY#; kesediaan ini boleh ditetapkan sebelum menerima DEVSEL*. Apabila pusat kawalan bersedia untuk menukar data, ia akan menetapkan isyarat TRDY*. Data dihantar pada bas AD hanya apabila isyarat IRDY# dan TRDY* hadir serentak. Dengan bantuan isyarat ini, peranti induk dan pusat kawalan menyelaraskan kelajuannya dengan memperkenalkan kitaran menunggu. Rajah menunjukkan rajah masa pertukaran di mana kedua-dua peranti induk dan pusat kawalan memasuki kitaran menunggu. Jika kedua-duanya memasuki isyarat sedia pada penghujung fasa alamat dan tidak mengeluarkannya sehingga akhir pertukaran, maka 32 bit data akan dihantar dalam setiap kitaran jam selepas fasa alamat, yang akan memberikan prestasi pertukaran maksimum.

Bilangan fasa data dalam paket tidak dinyatakan secara eksplisit, tetapi sebelum fasa data terakhir, peranti induk, apabila isyarat IRDY* dimasukkan, mengeluarkan isyarat FRAME*. Dalam transaksi tunggal, isyarat FRAME* aktif untuk satu kitaran jam sahaja. Jika peranti tidak menyokong transaksi kelompok dalam mod hamba, maka ia mesti meminta agar transaksi kelompok ditamatkan semasa fasa data pertama (dengan memasukkan isyarat STOP* pada masa yang sama dengan TRDY*). Sebagai tindak balas, tuan akan melengkapkan transaksi yang diberikan dan terus menukar transaksi berikutnya dengan nilai alamat baharu. Selepas fasa data terakhir, peranti hos mengalih keluar isyarat IRDY# dan bas masuk ke keadaan melahu (PCI Idle) - kedua-dua isyarat FRAME* dan IRDY# berada dalam keadaan pasif. Inisiator boleh memulakan transaksi seterusnya tanpa tempoh rehat dengan memasukkan FRAME* serentak dengan pengeluaran IRDY#. Urus niaga bersebelahan pantas (Fast Back-to-Back) boleh dialamatkan kepada kedua-dua pusat pusat yang satu dan berbeza. Jenis pertama disokong oleh semua peranti PCI yang bertindak sebagai unit kawalan pusat. Sokongan untuk jenis kedua (pilihan) ditunjukkan oleh bit 7 daftar status. Inisiator dibenarkan (jika dia boleh) menggunakan transaksi bersebelahan pantas dengan peranti berbeza (bit 9 daftar arahan) hanya jika semua ejen bas membenarkan akses pantas.

nasi. 29. Kitaran komunikasi pada bas PCI

Bas ini membolehkan anda mengurangkan kuasa (semasa) yang digunakan oleh peranti, pada kos prestasi yang dikurangkan, dengan menggunakan penukaran langkah demi langkah bagi talian AD dan PAR (langkah alamat/data). Terdapat dua pilihan yang mungkin di sini.

· Langkah berterusan - permulaan

penjanaan isyarat oleh pembentuk arus rendah beberapa kitaran jam sebelum pengenalan isyarat kelayakan maklumat yang sah (FRAME# dalam fasa alamat, IRDY# atau TRDY# dalam fasa data). Semasa beberapa kitaran jam ini, isyarat akan "merangkak" ke nilai yang diperlukan pada arus yang lebih rendah.

· Melangkah diskret - biasa

Pembentuk tidak dicetuskan sekaligus, tetapi dalam kumpulan (contohnya, bait demi bait), dalam setiap kitaran jam satu kumpulan pada satu masa. Pada masa yang sama, arus masuk dikurangkan, kerana lebih sedikit pemandu ditukar pada masa yang sama.

Peranti itu sendiri mungkin tidak menggunakan keupayaan ini (lihat bit 7 daftar arahan), tetapi mesti "memahami" kitaran sedemikian. Dengan menangguhkan isyarat FRAME*, peranti berisiko kehilangan akses kepada bas jika penimbang tara menerima permintaan daripada peranti keutamaan yang lebih tinggi.

Protokol jabat tangan memastikan kebolehpercayaan pertukaran - peranti induk sentiasa menerima maklumat mengenai pemprosesan transaksi oleh pusat kawalan pusat. Cara untuk meningkatkan kebolehpercayaan (kesahan) ialah penggunaan kawalan pariti: baris AD dan C/BE# dalam kedua-dua fasa alamat dan fasa data dilindungi oleh bit pariti PAR (bilangan bit unit baris ini, termasuk PAR , mestilah genap). Nilai PAR sebenar muncul pada bas dengan kelewatan satu kitaran jam berbanding baris AD dan C/BE#. Apabila ralat CPU dikesan, isyarat PERR* dijana (dengan anjakan jam selepas bit pariti sah). Apabila mengira pariti semasa memindahkan data, semua bait diambil kira, termasuk yang tidak sah (ditandakan tahap tinggi isyarat C/BEx#). Keadaan bit, walaupun dalam bait data tidak sah, mesti kekal stabil semasa fasa data.

Setiap transaksi di dalam bas mesti diselesaikan seperti yang dirancang atau dibatalkan, dan bas mesti masuk ke dalam keadaan rehat (isyarat FRAME* dan IRDY# adalah pasif). Penyelesaian transaksi dilakukan sama ada atas inisiatif tuan atau atas inisiatif PU. Tuan boleh melengkapkan transaksi dalam salah satu cara berikut.

· Penamatan biasa (Camletiori) dijalankan mengikut

akhir pertukaran data.

Penamatan tamat masa berlaku apabila

Semasa urus niaga, hak peranti induk untuk mengawal bas diambil (dengan mengalih keluar isyarat GNT#) dan masa yang dinyatakan dalam Pemasa Latensinya tamat tempoh. Ini boleh berlaku jika CU yang dialamatkan secara tiba-tiba lambat atau urus niaga dijadualkan terlalu lama. Urus niaga pendek (dengan satu atau dua fasa data), walaupun isyarat GNT# dialih keluar dan pemasa dicetuskan, diselesaikan secara normal. Transaksi ditolak (Master-Abort) apabila induk tidak menerima respons daripada CPU (DEVSEL*) dalam masa yang ditetapkan.

Urus niaga boleh ditamatkan atas inisiatif Pusat Kawalan; Untuk melakukan ini, ia boleh memasukkan isyarat STOP*. Terdapat tiga jenis penamatan yang mungkin.

· Cuba semula - isyarat STOP* dimasukkan semasa pasif

isyarat TRDY* sebelum fasa data pertama. Keadaan ini berlaku apabila pusat kawalan, disebabkan kesibukan dalaman, tidak mempunyai masa untuk mengeluarkan data pertama tepat pada masanya (16 kitaran jam). Cuba semula ialah petunjuk kepada tuan untuk memulakan transaksi yang sama sekali lagi.

· Putuskan sambungan - isyarat STOP* dimasukkan ke dalam

masa atau selepas fasa data pertama. Jika isyarat STOP* dimasukkan semasa isyarat TRDY* bagi fasa data seterusnya aktif, maka data ini dihantar dan transaksi selesai. Jika isyarat STOP* dimasukkan dengan isyarat TRDY* pasif, maka transaksi selesai tanpa menghantar data fasa seterusnya. Pemutusan sambungan berlaku apabila pusat kawalan tidak dapat mengeluarkan atau menerima bahagian data paket seterusnya tepat pada masanya.

· Penolakan (Target-Abort) - Isyarat STOP* dimasukkan

serentak dengan penyingkiran isyarat DEVSEL* (dalam kes sebelumnya, semasa kemunculan isyarat STOP*, isyarat DEVSEL* aktif). Selepas ini, data tidak lagi dihantar. Penolakan diperkenalkan apabila pusat kawalan mengesan ralat yang membawa maut atau keadaan lain di mana ia tidak lagi dapat melayani permintaan yang diberikan.

Penggunaan ketiga-tiga jenis penamatan tidak diperlukan untuk semua CPU, tetapi mana-mana induk mesti bersedia untuk menamatkan urus niaga atas mana-mana sebab ini. Bas PCI menggunakan pengalamatan geografi - nombor peranti ditentukan oleh lokasi sambungannya. Nombor peranti (nombor peranti atau dev) ditentukan oleh laluan bas AD yang mana talian isyarat IDSEL slot ini disambungkan: kADU -devO(MOCT),AD12-devl,...AD31 -dev20. Slot PCI bersebelahan biasanya menggunakan nombor peranti bersebelahan; penomboran mereka ditentukan oleh pembangun motherboard (atau backplane pasif in komputer industri). Slot sering menggunakan nombor peranti menurun, bermula dengan 20. Kumpulan slot bersebelahan boleh disambungkan ke bas yang berbeza; Pada setiap bas PCI, penomboran peranti adalah bebas (mungkin terdapat peranti dengan nombor pembangun yang sama, tetapi nombor bas yang berbeza). Peranti PCI yang disepadukan pada papan induk menggunakan sistem pengalamatan yang sama. Nombor mereka "dipateri dengan ketat", manakala alamat kad pengembangan boleh ditukar dengan mengalihkannya ke slot yang berbeza. Satu kad PCI boleh mengandungi hanya satu peranti bas yang mana ia disambungkan, kerana hanya satu talian IDSEL diperuntukkan kepadanya dalam slot. Jika beberapa peranti diletakkan pada kad (contohnya, kad Ethernet 4-port), maka jambatan mesti dipasang padanya - juga peranti PCI , yang diakses melalui talian IDSEL yang diperuntukkan kepada kad ini. Jambatan ini mengatur bas PCI tambahan pada kad, yang mana banyak peranti boleh disambungkan.

Dari sudut pandangan mengakses memori dan ruang I/O, alamat geografi (nombor bas dan peranti) adalah acuh tak acuh (tidak mengambil kira perbezaan prestasi yang berkaitan dengan menyambungkan peranti ke bas PCI yang berbeza). Walau bagaimanapun, nombor peranti menentukan bilangan baris permintaan gangguan yang boleh digunakan oleh peranti. Untuk maklumat lanjut tentang perkara ini, lihat perenggan 6.2.6; di sini kami perhatikan bahawa pada bas yang sama, peranti dengan nombor yang berbeza antara satu sama lain sebanyak 4 akan menggunakan talian gangguan yang sama. Keupayaan untuk mengarahkannya ke talian gangguan yang berbeza hanya boleh muncul jika ia berada di bas yang berbeza (ini bergantung pada motherboard).

Anda hanya boleh memikirkan penomboran peranti dan talian gangguan yang mereka terima pada papan tertentu: pasang satu kad PCI ke dalam setiap slot satu demi satu (dengan kuasa dimatikan) dan tonton mesej peranti PCI yang dikesan dipaparkan pada penghujung ujian POST. Mesej ini juga akan termasuk peranti PCI yang dipasang terus pada papan induk (dan tidak dilumpuhkan oleh parameter Persediaan CMOS).

Tetapi supaya tidak ada ilusi kesederhanaan dan ketelusan, kami perhatikan bahawa sistem pengendalian "terutamanya pintar" (Windows) tidak berpuas hati dengan tugasan nombor gangguan yang diterima dan mengubahnya mengikut budi bicara mereka sendiri (yang tidak boleh menjejaskan kebolehpisahan dalam apa cara sekalipun. daripada baris).

Setiap transaksi (pertukaran dalam bas) melibatkan dua peranti - pemula pertukaran, juga dikenali sebagai mengetuai peranti (master), dan peranti sasaran (sasaran) (DC), juga dikenali sebagai hamba(hamba). Bas PCI menganggap semua transaksi sebagai paket: setiap transaksi bermula dengan fasa alamat, yang boleh diikuti oleh satu atau lebih fasa data. Komposisi dan tujuan isyarat antara muka bas diberikan dalam Jadual. 6.11.

Jadual 6.11. Isyarat bas PCI

Isyarat Tujuan
AD Alamat/Data - alamat berganda/bas data. Pada permulaan transaksi, alamat dihantar, dalam kitaran seterusnya - data
C/BE# Command/Byte Enable - arahan/kebenaran untuk mengakses bait. Perintah yang menentukan jenis kitaran bas seterusnya ditentukan oleh kod empat bit dalam fasa alamat
RANGKA# Bingkai. Pengenalan isyarat menandakan permulaan transaksi (fasa alamat), penyingkiran isyarat menunjukkan bahawa kitaran pemindahan data seterusnya adalah yang terakhir dalam transaksi
DEVSEL# Pilih Peranti - peranti dipilih (tindak balas CPU kepada transaksi yang ditujukan kepadanya)
IRDY# Sedia Pemula - kesediaan peranti induk untuk pertukaran data
TRDY# Sedia Sasaran - kesediaan pusat kawalan untuk pertukaran data
BERHENTI# Permintaan daripada CPU kepada tuan untuk menghentikan transaksi semasa
KUNCI# Isyarat penangkapan bas untuk memastikan operasi yang konsisten. Digunakan oleh jambatan yang memerlukan berbilang transaksi PCI untuk menyelesaikan satu operasi
REQ# Permintaan - permintaan daripada peranti induk untuk merampas bas
GNT# Geran - pemberian kawalan bas kepada tuan
PAR Pariti - bit pariti biasa untuk baris AD dan C/BE#
PERR# Ralat Pariti - isyarat ralat pariti (untuk semua kitaran kecuali yang istimewa). Dijana oleh mana-mana peranti yang mengesan ralat
PME# Acara Pengurusan Kuasa - isyarat tentang peristiwa yang menyebabkan perubahan dalam mod penggunaan (isyarat tambahan yang diperkenalkan dalam PCI 2.2)
CLKRUN# Jam berjalan - bas beroperasi pada kekerapan jam nominal. Mengalih keluar isyarat bermakna memperlahankan atau menghentikan penyegerakan untuk mengurangkan penggunaan (untuk aplikasi mudah alih)
PRSNT# Hadir - penunjuk kehadiran papan mengekod permintaan penggunaan kuasa. Pada kad pengembangan, satu atau dua talian LED disambungkan ke bas GND, yang dirasai oleh papan induk
RST# Tetapkan semula - tetapkan semula semua daftar kepada keadaan asalnya
IDSEL Pilihan Peranti Permulaan - pemilihan peranti dalam konfigurasi kitaran baca dan tulis
SERR# Ralat Sistem - ralat sistem. Ralat pariti alamat data gelung khas atau ralat bencana lain yang dikesan oleh peranti. Diaktifkan oleh mana-mana peranti PCI dan memanggil NMI
REQ64# Minta 64 bit - minta pertukaran 64 bit. Isyarat dimasukkan oleh pemula 64-bit; ia bertepatan dengan masa dengan isyarat FRAME#. Semasa penyiapan set semula (isyarat RST#) memberi isyarat kepada peranti 64-bit bahawa ia disambungkan ke bas 64-bit. Jika peranti 64-bit tidak mengesan isyarat ini, ia mesti mengkonfigurasi semula dirinya kepada mod 32-bit dengan melumpuhkan litar penimbal bait tinggi
ACK64# Pengesahan pertukaran 64-bit. Isyarat dimasukkan oleh CPU 64-bit, yang telah mengenali alamatnya, serentak dengan DEVSEL#. Kegagalan untuk memberikan pengesahan ini akan memaksa pemula untuk melakukan pertukaran pada 32-bit
INTA#, INTB#, INTC#, INTD# Sampukan A, B, C, D - talian permintaan sampukan, kepekaan tahap, tahap aktif - rendah, yang membolehkan kebolehpisahan (perkongsian) talian
CLK Jam - kekerapan jam bas. Harus berada dalam julat 20–33 MHz, dalam PCI2.1 - sehingga 66 MHz
M66EN Dayakan 66MHz - resolusi frekuensi jam sehingga 66 MHz
SDONE Snoop Selesai - memberi isyarat bahawa kitaran pengintipan selesai untuk transaksi semasa. Tahap yang rendah menunjukkan bahawa kitaran pemantauan koheren memori dan cache tidak lengkap. Isyarat pilihan, hanya digunakan oleh peranti bas dengan memori cache
SBO# Snoop Backoff - akses semasa ke memori pelanggan bas berakhir dalam talian cache yang diubah suai. Isyarat pilihan, hanya digunakan oleh pelanggan bas dengan memori cache semasa algoritma tulis balik
TCK Jam Ujian - Penyegerakan antara muka ujian JTAG
TDI Input Data Ujian - data input antara muka ujian JTAG
TDO Output Data Ujian - data output antara muka ujian JTAG
TMS Pilih Mod Ujian - pilih mod untuk antara muka ujian JTAG
TRST Test Logic Reset - set semula logik ujian

Pada bila-bila masa, bas hanya boleh dikawal oleh satu peranti induk, yang telah menerima hak untuk berbuat demikian daripada penimbang tara. Setiap peranti induk mempunyai sepasang isyarat - REQ# untuk meminta kawalan bas dan GNT# untuk mengesahkan bahawa kawalan bas telah diberikan. Peranti boleh memulakan transaksi (tetapkan isyarat FRAME#) hanya apabila isyarat GNT# yang diterima aktif. Mengalih keluar isyarat GNT# menghalang peranti daripada memulakan transaksi seterusnya, dan dalam keadaan tertentu (lihat di bawah) menyebabkan peranti itu menamatkan transaksi semasa. Timbangtara permintaan untuk menggunakan bas dikendalikan oleh nod khas yang disertakan dalam set cip motherboard. Skim keutamaan (tetap, round-robin, digabungkan) ditentukan oleh pengaturcaraan penimbang tara.

Talian AD bermultipleks biasa digunakan untuk alamat dan data. Empat baris C/BE berganda menyediakan pengekodan arahan dalam fasa alamat dan resolusi bait dalam fasa data. Pada permulaan transaksi, peranti induk mengaktifkan isyarat FRAME#, menghantar alamat sasaran melalui bas AD dan maklumat tentang jenis transaksi (perintah) melalui talian C/BE#. Pusat kawalan beralamat bertindak balas dengan isyarat DEVSEL#. Peranti induk menunjukkan kesediaannya untuk menukar data dengan isyarat IRDY#; kesediaan ini boleh ditetapkan sebelum menerima DEVSEL#. Apabila pusat kawalan bersedia untuk menukar data, ia akan menetapkan isyarat TRDY#. Data dihantar pada bas AD hanya apabila isyarat IRDY# dan TRDY# hadir serentak. Dengan bantuan isyarat ini, peranti induk dan pusat kawalan menyelaraskan kelajuannya dengan memperkenalkan kitaran menunggu. Dalam Rajah. Rajah 6.7 menunjukkan gambarajah pemasaan pertukaran di mana kedua-dua peranti induk dan pusat kawalan memasuki kitaran menunggu. Jika kedua-duanya memasuki isyarat sedia pada penghujung fasa alamat dan tidak mengeluarkannya sehingga akhir pertukaran, maka 32 bit data akan dihantar dalam setiap kitaran jam selepas fasa alamat, yang akan memberikan prestasi pertukaran maksimum.

nasi. 6.7. Kitaran komunikasi pada bas PCI

Bilangan fasa data dalam paket tidak dinyatakan secara eksplisit, tetapi sebelum fasa data terakhir, peranti induk, apabila isyarat IRDY# dimasukkan, mengeluarkan isyarat FRAME#. Dalam transaksi tunggal, isyarat FRAME# aktif untuk satu kitaran jam sahaja. Jika peranti tidak menyokong transaksi kelompok dalam mod hamba, maka ia mesti meminta agar transaksi kelompok ditamatkan semasa fasa data pertama (dengan memasukkan isyarat STOP# pada masa yang sama seperti TRDY#). Sebagai tindak balas, tuan akan melengkapkan transaksi yang diberikan dan terus menukar transaksi berikutnya dengan nilai alamat baharu. Selepas fasa data terakhir, induk mengalih keluar isyarat IRDY# dan bas masuk ke keadaan rehat ( PCI Terbiar) - kedua-dua isyarat FRAME# dan IRDY# berada dalam keadaan pasif. Inisiator boleh memulakan transaksi seterusnya tanpa tempoh rehat dengan memasukkan FRAME# pada masa yang sama dengan mengeluarkan IRDY# . Urus niaga bersebelahan pantas (Fast Back-to-Back) boleh dialamatkan kepada kedua-dua pusat pusat yang satu dan berbeza. Jenis pertama disokong oleh semua peranti PCI yang bertindak sebagai unit kawalan pusat. Sokongan jenis kedua (ia adalah pilihan) ditunjukkan oleh bit 7 daftar status (lihat bahagian 6.2.12). Inisiator dibenarkan (jika dia boleh) menggunakan transaksi bersebelahan pantas dengan peranti berbeza (bit 9 daftar arahan) hanya jika semua ejen bas membenarkan akses pantas.

Bas membolehkan anda mengurangkan kuasa (semasa) yang digunakan oleh peranti, pada kos prestasi yang dikurangkan, dengan menggunakan penukaran talian langkah demi langkah AD dan PAR (alamat/data melangkah). Terdapat dua pilihan yang mungkin di sini.

Langkah licin (langkah berterusan) - permulaan pembentukan isyarat oleh pembentuk yang kurang tepat beberapa kitaran jam sebelum pengenalan isyarat kelayakan maklumat yang sah (FRAME# dalam fasa alamat, IRDY# atau TRDY# dalam fasa data). Semasa beberapa kitaran jam ini, isyarat akan "merangkak" ke nilai yang diperlukan pada arus yang lebih rendah.

Langkah diskret - pembentuk biasa tidak dicetuskan sekaligus, tetapi dalam kumpulan (contohnya, bait demi bait), dalam setiap kitaran jam satu kumpulan pada satu masa. Pada masa yang sama, arus masuk dikurangkan, kerana lebih sedikit pemandu ditukar pada masa yang sama.

Peranti itu sendiri mungkin tidak menggunakan keupayaan ini (lihat bit 7 daftar arahan), tetapi mesti "memahami" kitaran sedemikian. Dengan menangguhkan isyarat FRAME#, peranti berisiko kehilangan akses kepada bas jika penimbang tara menerima permintaan daripada peranti keutamaan yang lebih tinggi.

Protokol jabat tangan memastikan kebolehpercayaan pertukaran - peranti induk sentiasa menerima maklumat mengenai pemprosesan transaksi oleh pusat kawalan pusat. Cara untuk meningkatkan kebolehpercayaan (kesahan) ialah penggunaan kawalan pariti: baris AD dan C/BE# dalam kedua-dua fasa alamat dan fasa data dilindungi oleh bit pariti PAR (bilangan bit tunggal baris ini, termasuk PAR , mestilah genap). Nilai PAR sebenar muncul pada bas dengan kelewatan satu kitaran jam berbanding baris AD dan C/BE#. Apabila ralat CPU dikesan, isyarat PERR# dijana (dengan anjakan jam selepas kesahihan bit pariti). Apabila mengira pariti semasa menghantar data, semua bait diambil kira, termasuk yang tidak sah (ditandakan dengan tahap tinggi isyarat C/BEx#). Keadaan bit, walaupun dalam bait data tidak sah, mesti kekal stabil semasa fasa data.

Setiap transaksi di dalam bas mesti diselesaikan seperti yang dirancang atau dibatalkan, dan bas mesti masuk ke dalam keadaan rehat (isyarat FRAME# dan IRDY# adalah pasif). Penyelesaian transaksi dilakukan sama ada atas inisiatif tuan atau atas inisiatif PU.

Tuan boleh melengkapkan transaksi dalam salah satu cara berikut.

Penyelesaian biasa ( Selesai) dilaksanakan setelah selesai pertukaran data.

Siap kerana tamat masa ( Masa tamat) berlaku apabila, semasa transaksi, hak tuan untuk mengawal bas diambil (dengan mengalih keluar isyarat GNT#) dan masa yang ditentukan dalam Pemasa Latensinya tamat tempoh. Ini boleh berlaku jika CU yang dialamatkan secara tiba-tiba lambat atau urus niaga dijadualkan terlalu lama. Urus niaga pendek (dengan satu atau dua fasa data), walaupun isyarat GNT# dialih keluar dan pemasa dicetuskan, selesai seperti biasa.

Urus niaga ditolak ( Guru-Gugurkan) apabila induk tidak menerima respons daripada unit kawalan (DEVSEL#) dalam masa yang ditetapkan.

Urus niaga boleh ditamatkan oleh inisiatif Pusat Kawalan Pusat; Untuk melakukan ini, ia boleh memasukkan isyarat STOP#. Terdapat tiga jenis penamatan yang mungkin.

Ulang ( Cuba semula) - isyarat STOP# dimasukkan dengan isyarat TRDY# pasif sebelum fasa data pertama. Keadaan ini berlaku apabila pusat kawalan, disebabkan kesibukan dalaman, tidak mempunyai masa untuk mengeluarkan data pertama tepat pada masanya (16 kitaran jam). Cuba semula ialah petunjuk kepada tuan untuk memulakan transaksi yang sama sekali lagi.

Lumpuhkan ( Putuskan sambungan) - isyarat STOP# dimasukkan semasa atau selepas fasa data pertama. Jika isyarat STOP# dimasukkan semasa isyarat TRDY# fasa data seterusnya aktif, maka data ini dihantar dan transaksi selesai. Jika isyarat STOP# dimasukkan dengan isyarat TRDY# pasif, maka transaksi selesai tanpa menghantar data fasa seterusnya. Pemutusan sambungan berlaku apabila pusat kawalan tidak dapat mengeluarkan atau menerima bahagian data paket seterusnya tepat pada masanya.


Membaiki dan menguji peranti komputer peribadi(PC) POST Card PCI digunakan untuk mendiagnosis kerosakan semasa membaiki dan menaik taraf komputer, serta sistem periferi. Ia akan menemui aplikasi yang luas dalam mana-mana sistem elektronik, berjalan pada komputer seperti IBM PC (atau serasi dengannya).

Maklumat am

POST Card PCI (Gamb. 1) ialah kad pengembangan PC yang boleh dipasang dalam mana-mana slot PCI percuma (33 MHz) dan direka bentuk untuk memaparkan kod POST yang dijana oleh sistem BIOS PC dalam bentuk yang mesra pengguna.

nasi. 1. Penampilan peranti

Terima kasih kepada penggunaan FPGA (logik boleh atur cara litar bersepadu) daripada Altera, ia telah menjadi mungkin untuk mencipta peranti yang mudah dan mudah untuk ditiru oleh amatur radio.

Di samping itu, peranti ini boleh digunakan sebagai penguji litar mikro. Untuk tujuan ini, ia menyediakan panel 44-pin untuk cip.

Peranti PCI Kad POST mempunyai ciri teknikal berikut:

  • Voltan bekalan, V +5
  • Penggunaan semasa, mA
  • Kekerapan bas PC PC, MG c 33
  • Alamat port diagnostik 0080h
  • Petunjuk kod POST (dalam perenambelasan) 1 bait
  • Petunjuk bagi isyarat bas PG RST (titik kiri), CLК (titik penunjuk kanan)
  • Penunjuk kehadiran voltan bekalan kuasa, V +5, +12, -12, +3.3
  • Serasi dengan papan induk berdasarkan Intel, VIA, SIS chipset
  • Saiz papan litar bercetak, mm 112x90

Asas PCI Kad POST ialah FPGA DD1 (Gamb. 1, 2), yang melaksanakan peranti Sasaran PCI yang dipermudahkan yang menyokong penulisan ke port output dan konfigurasi automatik (Plug&Plug), mencukupi untuk pengendalian peranti. FPGA Altera EPM3064ALC44-10 disertakan dalam kit dan diprogramkan oleh MASTER KIT khusus untuk berfungsi dalam POST Card PCI. Cip DD2 mengandungi pengatur voltan +3.3 V untuk menggerakkan FPGA. Maklumat daripada FPGA dikeluarkan dalam bentuk bersiri dan direkodkan dalam daftar DD4, DD5. Outputnya disambungkan melalui perintang mengehadkan kepada penunjuk dwi 7-segmen HL1, yang memaparkan kod POST. Untuk memastikan bahawa proses menunjukkan kod POST tidak terganggu sekiranya berlaku kegagalan penjanaan PCI CLK pada papan induk yang rosak, POST Card PCI menyertakan penjana berasingan pada cip DD3.

nasi. 2. Gambarajah skematik peranti PCI KAD POS

LED yang disambungkan melalui perintang pengehad menunjukkan kehadiran voltan +3.3, +5, + 12 dan -12 V pada bas PCI.

Prinsip operasi

Setiap kali anda menghidupkan kuasa PC serasi PC IBM anda dan sebelum ia mula but sistem operasi Pemproses komputer melakukan prosedur BIOS yang dipanggil POST (Power On Self Test). Prosedur yang sama juga dilakukan apabila menekan butang RESET atau semasa but semula lembut komputer. Dalam beberapa kes khas, untuk mengurangkan masa but PC, prosedur POST boleh dipendekkan sedikit dalam masa, contohnya, dalam mod "But Pantas" atau apabila keluar dari mod "tidur" (Hibernate).

Tujuan utama prosedur POST adalah untuk mengesahkan fungsi asas dan subsistem PC (memori, pemproses, papan induk, pengawal video, papan kekunci, fleksibel dan cakera keras) sebelum memuatkan sistem pengendalian. Ini melindungi pengguna daripada mencuba untuk bekerja sistem yang rosak, yang boleh membawa, sebagai contoh, kepada kemusnahan data pengguna pada cakera keras. Sebelum permulaan setiap ujian, prosedur POST menjana kod POST, yang dipaparkan oleh alamat tertentu dalam ruang alamat peranti input/output PC. Jika kerosakan dikesan dalam peranti yang sedang diuji, prosedur POST akan membeku dan kod POST pracetak secara unik menentukan ujian pembekuan berlaku. Oleh itu, kedalaman dan ketepatan diagnostik menggunakan kod POST ditentukan sepenuhnya oleh kedalaman dan ketepatan ujian prosedur POST yang sepadan sistem BIOS komputer.

Beberapa kod kesalahan BIOS

Jadual menunjukkan beberapa kod BIOS AMI yang mencerminkan kerosakan PC yang paling biasa.

Jadual

Kod

Tidak berfungsi

Ralat konfigurasi ingatan sistem(kesilapan maut)

Ralat konfigurasi memori sistem (bip)

Permulaan awal pengawal papan kekunci

Ralat permulaan BIOS VGA

Ralat ujian memori video CGA

Ralat ujian pengimbas CGA

Ralat dalam ingatan video atau litar pengimbasan

Melumpuhkan IRQ12 jika tetikus PS/2 tiada

Paparan mesej ralat

Menentukan jenis ingatan, jumlah volum dan penempatan mengikut baris

Melaporkan ralat semasa langkah permulaan sebelumnya

Sebagai tambahan kepada kod POST di atas, mesej tentang peristiwa semasa pelaksanaan Pengurus Permulaan Peranti (DIM) dikeluarkan ke port diagnostik. Terdapat beberapa pusat pemeriksaan yang menunjukkan status permulaan sistem atau bas tempatan.

Jika ralat konfigurasi memori sistem (kod DE atau DF) dikesan, kod DE, kod DF dan kod ralat konfigurasi dikeluarkan ke port 80j secara berurutan dalam gelung tanpa penghujung, yang boleh mengambil nilai berikut:

00 - RAM tidak dikesan;

01 - dipasang DIMM pelbagai jenis(contoh, EDO dan SDRAM);

02 - membaca kandungan SPD gagal;

03 - modul tidak memenuhi keperluan untuk operasi pada frekuensi yang diberikan;

04 - modul tidak boleh digunakan dalam sistem ini;

05 - maklumat dalam SPD tidak membenarkan penggunaan modul yang dipasang;

06 - ralat telah dikesan dalam halaman memori rendah.

Carian praktikal kerosakan menggunakan penguji Kad POST

Pertama sekali, apabila kuasa dihidupkan, sebelum prosedur POST bermula, sistem mesti ditetapkan semula dengan isyarat RST (RESET), yang ditunjukkan pada Kad POST dengan berkelip pendek pada titik kiri pada penunjuk. Mari lihat beberapa kesalahan PC yang paling popular dan cara untuk menyetempatkannya.

Kod POST tidak dipaparkan

Jika komputer tidak berfungsi, dalam kes yang paling sukar, tetapan semula sama ada tidak lulus sama sekali, atau lulus, tetapi tiada kod POST dipaparkan pada penunjuk.

Adalah disyorkan untuk segera mematikan komputer dan mengeluarkan semua kad dan kabel tambahan, serta memori RAM dari slot papan induk, meninggalkan hanya papan induk itu sendiri disambungkan ke bekalan kuasa dengan dipasang oleh pemproses dan Kad POST. Jika pada kali seterusnya anda menghidupkan komputer, sistem ditetapkan semula secara normal dan kod POST pertama muncul, jelas masalahnya terletak pada komponen komputer yang dialih keluar buat sementara waktu. Kabel mungkin tidak disambungkan dengan betul. Dengan memasukkan modul memori dalam urutan, penyesuai video, dan kemudian kad lain, dan memerhati kod POST pada penunjuk, modul yang rosak dikesan.

Malah tetapan semula sistem awal tidak berfungsi (pada penunjuk Kad POST, pada permulaan ujian, titik penunjuk kiri tidak menyala seketika)

Dalam kes ini, sama ada bekalan kuasa komputer atau papan induk itu sendiri rosak (litar penjanaan isyarat RESET rosak). Punca sebenar boleh ditentukan dengan menyambungkan yang diketahui blok yang baik pemakanan.

Isyarat set semula berlalu, tetapi tiada kod POST dipaparkan pada penunjuk (sistem yang hanya terdiri daripada papan induk, pemproses, Kad POST dan bekalan kuasa diuji)

Jika papan induk baru, maka sebabnya mungkin suis yang dipasang secara tidak betul pada papan induk. Jika semua suis dan pemproses dipasang dengan betul, dan papan induk tidak dimulakan, anda harus menggantikan pemproses dengan yang diketahui bagus. Jika ini tidak membantu, maka kita boleh membuat kesimpulan bahawa papan induk atau komponennya rosak (contohnya, punca kerosakan mungkin maklumat yang rosak dalam Flash-BIOS).

Kerosakan PC dikesan menggunakan penguji Kad pOsT

Selepas menghidupkan kuasa komputer (atau menekan butang RESET) dan sebelum kod POST pertama muncul, simbol khas dipaparkan pada penunjuk Kad POST (lihat Rajah 3), yang menunjukkan bahawa PC tidak mengeluarkan sebarang kod POST. Ciri pengendalian Kad POST ini memudahkan diagnostik dan membolehkan anda menentukan dengan jelas sama ada komputer dimulakan sama sekali. Di samping itu, simbol yang sama dipaparkan semasa penetapan semula perisian bas PCI untuk merakam laluan isyarat RST. Titik penunjuk Kad POST 7 segmen menunjukkan keadaan isyarat RST dan CLK bas PCI. Pencucuhan titik kanan sepadan dengan kehadiran isyarat penyegerakan aktif CLK bas PCI, pencucuhan titik kiri sepadan dengan kehadiran isyarat RST aktif

nasi. 3. Petunjuk pada Kad POST bahawa PC tidak mengeluarkan sebarang kod POST

Pada komputer bekerja Apabila menghidupkan kuasa, sistem mesti ditetapkan semula dengan isyarat RESET (yang ditunjukkan pada Kad POST watak istimewa), kemudian mulakan komputer dengan laluan berurutan semua kod POST. Jika komputer tidak berfungsi, dalam kes yang paling sukar, tetapan semula sama ada tidak lulus sama sekali, atau lulus, tetapi tiada kod POST lain dipaparkan pada penunjuk.

Dalam kes ini, disyorkan untuk segera mematikan komputer, memutuskan sambungan semua kad dan kabel tambahan, serta memori dari papan induk, hanya meninggalkan papan induk dengan pemproses dan dipasang disambungkan ke bekalan kuasa. papan POST Kad.

Jika pada kali seterusnya anda menghidupkan komputer, sistem ditetapkan semula secara normal dan kod POST pertama muncul, maka masalahnya terletak pada komponen komputer yang dialih keluar buat sementara waktu. Kabel mungkin tidak disambungkan dengan betul (kabel IDE selalunya dimasukkan secara terbalik).

Modul memori, penyesuai video dan kad lain dipasang secara berurutan dan, dengan memerhati kod POST, modul yang rosak dikesan.

Sebagai contoh, apabila ingatan yang rosak untuk komputer dengan AMI BIOS, urutan kod POST biasanya ditetapkan pada kod d4; dengan AWARD BIOS - pada kod C1 atau C6. Ia berlaku bahawa bukan modul memori itu sendiri yang rosak, tetapi papan induk - sebabnya adalah hubungan yang lemah dalam penyambung SIMM/DIMM (sentuhan dibengkokkan/ditutup bersama), atau modul tidak dimasukkan sepenuhnya ke dalam penyambung.

Jika penyesuai video untuk komputer dengan BIOS AMI rosak, jujukan kod POST ditetapkan pada kod 2C, 40 atau 2A bergantung pada pengubahsuaian BIOS, atau kod ini tiada, dan monitor tidak mempunyai garis permulaan yang sepadan untuk kad video (menunjukkan jenis, jumlah memori dan pengeluar penyesuai video ).

Begitu juga, untuk komputer dengan AWARD BIOS, jika penyesuai video tidak berfungsi, urutan kod POST sama ada ditetapkan pada kod 0d atau "langkau" kod ini. Jika pemulaan memori dan penyesuai video berjalan dengan baik, pasang baki kad satu demi satu dan, dengan menyambungkan kabel, tentukan komponen mana yang "mengait" berdasarkan bacaan penunjuk Kad POST. bas sistem, dan tidak membenarkan komputer boot.

Dalam Rajah. 4-6 menunjukkan petunjuk Kad POST apabila a pelbagai kesilapan.

nasi. 4. Kod ralat memori video (semasa ujian, kad memori video telah dialih keluar daripada unit sistem)

nasi. 5. Kod ralat untuk manipulator "Tetikus" (tetikus telah dilumpuhkan semasa ujian)

nasi. 6. Kod ralat RAM (semasa ujian, modul memori telah dikeluarkan daripada papan induk)

Urutan tindakan untuk menghidupkan semula PC menggunakan penguji PCI Kad POST

1. Matikan kuasa komputer rosak.

2. Pasang Kad POST ke dalam mana-mana slot percuma pada papan induk.

3. Hidupkan kuasa PC dan baca kod POST yang sepadan daripada penunjuk POST-Card, di mana but komputer terganggu ("membeku").

4. Menggunakan jadual kod POST, jika perlu, tentukan ujian mana yang menyebabkan masalah dan kemungkinan puncanya.

5. Apabila kuasa dimatikan, susun semula kabel, modul memori RAM dan komponen lain dengan penyambung untuk menghapuskan kerosakan.

6. Ulang langkah 3, 4, 5 untuk penyelesaian yang stabil bagi prosedur POST dan pemuatan biasa sistem operasi.

7. Menggunakan utiliti perisian menjalankan ujian akhir komponen perkakasan, dan dalam kes ralat "terapung" (tidak stabil), ujian perisian sepadan yang dijalankan secara berpanjangan.

Dan PCI-X dianjurkan dalam bentuk transaksi - operasi pertukaran yang dilengkapkan secara logik. Transaksi biasa melibatkan dua peranti: pemula pertukaran, juga dikenali sebagai peranti induk dan peranti sasaran, juga dikenali sebagai hamba. Peraturan untuk interaksi antara peranti ini ditentukan oleh protokol bas PCI. Peranti boleh memantau transaksi di dalam bas tanpa menjadi peserta (tanpa memasukkan sebarang isyarat); Istilah Snooping sepadan dengan mod penjejakan. Terdapat jenis transaksi khas (Kitaran Khas) - siaran, di mana pemula tidak berinteraksi dengan mana-mana peranti mengikut protokol. Setiap transaksi melaksanakan satu arahan, biasanya membaca atau menulis data ke alamat tertentu. Transaksi bermula dengan fasa alamat, di mana pemula menentukan arahan dan alamat sasaran. Fasa data mungkin mengikuti, di mana satu peranti (sumber data) meletakkan data pada bas dan satu lagi (singki) membacanya. Transaksi yang mempunyai berbilang fasa data dipanggil transaksi kelompok. Terdapat juga transaksi tunggal (dengan satu fasa data). Transaksi boleh diselesaikan tanpa fasa data jika peranti sasaran (atau pemula) tidak bersedia untuk pertukaran. DALAM bas PCI-X fasa atribut telah ditambah, di mana Maklumat tambahan tentang transaksi tersebut.

Protokol isyarat bas PCI dan PCI-X

Komposisi dan tujuan isyarat antara muka bas didedahkan dalam jadual di bawah. Keadaan semua garis isyarat dilihat oleh CLK tepi positif, dan detik-detik ini dalam penerangan lanjut dimaksudkan dengan kitaran bas (ditandakan dalam rajah dengan garis putus-putus menegak). Talian isyarat yang sama dikawal pada masa yang berbeza peranti yang berbeza bas, dan untuk "pemindahan kuasa" yang betul (tanpa konflik) diperlukan bahawa terdapat tempoh masa di mana tiada peranti mengawal talian. Pada rajah masa, peristiwa ini - yang dipanggil "pirouette" (putar balik) - ditunjukkan oleh sepasang anak panah separuh bulatan.

Jadual. Isyarat bas PCI

Isyarat
Tujuan
AD Alamat/Data - alamat berganda/bas data. Pada permulaan transaksi, alamat dihantar, dalam kitaran seterusnya - data
C/B# Command/Byte Enable - arahan/kebenaran untuk mengakses bait. Perintah yang menentukan jenis kitaran bas seterusnya ditentukan oleh kod empat bit dalam fasa alamat
RANGKA#
Bingkai. Pengenalan isyarat menandakan permulaan transaksi (fasa alamat), penyingkiran isyarat menunjukkan bahawa kitaran pemindahan data seterusnya adalah yang terakhir dalam transaksi
DEVSEL#
Pilih Peranti - peranti dipilih (tindak balas pusat kawalan kepada transaksi yang ditujukan kepadanya)
IRDY#
Sedia Pemula - kesediaan peranti induk untuk pertukaran data
TRDY#
Sedia Sasaran - kesediaan pusat kawalan untuk pertukaran data
BERHENTI#
Permintaan daripada CPU kepada tuan untuk menghentikan transaksi semasa
KUNCI#
Isyarat kunci bas untuk memastikan operasi tidak terganggu. Digunakan oleh jambatan yang memerlukan berbilang transaksi PCI untuk menyelesaikan satu operasi
REQ#
Permintaan - permintaan daripada peranti induk untuk merampas bas
GNT#
Geran - pemberian kawalan bas kepada tuan
PAR
Pariti - bit pariti biasa untuk baris AD dan C/BE#
PERR#
Ralat Pariti — isyarat ralat pariti (untuk semua kitaran kecuali yang istimewa). Dijana oleh mana-mana peranti yang mengesan ralat
PME#
Acara Pengurusan Kuasa - isyarat tentang peristiwa yang menyebabkan perubahan dalam mod penggunaan (isyarat tambahan yang diperkenalkan dalam PCI 2.2)
CLKRUN#
Jam berjalan—bas beroperasi pada kekerapan jam nominal. Mengalih keluar isyarat bermakna memperlahankan atau menghentikan penyegerakan untuk mengurangkan penggunaan (untuk aplikasi mudah alih)
PRSN#
Hadir - penunjuk kehadiran papan mengekod permintaan penggunaan kuasa. Pada kad pengembangan, satu atau dua talian LED disambungkan ke bas GND, yang dirasai oleh papan induk
RST#
Tetapkan Semula - tetapkan semula semua daftar ke keadaan awalnya (klik pada butang "Tetapkan Semula".
dan semasa but semula)
IDSEL
Pilihan Peranti Permulaan - pemilihan peranti dalam konfigurasi kitaran baca dan tulis; Kitaran ini dibalas oleh peranti yang mengesan tahap isyarat tinggi pada talian ini
SERR#
Ralat Sistem - ralat sistem. Ralat pariti alamat atau data dalam bingkai khas atau ralat bencana lain yang dikesan oleh peranti. Diaktifkan oleh mana-mana peranti PCI dan memanggil NMI
REQ64#
Minta 64 bit - minta pertukaran 64 bit. Isyarat dimasukkan oleh pemula 64-bit; ia bertepatan dengan masa dengan isyarat FRAME#. Semasa penyiapan set semula (isyarat RST#) memberi isyarat kepada peranti 64-bit bahawa ia disambungkan ke bas 64-bit. Jika peranti 64-bit tidak mengesan isyarat ini, ia mesti mengkonfigurasi semula dirinya kepada mod 32-bit dengan melumpuhkan litar penimbal bait tinggi
ACK64#
Pengesahan pertukaran 64-bit. Isyarat dimasukkan oleh CPU 64-bit, yang telah mengenali alamatnya, serentak dengan DEVSEL#. Kegagalan untuk memberikan pengesahan ini akan memaksa pemula untuk melakukan pertukaran pada 32-bit
INTA#, INTB#, INTC#, INTD#
Sampukan A, B, C, D - talian permintaan sampukan, kepekaan tahap, tahap aktif - rendah, yang membolehkan kebolehpisahan (perkongsian) talian
CLK
Jam — kekerapan jam bas. Seharusnya dalam julat 20-33 MHz, bermula dengan PCI 2.1 ia boleh mencapai sehingga 66 MHz, dalam PCI-X sehingga 100 dan 133 MHz
M66EN
Dayakan 66MHz - resolusi frekuensi jam sehingga 66 MHz (pada kad 33 MHz dibumikan, pada 66 MHz ia adalah percuma)
PCIXCAP (38B)

Keupayaan PCI-X: hidup kad PCI- dibumikan, pada PCI-X133 disambungkan ke pembumian melalui kapasitor 0.01 µF, pada PCI-X66 - dengan litar RC selari 10 kOhm, 0.01 µF.

SDONE
Snoop Selesai - memberi isyarat bahawa kitaran pengintipan selesai untuk transaksi semasa. Tahap yang rendah menunjukkan bahawa kitaran pemantauan koheren memori dan cache tidak lengkap. Isyarat pilihan, hanya digunakan oleh peranti bas dengan memori cache. Ditamatkan sejak PCI 2.2
SBO#
Snoop Backoff - akses semasa ke memori pelanggan bas berakhir dalam talian cache yang diubah suai. Isyarat pilihan, hanya digunakan oleh pelanggan bas dengan memori cache semasa algoritma tulis balik. Ditamatkan sejak PCI 2.2
SMBCLK
Jam SMBus - isyarat jam bas SMBus (antara muka I2C). Diperkenalkan sejak PCI 2.3
SMBDAT
Data SMBus - data bersiri bas SMBus (antara muka I2C). Diperkenalkan sejak PCI 2.3
TCK
Jam Ujian - Penyegerakan antara muka ujian JTAG
TDI
Input Data Ujian - data input antara muka ujian JTAG
TDO
Output Data Ujian - data output antara muka ujian JTAG
TMS
Pilih Mod Ujian - pilih mod untuk antara muka ujian JTAG
TRST
Test Logic Reset - set semula logik ujian

Pada bila-bila masa, bas hanya boleh dikawal oleh satu peranti induk, yang telah menerima hak untuk berbuat demikian daripada penimbang tara. Setiap peranti induk mempunyai sepasang isyarat - REQ# untuk meminta kawalan bas dan GNT# untuk mengesahkan bahawa kawalan bas telah diberikan. Peranti boleh memulakan transaksi (tetapkan isyarat FRAME#) hanya apabila ia menerima isyarat GNT# aktif dan menunggu sehingga tiada aktiviti bas. Ambil perhatian bahawa semasa menunggu rehat, pengadil boleh "mengubah fikirannya" dan memberikan kawalan bas kepada peranti lain dengan keutamaan yang lebih tinggi. Mengalih keluar isyarat GNT# menghalang peranti daripada memulakan transaksi seterusnya, dan dalam keadaan tertentu (lihat di bawah) boleh memaksanya untuk menamatkan transaksi semasa. Timbangtara permintaan untuk menggunakan bas dikendalikan oleh nod khas - pengadil, yang merupakan sebahagian daripada jambatan yang menghubungkan bas ini ke pusat. Skim keutamaan (tetap, round-robin, digabungkan) ditentukan oleh pengaturcaraan penimbang tara.

Talian AD bermultipleks biasa digunakan untuk alamat dan data. Empat baris C/BE berganda menyediakan pengekodan arahan dalam fasa alamat dan resolusi bait dalam fasa data. Dalam urus niaga tulis, talian C/BE membenarkan penggunaan bait data serentak dengan kehadirannya pada bas AD; dalam urus niaga baca, isyarat ini merujuk kepada bait fasa data seterusnya. Dalam fasa alamat (permulaan transaksi), induk mengaktifkan isyarat FRAME#, menghantar alamat sasaran pada bas AD dan menghantar maklumat tentang jenis transaksi (perintah) pada baris C/BE#. Peranti sasaran yang dialamatkan bertindak balas dengan isyarat DEVSEL#. Peranti induk menunjukkan kesediaannya untuk menukar data dengan isyarat IRDY#; kesediaan ini boleh ditetapkan sebelum menerima DEVSEL#. Apabila peranti sasaran bersedia untuk menukar data, ia akan menetapkan isyarat TRDY#. Data dihantar pada bas AD hanya apabila isyarat IRDY# dan TRDY# hadir serentak. Menggunakan isyarat ini, peranti induk dan sasaran menyelaraskan kelajuannya dengan memperkenalkan keadaan menunggu. Rajah di bawah menunjukkan gambar rajah pemasaan pertukaran di mana kedua-dua peranti induk dan sasaran memasuki jam menunggu. Jika kedua-duanya memasukkan isyarat sedia pada penghujung fasa alamat dan tidak mengeluarkannya sehingga akhir pertukaran, maka 32 bit data akan dihantar dalam setiap kitaran jam selepas fasa alamat, yang akan memberikan prestasi pertukaran maksimum. Dalam transaksi baca, selepas fasa alamat, jam tambahan diperlukan untuk pirouette, di mana pemula berhenti mengawal talian AD; Peranti sasaran hanya akan dapat mengambil alih kawalan bas AD dalam kitaran jam seterusnya. Dalam transaksi tulis, pirouette tidak diperlukan kerana pemula menghantar data.

Pada bas PCI, semua transaksi dianggap sebagai pecah: setiap transaksi bermula dengan fasa alamat, yang boleh diikuti oleh satu atau lebih fasa data. Bilangan fasa data dalam paket tidak dinyatakan secara eksplisit, tetapi dalam kitaran jam fasa data terakhir, peranti induk, apabila isyarat IRDY# dimasukkan, mengeluarkan isyarat FRAME#. Dalam transaksi tunggal, isyarat FRAME# aktif untuk satu kitaran jam sahaja. Jika peranti tidak menyokong transaksi kelompok dalam mod hamba, maka ia mesti meminta agar transaksi kelompok ditamatkan semasa fasa data pertama (dengan menegaskan isyarat STOP# pada masa yang sama seperti TRDY#). Sebagai tindak balas kepada ini, tuan akan melengkapkan transaksi ini dan terus menukar transaksi berikutnya dengan nilai seterusnya alamat. Selepas fasa data akhir, peranti induk mengalih keluar isyarat IRDY# dan bas masuk ke keadaan melahu (Idle) - kedua-dua isyarat: FRAME# dan IRDY# berada dalam keadaan pasif.

Inisiator boleh memulakan transaksi seterusnya tanpa tempoh rehat dengan menetapkan FRAME# serentak dengan mengalih keluar IRDY#. Urus niaga bersebelahan pantas (Fast Back-to-Back) boleh dialamatkan sama ada kepada satu atau peranti sasaran yang berbeza. Jenis pertama transaksi bersebelahan pantas disokong oleh semua peranti PCI yang bertindak sebagai peranti sasaran. Sokongan untuk jenis kedua transaksi bersebelahan (sokongan tersebut adalah pilihan) ditunjukkan oleh bit 7 daftar status. Inisiator dibenarkan (jika dia boleh) menggunakan transaksi bersebelahan pantas dengan peranti yang berbeza (kebenaran ditentukan oleh bit 9 daftar arahan) hanya jika semua ejen bas membenarkan panggilan pantas. Apabila menukar data dalam mod PCI-X, transaksi bersebelahan pantas tidak dibenarkan.

Protokol bas memastikan kebolehpercayaan pertukaran - peranti induk sentiasa menerima maklumat mengenai pemprosesan transaksi oleh peranti sasaran. Cara untuk meningkatkan kebolehpercayaan pertukaran ialah penggunaan kawalan pariti: baris AD dan C/BE# dalam kedua-dua fasa alamat dan fasa data dilindungi oleh bit pariti PAR (bilangan bit set baris ini, termasuk PAR, mestilah genap). Nilai PAR sebenar muncul pada bas dengan kelewatan satu kitaran jam berbanding baris AD dan C/BE#. Apabila ralat dikesan, peranti menjana isyarat PERR# (dialihkan satu jam selepas bit pariti yang sah muncul pada bas). Apabila mengira pariti semasa penghantaran data, semua bait diambil kira, termasuk bait tidak sah (ditandakan dengan isyarat C/BEx# yang tinggi). Keadaan bit, walaupun dalam bait data tidak sah, mesti kekal stabil semasa fasa data.

Setiap transaksi di dalam bas mesti diselesaikan seperti yang dirancang atau dibatalkan, dan bas mesti masuk ke dalam keadaan rehat (isyarat FRAME# dan IRDY# adalah pasif). Penyelesaian transaksi sama ada dimulakan oleh peranti induk atau dimulakan oleh peranti sasaran.

Tuan boleh melengkapkan urus niaga dalam salah satu cara berikut:

  • penyiapan - penamatan biasa pada akhir pertukaran data;
  • tamat masa — selesai mengikut tamat masa. Berlaku apabila kawalan bas induk dialih keluar semasa transaksi (dengan mengalih keluar isyarat GNT#) dan Pemasa Latensinya tamat tempoh. Ini boleh berlaku jika peranti sasaran yang dialamatkan secara tiba-tiba perlahan atau urus niaga dijadualkan terlalu lama. Urus niaga pendek (dengan satu atau dua fasa data), walaupun isyarat GNT# dialih keluar dan pemasa dicetuskan, selesai seperti biasa;
  • master-Abort - Hentikan transaksi apabila peranti induk tidak menerima respons daripada peranti sasaran (isyarat DEVSEL#) dalam masa yang ditetapkan.

Urus niaga boleh ditamatkan atas inisiatif peranti sasaran; Untuk melakukan ini, ia boleh memasukkan isyarat STOP#. Terdapat tiga jenis penamatan transaksi yang mungkin:

  • cuba semula - pengulangan, pengenalan isyarat STOP# dengan isyarat TRDY# pasif sebelum fasa data pertama. Keadaan ini berlaku apabila peranti sasaran, disebabkan kesibukan dalaman, tidak mempunyai masa untuk menghasilkan data pertama tepat pada masanya (16 kitaran jam). Pengguguran cuba semula ialah petunjuk kepada tuan untuk memulakan semula transaksi yang sama;
  • putuskan sambungan - putus sambungan, pengenalan isyarat STOP# semasa atau selepas fasa data pertama. Jika isyarat STOP# dimasukkan semasa isyarat TRDY# fasa data seterusnya aktif, maka data ini dihantar dan transaksi selesai. Jika isyarat STOP# ditetapkan apabila isyarat TRDY# adalah pasif, maka transaksi selesai tanpa menghantar data fasa seterusnya. Pemutusan sambungan berlaku apabila peranti sasaran tidak dapat mengeluarkan atau menerima bahagian data paket seterusnya tepat pada masanya. Pemutusan sambungan adalah petunjuk kepada tuan untuk memulakan semula transaksi ini, tetapi dengan alamat mula yang diubah suai;
  • target-abort - kegagalan, pengenalan isyarat STOP# serentak dengan penyingkiran isyarat DEVSEL# (dalam kes sebelumnya, apabila isyarat STOP# muncul, isyarat DEVSEL# aktif). Selepas ini, data tidak lagi dihantar. Penolakan berlaku apabila peranti sasaran mengesan ralat maut atau keadaan lain yang disebabkan olehnya ia tidak lagi dapat memberikan perkhidmatan kepada permintaan yang diberikan (termasuk arahan yang tidak disokong).

Menggunakan tiga jenis penamatan transaksi tidak diperlukan untuk semua peranti sasaran, tetapi mana-mana peranti induk harus bersedia untuk menamatkan urus niaga atas mana-mana sebab ini.

Jenis penamatan cuba semula digunakan untuk mengatur transaksi tertunda. Urus niaga tertunda hanya digunakan oleh peranti sasaran yang perlahan dan oleh jambatan PCI apabila menterjemah transaksi ke bas lain. Dengan menggugurkan (untuk pemula) transaksi dengan syarat cuba semula, peranti sasaran melaksanakan transaksi secara dalaman. Apabila pemula mengulangi urus niaga ini (mengeluarkan arahan yang sama dengan alamat yang sama dan set isyarat C/BE# yang sama dalam fasa data), peranti sasaran (atau jambatan) sudah pun mempunyai hasil yang sedia (baca data atau tulis kemajuan status) bahawa ia akan kembali dengan cepat kepada pemula. Hasil transaksi belum selesai yang dilakukan oleh peranti tertentu mesti disimpan oleh peranti atau jambatan sehingga keputusan diminta oleh pemula. Walau bagaimanapun, dia mungkin "terlupa" untuk mengulangi urus niaga (disebabkan oleh beberapa situasi yang tidak normal). Untuk mengelakkan penimbal storan hasil melimpah, peranti mesti membuang hasil ini. Menjatuhkan boleh dilakukan tanpa kesan sampingan, jika transaksi ditangguhkan ke memori yang membenarkan praambil (dengan atribut boleh ambil dahulu, lihat di bawah). Secara umum, jenis urus niaga lain tidak boleh dibuang dengan sewenang-wenangnya (integriti data mungkin dilanggar); bagi mereka, membuang hanya dibenarkan selepas tidak berjaya menunggu ulangan untuk 215 kitaran bas (apabila pemasa buang dicetuskan). Peranti boleh melaporkan pengecualian ini kepada pemacunya (atau keseluruhan sistem).

Pemula transaksi boleh meminta penggunaan bas PCI secara eksklusif untuk tempoh operasi pertukaran yang memerlukan berbilang transaksi bas. Jadi, sebagai contoh, jika CPU melaksanakan arahan pengubahsuaian data dalam sel memori kepunyaan peranti PCI, ia perlu membaca data daripada peranti, mengubah suainya dalam ALUnya dan mengembalikan hasilnya kepada peranti. Untuk mengelakkan urus niaga daripada pemula lain daripada mengganggu operasi ini (yang boleh membawa kepada pelanggaran integriti data), jambatan utama melaksanakannya sebagai operasi yang disekat - isyarat bas LOCK# dibekalkan untuk keseluruhan tempoh operasi. Isyarat ini tidak digunakan (atau dijana) dalam apa jua cara. peranti konvensional PCI (tidak disambungkan); ia hanya digunakan oleh jambatan untuk mengawal timbang tara.