Je, basi la PCI Express hufanya kazi vipi? PCI Express - ni nini na sifa kuu

basi la ISA

Viwango vya interface ya basi

Upana wa basi ulipoongezeka na mzunguko wa saa kwenye kompyuta ukiongezeka, viwango vya kiolesura cha basi pia vilibadilika. Hivi sasa, kompyuta hutumia viwango vifuatavyo vya kiolesura cha basi:

· Basi la ISA;

· basi la PCI;

Viwango vingine kama vile MCA (Micro Channel Architecture), EISA (Extended Industry Standard Architecture) na VESA, inayojulikana kwa kawaida basi la ndani, basi la VL na kuendelezwa na VESA (Video Electronics Standards Association). vifaa vya kielektroniki vya video) havitumiki kwa sasa.

Kiwango cha kwanza cha kiolesura cha kawaida cha basi, basi ya ISA (Usanifu wa Kawaida wa Kiwanda), ilitengenezwa na IBM wakati wa kuunda kompyuta ya IBM PC AT (1984). Basi hii ya 16-bit yenye mzunguko wa saa ya 8.33 MHz inaruhusu usakinishaji wa kadi zote za upanuzi wa 8-bit na 16-bit (na bandwidth ya 8.33 na 16.6 MB / s, kwa mtiririko huo).

Kubadilishana kwa data kati ya vifaa vya nje vya kasi na RAM hufanyika kwa ushiriki wa processor, ambayo katika baadhi ya matukio inaweza kusababisha kupungua kwa utendaji wa kompyuta. Katika hali ya ufikiaji wa moja kwa moja, iliyoletwa katika basi ya ISA, kifaa cha pembeni huwasiliana na RAM moja kwa moja kupitia njia za DMA (Ufikiaji wa Kumbukumbu ya Moja kwa moja). Hali hii ya kubadilishana data inafaa zaidi katika hali ambapo kasi ya juu inahitajika ili kuhamisha kiasi kikubwa cha habari (kwa mfano, wakati wa kupakia data kwenye kumbukumbu kutoka kwa gari ngumu).

Ili kuandaa ufikiaji wa kumbukumbu ya moja kwa moja, mtawala wa DMA hutumiwa, umejengwa kwenye moja ya chips kwenye ubao wa mama. Kifaa kinachohitaji ufikiaji wa kumbukumbu ya moja kwa moja huwasiliana na kidhibiti kupitia mojawapo ya chaneli za bure za DMA, kikiiambia njia (anwani) kutoka au mahali pa kutuma data, anwani ya kuanzia ya kizuizi cha data na kiasi cha data. Uanzishaji wa kubadilishana hutokea kwa ushiriki wa processor, lakini uhamisho halisi wa data unafanywa chini ya udhibiti wa mtawala wa DMA, na sio processor.

Basi ya ISA haipo kwenye bodi za mama za kisasa, na imehifadhiwa tu kwenye kompyuta za zamani.

Basi la PCI (Peripheral Component Interconnect) lilitengenezwa na Intel kwa ushiriki wa makampuni mengine kadhaa mwaka wa 1993 kwa kichakataji chake kipya cha utendaji wa juu cha Pentium.

Hivi sasa, viwango vyote vya PCI vinatengenezwa na kudumishwa na shirika la PCI-SIG (PCI - Special Interest Group).


Kiwango cha hivi karibuni cha PCI, PCI 3.0, iliyopitishwa mwaka 2004, inafafanua basi 32-bit yenye kasi ya saa ya 33 MHz na upeo wa juu wa 133 MB / s, na mabasi 64-bit yenye kasi ya saa ya 33 na 66 MHz. na kilele cha matokeo, mtawalia.. 266 na 533 MB/s.

Ili kuharakisha uhamisho wa data kwenye basi ya PCI, hali ya kupasuka hutumiwa. Katika hali hii, data iko kwenye anwani yoyote hupitishwa sio moja kwa wakati mmoja, lakini kama seti nzima mara moja.

Kanuni ya msingi ya basi ya PCI ni matumizi ya kinachojulikana kama madaraja, ambayo huwasiliana kati ya basi ya PCI na mabasi mengine. Kipengele muhimu cha basi ya PCI ni kwamba badala ya njia za DMA, hutumia hali ya ufanisi zaidi ya basi, ambayo inaruhusu kifaa cha nje kudhibiti basi bila ushiriki wa processor. Wakati wa kuhamisha taarifa, kifaa kinachotumia Bus Mastering huchukua basi na kuwa bwana. Kwa mbinu hii, kichakataji cha kati kinaachiliwa kufanya kazi zingine wakati uhamishaji wa data unatokea. Hii ni muhimu sana wakati wa kutumia mifumo ya uendeshaji ya multitasking kama vile Windows na Unix.

Viunganishi vya kadi ya PCI kwenye ubao wa mama vinaonyeshwa kwenye Mtini. ?????.

Mchele. ?????. Nafasi za kadi za PCI kwenye ubao wa mama:

a) kiunganishi cha 32-bit; b) kiunganishi cha 64-bit

Nyongeza kwa kiwango cha PCI ni kiwango cha PCI Hot Plug v1.0. Vifaa vya PCI vinavyotii kiwango hiki vinaweza kuingizwa au kuondolewa kutoka kwa slot wakati kompyuta inafanya kazi - kinachojulikana kama "hot plug".

Mabasi ya PCI hutumiwa katika kompyuta za kisasa kuunganisha vifaa vya ndani vya kitengo cha mfumo, kama vile kadi ya sauti au modemu. Walakini, kwa vifaa vya picha, mabasi haya hayana kasi ya kutosha ya uhamishaji data, kwa hivyo PCI-SIG ilitengeneza kiwango kipya - PCI-X (X inasimama kwa Extended) na masafa ya saa ya 66, 133, 266 na 533 MHz na matokeo ya kilele. ya 533, mtawalia 1066, 2132 na 4264 MB/s. Kiwango hiki ni nyuma sambamba na kiwango cha PCI 3.0, i.e. Kompyuta yako inaweza kutumia kadi za PCI 3.0 na kadi za PCI-X.

Toleo la hivi punde la kiwango cha PCI-X, PCI-X 2.0, lilipitishwa mnamo 2002. Hivi sasa, mabasi ya kiwango hiki haitumiki, kwani katika mwaka huo huo PCI-SIG ilianza kukuza kiwango kipya cha basi cha PCI - PCI Express.

Kiwango cha PCI Express, pia huitwa PCI-E au PCe, huchukua nafasi ya muundo wa pamoja unaotumiwa na PCI na PCI-X na miunganisho ya serial ya vifaa kwa kutumia swichi. Jina la zamani la kiwango hiki ni 3GIO (Ingizo / Pato la Kizazi cha 3 - kizazi cha tatu cha pembejeo / pato).

Kiwango cha hivi punde cha PCI Express ni PCI Express Base 2.0, iliyopitishwa mnamo 2006.

Tofauti na kiwango cha PCI, ambacho huunganisha vifaa vyote kwa basi ya kawaida ya 32-bit sambamba ya unidirectional, PCI Express hutumia muunganisho wa mfululizo wa sehemu kwa uhakika moja au zaidi ya pande mbili juu ya shaba iliyosokotwa ili kuunganisha kifaa.

Wakati wa kubadilishana data juu ya jozi iliyopotoka, njia ya uhamisho wa ishara ya tofauti ya voltage ya chini - LVDS (Ishara ya Tofauti ya Voltage ya Chini) hutumiwa. Data katika LVDS huhamishwa kwa mlolongo, kidogo kidogo. Katika kesi hii, jozi tofauti hutumiwa kusambaza ishara moja, i.e. kwamba upande wa kupitisha hutumia viwango tofauti vya voltage kwa waendeshaji wa jozi, ambazo zinalinganishwa kwenye upande wa kupokea. Ili kusimba habari, tofauti ya voltage kwenye waendeshaji wa jozi hutumiwa. Amplitude ndogo ya ishara, pamoja na ushawishi usio na maana wa umeme wa waya wa jozi kwa kila mmoja, hufanya iwezekanavyo kupunguza kelele kwenye mstari na kusambaza data kwa masafa ya juu, i.e. kwa kasi ya juu. Ili kuongeza kasi ya uhamisho wa data, unaweza kutumia viunganisho kadhaa (jozi zilizopotoka) ambazo bits hupitishwa kwa sambamba, i.e. kwa wakati mmoja.

PCI Express inaweza kutumia muunganisho mmoja au zaidi ili kuhamisha data. Idadi ya miunganisho ya kifaa imebainishwa na nambari inayofuatwa (au kutanguliwa) na herufi x. Vipimo kwa sasa vinafafanua miunganisho kama 1x, 2x, 4x, 8x, 16x na 32x. Kila moja ya miunganisho ya basi ya PCI Express (isipokuwa ya unganisho 32x, ambayo bado haitumiki) ina aina yake ya kiunganishi. Katika Mtini. ???? Nafasi za kawaida za PCI Express zinaonyeshwa: 1x, 2x, 4x, 8x na 16x.

Mchele. ?????. Viunganishi vya kawaida vya PCI Express: a) yanayopangwa 1x; b) yanayopangwa 4x;

c) yanayopangwa 8x; d) yanayopangwa 16x;

Upitishaji kwenye basi la PCI Express kwa kila muunganisho kwa sasa ni 2.5 Gbit/s kukiwa na matarajio ya kuongezeka hadi 10 Gbit/s. Kiwango cha PCI Express kinapaswa kuchukua nafasi ya viwango vya PCI na PCI-X, pamoja na kiwango cha AGP kilichojadiliwa katika sehemu inayofuata. Hata hivyo, kiwango cha PCI Express kinapatana na viwango hivi na inaonekana kitatumika pamoja navyo kwa muda mrefu, kwa kuwa kadi nyingi zinazozingatia viwango vya PCI na AGP zimetolewa na zinaendelea kutolewa.

Katika makala hii tutazungumzia kuhusu sababu za mafanikio ya basi ya PCI na kuelezea teknolojia ya juu ya utendaji ambayo inachukua nafasi yake - basi ya PCI Express. Pia tutaangalia historia ya viwango vya maendeleo, vifaa na programu ya basi ya PCI Express, vipengele vya utekelezaji wake na kuorodhesha faida zake.

Wakati mwanzoni mwa miaka ya 1990. ilionekana, sifa zake za kiufundi zilizidi kwa kiasi kikubwa mabasi yote yaliyokuwepo hadi wakati huo, kama vile ISA, EISA, MCA na VL-bus. Wakati huo, basi ya PCI (Peripheral Component Interconnect), inayofanya kazi saa 33 MHz, ilikuwa inafaa kwa vifaa vingi vya pembeni. Lakini leo hali imebadilika kwa njia nyingi. Awali ya yote, kasi ya processor na kumbukumbu ya saa imeongezeka kwa kiasi kikubwa. Kwa mfano, kasi ya saa ya processor iliongezeka kutoka 33 MHz hadi GHz kadhaa, wakati mzunguko wa uendeshaji wa PCI uliongezeka hadi 66 MHz tu. Kuibuka kwa teknolojia kama vile Gigabit Ethernet na IEEE 1394B kulitishia kuwa kipimo data kizima cha basi la PCI kinaweza kutumika kuhudumia kifaa kimoja kulingana na teknolojia hizi.

Wakati huo huo, usanifu wa PCI una idadi ya faida ikilinganishwa na watangulizi wake, kwa hiyo haikuwa na maana ya kurekebisha kabisa. Kwanza kabisa, haitegemei aina ya processor, inasaidia kutengwa kwa buffer, teknolojia ya usimamizi wa basi (kukamata basi) na teknolojia ya PnP kwa ukamilifu. Kutengwa kwa buffer kunamaanisha kuwa basi ya PCI hufanya kazi kwa kujitegemea na basi ya kichakataji cha ndani, ikiruhusu basi ya kuchakata kufanya kazi bila kuzingatia kasi na mzigo wa basi ya mfumo. Shukrani kwa teknolojia ya kukamata basi, vifaa vya pembeni vinaweza kudhibiti moja kwa moja mchakato wa kuhamisha data kwenye basi, badala ya kusubiri usaidizi kutoka kwa kichakataji cha kati, ambacho kinaweza kuathiri utendaji wa mfumo. Hatimaye, usaidizi wa programu-jalizi na Cheza hukuruhusu kusanidi na kusanidi kiotomatiki vifaa vinavyotumia na uepuke kuzozana na virukaji na swichi, ambazo ziliharibu sana maisha ya wamiliki wa vifaa vya ISA.

Licha ya mafanikio yasiyo na shaka ya PCI, kwa sasa inakabiliwa na matatizo makubwa. Hizi ni pamoja na kipimo data kidogo, ukosefu wa uwezo wa uhamishaji data katika wakati halisi, na ukosefu wa usaidizi wa teknolojia za mtandao wa kizazi kijacho.

Tabia za kulinganisha za viwango mbalimbali vya PCI

Inapaswa kuzingatiwa kuwa matokeo halisi yanaweza kuwa chini ya moja ya kinadharia kutokana na kanuni ya uendeshaji wa itifaki na sifa za topolojia ya basi. Kwa kuongeza, jumla ya bandwidth inasambazwa kati ya vifaa vyote vilivyounganishwa nayo, hivyo vifaa vingi kwenye basi, bandwidth ndogo kila mmoja wao hupata.

Maboresho ya kiwango kama vile PCI-X na AGP yaliundwa ili kuondoa shida yake kuu - kasi ya chini ya saa. Hata hivyo, kuongezeka kwa marudio ya saa katika utekelezaji huu kulihusisha kupungua kwa urefu wa basi unaofaa na idadi ya viunganishi.

Kizazi kipya cha basi, PCI Express (au PCI-E kwa kifupi), ilianzishwa kwanza mwaka wa 2004 na iliundwa kutatua matatizo yote ambayo mtangulizi wake alikabiliana nayo. Leo, kompyuta nyingi mpya zina vifaa vya basi ya PCI Express. Ingawa pia wana nafasi za kawaida za PCI, wakati hauko mbali wakati basi litakuwa jambo la historia.

Usanifu wa PCI Express

Usanifu wa basi una muundo wa ngazi nyingi, kama inavyoonekana kwenye takwimu.

Basi linaauni modeli ya kushughulikia PCI, ambayo inaruhusu madereva na programu zote zilizopo sasa kufanya kazi nayo. Kwa kuongeza, basi ya PCI Express hutumia utaratibu wa kawaida wa PnP uliotolewa na kiwango cha awali.

Hebu tuchunguze madhumuni ya viwango mbalimbali vya shirika la PCI-E. Katika kiwango cha programu ya basi, maombi ya kusoma / kuandika yanazalishwa, ambayo hupitishwa kwa kiwango cha usafiri kwa kutumia itifaki maalum ya pakiti. Safu ya data inawajibika kwa kusahihisha usimbaji makosa na inahakikisha uadilifu wa data. Safu ya msingi ya vifaa ina chaneli mbili rahisi inayojumuisha jozi ya kupitisha na kupokea, ambayo kwa pamoja inaitwa laini. Kasi ya jumla ya basi ya 2.5 Gb/s inamaanisha kuwa upitishaji kwa kila njia ya PCI Express ni 250 MB/s kwa kila upande. Ikiwa tutazingatia hasara kutokana na uendeshaji wa itifaki, basi kuhusu 200 MB / s inapatikana kwa kila kifaa. Utekelezaji huu ni mara 2-4 zaidi ya ule uliopatikana kwa vifaa vya PCI. Na, tofauti na PCI, ikiwa bandwidth inasambazwa kati ya vifaa vyote, basi huenda kwa kila kifaa kwa ukamilifu.

Leo, kuna matoleo kadhaa ya kiwango cha PCI Express, tofauti katika bandwidth yao.

Kipimo data cha basi cha PCI Express x16 kwa matoleo tofauti ya PCI-E, Gb/s:

  • 32/64
  • 64/128
  • 128/256

Miundo ya basi ya PCI-E

Hivi sasa, chaguzi mbalimbali za fomati za PCI Express zinapatikana, kulingana na madhumuni ya jukwaa - kompyuta ya mezani, kompyuta ndogo au seva. Seva zinazohitaji kipimo data zaidi zina nafasi zaidi za PCI-E, na nafasi hizi zina vigogo zaidi. Kinyume chake, kompyuta za mkononi zinaweza kuwa na njia moja tu ya vifaa vya kasi ya kati.

Kadi ya video yenye kiolesura cha PCI Express x16.

Kadi za upanuzi za PCI Express zinafanana sana na kadi za PCI, lakini nafasi za PCI-E zimeongezeka ili kuhakikisha kuwa kadi haitatoka kwenye nafasi kwa sababu ya mtetemo au usafirishaji. Kuna sababu kadhaa za fomu za inafaa za PCI Express, saizi ambayo inategemea idadi ya njia zinazotumiwa. Kwa mfano, basi yenye njia 16 imeteuliwa PCI Express x16. Ingawa jumla ya njia zinaweza kuwa 32, kiutendaji bodi nyingi za mama sasa zina basi la PCI Express x16.

Kadi za vipengele vidogo vya umbo zinaweza kuchomekwa kwenye nafasi kwa kubwa zaidi bila kuathiri utendakazi. Kwa mfano, kadi ya PCI Express x1 inaweza kushikamana na slot ya PCI Express x16. Kama ilivyo kwa basi ya PCI, unaweza kutumia PCI Express extender kuunganisha vifaa ikihitajika.

Kuonekana kwa aina mbalimbali za viunganisho kwenye ubao wa mama. Kutoka juu hadi chini: yanayopangwa PCI-X, yanayopangwa PCI Express x8, yanayopangwa PCI, PCI Express x16 yanayopangwa.

Kadi ya Express

Kiwango cha Kadi ya Express hutoa njia rahisi sana ya kuongeza vifaa kwenye mfumo. Soko linalolengwa la moduli za Kadi ya Express ni kompyuta ndogo na kompyuta ndogo. Tofauti na kadi za kawaida za upanuzi za eneo-kazi, kadi ya Express inaweza kuunganishwa kwenye mfumo wakati wowote kompyuta inapofanya kazi.

Aina moja maarufu ya Kadi ya Express ni Kadi Ndogo ya PCI Express, iliyoundwa badala ya kadi za Mini PCI. Kadi iliyoundwa katika muundo huu inasaidia PCI Express na USB 2.0. Vipimo vya Kadi ya Mini ya PCI Express ni 30x56 mm. Kadi Ndogo ya PCI Express inaweza kuunganisha kwa PCI Express x1.

Faida za PCI-E

Teknolojia ya PCI Express hutoa faida zaidi ya PCI katika maeneo matano yafuatayo:

  1. Utendaji wa juu. Kwa njia moja tu, PCI Express ina upitishaji mara mbili wa PCI. Katika kesi hiyo, mtiririko huongezeka kwa uwiano wa idadi ya mistari katika basi, idadi ya juu ambayo inaweza kufikia 32. Faida ya ziada ni kwamba taarifa kwenye basi inaweza kupitishwa wakati huo huo kwa njia zote mbili.
  2. Rahisisha I/O. PCI Express inachukua faida ya mabasi kama vile AGP na PCI-X na ina usanifu mgumu sana na urahisi wa kulinganisha wa utekelezaji.
  3. Usanifu wa ngazi nyingi. PCI Express inatoa usanifu ambao unaweza kukabiliana na teknolojia mpya bila kuhitaji uboreshaji muhimu wa programu.
  4. Teknolojia za pembejeo/pato za kizazi kipya. PCI Express huwezesha uwezo mpya wa kupata data kwa teknolojia ya uhamishaji data kwa wakati mmoja ambayo inahakikisha kwamba taarifa inapokelewa kwa wakati ufaao.
  5. Urahisi wa matumizi. PCI-E hurahisisha zaidi mtumiaji kuboresha na kupanua mfumo. Miundo ya ziada ya kadi ya Express, kama vile ExpressCard, huongeza sana uwezo wa kuongeza vifaa vya pembeni vya kasi ya juu kwenye seva na kompyuta ndogo.

Hitimisho

PCI Express ni teknolojia ya basi ya kuunganisha vifaa vya pembeni, ambayo ilichukua nafasi ya teknolojia kama vile ISA, AGP na PCI. Matumizi yake huongeza kwa kiasi kikubwa utendaji wa kompyuta, pamoja na uwezo wa mtumiaji kupanua na kusasisha mfumo.

Hello kila mtu ambaye ni nia ya nini yanayopangwa PCI ni. Nadhani kuna wengi wao, kwa sababu kiwango hiki bado kinatumika leo, licha ya kutolewa kwa analogues za kisasa. Ikiwa kompyuta yako si changa tena, kuna uwezekano mkubwa kwamba unashughulika na PCI.

Makala hii itakusaidia kuelewa vipengele vyake na tofauti kutoka kwa marekebisho ya "Express", ambayo huenda umesikia kuhusu, kwa kuwa sasa imeenea.

Utangulizi wa neno

Kifupi kilichotajwa hapo juu kinasimama kwa muunganisho wa sehemu ya pembeni, ambayo inamaanisha muunganisho wa vipengee vya pembeni. Ingawa kifungu hiki cha maneno hakionyeshi mfano halisi wa PCI, kilichaguliwa kwa sababu nzuri.

Kama unavyoelewa, "ubongo" wa kompyuta ni pamoja na vifaa anuwai (sauti, video, kadi ya mtandao, nk), kinachojulikana. vipengele vya pembeni. Wengi wao wataunganishwa kwenye ubao wa mama.

Kwa uunganisho kati ya vifaa na ubao wa mama, barabara maalum za elektroniki hutumiwa, kwa maneno mengine, mabasi. Hivi ndivyo PCI ilivyo. Kwa kweli, hii ni slot ya upanuzi wa muda mrefu iko kwenye ubao wa mama ambayo kadi ya video inaweza kuingizwa, nk.

Kuhusu mtawala

Pia kuna kitu kama kidhibiti cha PCI Mawasiliano Rahisi au Kiolesura cha Injini ya Usimamizi, ambayo inahakikisha mwingiliano wa madereva ya programu zilizosanikishwa kwenye kompyuta na viendeshi vya ubao wa mama. Wakati mwingine baada ya kusakinisha upya mfumo, pembetatu ya njano huwaka karibu na kipengee hiki kwenye Kidhibiti cha Kifaa.

Katika kesi hii, unapaswa kupakua madereva kutoka kwa tovuti rasmi ya Intel au rasilimali nyingine ya kuaminika na kuiweka. Baada ya yote, interface hii inadhibiti hali ya joto, mzunguko wa baridi, njia za usingizi, nk.

Hadithi

Kundi la Maslahi Maalum la PCI, lililoanzishwa mnamo 1992 chini ya uongozi wa Intel Corporation, linawajibika kwa uundaji na usaidizi wa kiolesura. Wakati huo huo, toleo lake la kwanza lilitolewa, iliyotolewa mahsusi kutekeleza utendaji wa Pentium, Pentium Pro na wasindikaji 486.

Mwaka uliofuata, mfano uliofuata 2.0 ulionekana, na baada ya miaka 3 - 2.1, ambayo ilikuwa kwenye kilele cha umaarufu. Kweli, baada ya miaka 2 picha za kompyuta zilifikia kiwango kipya, na PCI haikukidhi mahitaji yake tena. Kisha kadi za video zilianza kuunganishwa kupitia kontakt ambayo ilikuwa mpya wakati huo.

Walakini, kiolesura tunachozingatia hakikupoteza nafasi yake hadi 2005. Wakati huu, vizazi vingi vimetoka, lakini sidhani kama unataka kusumbua kichwa chako nao. Aidha, kwa mtumiaji wa kawaida tofauti kati yao ni ndogo au isiyoeleweka.

Vipimo vya PCI

Vigezo vya msingi vya bandari unapaswa kujua kuhusu:

  • Mzunguko - 33.33 au 66.66 megahertz, habari hutumwa kwa usawa;
  • Saizi ndogo - kama kawaida, 32 au 64 bits;
  • Nafasi ya anwani ya kumbukumbu na bandari za I / O ni sawa - 4 byte (32 bits);
  • Nafasi nyingine ya anwani (usanidi) kwa kazi 1 ni ka 256;
  • Kasi ya juu ya mfano wa 32-bit na 33 MHz ni megabytes 133 kwa pili;
  • Voltage - 3.3 au 5 Volts;
  • Kuna kazi kuu ya Kuzidisha basi, ambayo ni, vidhibiti kadhaa vya gari ngumu vinaweza kufanya kazi kwenye basi moja mara moja.

Tofauti na PCI-Express

Hii ni marekebisho ya kisasa ya mtangulizi wake. Inategemea mfano wa programu ya PCI, lakini kwa utendaji ulioboreshwa sana. Vifaa vingi kwa sasa vinazalishwa na kiolesura hiki.


Tofauti ya kwanza kati yao ni kwamba toleo la zamani ni sambamba, na mpya ni mlolongo. Hii ina maana kwamba katika kesi ya pili kuna uhusiano wa pande mbili, ambayo inaweza kujumuisha mistari kadhaa (kutoka x1 hadi x32). Zaidi kuna, juu ya kasi ya kazi.

Iwe hivyo, upitaji wa basi la kisasa utakuwa wa juu zaidi kuliko ule wa mwenza wake aliyepitwa na wakati. Kwa kulinganisha: kwa PCI yenye mzunguko wa 66 MHz ni 266 MB / s, na kwa kizazi cha 3 cha PCI-E na njia 16 ni 32 GB / s.

Sasa unajua mambo ya msingi kuhusu PCI.

Ninakushauri usikae juu ya habari hii na kupata maarifa mapya kutoka kwa nakala zingine kwenye blogi yetu.

Moduli za WiFi na vifaa vingine vinavyofanana. Intel ilianza kutengeneza basi hili mnamo 2002. Sasa shirika lisilo la faida la PCI Special Interest Group linatengeneza matoleo mapya ya basi hili.

Kwa sasa, basi la PCI Express limebadilisha kabisa mabasi ya kizamani kama AGP, PCI na PCI-X. Basi ya PCI Express iko chini ya ubao wa mama katika nafasi ya mlalo.

PCI Express ni basi ambayo ilitengenezwa kwa msingi wa basi ya PCI. Tofauti kuu kati ya PCI Express na PCI ziko kwenye safu ya mwili. Wakati PCI hutumia basi la pamoja, PCI Express hutumia topolojia ya nyota. Kila kifaa kinaunganishwa na kubadili kawaida na uhusiano tofauti.

Mfano wa programu ya PCI Express kwa kiasi kikubwa hufuata mfano wa PCI. Kwa hivyo, vidhibiti vingi vya PCI vilivyopo vinaweza kubadilishwa kwa urahisi ili kutumia basi ya PCI Express.

Mipangilio ya PCI Express na PCI kwenye ubao wa mama

Kwa kuongezea, basi ya PCI Express inasaidia huduma mpya kama vile:

  • Kuziba moto kwa vifaa;
  • kasi ya kubadilishana data iliyohakikishwa;
  • Usimamizi wa nishati;
  • Kufuatilia uadilifu wa habari zinazopitishwa;

Je, basi la PCI Express hufanya kazi vipi?

Basi la PCI Express hutumia muunganisho wa serial wa pande mbili ili kuunganisha vifaa. Kwa kuongezea, unganisho kama huo unaweza kuwa na mistari moja (x1) au kadhaa (x2, x4, x8, x12, x16 na x32) tofauti. Kadiri mistari kama hiyo inavyotumika, ndivyo kasi ya uhamishaji data inavyokuwa juu ambayo basi ya PCI Express inaweza kutoa. Kulingana na idadi ya mistari inayoungwa mkono, saizi ya daraja kwenye ubao wa mama itakuwa tofauti. Kuna nafasi zilizo na mstari mmoja (x1), nne (x4) na kumi na sita (x16).

Onyesho la kuona la vipimo vya yanayopangwa vya PCI Express

Zaidi ya hayo, kifaa chochote cha PCI Express kinaweza kufanya kazi katika nafasi yoyote ikiwa slot ina mistari sawa au zaidi. Hii hukuruhusu kusakinisha kadi ya PCI Express iliyo na kiunganishi cha x1 kwenye sehemu ya x16 kwenye ubao mama.

Bandwidth ya PCI Express inategemea idadi ya njia na toleo la basi.

Njia moja/njia zote mbili katika Gbit/s

Idadi ya mistari

PCIe 1.0 2/4 4/8 8/16 16/32 24/48 32/64 64/128
PCIe 2.0 4/8 8/16 16/32 32/64 48/96 64/128 128/256
PCIe 3.0 8/16 16/32 32/64 64/128 96/192 128/256 256/512
PCIe 4.0 16/32 32/64 64/128 128/256 192/384 256/512 512/1024

Mifano ya vifaa vya PCI Express

PCI Express hutumiwa kimsingi kuunganisha kadi za video za kipekee. Tangu ujio wa basi hili, kadi zote za video zinaitumia.

Kadi ya michoro ya GIGABYTE GeForce GTX 770

Walakini, hii sio yote ambayo basi ya PCI Express inaweza kufanya. Inatumiwa na wazalishaji wa vipengele vingine.

Kadi ya sauti ya SUS Xonar DX

Hifadhi ya SSD OCZ Z-Drive R4 Enterprise

Vitambaa visivyoweza kuwaka vinatumiwa wapi www.algo-textile.ru. Vifaa vya mbu kwa vyandarua 2-sklad.ru.

PCI na PCI-X

PCI na mabasi ya PCI-X

Utangulizi

Mabasi ya PCI na PCI-X ndio mabasi kuu ya upanuzi ya I/O katika kompyuta za kisasa; kwa kuunganisha adapta za video zinaongezewa na bandari ya AGP. Mabasi ya upanuzi ya I/O (Basi ya Upanuzi) ni muunganisho wa kiwango cha mfumo: huruhusu adapta na vidhibiti vya pembeni kutumia moja kwa moja rasilimali za mfumo wa kompyuta - kumbukumbu na nafasi ya anwani ya I/O, hukatiza, ufikiaji wa kumbukumbu moja kwa moja. Vifaa vilivyounganishwa kwenye mabasi ya upanuzi vinaweza kudhibiti mabasi haya, kupata ufikiaji wa rasilimali zingine za kompyuta. Mabasi ya upanuzi yanatekelezwa kimitambo kama nafasi (viunganishi vya slot) au viunganishi vya pini; Wao ni sifa ya urefu mfupi wa waendeshaji, yaani, wao ni wa ndani tu, ambayo huwawezesha kufikia kasi ya juu ya uendeshaji. Mabasi haya yanaweza yasitoe kwa viunganishi, lakini hutumiwa kuunganisha vifaa kwenye bodi za mama zilizounganishwa.

Mara ya kwanza, basi ya PCI ilianzishwa kama kiendelezi (basi ya mezzanine) kwa mifumo yenye basi ya ISA. Iliundwa kwa kuzingatia wasindikaji wa Pentium, lakini pia ilifanya kazi vizuri na wasindikaji wa i486. Baadaye, PCI ikawa basi kuu kwa muda: iliunganishwa na basi ya processor na daraja la juu la utendaji (daraja la "kaskazini"), ambalo lilikuwa sehemu ya chipset ya ubao wa mama. Mabasi ya upanuzi ya I/O yaliyobaki (ISA/EISA au MCA), pamoja na basi ya ndani ya ISA-kama X-BUS na kiolesura cha LPC, ambapo chips za bodi ya mfumo zimeunganishwa (ROM BIOS, vidhibiti vya kukatiza, kibodi, DMA). , bandari za COM na LPT, HDD na "vitu vidogo" vingine), vilivyounganishwa na basi ya PCI kupitia daraja la "kusini". Katika bodi za kisasa za mama zilizo na usanifu wa "kitovu", basi ya PCI imehamishwa kwa pembeni, bila kuathiri uwezo wake wa kituo cha mawasiliano na processor na kumbukumbu, lakini pia bila kupakia vifaa kwenye mabasi mengine yenye trafiki ya usafiri.

Basi ya PCI ni synchronous - ishara zote zinachukuliwa na makali mazuri (makali) ya ishara ya CLK. Mzunguko wa maingiliano ya kawaida huchukuliwa kuwa 33.3 MHz; ikiwa ni lazima, inaweza kupunguzwa. Kuanzia toleo la PCI 2.1, inawezekana kuongeza mzunguko hadi 66.6 MHz ikiwa vifaa vyote kwenye basi "vinakubali". Katika PCI-X, mzunguko unaweza kufikia 133 MHz.

PCI hutumia basi ya anwani/data iliyosawazishwa (AD) yenye upana wa kawaida wa biti 32. Ufafanuzi hufafanua uwezekano wa kupanua kina kidogo hadi bits 64; Toleo la 2.0 la PCI-X pia linafafanua chaguo la basi la 16-bit. Katika mzunguko wa basi wa 33 MHz, throughput ya kinadharia hufikia 132 MB / s kwa basi 32-bit na 264 MB / s kwa basi 64-bit; kwa mzunguko wa maingiliano ya 66 MHz - 264 MB / s na 528 MB / s, kwa mtiririko huo. Walakini, maadili haya ya kilele hufikiwa tu wakati wa upitishaji wa pakiti: kwa sababu ya juu ya itifaki, upitishaji wa wastani wa basi uko chini.

Sifa za kulinganisha za mabasi ya PCI na PCI-X na mabasi mengine ya upanuzi ya kompyuta zinazooana na PC zimetolewa kwenye jedwali. 1.1. Basi la ISA linaondoka kwenye kompyuta za mezani, lakini linahifadhi nafasi yake katika kompyuta za viwandani na zilizopachikwa, katika toleo la kawaida la yanayopangwa na katika toleo la "sandwich" PC/104. Nafasi za PCMCIA zenye Kadi ya Kompyuta na basi za Basi za Kadi hutumiwa sana kwenye kompyuta za daftari. Basi la LPC ni njia ya kisasa, ya gharama nafuu ya kuunganisha vifaa visivyotumia rasilimali nyingi kwenye ubao mama.

Tairi Kiwango cha juu cha upitishaji MB/s Njia za DMA Mwalimu wa basi ACFG Upana wa data Ukubwa wa anwani Mzunguko wa MHz
ISA-8 4 3 - - 8 20 8
ISA-16 8
7
+
-
16
24
8
LPC 6,7
7
+
-
8/16/32
32
33
EISA
33,3 7 +
+
32
32
8,33
MCA-16
16
-
+
+
16
24
10
MCA-32
20
-
+
+
32
32
10
VLB
132
-
(+)
-
32/64
32
33-50(66)
PCI
133-533
-
+
+
32/64
32/64
33/66
PCI-X
533-4256
-
+
+
16/32/64
32/64
66-133
PCI Express
496-15872
-
+
+
1/2/4/8/12/16/32
32/64
GHz 2.5
AGP 1x/2x/4x/8x
266/533/1066/2132
-
+
+
32
32/64
66
PCMCIA
10/22
+
-
+
8/16
26
10
Basi la Kadi 132 - + + 32 32 33

ACFG1-Inasaidia usanidi otomatiki. Kwa ISA, PnP ni nyongeza ya marehemu inayotekelezwa na adapta na programu.

Itifaki ya kuashiria basi ya PCI na PCI-X

Kubadilishana kwa habari kwenye basi ya PCI na PCI-X imeandaliwa kwa namna ya shughuli - shughuli za kubadilishana zilizokamilishwa kimantiki. Muamala wa kawaida hujumuisha vifaa viwili: kianzisha ubadilishanaji, pia kinachojulikana kama kifaa kikuu, na kifaa kinacholengwa, kinachojulikana pia kama mtumwa. Sheria za mwingiliano kati ya vifaa hivi zimedhamiriwa na itifaki ya basi ya PCI. Kifaa kinaweza kufuatilia shughuli kwenye basi bila kuwa mshiriki (bila kuingiza ishara yoyote); Neno Snooping linalingana na hali ya ufuatiliaji. Kuna aina maalum ya shughuli (Mzunguko Maalum) - matangazo, ambayo mwanzilishi haingiliani na kifaa chochote kulingana na itifaki. Kila muamala hutekeleza amri moja, kwa kawaida kusoma au kuandika data kwa anwani maalum. Muamala huanza na awamu ya anwani, ambapo mwanzilishi hubainisha amri na anwani inayolengwa. Hatua za data zinaweza kufuata, ambapo kifaa kimoja (chanzo cha data) huweka data kwenye basi na kingine (sinki) huisoma. Miamala ambayo ina awamu nyingi za data inaitwa shughuli za bechi. Pia kuna shughuli moja (na awamu moja ya data). Muamala unaweza kukamilika bila awamu za data ikiwa kifaa lengwa (au kianzisha) hakiko tayari kwa ubadilishanaji. Basi la PCI-X limeongeza awamu ya sifa ambapo maelezo ya ziada kuhusu muamala hutumwa.

Itifaki ya kuashiria basi ya PCI na PCI-X

Muundo na madhumuni ya ishara za kiolesura cha basi zimefunuliwa kwenye jedwali hapa chini. Majimbo ya mistari yote ya mawimbi yanatambuliwa na ukingo chanya wa CLK, na nyakati hizi katika maelezo zaidi zinamaanisha mizunguko ya basi (iliyowekwa alama katika takwimu zilizo na mistari wima ya nukta). Kwa nyakati tofauti, mistari ya ishara sawa inadhibitiwa na vifaa tofauti vya basi, na kwa usahihi (bila migogoro) "uhamisho wa mamlaka" inahitajika kuwa kuna kipindi cha muda ambacho hakuna kifaa kinachodhibiti laini. Kwa michoro ya wakati, tukio hili - kinachojulikana kama "pirouette" (kugeuka) - linaonyeshwa na jozi ya mishale ya semicircular.

Jedwali. Ishara za basi za PCI

Mawimbi
Kusudi
AD Anwani/Data - anwani iliyopanuliwa/basi ya data. Mwanzoni mwa shughuli, anwani hupitishwa, katika mizunguko inayofuata - data
C/B # Amri / Byte Wezesha - amri / ruhusa ya kufikia byte. Amri inayoamua aina ya mzunguko wa basi unaofuata inatajwa na msimbo wa nne-bit katika awamu ya anwani
FRAM#
Fremu. Kuanzishwa kwa ishara kunaashiria mwanzo wa shughuli (awamu ya anwani), kuondolewa kwa ishara kunaonyesha kuwa mzunguko wa uhamishaji wa data unaofuata ndio wa mwisho katika shughuli.
DEVSEL#
Chagua Kifaa - kifaa kimechaguliwa (jibu la kituo cha udhibiti kwa shughuli iliyoelekezwa kwake)
IRDY#
Mwanzilishi Tayari - utayari wa kifaa kikuu cha kubadilishana data
TRDY#
Lengo Tayari - utayari wa kituo cha udhibiti kwa kubadilishana data
SIMAMA#
Omba kutoka kwa CPU kwenda kwa bwana ili kusimamisha shughuli ya sasa
LOCK#
Ishara ya kufunga basi (kukamata) ili kuhakikisha uendeshaji usiokatizwa. Inatumiwa na daraja ambalo linahitaji shughuli nyingi za PCI ili kukamilisha operesheni moja
REQ#
Ombi - ombi kutoka kwa kifaa kikuu cha kukamata basi
GNT#
Grant - kutoa udhibiti wa basi kwa bwana
PAR
Usawa - biti ya usawa ya kawaida kwa mistari ya AD na C/BE#
PERR#
Hitilafu ya Usawa - ishara ya makosa ya usawa (kwa mizunguko yote isipokuwa maalum). Imetolewa na kifaa chochote kinachotambua hitilafu
PME#
Tukio la Usimamizi wa Nguvu - ishara kuhusu matukio ambayo husababisha mabadiliko katika hali ya matumizi (ishara ya ziada iliyoletwa katika PCI 2.2)
CLKRUN#
Saa inayoendesha-basi hufanya kazi kwa mzunguko wa kawaida wa saa. Kuondoa mawimbi kunamaanisha kupunguza kasi au kusimamisha ulandanishi ili kupunguza matumizi (kwa programu za simu)
PRSN #
Viashiria vya uwepo wa bodi vilivyopo vinavyosimba ombi la matumizi ya nguvu. Kwenye kadi ya upanuzi, laini moja au mbili za LED zimeunganishwa kwenye basi ya GND, ambayo huhisiwa na ubao wa mama.
RST#
Weka upya - weka upya rejista zote kwa hali yao ya awali (bonyeza kitufe cha "Rudisha".
na kuwasha upya)
IDSEL
Uanzishaji wa Kifaa Chagua - uteuzi wa kifaa katika mizunguko ya kusoma na kuandika ya usanidi; Mizunguko hii huitikiwa na kifaa ambacho hutambua kiwango cha juu cha mawimbi kwenye laini hii
SERR#
Hitilafu ya Mfumo - hitilafu ya mfumo. Hitilafu ya anwani au usawa wa data katika fremu maalum au hitilafu nyingine mbaya iliyogunduliwa na kifaa. Huwashwa na kifaa chochote cha PCI na hupiga simu kwa NMI
REQ64#
Omba 64-bit - ombi la kubadilishana 64-bit. Mawimbi huingizwa na kianzisha 64-bit; inalingana kwa wakati na ishara ya FRAME#. Wakati wa kukamilisha kuweka upya (RST# ishara) ishara kwa kifaa 64-bit kwamba imeunganishwa na basi 64-bit. Ikiwa kifaa cha 64-bit hakitambui mawimbi haya, lazima kijipange upya kwa modi ya biti-32 kwa kuzima saketi za baiti za juu.
ACK64#
Uthibitishaji wa ubadilishaji wa 64-bit. Ishara inaingizwa na 64-bit CPU, ambayo imetambua anwani yake, wakati huo huo na DEVSEL#. Kukosa kutoa uthibitisho huu kutalazimisha mwanzilishi kutekeleza ubadilishanaji kwa 32-bit
INTA#, INTB#, INTC#, INTD#
Katiza A, B, C, D - kukatiza mistari ya ombi, unyeti wa kiwango, kiwango amilifu - chini, ambayo inaruhusu utengano (kushiriki) wa mistari.
CLK
Saa - mzunguko wa saa ya basi. Inapaswa kuwa katika anuwai ya 20-33 MHz, kuanzia na PCI 2.1 inaweza kuwa hadi 66 MHz, katika PCI-X hadi 100 na 133 MHz.
M66EN
66MHz Wezesha - azimio la mzunguko wa saa hadi 66 MHz (kwenye kadi 33 MHz ni msingi, saa 66 MHz ni bure)
PCIXCAP (38B)

Uwezo wa PCI-X: kwenye bodi za PCI - msingi, kwenye PCI-X133 iliyounganishwa chini kupitia capacitor 0.01 µF, kwenye PCI-X66 - kwa mzunguko wa RC sambamba wa 10 kOhm, 0.01 µF.

SDONE
Snoop Imekamilika - ashiria kwamba mzunguko wa snoop umekamilika kwa shughuli ya sasa. Kiwango cha chini kinaonyesha kuwa mzunguko wa ufuatiliaji wa kumbukumbu na kache haujakamilika. Ishara ya hiari, inayotumiwa tu na vifaa vya basi vilivyo na kumbukumbu iliyohifadhiwa. Imeacha kutumika kuanzia PCI 2.2
SBO#
Snoop Backoff - ufikiaji wa sasa wa kumbukumbu ya mteja wa basi huishia kwenye laini ya kache iliyorekebishwa. Ishara ya hiari, inayotumiwa na watumiaji wa basi pekee walio na kumbukumbu iliyohifadhiwa wakati wa algoriti ya kuandika. Imeacha kutumika kuanzia PCI 2.2
SMBCLK
SMBus Clock - ishara ya saa ya basi ya SMBus (I2C interface). Ilianzishwa tangu PCI 2.3
SMBDAT
Data ya SMBus - data ya serial ya basi ya SMBus (interface ya I2C). Ilianzishwa tangu PCI 2.3
TCK
Saa ya Kujaribu - Usawazishaji wa kiolesura cha jaribio la JTAG
TDI
Ingizo la Data ya Jaribio - data ya kuingiza kiolesura cha jaribio la JTAG
TDO
Jaribio la Pato la Data - data ya towe ya kiolesura cha JTAG
TMS
Hali ya Jaribio Chagua - chagua modi ya kiolesura cha jaribio la JTAG
TRST
Jaribu Kuweka Upya Mantiki - weka upya mantiki ya jaribio

Kwa wakati wowote, basi inaweza kudhibitiwa tu na kifaa kimoja kikuu, ambacho kimepokea haki ya kufanya hivyo kutoka kwa msuluhishi. Kila kifaa kikuu kina jozi ya mawimbi - REQ# kuomba udhibiti wa basi na GNT# ili kuthibitisha kuwa udhibiti wa basi umekubaliwa. Kifaa kinaweza kuanza muamala (weka mawimbi ya FRAME#) tu kinapopokea mawimbi amilifu ya GNT# na kusubiri hadi kusiwe na shughuli ya basi. Kumbuka kwamba wakati wa kusubiri kupumzika, mwamuzi anaweza "kubadilisha mawazo yake" na kutoa udhibiti wa basi kwa kifaa kingine na kipaumbele cha juu. Kuondoa ishara ya GNT# huzuia kifaa kuanza muamala unaofuata, na chini ya hali fulani (tazama hapa chini) kunaweza kukilazimisha kusimamisha shughuli ya sasa. Usuluhishi wa maombi ya kutumia basi unashughulikiwa na node maalum - msuluhishi, ambayo ni sehemu ya daraja inayounganisha basi hii katikati. Mpango wa kipaumbele (fasta, pande zote-robin, pamoja) imedhamiriwa na programu ya arbiter.

Mistari ya kawaida ya AD iliyozidishwa hutumiwa kwa anwani na data. Mistari minne ya C/BE iliyozidishwa hutoa usimbaji wa maagizo katika awamu ya anwani na azimio la byte katika awamu ya data. Katika shughuli za uandishi, mistari ya C/BE huruhusu matumizi ya baiti za data wakati huo huo na uwepo wao kwenye basi la AD; katika shughuli za kusoma, ishara hizi hurejelea baiti za awamu inayofuata ya data. Katika awamu ya anwani (kuanza kwa muamala), bwana huwasha mawimbi ya FRAME#, hutuma anwani lengwa kwenye basi ya AD, na kusambaza taarifa kuhusu aina ya shughuli (amri) kwenye njia za C/BE#. Kifaa kinachoelekezwa hujibu kwa mawimbi ya DEVSEL#. Kifaa kikuu kinaonyesha utayari wake wa kubadilishana data na mawimbi ya IRDY#; utayari huu unaweza kuwekwa kabla ya kupokea DEVSEL#. Wakati kifaa kinacholengwa kiko tayari kubadilishana data, kitaweka mawimbi ya TRDY#. Data hutumwa kwenye basi la AD tu wakati mawimbi ya IRDY# na TRDY# yanapatikana kwa wakati mmoja. Kwa kutumia mawimbi haya, kifaa kikuu na lengwa huratibu kasi yao kwa kuanzisha hali za kusubiri. Kielelezo kilicho hapa chini kinaonyesha mchoro wa saa wa kubadilishana ambapo vifaa kuu na vinavyolengwa vinaingia saa za kusubiri. Ikiwa wote wawili wangeingiza mawimbi yaliyo tayari mwishoni mwa awamu ya anwani na hawakuziondoa hadi mwisho wa ubadilishanaji, basi biti 32 za data zingetumwa katika kila mzunguko wa saa baada ya awamu ya anwani, ambayo ingetoa utendaji wa juu zaidi wa ubadilishanaji. Katika shughuli za kusoma, baada ya awamu ya anwani, saa ya ziada inahitajika kwa pirouette, wakati ambapo mwanzilishi anaacha kudhibiti mstari wa AD; Kifaa kinacholengwa kitaweza tu kuchukua udhibiti wa basi la AD katika mzunguko wa saa unaofuata. Katika muamala wa kuandika, pirouette haihitajiki kwa sababu mwanzilishi husambaza data.

Kwenye basi ya PCI, shughuli zote zinachukuliwa kama kupasuka: kila shughuli huanza na awamu ya anwani, ambayo inaweza kufuatiwa na awamu moja au zaidi ya data. Idadi ya awamu za data kwenye pakiti haijaonyeshwa kwa uwazi, lakini katika mzunguko wa saa ya awamu ya mwisho ya data, kifaa kikuu, wakati ishara ya IRDY# imeingizwa, huondoa ishara ya FRAME#. Katika miamala moja, mawimbi ya FRAME# hutumika kwa mzunguko wa saa moja pekee. Ikiwa kifaa hakiauni shughuli za bechi katika hali ya mtumwa, basi lazima kiombe kwamba shughuli ya bechi ikomeshwe wakati wa awamu ya kwanza ya data (kwa kusisitiza ishara ya STOP# kwa wakati mmoja na TRDY#). Kwa kukabiliana na hili, bwana atakamilisha shughuli iliyotolewa na kuendelea kubadilishana shughuli inayofuata na thamani ya anwani inayofuata. Baada ya awamu ya mwisho ya data, kifaa kikuu huondoa mawimbi ya IRDY#, na basi huenda katika hali ya kutofanya kazi (Idle) - mawimbi yote mawili: FRAME# na IRDY# ziko katika hali tulivu.

Mwanzilishi anaweza kuanza muamala unaofuata bila muda wa kupumzika kwa kuweka FRAME# wakati huo huo kwa kuondoa IRDY#. Shughuli kama hizo za karibu za haraka (Fast Back-to-Back) zinaweza kushughulikiwa ama kwa moja au kwa vifaa tofauti lengwa. Aina ya kwanza ya miamala ya haraka inayounganishwa inaauniwa na vifaa vyote vya PCI vinavyofanya kazi kama kifaa kinacholengwa. Usaidizi wa aina ya pili ya shughuli zinazounganishwa (msaada kama huo ni wa hiari) unaonyeshwa na bit 7 ya rejista ya hali. Mwanzilishi anaruhusiwa (ikiwa anaweza) kutumia miamala ya haraka inayoambatana na vifaa tofauti (ruhusa imedhamiriwa na bit 9 ya rejista ya amri) ikiwa tu mawakala wote wa basi wanaruhusu simu za haraka. Wakati wa kubadilishana data katika hali ya PCI-X, miamala ya haraka inayoambatana hairuhusiwi.

Itifaki ya basi inahakikisha kuegemea kwa ubadilishanaji - kifaa kikuu hupokea habari kila wakati juu ya usindikaji wa manunuzi na kifaa kinacholengwa. Njia ya kuongeza uaminifu wa kubadilishana ni matumizi ya udhibiti wa usawa: mistari ya AD na C/BE# katika awamu ya anwani na awamu ya data inalindwa na biti ya usawa PAR (idadi ya vipande vilivyowekwa vya mistari hii, ikiwa ni pamoja na PAR, lazima iwe sawa). Thamani halisi ya PAR inaonekana kwenye basi na kuchelewa kwa mzunguko wa saa moja kuhusiana na mistari ya AD na C/BE#. Hitilafu inapogunduliwa, kifaa hutoa ishara ya PERR# (saa moja iliyobadilishwa baada ya biti halali ya usawa kuonekana kwenye basi). Wakati wa kuhesabu usawa wakati wa uwasilishaji wa data, byte zote huzingatiwa, ikiwa ni pamoja na baiti zisizo sahihi (zilizowekwa alama ya juu ya C/BEx#). Hali kidogo, hata katika baiti za data zisizo sahihi, lazima ibaki thabiti wakati wa awamu ya data.

Kila muamala kwenye basi lazima ukamilike kama ilivyopangwa au kusitishwa, na basi lazima liende katika hali ya mapumziko (alama za FRAME# na IRDY# hazifanyiki). Ukamilishaji wa muamala huanzishwa na kifaa kikuu au huanzishwa na kifaa lengwa.

Bwana anaweza kukamilisha muamala kwa njia mojawapo ifuatayo:

  • kukamilika - kukomesha kawaida mwishoni mwa kubadilishana data;
  • muda umeisha - kukamilika kwa muda. Hutokea wakati kidhibiti cha basi cha bwana kinapoondolewa wakati wa muamala (kwa kuondoa mawimbi ya GNT#) na Kipima Muda chake cha Kuchelewa kuisha. Hili linaweza kutokea ikiwa kifaa kinachoshughulikiwa ni cha polepole bila kutarajiwa au muamala umeratibiwa kuwa mrefu sana. Shughuli fupi (pamoja na awamu moja au mbili za data), hata kama ishara ya GNT# imeondolewa na kipima muda kimewashwa, kamilisha kawaida;
  • master-Abort - Acha muamala wakati kifaa kikuu hakipokei jibu kutoka kwa kifaa lengwa (ishara ya DEVSEL#) ndani ya muda maalum.

Shughuli inaweza kusitishwa kwa mpango wa kifaa lengwa; Ili kufanya hivyo, inaweza kuingiza ishara ya STOP#. Kuna aina tatu za kusitisha shughuli zinazowezekana:

  • jaribu tena — kurudia, kuanzishwa kwa ishara ya STOP# na ishara ya TRDY# kabla ya awamu ya kwanza ya data. Hali hii hutokea wakati kifaa kinacholengwa, kutokana na shughuli nyingi za ndani, hakina muda wa kutoa data ya kwanza kwa wakati (saa 16). Kuacha kujaribu tena ni dalili kwa bwana kuanzisha upya shughuli hiyo hiyo;
  • kukatwa - kukatwa, kuanzishwa kwa ishara ya STOP # wakati au baada ya awamu ya kwanza ya data. Ikiwa ishara ya STOP# imeingizwa wakati ishara ya TRDY# ya awamu inayofuata ya data inatumika, basi data hii inatumwa, na shughuli hiyo imekamilika. Ikiwa ishara ya STOP# itawekwa wakati mawimbi ya TRDY# ni tulivu, basi shughuli hiyo itakamilika bila kusambaza data ya awamu inayofuata. Kukatwa hutokea wakati kifaa kinacholengwa hakiwezi kutoa au kupokea sehemu inayofuata ya data ya pakiti kwa wakati ufaao. Kukatwa ni dalili kwa bwana kuanzisha upya shughuli hii, lakini kwa anwani ya kuanza iliyorekebishwa;
  • lengo-kuacha - kushindwa, kuanzishwa kwa ishara ya STOP # wakati huo huo na kuondolewa kwa ishara ya DEVSEL # (katika kesi za awali, wakati ishara ya STOP # ilipoonekana, ishara ya DEVSEL # ilikuwa hai). Baada ya hayo, data haisambazwi tena. Kukataliwa hutokea wakati kifaa kinacholengwa kinatambua hitilafu mbaya au hali nyingine kutokana na ambayo hakitaweza tena kuhudumia ombi lililotolewa (pamoja na amri isiyotumika).

Kutumia aina tatu za kusitisha muamala si lazima kwa vifaa vyote vinavyolengwa, lakini kifaa chochote kikuu kinapaswa kuwa tayari kusitisha shughuli kwa sababu zozote hizi.

Aina ya kusitisha kujaribu tena hutumiwa kupanga miamala iliyochelewa. Miamala iliyoahirishwa hutumiwa tu na vifaa vinavyolengwa polepole na kwa madaraja ya PCI wakati wa kutafsiri miamala kwa basi lingine. Kwa kukomesha (kwa mwanzilishi) muamala ulio na hali ya kujaribu tena, kifaa kinacholengwa kinatekeleza muamala ndani. Mwanzilishi anaporudia muamala huu (anatoa amri sawa na anwani sawa na seti sawa ya mawimbi ya C/BE# katika awamu ya data), kifaa lengwa (au daraja) tayari kitakuwa na matokeo tayari (kusoma data au kuandika maendeleo. status) kwamba itarudi haraka kwa mwanzilishi. Matokeo ya shughuli inayosubiri kufanywa na kifaa fulani lazima ihifadhiwe na kifaa au daraja hadi matokeo yatakapoombwa na mwanzilishi. Hata hivyo, anaweza "kusahau" kurudia shughuli (kutokana na hali zisizo za kawaida). Ili kuzuia kufurika kwa hifadhi ya matokeo, kifaa lazima kitupe matokeo haya. Kudondosha kunaweza kufanywa bila madhara ikiwa muamala uliahirishwa hadi kwenye kumbukumbu inayoruhusu kuleta mapema (pamoja na sifa inayoweza kuletwa, tazama hapa chini). Kwa ujumla, aina zingine za miamala haziwezi kutupwa bila kuadhibiwa (uadilifu wa data unaweza kukiukwa); kwao, kutupa kunaruhusiwa tu baada ya kungojea bila mafanikio kurudiwa kwa mizunguko 215 ya basi (wakati kipima saa kinapoanzishwa). Kifaa kinaweza kuripoti ubaguzi huu kwa dereva wake (au mfumo mzima).

Mwanzilishi wa muamala anaweza kuomba matumizi ya kipekee ya basi ya PCI kwa muda wa operesheni ya kubadilishana ambayo inahitaji shughuli nyingi za basi. Kwa hivyo, kwa mfano, ikiwa CPU inatekeleza maagizo ya kurekebisha data katika seli ya kumbukumbu ya kifaa cha PCI, inahitaji kusoma data kutoka kwa kifaa, kurekebisha katika ALU yake, na kurudisha matokeo kwenye kifaa. Ili kuzuia miamala kutoka kwa waanzilishi wengine isiingiliane na operesheni hii (ambayo inaweza kusababisha ukiukaji wa uadilifu wa data), daraja kuu huifanya kama operesheni iliyozuiwa - ishara ya basi ya LOCK# hutolewa kwa muda wote wa operesheni. Ishara hii haitumiwi (au kuzalishwa) kwa njia yoyote na vifaa vya kawaida vya PCI (sio madaraja); inatumiwa tu na madaraja ili kudhibiti usuluhishi.

Maunzi hukatiza katika kompyuta zinazotangamana na PC

Vifaa vya PCI vina uwezo wa kuashiria matukio ya asynchronous kwa kutumia kukatizwa. Kuna aina nne za ishara za kukatiza zinazopatikana kwenye basi ya PCI:

  • ishara ya jadi ya waya kupitia mistari ya INTx;
  • kuashiria kwa waya kwa matukio ya usimamizi wa nishati kupitia laini ya PME#;
  • kuashiria kwa kutumia ujumbe - MSI;
  • kuashiria hitilafu mbaya kwenye mstari wa SERR#.

Sura hii inashughulikia kila moja ya aina hizi za kuashiria, pamoja na picha ya jumla ya usaidizi wa kukatiza maunzi katika kompyuta zinazotangamana na PC.

Maunzi hukatiza katika kompyuta zinazotangamana na PC

Kukatizwa kwa maunzi hutoa jibu la kichakataji kwa matukio yanayotokea kwa usawa kuhusiana na msimbo wa utekelezaji wa programu. Kumbuka kwamba usumbufu wa maunzi umegawanywa kuwa unaoweza kuficha na usioweza kushikamana. Kichakataji cha x86, kwenye ishara ya kukatiza, husimamisha utekelezaji wa mkondo wa sasa wa maagizo, kuokoa hali (bendera na anwani ya kurudi) kwenye rafu, na kutekeleza utaratibu wa kushughulikia wa kukatiza. Utaratibu maalum wa usindikaji huchaguliwa kutoka kwa jedwali la usumbufu na vekta ya usumbufu - nambari ya moja ya kipengele kwenye jedwali hili. Vector ya kuingilia huletwa kwa processor kwa njia tofauti: kwa usumbufu usio na maskable ni fasta, kwa usumbufu wa maskable inaripotiwa na mtawala maalum wa kupinga. Mbali na kukatizwa kwa maunzi, vichakataji vya x86 pia vina usumbufu wa ndani - isipokuwa kuhusishwa na kesi maalum za utekelezaji wa maagizo, na kukatizwa kwa programu. Isipokuwa, vekta imedhamiriwa na hali maalum yenyewe, na Intel inahifadhi vekta 32 za kwanza (0-31 au 00-1Fh) kwa ubaguzi. Katika kukatizwa kwa programu, nambari ya vekta iko kwenye maagizo yenyewe (kukatiza kwa programu ni njia maalum ya kupiga simu kwa nambari, na rejista ya bendera iliyohifadhiwa kwanza kwenye rafu). Vikwazo hivi vyote hutumia seti sawa ya vekta 256 zinazowezekana. Kihistoria, vekta zinazotumika kwa maunzi hukatiza hupishana na vidhibiti na vekta za ubaguzi kwa kukatizwa kwa programu zinazotumiwa kwa simu za huduma za BIOS na DOS. Kwa hivyo, kwa idadi ya nambari za vekta, utaratibu unaorejelewa na jedwali la kukatiza lazima kwanza uwe na nambari ya programu ambayo huamua kwa nini iliitwa: kwa sababu ya ubaguzi, usumbufu wa vifaa, au kupiga huduma ya mfumo fulani. Kwa hivyo, utaratibu ambao unahakikisha jibu la processor kwa tukio lile lile la asynchronous utaitwa tu baada ya mfululizo wa vitendo kutambua chanzo cha kukatiza. Pia tunaona hapa kwamba vector sawa ya kuingilia inaweza kutumika na vifaa kadhaa vya pembeni - hii ndiyo inayoitwa matumizi ya pamoja ya usumbufu, ambayo yanajadiliwa kwa undani hapa chini.

Kupiga simu kwa utaratibu wa huduma ya kukatiza katika hali halisi na zilizolindwa za kichakataji ni tofauti sana:

  • katika hali halisi, jedwali la kukatiza lina viashirio vya mbali vya 4-byte (sehemu na kukabiliana) kwa taratibu zinazolingana ambazo huitwa kwa simu ya mbali (Piga simu Mbali na bendera zilizohifadhiwa mapema). Ukubwa (256 × 4 bytes) na nafasi ya meza (kuanzia kwenye anwani 0) ni fasta;
  • Katika hali iliyolindwa (na katika hali yake mahususi, modi ya V86), jedwali lina vifafanuzi vya kukatiza vya baiti 8, ambavyo vinaweza kuwa Milango ya Kukatiza, Milango ya Mitego, au Milango ya Kazi. Ukubwa wa meza inaweza kupunguzwa (kiwango cha juu - 256 × 8 byte), nafasi ya meza inaweza kubadilika (imedhamiriwa na yaliyomo kwenye rejista ya IDT ya processor). Msimbo wa kidhibiti cha kukatiza lazima uwe angalau na upendeleo kama msimbo wa kazi uliokatizwa (vinginevyo ubaguzi wa usalama utaanzishwa). Kwa sababu hii, vidhibiti vya kukatiza lazima viendeshe katika kiwango cha kernel ya OS (kwa kiwango cha upendeleo sifuri). Kubadilisha kiwango cha upendeleo wakati wa kupiga simu kidhibiti husababisha muda wa ziada unaotumika kufafanua upya rafu. Vikwazo vinavyosababisha ubadilishaji wa kazi (kupitia Task Gate) hutumia muda mwingi kubadilisha muktadha - kupakua rejista za kichakataji kwenye sehemu ya hali ya kazi ya zamani na kuzipakia kutoka sehemu ya hali ya mpya.

Nambari za vekta zinazotumiwa kwa kukatizwa kwa maunzi katika mifumo ya uendeshaji ya hali iliyolindwa ni tofauti na zile zinazotumiwa katika mifumo ya uendeshaji ya hali halisi ili kuhakikisha kwamba hazihitilafiwi na vidhibiti vinavyotumika kwa vighairi vya kichakataji.

Kichakataji kila wakati hujibu kwa usumbufu usioweza kuficha (NMI) (ikiwa huduma ya NMI ya hapo awali imekamilika); Ukatizaji huu unalingana na vekta 2. Vikwazo visivyoweza kuficha kwenye Kompyuta hutumiwa kuashiria hitilafu mbaya za maunzi. Ishara kwa mstari wa NMI hutoka kwa nyaya za udhibiti wa kumbukumbu (usawa au ECC), kutoka kwa mistari ya udhibiti wa basi ya ISA (IOCHK) na basi ya PCI (SERR #). Mawimbi ya NMI imezuiwa kabla ya kuingiza kichakataji kwa kuweka biti 7 ya lango 070h hadi 1, vyanzo mahususi vinawashwa na kutambuliwa na biti za mlango 061h:

  • bit 2 R / W - ERP - ruhusa ya kudhibiti RAM na ishara ya SERR # ya basi ya PCI;
  • bit 3 R/W - EIC - azimio la udhibiti wa basi la ISA;
  • bit 6 R - IOCHK - kosa la kudhibiti kwenye basi ya ISA (IOCHK # ishara);
  • bit 7 R - PCK - kosa la usawa wa RAM au ishara ya SERR # kwenye basi ya PCI.

Majibu ya kichakataji kwa ukatizaji unaoweza kufichamana yanaweza kucheleweshwa kwa kuweka upya alama yake ya ndani ya IF (maagizo ya CLI yanazima kukatizwa, maagizo ya STI huwashwa). Vikwazo vinavyoweza kuwekewa alama hutumika kuashiria matukio katika vifaa. Tukio linapotokea ambalo linahitaji jibu, adapta ya kifaa (mtawala) hutoa ombi la usumbufu, ambalo hutumwa kwa ingizo la kidhibiti cha kukatiza. Kazi ya kidhibiti cha kukatiza ni kuleta ombi la kukatiza kwa processor na kuwasiliana na vekta ambayo utaratibu wa utunzaji wa programu huchaguliwa.

Utaratibu wa kukatiza kifaa lazima ufanye vitendo ili kuhudumia kifaa, ikijumuisha kuweka upya ombi lake ili kukiruhusu kujibu matukio yanayofuata, na kutuma amri za kukamilisha kwa kidhibiti cha kukatiza. Wakati wa kuita utaratibu wa uchakataji, kichakataji huhifadhi kiotomatiki thamani ya bendera zote kwenye rafu na kuweka upya bendera ya IF, ambayo inalemaza ukatizaji unaoweza kufichamana. Wakati wa kurudi kutoka kwa utaratibu huu (kwa kutumia maagizo ya IRET), processor hurejesha bendera zilizohifadhiwa, ikiwa ni pamoja na seti (kabla ya kusumbua) IF, ambayo tena inawezesha kukatika. Ikiwa, wakati wa operesheni ya kidhibiti cha usumbufu, majibu ya usumbufu mwingine (kipaumbele cha juu) inahitajika, basi maagizo ya magonjwa ya zinaa lazima yawepo kwa mpigaji. Hii ni kweli hasa kwa washughulikiaji wa muda mrefu; hapa maagizo ya magonjwa ya zinaa yanapaswa kuingizwa mapema iwezekanavyo, mara baada ya sehemu muhimu (isiyo ya kuingiliwa). Kidhibiti cha kukatiza kitashughulikia ukatizaji unaofuata wa kiwango sawa au cha chini cha kipaumbele baada tu ya kupokea amri ya EOI (Mwisho wa Kukatiza).

Kompyuta zinazoendana na IBM PC hutumia aina mbili kuu za vidhibiti vya kukatiza:

  • PIC (Kidhibiti cha Ukatizaji wa Pembeni) ni kidhibiti cha kukatiza cha pembeni, programu inayolingana na kidhibiti cha "kihistoria" cha 8259A, kilichotumiwa katika miundo ya kwanza ya Kompyuta ya IBM. Tangu wakati wa IBM PC/AT, jozi ya PIC zilizopunguzwa zimetumika, ambayo inaruhusu kuhudumia hadi laini 15 za ombi za kukatiza;
  • APIC (Kidhibiti cha Kina cha Ukatizaji wa Pembeni) ni kidhibiti cha hali ya juu cha kukatiza pembeni kilicholetwa ili kusaidia mifumo ya vichakataji vingi kwenye kompyuta kulingana na vichakataji vizazi 4-5 (486 na Pentium) na bado kinatumika leo kwa miundo ya vichakataji vya baadaye. Mbali na kusaidia usanidi wa vichakataji vingi, APIC ya kisasa hukuruhusu kuongeza idadi ya njia zinazopatikana za kukatiza na kushughulikia maombi ya kukatiza kutoka kwa vifaa vya PCI vinavyotumwa kupitia injini ya ujumbe (MSI). Kompyuta iliyo na kidhibiti cha APIC lazima iweze kufanya kazi katika hali inayooana na jozi ya kawaida ya PIC. Hali hii imewashwa na uwekaji upya wa maunzi (na kuwasha), ambayo hukuruhusu kutumia programu za zamani za OS na MS DOS ambazo hazijui APIC na usindikaji mwingi.

Mpango wa jadi wa kutoa maombi ya kukatiza kwa kutumia jozi ya PIC umeonyeshwa kwenye mchoro ulio hapa chini.

Ingizo za kidhibiti cha kukatiza hupokea maombi kutoka kwa vifaa vya mfumo (kibodi, kipima muda cha mfumo, kipima muda cha CMOS, kichakataji), vidhibiti vya pembeni kwenye ubao mama na kadi za upanuzi. Kijadi, laini zote za maombi ambazo hazitumiwi na vifaa vilivyoorodheshwa zipo kwenye nafasi zote za basi za ISA/EISA. Mistari hii imeteuliwa IRQx na ina madhumuni ya pamoja (tazama jedwali hapa chini). Baadhi ya njia hizi zimetengwa kwa basi la PCI. Jedwali pia linaonyesha vipaumbele vya kukatiza - maombi yanapangwa kwa utaratibu wa kushuka. Nambari za vekta zinazolingana na mistari ya ombi la mtawala, mfumo wa kipaumbele na vigezo vingine huwekwa kwa utaratibu wakati vidhibiti vinaanzishwa. Mipangilio hii ya msingi inasalia kuwa ya kawaida kwa uoanifu wa programu, lakini inatofautiana kati ya OS za hali halisi na hali iliyolindwa. Kwa mfano, katika Windows OS vekta za msingi kwa watawala wakuu na watumwa ni 50h na 58h, kwa mtiririko huo.

Jina (nambari 1) Vekta 2 Vekta 3 Kidhibiti/mask Maelezo
NMI 02h


IRQ0 08h 50h
#1/1
Udhibiti wa kituo, usawa wa kumbukumbu (katika XT - coprocessor)
IRQ1 09h 51h
#1/2saa
Kibodi
IRQ2 0Ah 52h
#1/4saa
XT - hifadhi, AT - haipatikani (cascade ya IRQ8-IRQ15 imeunganishwa)
IRQ8 70h
58h
#2/1
CMOS RTC - Saa ya Wakati Halisi
IRQ9 71h
59h
#2/2saa
Hifadhi
IRQ10 72h
5Ah
#saa 2/4
Hifadhi
IRQ11 73h
5Bh
#2/8h
Hifadhi
IRQ12 74h
5Ch
#2/10h
PS/2-Kipanya (hifadhi)
IRQ13 75h
5Dh
#2/20h
Kichakataji hisabati
IRQ14 76h
5Mh
#2/40h
HDC - mtawala wa HDD
IRQ15 77h
5Fh
#2/80h
Hifadhi
IRQ3 0Bh
52h
#1/4saa
COM2, COM4
IRQ4 0Ch
53h
#1/10h
COM1, COM3
IRQ5I 0Dh
54h
#1/20h
XT - HDC, AT - LPT2, Sauti (hifadhi)
IRQ6 0Mh
55h
#1/40h
FDC - mtawala wa gari la kuelea
IRQ7 0Fh
56h
#1/80h
LPT1 - kichapishi

*Maombi 1 ya kukatiza 0, 1, 8 na 13 hayatolewi kwa mabasi ya upanuzi.
*Nambari 2 za Vekta huonyeshwa wakati wa kufanya kazi katika hali halisi ya kichakataji.
*Nambari 3 za Vekta zinaonyeshwa wakati wa kufanya kazi katika Windows OS.

Kila kifaa kinachohitaji kukatizwa ili kusaidia uendeshaji wake lazima kipewe nambari yake ya kukatiza. Ugawaji wa nambari za kukatiza hufanywa kutoka pande mbili: kwanza, adapta inayohitaji kukatizwa lazima isanidiwe ili kutumia laini maalum ya basi (ama kwa kuruka au kwa programu). Pili, programu inayotumia adapta lazima ijulishwe kuhusu nambari ya vekta inayotumiwa. Mfumo wa PnP wa mabasi ya ISA na PCI unaweza kushiriki katika mchakato wa kugawa vipindi; vigezo maalum vya Kuweka CMOS hutumiwa kusambaza njia za ombi kati ya mabasi. Mifumo ya uendeshaji ya kisasa ina uwezo wa kubadilisha ugawaji wa maombi kuhusu ugawaji unaofanywa kupitia Usanidi wa CMOS.

Baada ya mfumo wa kukatiza kusanidiwa (kidhibiti cha kukatiza kimeanzishwa, mistari ya ombi hupewa vifaa, na viashiria vya taratibu za usindikaji vimewekwa), usumbufu wa maunzi unaoweza kuficha huchakatwa kama ifuatavyo:

  • juu ya tukio la usumbufu, kifaa kinasisimua mstari wa ombi la usumbufu uliopewa;
  • mtawala hupokea ishara za ombi kutoka kwa vyanzo vya usumbufu (ishara za IRQx) na, ikiwa kuna ombi lisilofichwa, hutuma ishara ya ombi la usumbufu wa jumla (ishara ya INTR) kwa processor ya x86;
  • processor, ikijibu ombi (wakati kukatizwa kwa bendera ya IF kumewezeshwa), huhifadhi yaliyomo kwenye rejista ya bendera na anwani ya kurejesha kwenye rafu, baada ya hapo hutoa mzunguko wa basi wa INTA (Interrupt Acknowledge), ambao huwasilishwa kwa mtawala wa kukatiza;
  • kwa sasa ishara ya INTA inapokelewa, mtawala wa kukatiza anarekodi hali ya pembejeo za ombi lake - kwa wakati huu hali yao inaweza kuwa imebadilika: maombi mapya yanaweza kuonekana au ombi kutoka kwa kifaa "isiyo na subira" inaweza kutoweka. Kidhibiti huchanganua maombi yanayoingia kwa mujibu wa mpango wa kipaumbele uliopangwa na kutuma kichakataji vekta ya kukatiza inayolingana na ombi la kipaumbele la juu ambalo halijafichuliwa lililopo kwenye pembejeo ya kidhibiti wakati amri ya basi ya INTA inatolewa. Wakati huo huo, mtawala pia hufanya baadhi ya vitendo kwa mujibu wa sera ya kipaumbele iliyoanzishwa, kwa kuzingatia ambayo vector ilitumwa (ambayo ya maombi yalikwenda kwa huduma);
  • Baada ya kupokea vekta ya kukatiza, processor huita utaratibu wa kushughulikia usumbufu kwa kutumia nambari yake. Ikiwa vekta ya kukatiza iliyopeanwa haitumiki tu kwa kukatizwa kwa maunzi, lakini pia kwa vighairi na/au kukatizwa kwa programu, basi utaratibu lazima kwanza uamue ni aina gani ya tukio kati ya hizi. Kwa kufanya hivyo, utaratibu unaweza kuwasiliana na mtawala wa PIC (soma rejista ya ISR) na kuchambua hali ya rejista za processor. Hatua zaidi zinazingatiwa kwa kesi ambapo usumbufu wa vifaa hugunduliwa;
  • Utaratibu wa kushughulikia usumbufu lazima utambue chanzo cha usumbufu - kuamua kifaa kilichosababisha. Katika kesi ya matumizi ya pamoja ya nambari ya ombi fulani (na kwa hivyo vekta) na vifaa kadhaa, chanzo cha kukatiza kinaweza kutambuliwa tu kwa ufikiaji wa mfululizo wa rejista za kila moja ya vifaa hivi. Katika kesi hiyo, mtu anapaswa kuzingatia uwezekano wa kupokea maombi kutoka kwa vifaa kadhaa wakati huo huo au wakati wa kusindika usumbufu kutoka kwa mmoja wao;
  • utaratibu lazima uhudumie kifaa cha chanzo cha kukatiza - fanya vitendo "muhimu" vinavyohusiana na tukio ambalo kifaa kiliashiria. Huduma hii inapaswa pia kuhakikisha kuwa ishara ya ombi la kukatiza kutoka kwa kifaa hiki imeondolewa. Katika kesi ya kukatika kwa pamoja, kunaweza kuwa na vyanzo kadhaa, na vyote vinahitaji matengenezo;
  • ikiwa usindikaji wa kukatiza utachukua muda mwingi, wakati ambapo mfumo unahitaji kujibu maombi ya kipaumbele cha juu, kisha baada ya sehemu muhimu, maagizo ya magonjwa ya zinaa yanajumuishwa kwenye kidhibiti, ambacho huweka bendera ya kuwezesha kukatiza (IF) kwenye kichakataji. . Kuanzia wakati huu na kuendelea, kukatizwa kwa kiota kunawezekana, kukatiza kazi ya kidhibiti fulani na utaratibu mwingine, wa kipaumbele cha juu;
  • Utaratibu wa kushughulikia kukatizwa lazima utume kidhibiti amri ya kukamilisha usindikaji wa kukatiza EOI (Mwisho wa Kukatiza), ambayo kidhibiti kitaruhusu upokeaji unaofuata wa ishara kutoka kwa pembejeo inayohudumiwa na zile za kipaumbele cha chini. Hii lazima ifanyike baada ya kuondoa ishara ya usumbufu kutoka kwa vifaa vinavyohudumiwa, vinginevyo mtawala atatuma ombi la pili baada ya EOI. Mdhibiti wa kukatiza ambaye ombi lake limetoka kwa mtawala lazima atume EOI kwa watawala na watawala wakuu. Sehemu ya kidhibiti kuanzia utoaji wa maagizo ya EOI hadi kukomesha (maagizo ya IRET) lazima iwe isiyoweza kuingiliwa, yaani, ni sehemu muhimu. Ikiwa kidhibiti kinaruhusu kukatizwa kwa kiota, basi maagizo ya CLI ya kuzima ukatizaji lazima yawepo kabla ya kutoa amri ya EOI;
  • usindikaji wa kukatiza umekamilika kwa maagizo ya IRET, ambayo processor inarudi kutekeleza mtiririko ulioingiliwa wa maagizo, baada ya kurejesha yaliyomo kwenye rejista ya bendera kutoka kwa rafu. Katika kesi hii, usumbufu wa maunzi utawezeshwa tena.

Mlolongo huu unafafanuliwa kuhusiana na kidhibiti cha kukatiza cha kawaida (PIC), mifumo iliyo na APIC hubadilisha jinsi vekta ya kukatiza hutolewa kutoka kwa kidhibiti hadi kichakataji, na MSI hukatiza hubadilisha jinsi mawimbi yanavyotolewa kutoka kwa kifaa hadi kwa kidhibiti cha APIC. . Nuances hizi zimeelezewa katika sehemu zinazofuata.

Habari za jumla

Madaraja ya PCI (PCI Bridge) ni vifaa maalum vya kuunganisha mabasi ya PCI (na PCI-X) kwa kila mmoja na kwa mabasi mengine. Daraja la Mwenyeji hutumiwa kuunganisha PCI katikati ya kompyuta (kumbukumbu ya mfumo na processor). "Jukumu la heshima" la daraja kuu ni kutoa simu kwa nafasi ya usanidi chini ya udhibiti wa kichakataji cha kati, ambacho huruhusu mwenyeji (kichakataji cha kati) kusanidi mfumo mzima wa basi wa PCI. Mfumo unaweza pia kuwa na madaraja kadhaa kuu, ambayo inafanya uwezekano wa kutoa mawasiliano ya juu ya utendaji na kituo kwa idadi kubwa ya vifaa (idadi ya vifaa kwenye basi moja ni mdogo). Kati ya mabasi haya, moja imeteuliwa kwa masharti kama kuu (basi 0).

Madaraja rika ya PCI (PeertoPeer Bridge) hutumiwa kuunganisha mabasi ya ziada ya PCI. Madaraja haya kila mara huanzisha uhamishaji wa data wa ziada, ili utendakazi bora wa mawasiliano ya kifaa hadi kitovu upungue kwa kila daraja linaloingilia kati.

Ili kuunganisha mabasi ya PCMCIA, CardBus, MCA, ISA/EISA, X-Bus na LPC, madaraja maalum hutumiwa, ambayo yanajumuishwa kwenye chipsets za ubao wa mama au ni vifaa tofauti vya PCI (chips). Madaraja haya hubadilisha miingiliano ya mabasi wanayounganisha, kusawazisha na kubadilishana data kwa buffer.

Kila daraja linaweza kupangwa - limepewa safu za anwani katika kumbukumbu na nafasi za I/O zilizotengwa kwa vifaa kwenye mabasi yake. Ikiwa anwani ya CPU ya shughuli ya sasa kwenye basi moja (upande) wa daraja inahusu basi ya upande wa pili, daraja hutafsiri shughuli hiyo kwa basi inayofaa na kuhakikisha mazungumzo ya itifaki ya basi. Kwa hivyo, mkusanyiko wa madaraja ya PCI hufanya uelekezaji wa maombi kwenye mabasi yanayohusiana. Ikiwa mfumo una madaraja kadhaa kuu, basi njia ya mwisho hadi mwisho kati ya vifaa kwenye mabasi tofauti inaweza kuwa haiwezekani: madaraja kuu yanaweza kuunganishwa kwa kila mmoja tu kupitia njia za mgongo wa mtawala wa kumbukumbu. Kusaidia tafsiri ya aina zote za shughuli za PCI kupitia madaraja kuu katika kesi hii inageuka kuwa ngumu sana, na kwa hiyo haihitajiki kabisa na vipimo vya PCI. Kwa hivyo, vifaa vyote vinavyofanya kazi kwenye mabasi yote ya PCI vinaweza kufikia kumbukumbu ya mfumo, lakini uwezekano wa mawasiliano ya wenzao unaweza kutegemea ikiwa vifaa hivi ni vya basi moja au nyingine ya PCI.

Utumiaji wa madaraja ya PCI hutoa uwezo ufuatao:

  • kuongeza idadi inayowezekana ya vifaa vilivyounganishwa, kushinda mapungufu ya vipimo vya umeme vya basi;
  • mgawanyiko wa vifaa vya PCI katika sehemu - mabasi ya PCI - yenye sifa tofauti za kina kidogo (32/64 bits), mzunguko wa saa (33/66/100/133 MHz), itifaki (PCI, PC-X Mode 1, PCI-X Mode 2, PCI Express). Katika kila basi, wanachama wote ni sawa na mshiriki dhaifu; mpangilio sahihi wa vifaa kwenye mabasi hukuruhusu kutumia uwezo wa vifaa na ubao wa mama kwa ufanisi mkubwa;
  • shirika la makundi yenye uunganisho wa "moto" / kukatwa kwa vifaa;
  • shirika la utekelezaji wa wakati huo huo wa shughuli kutoka kwa waanzilishi walio kwenye mabasi tofauti.

Kila daraja la PCI linaunganisha mabasi mawili tu: basi ya msingi, iko karibu na juu ya uongozi, na basi ya sekondari; Miingiliano ya daraja ambayo imeunganishwa na mabasi haya huitwa msingi na sekondari, kwa mtiririko huo. Usanidi tu wa mti unaruhusiwa, ambayo ni, mabasi mawili yameunganishwa kwa kila mmoja na daraja moja tu na hakuna "vitanzi" vya madaraja. Mabasi yaliyounganishwa kwenye kiolesura cha pili cha daraja fulani na madaraja mengine huitwa mabasi yaliyo chini ya chini. Madaraja ya PCI huunda safu ya mabasi ya PCI, ambayo juu yake ni basi kuu, yenye nambari sifuri, iliyounganishwa na daraja kuu. Ikiwa kuna madaraja kadhaa kuu, basi ya mabasi yao (sawa katika cheo), moja kuu itakuwa moja iliyopewa nambari ya sifuri.

Daraja lazima lifanye kazi kadhaa za lazima:

  • huduma basi iliyounganishwa na kiolesura chake cha pili:
  • kufanya usuluhishi - kupokea ishara za ombi za REQx# kutoka kwa wakuu wa mabasi na kuwapa haki ya kudhibiti basi kwa mawimbi ya GNTx#
  • weka basi - tuma ishara ya GNTx# kwa kifaa fulani wakati udhibiti wa basi hauhitajiki na mabwana yeyote;
  • kuzalisha mizunguko ya usanidi wa aina ya 0 na uundaji wa ishara za IDSEL za kibinafsi kwa kifaa cha PCI kinachoweza kushughulikiwa;
  • "vuta" ishara za udhibiti kwa kiwango cha juu;
  • kuamua uwezo wa vifaa vilivyounganishwa na uchague hali ya uendeshaji wa basi ambayo inakidhi (mzunguko, kina kidogo, itifaki);
  • toa uwekaji upya wa vifaa (RST #) kwa kuweka upya kutoka kwa kiolesura cha msingi na kwa amri, kuripoti hali iliyochaguliwa na kengele maalum.
  • kudumisha ramani za rasilimali ziko pande tofauti za daraja;
  • kujibu chini ya kivuli cha kifaa kinacholengwa kwa shughuli zilizoanzishwa na bwana kwenye kiolesura kimoja na kushughulikiwa kwa rasilimali iliyoko kwenye kiolesura kingine; tangaza miamala hii kwa kiolesura kingine, kikifanya kazi kama bwana, na utume matokeo yao kwa mwanzilishi wa kweli.

Madaraja yanayofanya kazi hizi huitwa madaraja ya uwazi; Kufanya kazi na vifaa vilivyo nyuma ya madaraja hayo, hakuna madereva ya ziada ya daraja yanahitajika. Ni madaraja haya ambayo yameelezewa katika vipimo vya PCI Bridge 1.1, na kwao, kama vifaa vya PCI, kuna darasa maalum (06). Katika kesi hii, mfano wa kushughulikia rasilimali "gorofa" (kumbukumbu na I/O) ina maana: kila kifaa kina anwani zake, za kipekee (sio kuingiliana na zingine) ndani ya mfumo fulani (kompyuta).

Pia kuna madaraja ya opaque (daraja isiyo ya uwazi), ambayo inakuwezesha kupanga makundi tofauti na nafasi zao za anwani za mitaa. Daraja lisilo wazi hutafsiri anwani (ubadilishaji) kwa shughuli ambazo kianzisha na kifaa kinacholengwa kiko pande tofauti za daraja. Sio rasilimali zote (safu za anwani) za upande mwingine zinaweza kufikiwa kupitia daraja kama hilo. Madaraja ya opaque hutumiwa, kwa mfano, wakati kompyuta ina mfumo mdogo wa "input/output" (I20) yenye kichakataji chake cha I/O na nafasi ya anwani ya ndani.

Habari za jumla

Basi la PCI awali linajumuisha uwezo wa kusanidi kiotomatiki rasilimali za mfumo (kumbukumbu na nafasi za I/O na kukatiza mistari ya ombi). Usanidi wa kifaa otomatiki (uteuzi wa anwani na usumbufu) unasaidiwa na zana za BIOS na OS; imejikita kwenye teknolojia ya PnP. Kiwango cha PCI kinafafanua nafasi ya usanidi kwa kila kitendakazi cha hadi rejista 256 (biti 8), ambazo hazijawekwa kwa nafasi ya kumbukumbu au nafasi ya I/O. Zinapatikana kwa kutumia amri maalum za basi Usanidi wa Kusoma na Kuandika Usanidi, unaozalishwa kwa kutumia moja ya mifumo ya maunzi na programu iliyoelezwa hapa chini. Katika nafasi hii kuna maeneo ambayo yanahitajika kwa vifaa vyote, na maalum. Kifaa fulani hakiwezi kuwa na rejista katika anwani zote, lakini lazima kiwe na ukamilishaji wa kawaida kwa shughuli zinazoelekezwa kwao. Katika kesi hii, kusoma rejista ambazo hazipo zinapaswa kurudisha sufuri, na uandishi unapaswa kufanywa kama operesheni isiyo na maana.

Nafasi ya usanidi wa kazi huanza na kichwa cha kawaida, ambacho kina vitambulisho vya mtengenezaji, kifaa na darasa lake, pamoja na maelezo ya rasilimali za mfumo zinazohitajika na zilizochukuliwa. Muundo wa kichwa ni sanifu kwa vifaa vya kawaida (aina 0), madaraja ya PCI-PCI (aina ya 1), madaraja ya PCI-CardBus (aina ya 2). Aina ya kichwa huamua eneo la rejista zinazojulikana na madhumuni ya bits zao. Baada ya kichwa kunaweza kuwa na rejista maalum za kifaa. Kwa uwezo sanifu (uwezo) wa vifaa (kwa mfano, usimamizi wa nishati) katika nafasi ya usanidi kuna vizuizi vya rejista za kusudi linalojulikana. Vitalu hivi vimepangwa kwa minyororo, kizuizi cha kwanza kama hicho kinarejelewa kwenye kichwa cha kawaida (CAP_PTR); katika rejista ya kwanza ya kizuizi kuna kiunga cha block inayofuata (au 0 ikiwa kizuizi hiki ni cha mwisho). Kwa hivyo, kwa skanning mlolongo, programu ya usanidi inapokea orodha ya mali zote zinazopatikana za kifaa na nafasi zao katika nafasi ya usanidi wa kazi. PCI 2.3 inafafanua CAP_ID zifuatazo, ambazo baadhi yake tutaziangalia:

  • 01 - usimamizi wa nishati;
  • 02 - bandari ya AGP;
  • 03 - VPD (Data ya Bidhaa Muhimu), data ambayo hutoa maelezo ya kina ya vifaa (labda pia programu) mali ya vifaa;
  • 04 - hesabu ya inafaa na chasisi;
  • 05 - MSI inakatiza;
  • 06 - Kubadilishana kwa Moto, uunganisho wa moto kwa Compact PCI;
  • 07 - upanuzi wa itifaki ya PCI-X;
  • 08 - zimehifadhiwa kwa AMD;
  • 09 - kwa hiari ya mtengenezaji (Maalum ya Muuzaji);
  • 0Ah - bandari ya kurekebisha (Debug Port);
  • 0Bh - Plug ya Moto ya PCI, utoaji wa kawaida wa "plagi ya moto".

Katika PCI-X kwa vifaa vya Mode 2, nafasi ya usanidi imepanuliwa hadi ka 4096; katika nafasi iliyopanuliwa kunaweza kuwa na maelezo ya mali iliyopanuliwa.

Baada ya kuweka upya kwa bidii (au kuwasha), vifaa vya PCI havijibu kumbukumbu na ufikiaji wa nafasi ya I/O na vinapatikana tu kwa usanidi wa kusoma na kuandika. Katika utendakazi huu, vifaa huchaguliwa kwa kutumia mawimbi binafsi ya IDSEL, na kwa kusoma rejista, programu ya usanidi hujifunza kuhusu mahitaji ya rasilimali na chaguo zinazowezekana za usanidi wa kifaa. Baada ya ugawaji wa rasilimali unafanywa na programu ya usanidi (wakati wa POST au OS boot), vigezo vya usanidi (anwani za msingi) zimeandikwa kwenye rejista za usanidi wa kifaa. Tu baada ya hili, vifaa (kwa usahihi, kazi) vimewekwa kwenye bits zinazowawezesha kujibu amri za kufikia kumbukumbu na bandari za I / O, na pia kudhibiti basi wenyewe. Ili kila wakati uweze kupata usanidi unaoweza kutekelezeka, rasilimali zote zinazochukuliwa na kadi lazima zihamishwe katika nafasi zao. Kwa vifaa vya multifunction, kila kazi lazima iwe na nafasi yake ya usanidi. Kifaa kinaweza kuweka rejista sawa kwa kumbukumbu na nafasi ya I/O. Katika kesi hii, maelezo yote mawili lazima yawepo katika rejista zao za usanidi, lakini dereva lazima atumie njia moja tu ya kufikia (ikiwezekana kupitia kumbukumbu).

Kichwa cha nafasi ya usanidi kinaelezea mahitaji ya aina tatu za anwani:

  • rejista katika Nafasi ya I/O);
  • Rejesta za I/O zilizowekwa kwenye kumbukumbu (Memory Mapped I/O). Hili ni eneo la kumbukumbu ambalo lazima lifikiwe kwa kufuata madhubuti na kile ambacho mwanzilishi wa ubadilishanaji anaomba. Kufikia rejista hizi kunaweza kubadilisha hali ya ndani ya vifaa vya pembeni;
  • kumbukumbu inayoruhusu kumbukumbu inayoweza kuletwa. Hili ni eneo la kumbukumbu ambapo usomaji wa "ziada" (na matokeo ambayo hayajatumiwa) hauleti athari mbaya, byte zote zinasomwa bila ishara za BE #, na maandishi ya baiti za kibinafsi yanaweza kuunganishwa pamoja (yaani, ni. kumbukumbu katika hali yake safi).

Mahitaji ya anwani yanaonyeshwa katika rejista za anwani za msingi - BAR (Daftari ya Anwani ya Msingi). Mpango wa usanidi pia unaweza kuamua ukubwa wa maeneo yanayohitajika. Ili kufanya hivyo, baada ya kuweka upya vifaa, lazima isome na kuhifadhi maadili ya anwani za msingi (hizi zitakuwa anwani chaguo-msingi), andika FFFFFFFh kwa kila rejista na usome thamani yao tena. Katika maneno yaliyopokelewa, unahitaji kuweka upya aina ya biti za kusimbua (bits kwa kumbukumbu na bits kwa I/O), geuza na kuongeza neno linalotokana na 32-bit - matokeo yatakuwa urefu wa eneo (puuza bits za bandari). ) Njia hiyo inadhania kuwa urefu wa eneo unaonyeshwa kama 2n na eneo limepangwa kawaida. Kichwa cha kawaida kinachukua hadi rejista 6 za anwani za msingi, lakini wakati wa kutumia anwani ya 64-bit, idadi ya vitalu vilivyoelezwa imepunguzwa. Rejesta za BAR ambazo hazijatumika zinapaswa kurudisha sufuri kila wakati zinaposomwa.

PCI ina uwezo wa kutumia vifaa vilivyopitwa na wakati (VGA, IDE), ambavyo vinajitangaza hivyo kwa msimbo wa darasa kwenye kichwa. Anwani zao za kitamaduni (zisizohamishika) za mlango hazitangazwi katika nafasi ya usanidi, lakini biti ya ufikiaji wa mlango inapowekwa, vifaa vinaruhusiwa kujibu anwani hizo pia.