Bir kartta pci nedir. PCI, PCI Express veriyolları ve şüphesiz başarıları. Hangi cihazlar kurulabilir

  • 06.04.2019

Üniversite YouTube'u

  • 1 / 5

    Birkaç aygıtın paralel bağlanmasıyla veri aktarımı için ortak bir veri yolu kullanan PCI standardının aksine, PCI Express, Genel dava, bir yıldız topoloji paket ağıdır.

    PCI Express aygıtları, anahtara noktadan noktaya bağlantı yoluyla doğrudan bağlanan her aygıtla, bir anahtar ortamı aracılığıyla birbirleriyle iletişim kurar.

    Ek olarak, PCI Express veri yolu şunları destekler:

    • garantili bant genişliği (QoS);
    • enerji yönetimi;
    • iletilen verilerin bütünlüğünün kontrolü.

    PCI Express veri yolu yalnızca yerel veri yolu olarak kullanılmak üzere tasarlanmıştır. PCI Express yazılım modeli büyük ölçüde PCI'dan miras alındığından, mevcut sistemler ve denetleyiciler, yazılımı değiştirmeden yalnızca fiziksel katman değiştirilerek PCI Express veri yolunu kullanacak şekilde değiştirilebilir. PCI Express veri yolunun yüksek performansı, onu AGP veriyolları yerine kullanmayı ve hatta PCI ve PCI-X'i mümkün kılar. Fiili PCI Express, kişisel bilgisayarlarda bu veri yollarının yerini almıştır.

    Konnektörler

    • MiniCard (Mini PCIe), Mini PCI form faktörünün yerini almıştır. Açık Mini konektör Kart veri yolları: x1 ​​PCIe, USB 2.0 ve SMBus.
    • ExpressCard, PCMCIA form faktörüne benzer. ExpressCard yuvasında x1 PCIe ve USB 2.0 veri yolları bulunur, ExpressCard'lar çalışırken takmayı destekler.
    • AdvancedTCA, telekomünikasyon ekipmanı için bir form faktörüdür.
    • Mobil PCI Express Modülü (MXM), NVIDIA tarafından dizüstü bilgisayarlar için tasarlanmış endüstriyel bir form faktörüdür. Grafik hızlandırıcıları bağlamak için kullanılır.
    • PCI Express kablo özellikleri, bir bağlantının uzunluğunu onlarca metreye çıkarmayı mümkün kılar, bu da çevre birimleri önemli ölçüde uzakta olan bir bilgisayar oluşturmayı mümkün kılar.
    • StackPC, istiflenebilir bilgisayar sistemleri oluşturmak için bir özelliktir. Bu spesifikasyon, StackPC, FPE genişletme konektörlerini ve bunların karşılıklı düzenlemesini açıklar.

    PCI Ekspres X1

    Mini PCI-E

    Mini PCI Express, taşınabilir aygıtlar için bir PCI Express veri yolu biçimidir.

    Bu konektör standardı için birçok çevre birimi mevcuttur:

    SSD Mini PCI Ekspres

    • 3.3V güç kaynağı

    Hızlı kart

    Şu anda (Kasım 2010) ExpressCard yuvaları aşağıdakileri bağlamak için kullanılmaktadır:

    • SSD sürücüler
    • ekran kartları
    • 1394 / FireWire denetleyicileri (iLINK)
    • Yerleştirme istasyonları
    • Ölçüm aletleri
    • Hafıza
    • Hafıza kartı adaptörleri (CF, MS, SD, xD, vb.)
    • fareler
    • Ağ bağdaştırıcıları
    • paralel bağlantı noktaları
    • PC Kartı / PCMCIA Adaptörleri
    • PCI uzantıları
    • PCI Express uzantıları
    • Uzaktan kumanda
    • SATA denetleyicileri
    • Seri bağlantı girişleri
    • Akıllı Kart Adaptörleri
    • TV alıcıları
    • USB denetleyicileri
    • Kablosuz ağ bağdaştırıcıları Wifi
    • Kablosuz geniş bant internet adaptörleri (3G, CDMA, EVDO, GPRS, UMTS, vb.)
    • Ev multimedya ve profesyonel ses arayüzleri için ses kartları.

    Protokol Açıklaması

    Bağlanmak PCI cihazları Express, şerit adı verilen noktadan noktaya çift yönlü bir seri bağlantı kullanır; bu, tüm aygıtların ortak bir 32 bit paralel çift yönlü veriyoluna bağlı olduğu PCI'nin tam tersidir.

    rekabet protokolleri

    PCI Express'e ek olarak, birkaçını saymak gerekirse, bir dizi yüksek hızlı, standartlaştırılmış seri arabirim vardır: HyperTransport, InfiniBand, RapidIO ve StarFabric. Her arayüzün endüstriyel şirketler arasında destekçileri vardır, çünkü protokol spesifikasyonlarının geliştirilmesine önemli miktarda para harcanmıştır ve her bir konsorsiyum kendi arayüzünün diğerlerine göre avantajlarını vurgulamaya çalışmaktadır.

    Standartlaştırılmış yüksek hızlı bir arabirim, bir yandan esnek ve genişletilebilir olmalı, diğer yandan da şunları sağlamalıdır: düşük zaman gecikmeler ve düşük genel gider maliyetleri (yani, paket ek yükünün payı büyük olmamalıdır). Temel olarak, arayüzler arasındaki farklar, tam olarak bu iki çelişen gereklilik arasında belirli bir arayüzün geliştiricileri tarafından seçilen takasta yatmaktadır.

    Örneğin, paketteki ek yük yönlendirme bilgileri, karmaşık ve esnek paket yönlendirmesini düzenlemenize izin verir, ancak paket işlemenin ek yükünü artırır, ayrıca arabirimin bant genişliğini azaltır, karmaşıklaştırır yazılım arayüze bağlı cihazları başlatan ve yapılandıran. Cihazların çalışırken takıldığından emin olmanız gerekiyorsa, ağ topolojisindeki değişiklikleri takip edecek özel bir yazılıma ihtiyacınız vardır. Bunun için uyarlanmış arabirim örnekleri RapidIO, InfiniBand ve StarFabric'tir.

    Aynı zamanda paketleri kısaltarak, bellek arayüzü için önemli bir gereklilik olan veri iletimindeki gecikmeyi azaltmak mümkündür. Ancak paketlerin küçük boyutu, paketin hizmet alanlarının payının artmasına neden olur ve bu da arayüzün etkin bant genişliğini azaltır. Bu tür arabirime bir örnek HyperTransport'tur.

    PCI Express'in konumu, açıklanan yaklaşımlar arasındadır, çünkü PCI Express veri yolu, bir işlemci-bellek veri yolu veya karmaşık bir yönlendirilmiş ağ yerine yerel bir veri yolu olarak hareket etmek üzere tasarlanmıştır. Ek olarak, PCI Express orijinal olarak PCI veri yolu ile mantıksal olarak uyumlu bir veri yolu olarak tasarlanmıştı ve bu da sınırlamalarını da beraberinde getirdi.

    PCI Express (PCI-E) veriyolu hakkında konuştuğumuzda, belki de onu diğer benzer çözümlerden ayıran ilk şey verimliliktir. Bu modern veri yolu sayesinde bilgisayarın performansı artırılır, grafiklerin kalitesi iyileştirilir.

    Uzun yıllar boyunca, bir video kartını bir ana karta bağlamak için PCI (Peripheral Component Interconnect) veri yolu kullanıldı, buna ek olarak, örneğin bir ağ ve bir ses kartı gibi diğer bazı cihazları bağlamak için de kullanıldı.

    Bu slotlar şöyle görünür:

    PCI-Express, geliştirilmiş işlevsellik ve performans sunan PCI veri yolunun yeni nesli haline geldi. Her biri ilgili cihaza giden birkaç hattın bulunduğu bir seri bağlantı kullanır, yani. her çevre birimi, bilgisayarın genel performansını artıran kendi hattını alır.

    PCI-Express, çalışırken takmayı destekler, öncekilerden daha az güç tüketir ve iletilen verilerin bütünlüğünü kontrol eder. Ayrıca, PCI veri yolu sürücüleri ile uyumludur. Bu veri yolunun bir diğer dikkat çekici özelliği, ölçeklenebilirliğidir, yani. Pci ekspres kart, eşit veya daha büyük bant genişliğine sahip herhangi bir yuvaya takılır ve çalışır. Her durumda, bu işlev önümüzdeki yıllarda kullanılmasını sağlayacaktır.

    geleneksel tip PCI yuvası temel ses / video işlevleri için yeterince iyiydi. İLE BİRLİKTE AGP otobüsü, multimedya verileriyle çalışma şeması gelişti ve buna göre ses / video verilerinin kalitesi arttı. İşlemcilerin mikro mimarisindeki ilerlemeler, PCI veri yolunun yavaşlığını daha da net bir şekilde göstermeye başlamadan çok uzun sürmedi, bu da o zamanlar en hızlı ve en yeni bilgisayar modellerini kelimenin tam anlamıyla zorlukla sürüklemeye zorladı.

    PCI-E özellikleri ve bant genişliği

    Bir çift yönlü bağlantı hattı x1'den x32'ye (32 hat) kadar olabilir. Hat, noktadan noktaya esasına göre çalışır. Modern sürümler, öncekilerden çok daha fazla bant genişliği sağlar. x16 bir video kartını bağlamak için kullanılabilir ve x1 ve x2 normal kartları bağlamak için kullanılabilir.

    Yuva x1 ve pci express x16 şu şekilde görünür:

    PCI-E
    Satır sayısı x1 x2 x4 x8 x16 x32
    Bant genişliği 500 Mb/sn 1000 MB/sn 2000 Mb/sn 4000 MB/sn 8000 MB/sn 16000 Mb/sn

    PCI-E Sürümleri ve Uyumluluk

    Bilgisayarlar söz konusu olduğunda, sürümlerden herhangi bir söz, uyumluluk sorunlarıyla ilişkilidir. Ve diğer tüm modern teknolojiler gibi, PCI-E de sürekli gelişiyor ve modernleşiyor. Mevcut son seçenek pci express 3.0'dır, ancak PCI-E veri yolu sürüm 4.0'ın geliştirilmesi halihazırda devam etmektedir., 2015 civarında görünmesi gerekir (pci express 2.0 neredeyse eskidir).
    Aşağıdaki PCI-E uyumluluk tablosuna bir göz atın.
    PCI-E Sürümleri 3.0 2.0 1.1
    Toplam bant genişliği
    (X16) 32 Gb/sn 16 Gb/sn 8 Gb/sn
    Veri hızı 8.0 GT / s 5.0 GT / s 2.5 GT / s

    PCI-E sürümünün kartın işlevselliği üzerinde hiçbir etkisi yoktur. Çoğu damga Bu arabirim ileri ve geri uyumludur, bu da onu güvenli hale getirir ve arabirim sürümünden bağımsız olarak birçok kart seçeneğiyle eşitlenebilir. yani, girebilirsin PCI-E yuvasıİlk versiyonun xpress'i, ikinci veya üçüncü versiyonun kartını takın ve bir miktar performans kaybıyla da olsa çalışacaktır. Aynı şekilde, üçüncü sürümün PCI-E yuvasına birinci PCI-Express sürümünün bir kartını takabilirsiniz. Şu anda, NVIDIA ve AMD'nin tüm modern video kartı modelleri bu veri yolu ile uyumludur.

    Ve bu bir atıştırma için:

    NVMe protokolünü destekleyen bir katı hal sürücüsü için hangi arabirimin kullanılması gerektiğini sorarsanız, herkes (genellikle NVMe'nin ne olduğunu bilen) yanıtlayacaktır: elbette PCIe 3.0 x4! Doğru, büyük olasılıkla gerekçelendirme konusunda zorluk çekecek. En iyi durumda, bu tür sürücülerin PCIe 3.0 x4'ü desteklediği ve arabirimin bant genişliğinin önemli olduğu yanıtını alıyoruz. Bir şey var, ancak bununla ilgili tüm konuşmalar, yalnızca "normal" SATA çerçevesinde bazı işlemler için bazı sürücüler sıkışık hale geldiğinde başladı. Ancak 600 MB / s ve (aynı teorik olarak) 4 GB / s PCIe 3.0 x4 arayüzü arasında - sadece bir uçurum var ve birçok seçenekle dolu! Halihazırda SATA600'den bir buçuk kat daha fazla olduğu için bir PCIe 3.0 şeridi yeterliyse ne olur? Bütçe ürünlerinde PCIe 3.0 x2'ye geçmekle tehdit eden denetleyici üreticileri, bunun yanı sıra pek çok kullanıcıda filan ve benzerinin olmaması da yangını körüklüyor. Daha doğrusu teorik olarak var, ancak bunları yalnızca sistemi yeniden yapılandırarak veya hatta yapmak istemediğiniz bir şeyi değiştirerek serbest bırakabilirsiniz. Ancak üst düzey bir katı hal sürücüsü satın almak istiyorum, ancak hiçbir faydası olmayacağına dair korkular var (test araçlarının sonuçlarından ahlaki memnuniyet bile).

    Ama öyle mi, değil mi? Başka bir deyişle, yalnızca desteklenen çalışma moduna odaklanmak gerçekten gerekli mi - yoksa pratikte hala mümkün mü? fedakarlık ilkeleri? Bugün kontrol etmeye karar verdiğimiz şey buydu. Kontrol hızlı olsun ve ayrıntılı olduğunu iddia etmesin, ancak alınan bilgiler (bize göründüğü gibi) en azından düşünmek için yeterli olmalıdır ... Ama şimdilik teori ile kısaca tanışalım.

    PCI Express: Mevcut Standartlar ve Bant Genişliği

    PCIe'nin ne olduğu ve ne kadar hızlı çalıştığıyla başlayalım. Genellikle ideolojik olarak yanlış olan bir "veri yolu" olarak adlandırılır: bu nedenle, tüm cihazların bağlı olduğu bir veri yolu yoktur. Aslında, ortada bir kontrolör ve bağlı cihazlar (her biri bir sonraki seviye hub olabilir) ile bir dizi noktadan noktaya bağlantı (diğer birçok seri arabirime benzer) vardır.

    PCI Express'in ilk sürümü neredeyse 15 yıl önce ortaya çıktı. Bir bilgisayar içinde (genellikle aynı kart içinde) kullanım için yönlendirme, standart yüksek hızın (saniyede 2,5 gigatransactions) yapılmasını mümkün kıldı. Arayüz seri ve çift yönlü olduğundan, tek bir PCIe hattı (x1; etkin bir atomik birim) 5 Gbps'ye kadar hızlarda veri aktarabilir. Ancak, her yönde - bunun sadece yarısı, yani 2,5 Gbit / s ve bu son sürat"faydalı" yerine arabirim: güvenilirliği artırmak için her bayt 10 bit ile kodlanmıştır, bu nedenle bir PCIe 1.x hattının teorik bant genişliği her yönde yaklaşık 250 MB/sn'dir. Uygulamada, hizmet bilgilerinin aktarılması da gereklidir ve sonuç olarak, ≈200 MB / s kullanıcı veri aktarımı hakkında konuşmak daha doğrudur. Bununla birlikte, o zamanlar yalnızca çoğu cihazın ihtiyaçlarını karşılamakla kalmadı, aynı zamanda sağlam bir tedarik sağladı: sadece PCIe'nin öncülünün kitlesel pazar segmentinde olduğunu unutmayın. sistem arayüzleri, yani PCI veri yolu, 133 MB / s'lik bir bant genişliği sağladı. Ve sadece toplu uygulamayı değil, aynı zamanda tüm PCI varyantlarını da dikkate alsak bile, maksimum 533 MB / s idi ve tüm veri yolu için, yani böyle bir PS, kendisine bağlı tüm cihazlara bölündü. Burada, hat başına 250 MB / s (PCI için tam ve kullanışlı olmadığından, bant genişliği genellikle verilir) özel kullanımdadır. Ve daha fazlasına ihtiyaç duyan cihazlar için, başlangıçta birkaç satırı tek bir arayüzde, iki güçte - 2'den 32'ye kadar birleştirmek mümkündü, yani standart tarafından sağlanan x32 seçeneği, her birinde 8 GB / s'ye kadar aktarım yapabilir. yön. Kişisel bilgisayarlarda, ilgili denetleyicileri ve cihazları oluşturmanın ve üretmenin karmaşıklığı nedeniyle x32 kullanılmadı, bu nedenle 16 hat seçeneği maksimum oldu. Çoğu cihaz çok fazla ihtiyaç duymadığından, çoğunlukla video kartları tarafından kullanıldı (ve hala kullanılıyor). Genel olarak, önemli sayıda ve bir satır yeterlidir, ancak bazıları hem x4 hem de x8'i başarıyla kullanır: sadece depolama konusunda - RAID denetleyicileri veya SSD'ler.

    Zaman durmadı ve yaklaşık 10 yıl önce PCIe'nin ikinci versiyonu ortaya çıktı. Sadece hızlarla ilgili iyileştirmeler değil, aynı zamanda bu konuda bir adım daha atıldı - arayüz, aynı kodlama şemasını korurken saniyede 5 gigatransaction sağlamaya başladı, yani verim iki katına çıktı. Ve 2010'da bir kez daha ikiye katlandı: PCIe 3.0, saniyede 8 (10 değil) gigatransaction sağlıyor, ancak artıklık azaldı - artık 128 bit kodlamak için eskisi gibi 160 değil 130 bit kullanılıyor. Prensip olarak, bir sonraki iki katına çıkan hıza sahip PCIe 4.0 sürümü kağıt üzerinde görünmeye hazır, ancak yakın gelecekte donanımda büyük miktarlarda görmeyeceğiz. Aslında PCIe 3.0, birçok platformda hala PCIe 2.0 ile birlikte kullanılmaktadır, çünkü ikincisinin performansı basitçe ... birçok uygulama için gerekli değildir. Ve gerektiğinde - eski güzel satır toplama yöntemi işe yarar. Yalnızca her biri son yıllarda dört kat daha hızlı hale geldi, yani PCIe 3.0 x4, 2000'lerin ortalarında bilgisayarlardaki en hızlı yuva olan PCIe 1.0 x16'dır. Bu seçenek üst tarafından desteklenir SSD denetleyicileri ve kullanılması tavsiye edilir. Böyle bir imkan varsa bunun yeterli olmadığı açıktır. Ve orada değilse? Herhangi bir sorun olacak mı ve varsa bunlar nelerdir? Bunu bu soruyla çözmemiz gerekiyor.

    test tekniği

    ile testleri çalıştırın farklı versiyonlar PCIe standardı zor değil: hemen hemen tüm denetleyiciler, yalnızca kendileri tarafından desteklenenleri değil, aynı zamanda önceki tüm denetleyicileri de kullanmaya izin verir. Şerit sayısıyla daha zor: varyantları bir veya iki PCIe hattıyla doğrudan test etmek istedik. Genellikle kullandığımız anakart, üzerinde Asus H97-Pro Gamer'dır. Intel yonga seti H97 tam seti desteklemiyor, ancak "işlemci" x16 yuvasının (genellikle kullanılan) yanı sıra, PCIe 2.0 x2 veya x4 modlarında çalışan bir tane daha var. Bir fark olup olmadığını değerlendirmek için bu üçlüden faydalanarak PCIe 2.0 işlemci slot modunu ekledik. Yine de, bu durumda, işlemci ve SSD arasında üçüncü taraf "aracılar" yoktur, ancak bir "yonga seti" yuvası ile çalışırken - vardır: aslında aynı PCIe 2.0 x4 işlemciye bağlı olan gerçek yonga seti . Birkaç çalışma modu daha eklemek mümkündü, ancak çalışmanın ana kısmı yine farklı bir sistem üzerinde gerçekleştirilecekti.

    Gerçek şu ki, bu fırsatı değerlendirmeye ve aynı zamanda bir "şehir efsanesini", yani sürücüleri test etmek için en üst düzey işlemcileri kullanmanın faydasına olan inancı kontrol etmeye karar verdik. Bu yüzden, genellikle testlerde kullanılan Core i3-4170'in bir akrabası olan (bunlar Haswell ve Haswell-E'dir), ancak dört kat daha fazla çekirdeğe sahip olan sekiz çekirdekli Core i7-5960X'i aldık. Ek olarak, kutularda bulunan Asus Sabertooth X99 anakart, aslında x1 veya x2 olarak çalışabilen bir PCIe x4 yuvasının varlığı ile bugün bizim için kullanışlıdır. Bu sistemde, işlemci ve yonga seti PCIe 1.0 x1, PCIe 1.0 x2, PCIe 2.0 x1 ve PCIe 2.0 x2'den üç x4 seçeneğini (PCIe 1.0 / 2.0 / 3.0) test ettik (her durumda, yonga seti yapılandırmaları şemalarda ile işaretlenmiştir). (C)). Bir NVMe cihazından önyükleme yapabilen, standardın yalnızca bu sürümünü destekleyen tek bir anakartın neredeyse hiç olmadığı düşünüldüğünde, şimdi PCIe'nin ilk sürümüne dönmek mantıklı mı? Pratik bir bakış açısından, hayır, ancak PCIe 1.1 x4 = PCIe 2.0 x2 ve benzerlerinin beklenen oranını önceden kontrol etmek bizim için faydalı olacaktır. Kontrol, veri yolunun ölçeklenebilirliğinin teoriye karşılık geldiğini gösteriyorsa, bu, PCIe 3.0 x1 / x2'yi bağlamanın pratik olarak önemli yollarını henüz elde edememiş olmamızın önemli olmadığı anlamına gelir: ilki PCIe 1.1 x4 ile aynı olacaktır. veya PCIe 2.0 x2 ve ikincisi - PCIe 2.0 x4 ... Ve biz onlara sahibiz.

    Yazılım açısından, kendimizi Anvil's Storage Utilities 1.1.0 ile sınırladık: sürücülerin çeşitli düşük seviyeli özelliklerini iyi ölçüyor, ancak başka bir şeye ihtiyacımız yok. Aksine: sistemin diğer bileşenlerinin herhangi bir etkisi son derece istenmeyen bir durumdur, bu nedenle amaçlarımız için düşük seviyeli sentetiklerin alternatifi yoktur.

    "Çalışma ortamı" olarak 240 GB'lık bir Patriot Hellfire kullandık. Test sırasında bulunduğu gibi, performans için bir rekor değil, ancak hız özellikleri, aynı sınıf ve aynı kapasitedeki en iyi SSD'lerin sonuçlarıyla oldukça tutarlı. Ve piyasada zaten daha yavaş cihazlar var ve bunların sayısı giderek artacak. Prensip olarak, testleri daha hızlı bir şeyle tekrarlamak mümkün olacak, ancak bize göründüğü gibi buna gerek yok - sonuçlar tahmin edilebilir. Ama hadi kendimizin önüne geçmeyelim, bakalım neler yapmışız.

    Test sonuçları

    Hellfire'ı test ederken, maksimum hızın sıralı işlemler bundan yalnızca çok iş parçacıklı bir yük ile "sıkabilirsiniz", bu nedenle gelecek için bunun da dikkate alınması gerekir: teorik verim teoriktir, böylece farklı programlarda farklı senaryolarda elde edilen "gerçek" veriler artık olmayacak buna bağlı ve aynı programlardan ve senaryolardan - bu durumda, elbette, mücbir sebepler müdahale etmediğinde :) Şimdi tam olarak bu tür durumları gözlemliyoruz: yukarıda PCIe 1.x x1'in ≈ olduğu zaten söylendi. 200 MB / s ve gördüğümüz şey bu. İki PCIe 1.x hattı veya bir PCIe 2.0, iki kat daha hızlıdır ve gördüğümüz tam olarak budur. Dört PCIe 1.x hattı, iki PCIe 2.0 veya bir PCIe 3.0, ilk iki seçenek için onaylanan iki kat daha hızlıdır, bu nedenle üçüncünün farklı olması olası değildir. Yani prensipte, beklendiği gibi ölçeklenebilirlik idealdir: işlemler doğrusaldır, Flash bunları iyi işler, bu nedenle arayüz önemlidir. Flaş durur iyi başa çıkmak kayıt için PCIe 2.0 x4'e (bu, PCIe 3.0 x2'nin de işe yarayacağı anlamına gelir). "Mayıs" okumak daha fazladır, ancak son adım zaten bir buçuk verir ve iki kat (potansiyel olarak olması gerektiği gibi) kazanç sağlamaz. Ayrıca yonga seti ile işlemci denetleyicisi arasında gözle görülür bir fark olmadığını, platformlar arasında da fark olmadığını belirtelim. Bununla birlikte, LGA2011-3 biraz ileride, ancak sadece birazcık.

    Her şey pürüzsüz ve güzel. Fakat şablonlar yırtılmaz: bu testlerdeki maksimum değer 500 MB / s'den sadece biraz fazladır ve bu SATA600 veya (uygulamada bugünün testinde) bile oldukça yeteneklidir PCIe 1.0 x4 / PCIe 2.0 x2 / PCIe 3.0x1... Bu doğru: PCIe x2 için bütçe denetleyicilerinin piyasaya sürülmesinden veya daha fazlasına ihtiyaç duyulmadığında bazı anakartlarda M.2 yuvalarında yalnızca bu kadar çok sayıda satırın (ve 2.0 standardının sürümünün) bulunmasından korkmayın. . Bazen bu kadarına bile ihtiyaç duyulmaz: maksimum sonuçlar, toplu yazılımlar için tipik olmayan 16 takımlık bir sıra ile elde edildi. 1-4 komutlu sıra daha yaygındır ve bunun için ilk PCIe'nin bir satırı ve hatta ilk SATA ile yapabilirsiniz. Ancak, genel giderler vb. vardır, bu nedenle hızlı arayüz kullanışlıdır. Ancak, çok hızlı belki de zararlı değildir.

    Ve bu testte, platformlar farklı ve tek bir komut kuyruğu ile temelde farklı davranırlar. "Sorun", pek çok çekirdeğin kötü olması değil. Burada hala bir şey dışında kullanılmıyorlar ve o kadar fazla değil ki, güçlendirme modu kudret ve ana ile ortaya çıktı. Yani çekirdek frekansında yaklaşık %20 ve önbellekte bir buçuk kat farkımız var - Haswell-E'de çekirdeklerle senkronize değil, daha düşük bir frekansta çalışıyor. Genel olarak, en üst platform yalnızca, büyük bir komut kuyruğu derinliğine sahip maksimum çoklu iş parçacıklı mod aracılığıyla maksimum "yops" u devre dışı bırakmak için yararlı olabilir. Tek üzücü, pratik çalışma açısından, bunun bir boşlukta kesinlikle küresel sentetik olmasıdır :)

    Kayıtlara göre, işlerin durumu temelde değişmedi - her anlamda. Ancak komik olan, her iki sistemde de en hızlısı "işlemci" yuvasındaki PCIe 2.0 x4 moduydu. Her ikisinde de! Ve birden fazla kontrol / yeniden kontrol ile. Bu noktada kaçınılmaz olarak ihtiyacınız olup olmadığını düşüneceksiniz. bunlar senin yeni standartların yoksa hiçbir yere acele etmemek daha mı iyi ...

    Bloklarla çalışırken farklı boyutlar teorik idil, arayüzün hızını arttırmanın hala mantıklı olduğu gerçeğini bozuyor. Ortaya çıkan rakamlar, bir çift PCIe 2.0 hattının yeterli olacağı şekildedir, ancak gerçekte, bu durumda, performans birkaç kez olmasa da PCIe 3.0 x4'ün performansından daha düşüktür. Ve genel olarak, en üst düzey platform burada çok daha fazla "puan alıyor". Ancak sadece bu tür işlemler esas olarak uygulama yazılımında bulunur, yani bu diyagram gerçeğe en yakın olanıdır. Sonuç olarak, kalın arayüzlerin ve modaya uygun protokollerin herhangi bir "vay etkisi" vermemesi şaşırtıcı değildir. Daha doğrusu, mekanikten geçenlere verilecek, ancak herhangi bir arabirime sahip herhangi bir katı hal sürücüsü ile tamamen aynı olacaktır.

    Toplam

    Hastanenin resminin bir bütün olarak algılanmasını kolaylaştırmak için, standardizasyonunu "yonga seti" PCIe 2.0 x4 moduna göre gerçekleştirerek program tarafından verilen puanı (toplam - okuma ve yazma için) kullandık: şu an Ekran kartını "rahatsız etmeye" gerek kalmadan LGA1155 veya AMD platformlarında bile bulunduğundan, en yaygın olarak bulunan kişidir. Ayrıca, bütçe denetleyicilerinin ustalaşmaya hazırlandığı PCIe 3.0 x2'ye eşdeğerdir. evet ve üzerinde yeni platform AMD AM4, yine, ayrı ekran kartını etkilemeden elde edilebilecek bu moddur.

    Peki ne görüyoruz? Mümkünse PCIe 3.0 x4 kullanımı kesinlikle tercih edilir, ancak gerekli değildir: NVMe orta sınıf sürücülere (başlangıçta üst uç segmentinde) tam anlamıyla %10 ek performans getirir. Ve o zaman bile - operasyonlar nedeniyle, genel olarak, pratikte çok yaygın değil. Bu durumda neden bu özel seçenek uygulanıyor? Birincisi, böyle bir fırsat vardı ve hissenin cebi yok. İkincisi, testimiz Patriot Hellfire'dan daha hızlı olan sürücüler var. Üçüncüsü, bir masaüstü sistemi için "atipik" olan yüklerin oldukça tipik olduğu faaliyet alanları vardır. Ayrıca, veri depolama sisteminin performansının en kritik olduğu yer ya da en azından bunun bir kısmını çok hızlı bir şekilde yapabilme yeteneğidir. Ama her zamanki gibi kişisel bilgisayarlar bunların hiçbiri geçerli değil.

    Gördüğümüz gibi, PCIe 2.0 x2 (veya buna göre PCIe 3.0 x1) kullanımı performansta dramatik bir düşüşe yol açmıyor - sadece %15-20. Ve bu, bu durumda kontrolörün potansiyel yeteneklerini dört kez sınırlamış olmamıza rağmen! Birçok işlem için bu bant genişliği yeterlidir. Bir PCIe 2.0 hattı artık yeterli değil, bu nedenle denetleyicilerin PCIe 3.0'ı desteklemesi mantıklı - ve modern bir sistemde ciddi bir şerit eksikliği karşısında bu iyi çalışacak. Ayrıca, x4 genişliği yararlıdır - destek olmasa bile modern versiyonlar Sistemde PCIe, az ya da çok geniş bir yuva varsa, normal hızda (potansiyel olarak olabileceğinden daha yavaş olsa da) çalışmaya izin verir.

    Temel olarak, çok sayıda gerçek flash belleğin darboğaz olduğu senaryolar (evet, bu mümkündür ve yalnızca mekanikte bulunmaz), bu sürücüdeki üçüncü PCIe sürümünün dört şeridinin ilkini yaklaşık 3,5 kat geçmesine yol açar - teorik bant genişliği bu iki durum arasındaki farkın 16 katıdır. Bundan, elbette, çok yavaş arayüzlerde ustalaşmak için acele etmeniz gerektiği sonucu çıkmaz - zamanları sonsuza kadar gitti. Sadece birçok olasılık hızlı arayüzler ancak gelecekte gerçekleştirilebilir. Veya hangi koşullarda normal kullanıcı sıradan bilgisayar Hayatımda asla doğrudan çarpışmayacağım (ölçmeyi sevenler hariç ne olduğu biliniyor). Aslında hepsi bu.

    Yanıcı olmayan kumaşların kullanıldığı yerler www.algo-textile.ru. Sivrisinek ağları için cibinlik aksesuarları 2-sklad.ru.

    PCI ve PCI-X

    PCI ve PCI-X veriyolları

    Tanıtım

    PCI ve PCI-X veriyolları, modern bilgisayarlarda ana G/Ç genişletme veriyollarıdır; video bağdaştırıcılarını bağlamak için bir AGP bağlantı noktası ile tamamlanırlar. Genişletme Veri Yolu, bağdaştırıcıların ve çevre birimi denetleyicilerinin bilgisayarın sistem kaynaklarını (bellek ve G/Ç adres alanı, kesintiler ve doğrudan bellek erişimi) doğrudan kullanmasına olanak tanıyan sistem düzeyinde bir bağlantıdır. Genişletme veri yollarına bağlı aygıtlar, bu veri yollarını kendileri yönetebilir ve bilgisayarın diğer kaynaklarına erişim sağlayabilir. Genişletme veriyolları, yuvalar (yarıklı konektörler) veya pimli konektörler olarak mekanik olarak uygulanır; küçük bir iletken uzunluğu ile karakterize edilirler, yani tamamen yereldirler, bu da elde etmeyi mümkün kılar. yüksek hızlarİş. Bu veri yolları, konektörlere çıkış olmayabilir, ancak cihazları entegre olarak bağlamak için kullanılır. anakartlar Ah.

    Başlangıçta, PCI veri yolu, bir ISA veri yolu olan sistemlere bir eklenti (ara veri yolu) olarak tanıtıldı. Pentium işlemciler için tasarlandı, ancak i486 işlemcilerle iyi çalıştı. Daha sonra PCI bir süre için merkezi veri yolu oldu: işlemci veri yoluna, anakart yonga setinin bir parçası olan yüksek performanslı bir köprü ("kuzey" köprüsü) ile bağlandı. G / Ç genişletme veri yollarının geri kalanı (ISA / EISA veya MCA) ve ayrıca anakart yongalarının bağlı olduğu yerel ISA benzeri X-BUS ve LPC arabirimi (ROM BIOS, kesme denetleyicileri, klavyeler, DMA, COM ve LPT bağlantı noktaları, disket sürücüleri vb. diğer "küçük şeyler"), "güney" köprüsü üzerinden PCI veriyoluna bağlanır. "Hub" mimarisine sahip modern anakartlarda, PCI veri yolu, işlemci ve bellek ile iletişim kanalının gücünü ihlal etmeden, aynı zamanda diğer veri yollarındaki cihazlardan gelen geçiş trafiğini yüklemeden çevreye taşındı.

    PCI veri yolu senkronizedir - tüm sinyaller CLK sinyalinin pozitif kenarına (kenarına) kilitlenir. Nominal saat frekansı 33,3 MHz olarak kabul edilir, gerekirse düşürülebilir. PCI 2.1'den başlayarak, veri yolundaki tüm cihazlar kabul ederse, frekansı 66,6 MHz'e yükseltmeye izin verilir. PCI-X'te frekans 133 MHz'e ulaşabilir.

    PCI, 32 bit paralel çoğullanmış adres/veri (AD) veriyolu kullanır. Spesifikasyon, bit derinliğini 64 bite kadar genişletme olasılığını tanımlar; PCI-X sürüm 2.0 ayrıca 16 bitlik bir veri yolu seçeneğini tanımlar. 33 MHz veri yolu frekansı ile teorik bant genişliği 32 bit veri yolu için 132 MB / s'ye ve 64 bit veri yolu için 264 MB / s'ye ulaşır; sırasıyla 66 MHz - 264 MB / s ve 528 MB / s senkronizasyon frekansında. Ancak, bu zirvelere yalnızca paket iletimi sırasında ulaşılır: protokol ek yükü nedeniyle, gerçek ortalama veri yolu bant genişliği daha düşüktür.

    PCI ve PCI-X veri yollarının ve PC uyumlu bilgisayarlar için diğer genişletme veri yollarının karşılaştırmalı özellikleri Tablo'da gösterilmektedir. 1.1. ISA veri yolu masaüstü bilgisayarlardan ayrılıyor, ancak hem geleneksel yuvada hem de "sandviç" PC / 104 versiyonunda endüstriyel ve gömülü bilgisayarlardaki konumunu koruyor. Dizüstü bilgisayarlar, PC Kartı ve Kart Veri Yolu ile PCMCIA yuvalarını yaygın olarak kullanır. LPC veri yolu, düşük kaynaklı cihazları ana karta bağlamanın modern, düşük maliyetli bir yoludur.

    Yorulmak En yüksek verim MB / s DMA kanalları Bus-Master ACFG Bit veri derinliği Adres genişliği Frekans 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 Ekspres
    496-15872
    -
    +
    +
    1/2/4/8/12/16/32
    32/64
    2.5 GHz
    AGP 1x / 2x / 4x / 8x
    266/533/1066/2132
    -
    +
    +
    32
    32/64
    66
    PCMCIA
    10/22
    +
    -
    +
    8/16
    26
    10
    Kart Otobüsü 132 - + + 32 32 33

    ACFG1-Otomatik yapılandırma desteği. ISA için PnP, adaptörler ve yazılımlar tarafından uygulanan geç bir eklentidir.

    PCI ve PCI-X veri yolu sinyal protokolü

    PCI ve PCI-X veri yolu aracılığıyla bilgi alışverişi, işlemler şeklinde düzenlenir - mantıksal olarak tamamlanmış değişim işlemleri. Tipik bir işlem iki cihazı içerir - aynı zamanda ana cihaz (master) olan değişim başlatıcısı (başlatıcı) ve aynı zamanda bağımlı olan hedef cihaz (CO, hedef). Bu cihazların etkileşimi için kurallar, PCI veri yolu protokolü tarafından belirlenir. Cihaz, katılımcı olmadan (herhangi bir sinyal girmeden) otobüs üzerindeki işlemleri izleyebilir; gözetleme terimi, gözetleme moduna karşılık gelir. Başlatıcı protokolünün hiçbir cihazla etkileşime girmediği özel bir işlem türü (Özel Döngü) - yayın vardır. Her işlemde bir komut yürütülür - kural olarak, veri okuma veya yazma belirtilen adres... İşlem, başlatıcının komutu ve hedef adresi belirttiği adres aşamasıyla başlar. Ayrıca, bir cihazın (veri kaynağının) veri yoluna veri koyduğu ve diğerinin (sink) okuduğu veri aşamaları takip edebilir. Birden çok veri aşamasına sahip işlemlere toplu işlemler denir. Tekli işlemler de vardır (bir veri aşaması ile). Hedef cihaz (veya başlatıcı) değişime hazır değilse, bir işlem veri aşamaları olmadan tamamlanabilir. PCI-X veriyoluna, bir işlem hakkında ek bilgilerin iletildiği bir öznitelik aşaması eklendi.

    PCI ve PCI-X veri yolu sinyal protokolü

    Veri yolu arabirim sinyallerinin bileşimi ve amacı aşağıdaki tabloda açıklanmıştır. Tüm sinyal hatlarının durumları, CLK'nın pozitif eğimi tarafından algılanır ve daha sonraki açıklamada veri yolu döngüleri olarak kastedilen bu anlar (şekillerde, bunlar dikey olarak işaretlenmiştir). noktalı çizgiler). Farklı zamanlarda, aynı sinyal hatları tarafından kontrol edilir. farklı cihazlar veri yolu ve doğru (çatışmasız) "yetki devri", hiçbir cihazın hattı kontrol etmediği bir sürenin olmasını gerektirir. Zaman çizelgelerinde, bu olay - sözde "dönüş" - bir çift yarım daire okla gösterilir.

    Tablo. PCI veri yolu sinyalleri

    sinyal
    Randevu
    AD Adres / Veri - çoğullanmış adres / veri yolu. İşlemin başlangıcında adres, sonraki saat döngülerinde iletilir - veri
    C / B# Komut / Bayt Etkinleştir - baytlara erişimi komut / etkinleştirin. Bir sonraki veri yolu döngüsünün türünü tanımlayan komut, adres aşamasında dört bitlik bir kodla belirlenir.
    ÇERÇEVE #
    Çerçeve. Bir sinyalin girişi, işlemin başlangıcını işaretler (adres aşaması), sinyalin kaldırılması, sonraki veri aktarım döngüsünün işlemdeki sonuncusu olduğunu gösterir.
    DEVSEL #
    Cihaz Seçimi - cihaz seçilir (kontrol merkezinin kendisine gönderilen işleme yanıtı)
    IRDY #
    Başlatıcı Hazır - master'ın veri alışverişine hazır olması
    TRDY #
    Hedefe Hazır - veri alışverişi için kontrol merkezinin hazır olması
    DUR #
    Mevcut işlemi durdurmak için master'a MC talebi
    KİLİT #
    Tam çalışmayı sağlamak için veri yolu kilidi (kilit) sinyali. Tek bir işlemi tamamlamak için birden çok PCI işlemi gerektiren bir köprü tarafından kullanılır
    İSTEK #
    Talep - kaptandan otobüsü ele geçirme talebi
    GNT #
    Grant - Bus kontrolünün master'a verilmesi
    PAR
    Parite - AD ve C / BE satırları için ortak eşlik biti #
    PERR #
    Parite Hatası - parite hatasıyla ilgili bir sinyal (özel olanlar hariç tüm döngüler için). Bir hata algılayan herhangi bir cihaz tarafından oluşturulur
    PME #
    Güç Yönetimi Olayı - tüketim modunda bir değişikliğe neden olan olaylar hakkında bir sinyal (PCI 2.2'de sunulan ek sinyal)
    CLKRUN #
    Saat çalışıyor - veri yolu nominal saat frekansında çalışıyor. Sinyali kaldırmak, tüketimi azaltmak için senkronizasyonu yavaşlatmak veya durdurmak anlamına gelir (mobil uygulamalar için)
    PRSN #
    Mevcut - güç tüketimi talebini kodlayan pano varlığının göstergeleri. Genişletme kartında, ana kart tarafından algılanan GND veri yoluna bir veya iki gösterge hattı bağlanır.
    RST #
    Sıfırla - tüm kayıtları ilk durumlarına sıfırlayın ("Sıfırla" düğmesini kullanarak
    ve yeniden başlatıldığında)
    IDSEL
    Başlatma Cihaz Seçimi - konfigürasyon okuma ve yazma döngülerinde cihaz seçimi; bu döngüler, bu hattaki yüksek sinyal seviyesini algılayan bir cihaz tarafından yanıtlanır.
    SERR #
    Sistem Hatası - sistem hatası. Özel bir döngüde bir adres veya veri eşlik hatası veya aygıt tarafından algılanan başka bir yıkıcı hata. Herhangi bir PCI cihazı tarafından etkinleştirilir ve NMI'yi çağırır
    REQ64 #
    64 bit iste - 64 bit değişim talebi. Sinyal, bir 64-bit başlatıcı tarafından verilir, zaman içinde ÇERÇEVE # sinyaliyle çakışır. Reset bitiminde (RST # sinyali ile) 64 bit cihaza 64 bit veriyoluna bağlı olduğunu bildirir. 64 bit cihaz bu sinyali algılayamazsa, yüksek baytlı arabellekleri devre dışı bırakarak 32 bit moduna yeniden yapılandırılmalıdır.
    ACK64 #
    64 bit alışverişin onayı. Sinyal, adresini tanıyan 64 bitlik bir MC tarafından DEVSEL # ile eş zamanlı olarak girilir. Bu onayın olmaması, başlatıcıyı 32 bit ile değişimi gerçekleştirmeye zorlayacaktır.
    INTA #, INTB #, INTC #, INTD #
    Kesinti A, B, C, D - kesme talep hatları, seviye hassasiyeti, aktif seviye - düşük, hatların ayrılabilirliğini (paylaşımını) sağlar
    CLK
    Saat - otobüsün saat frekansı. 20-33 MHz aralığında olmalı, PCI 2.1'den başlayarak 66 MHz'e kadar, PCI-X'te 100 ve 133 MHz'e kadar olabilir
    M66TR
    66MHz Etkinleştir - 66 MHz'e kadar saat frekansının çözünürlüğü (33 MHz kartlarda topraklanır, 66 MHz'de ücretsizdir)
    PCIXCAP (38B)

    PCI-X yetenekleri: açık PCI kartları- topraklanmış, PCI-X133'te toprağa 0,01 μF kapasitör, PCI-X66'da - 10 kOhm, 0,01 μF paralel RC devresi ile bağlanır.

    SDONE
    Snoop Done - mevcut işlem için snoop döngüsünün tamamlandığının sinyalini verir. Düşük seviye, tamamlanmamış bir bellek önbelleği izleme döngüsünü gösterir. Yalnızca önbelleğe alınmış veri yolu cihazları tarafından kullanılan isteğe bağlı sinyal. PCI 2.2'den beri silindi
    SBO #
    Snoop Backoff - veri yolu abonesinin belleğine mevcut erişim, değiştirilmiş önbellek hattına girer. Yalnızca geri yazma algoritması için önbelleğe alınmış belleğe sahip veri yolu kullanıcıları tarafından kullanılan isteğe bağlı sinyal. PCI 2.2'den beri silindi
    SMBCLK
    SMBus Clock - SMBus'un (I2C arayüzü) saat sinyali. PCI 2.3'ten beri tanıtıldı
    SMBDAT
    SMBus Verileri - SMBus seri verileri (I2C arayüzü). PCI 2.3'ten beri tanıtıldı
    TCK
    Test Saati - JTAG test arayüzünün senkronizasyonu
    TDI
    Test Veri Girişi - JTAG test arayüzü girişi
    TDO
    Test Verisi Çıkışı - JTAG test arayüzü çıkışı
    TMS
    Ölçek Mod Seçimi- JTAG test arayüzü için mod seçimi
    TRST
    Test Mantığını Sıfırla - test mantığını sıfırlayın

    Bir seferde, otobüs yalnızca hakemden hakkı almış olan bir master tarafından kontrol edilebilir. Her master'ın bir çift sinyali vardır - bus kontrolünü talep etmek için REQ # ve bus kontrolünün verilmesini onaylamak için GNT #. Cihaz, yalnızca aktif bir GNT # sinyali aldığında ve veri yolunun devre dışı kalmasını beklediğinde bir işlem başlatabilir (ÇERÇEVE # sinyalini ayarlayın). Dinlenme için bekleme süresi boyunca hakemin "fikrini değiştirebileceğini" ve otobüsün kontrolünü daha yüksek önceliğe sahip başka bir cihaza verebileceğini unutmayın. GNT # sinyalinin kaldırılması, cihazın bir sonraki işlemi başlatmasına izin vermez ve belirli koşullar altında (aşağıya bakın) başlatılan işlemi sonlandırmaya zorlayabilir. Otobüsü kullanma taleplerinin tahkimi özel bir düğüm tarafından gerçekleştirilir - köprü bağlantısına dahil olan bir hakem bu lastik merkez ile. Öncelik şeması (sabit, döngüsel, birleşik) hakemin programlanmasıyla belirlenir.

    Adres ve veriler için ortak çoğullanmış AD satırları kullanılır. Dört çoklanmış C/BE satırı, adres aşamasında komut kodlaması ve veri aşamasında bayt çözünürlüğü sağlar. Yazma işlemlerinde C/BE satırları, AD bus üzerindeki varlıkları ile eşzamanlı olarak veri baytlarının kullanımına izin verir, okuma işlemlerinde bu sinyaller bir sonraki veri fazının baytlarına atıfta bulunur. Adres aşamasında (bir işlemin başlangıcı), ana cihaz FRAME # sinyalini etkinleştirir, hedef adresi AD veriyolunda ve C / BE # hatlarında iletir - işlem türü (komut) hakkında bilgi. Adreslenen hedef cihaz DEVSEL # sinyali ile geri çağrılır. Master, IRDY # sinyali ile veri alışverişi için hazır olduğunu belirtir, bu hazır olma durumu DEVSEL # alınmadan önce bile ayarlanabilir. Hedef cihaz da veri alışverişine hazır olduğunda TRDY # sinyalini ayarlayacaktır. AD veri yolundaki veriler yalnızca IRDY # ve TRDY # sinyalleri mevcut olduğunda iletilir. Bu sinyallerle, ana ve hedef cihazlar, bekleme durumlarını tanıtarak hızlarını tartışırlar. Aşağıdaki şekil, hem ana hem de hedefin bekleme saatine girdiği bir değişimin zamanlama şemasını göstermektedir. Her ikisi de adres aşamasının sonunda hazır sinyaller girmiş ve bunları değişimin sonuna kadar kaldırmamışlarsa, adres aşamasından sonraki her döngüde, maksimuma bir çıkış sağlayacak olan 32 bit veri iletilecektir. değişim performansı. Okuma işlemlerinde, adres aşamasından sonra, başlatıcının AD hattını kontrol etmeyi bıraktığı ek bir piruet saat gerekir; Hedef cihaz, yalnızca bir sonraki saat döngüsünde AD veri yolunun kontrolünü devralabilecektir. Bir yazma işleminde, başlatıcı verileri aktardığından piruet gerekli değildir.

    PCI veri yolunda, tüm işlemler toplu iş olarak kabul edilir: her işlem, bir veya daha fazla veri aşaması tarafından takip edilebilen bir adres aşaması ile başlar. Paketteki veri fazlarının sayısı açıkça belirtilmemiştir, ancak son veri fazının saatinde, IRDY # sinyali girildiğinde master, FRAME # sinyalini kaldırır. Tekli işlemlerde, FRAME # sinyali sadece bir saat çevrimi için aktiftir. Cihaz, slave modunda toplu işlemleri desteklemiyorsa, verilerin ilk aşamasında toplu işlemin iptal edilmesini talep etmelidir (TRDY # ile aynı anda STOP #'yi belirterek). Yanıt olarak, ana birim bu işlemi tamamlayacak ve sonraki bir işlemi bir sonraki adres değeriyle değiştirmeye devam edecektir. Veri aşamasının bitiminden sonra, master IRDY # sinyalini kaldırır ve veri yolu boş duruma geçer - her iki sinyal de: - FRAME # ve IRDY # - pasif durumdadır.

    Başlatıcı, IRDY #'yi kaldırırken aynı zamanda ÇERÇEVE # ayarlayarak, uyku saati olmadan sonraki işlemi başlatabilir. Bu tür hızlı bitişik işlemler (Fast Back-to-Back), bir veya farklı hedef cihazlara yönlendirilebilir. Hızlı bitişik işlemlerin ilk türü, tüm hedef PCI aygıtları tarafından desteklenir. İkinci tür bitişik işlemlerin desteği (bu tür destek isteğe bağlıdır), durum kaydının 7. biti ile gösterilir. Başlatıcının (nasıl olduğunu biliyorsa) farklı cihazlarla hızlı bitişik işlemleri kullanmasına izin verilir (izin, komut kaydının 9 biti tarafından belirlenir), ancak tüm veri yolu aracıları hızlı çağrılara izin verirse. PCI-X modunda veri alışverişi yapılırken hızlı bitişik işlemlere izin verilmez.

    Veri yolu protokolü, değişimin güvenilirliğini sağlar - ana birim, işlemin hedef cihaz tarafından işlenmesi hakkında her zaman bilgi alır. Değişimin güvenilirliğini arttırmanın bir yolu eşlik kullanımıdır: AD ve C / BE # satırları hem adres aşamasında hem de veri aşamasında eşlik biti PAR tarafından korunur (bu satırların set bitlerinin sayısı, aşağıdakiler dahil). PAR, eşit olmalıdır). Gerçek PAR değeri, AD ve C / BE # satırlarından bir saat döngüsü gecikmesiyle veri yolunda görünür. Bir hata algılandığında, cihaz bir PERR # sinyali üretir (veri yolunda geçerli bir eşlik bitinin görünmesinden sonra bir saat döngüsü ile dengelenir). Geçersiz olanlar (yüksek C / BEx # sinyali ile işaretlenmiş) dahil tüm baytlar, veri iletimi için parite hesaplamasında sayılır. Bitlerin durumu, geçersiz veri baytlarında bile veri aşaması sırasında sabit kalmalıdır.

    Otobüsteki her işlem planlandığı gibi tamamlanmalı veya iptal edilmeli ve otobüs durmalıdır (FRAME # ve IRDY # sinyalleri pasiftir). Bir işlemin tamamlanması ya ana cihaz tarafından başlatılır ya da hedef cihaz tarafından başlatılır.

    Master, işlemi aşağıdaki yollardan biriyle tamamlayabilir:

    • tamamlama - veri alışverişinin sonunda normal tamamlama;
    • zaman aşımı - zaman aşımına uğradı. Bir işlem sırasında, ana veri yolunun kontrolü reddedildiğinde (GNT # sinyalini kaldırarak) ve Gecikme Zamanlayıcısında belirtilen süre sona erdiğinde oluşur. Bu, adreslenen hedef beklenmedik şekilde yavaşsa veya çok uzun bir işlem planlanmışsa olabilir. Kısa işlemler (bir veya iki veri fazlı), GNT # sinyali kaldırılsa ve zamanlayıcı tetiklense bile normal şekilde tamamlanır;
    • master-Abort - Belirli bir süre içinde master hedeften bir yanıt almadığında bir işlemin iptal edilmesi (DEVSEL # sinyali).

    İşlem, hedef cihazın inisiyatifiyle sonlandırılabilir; Bunu yapmak için STOP # sinyaline girebilir. Üç tür işlem sonlandırması vardır:

    • yeniden deneme - yeniden deneme, STOP # sinyalinin ilk veri aşamasından önce pasif bir TRDY # sinyali ile tanıtılması. Bu durum, hedef cihazın dahili meşguliyet nedeniyle ilk verileri zamanında (16 saat çevrimi) yayınlamak için zamanı olmadığında ortaya çıkar. Yeniden deneme, master'ın aynı işlemi yeniden başlatması için bir göstergedir;
    • bağlantı kesme - bağlantının kesilmesi, ilk veri aşaması sırasında veya sonrasında STOP # sinyalinin verilmesi. Bir sonraki veri aşamasının TRDY # sinyali aktifken DUR # sinyali girilirse, bu veri iletilir ve işlem biter. TRDY # sinyali pasifken STOP # sinyali verilirse bir sonraki aşama için veri gönderilmeden işlem tamamlanır. Bağlantı kesme, hedef cihaz paket verisinin sonraki kısmını zamanında yayınlayamadığında veya alamadığında gerçekleştirilir. Kapatma, master'ın bu işlemi yeniden başlatması için bir göstergedir, ancak değiştirilmiş bir başlangıç ​​adresi ile;
    • hedef iptal - arıza, DEVSEL # sinyalinin kaldırılmasıyla aynı anda STOP # sinyalinin tanıtılması (önceki durumlarda, STOP # sinyalinin görünümü sırasında DEVSEL # sinyali etkindi). Bundan sonra, veriler artık iletilmez. Reddetme, hedef cihaz önemli bir hata veya bu isteğe artık hizmet edemeyecek (desteklenmeyen bir komut dahil) başka koşullar algıladığında yapılır.

    Üç tür işlem iptali, tüm hedef cihazlar için gerekli değildir, ancak herhangi bir yönetici, bu nedenlerden herhangi biri için işlemleri tamamlamaya hazır olmalıdır.

    Gecikmeli işlemleri düzenlemek için yeniden deneme tipi sonlandırma kullanılır. Tembel işlemler yalnızca yavaş hedef cihazlar tarafından ve işlemler başka bir veri yoluna çevrilirken PCI köprüleri tarafından kullanılır. Yeniden deneme koşulu olan bir işlemi (başlatıcı için) iptal ederek, hedef cihaz işlemi dahili olarak yürütür. Başlatıcı bu işlemi tekrarladığında (veri aşamasında aynı adres ve aynı C / BE # sinyalleri seti ile aynı komutu verir), hedef cihaz (veya köprü) zaten sonuca sahip olacaktır (veri oku veya yürütme durumu yaz) ) hazır, ki bu hızlı bir şekilde başlatıcıya geri dönecektir. Belirli bir cihaz tarafından yürütülen bekleyen bir işlemin sonucu, sonuçlar başlatıcı tarafından talep edilene kadar cihaz veya köprü tarafından saklanmalıdır. Ancak (anormal durumlar nedeniyle) işlemi tekrarlamayı "unutabilir". Sonuç depolama arabelleğinin taşmasını önlemek için cihazın sonuçları atması gerekir. İşlem önceden getirilebilir belleğe ertelendiyse (önceden getirilebilir öznitelikle, aşağıya bakın) bırakma işlemi yan etkiler olmadan yapılabilir. Genel olarak, diğer işlem türleri cezasız bir şekilde iptal edilemez (veri bütünlüğü ihlal edilebilir); onlar için, iptale yalnızca 215 veri yolu saat çevrimi için bir yeniden deneme için etkisiz bir beklemeden sonra (iptal zamanlayıcı tetiklendiğinde) izin verilir. Cihaz, bu istisnayı sürücüsüne (veya tüm sisteme) bildirebilir.

    Bir işlemi başlatan kişi, birden çok veri yolu işlemi gerektiren bir değişim işleminin tüm süresi boyunca PCI veri yolunun özel kullanımını gerektirebilir. Bu nedenle, örneğin, CPU, bir PCI aygıtına ait bir bellek konumunda bir veri değiştirme talimatı yürütürse, veriyi aygıttan okuması, ALU'sunda değiştirmesi ve sonucu aygıta döndürmesi gerekir. Diğer başlatıcılardan gelen işlemlerin bu işleme (veri bütünlüğü ihlaliyle dolu olan) girmesini önlemek için, ana köprü bunu bloke edilmiş olarak yürütür - işlemin tamamı boyunca KİLİT # veriyolu sinyali gönderilir. Bu sinyal, geleneksel PCI aygıtları (köprüler değil) tarafından kullanılmaz (ve üretilmez); yalnızca tahkim yönetimi için köprüler tarafından kullanılır.

    PC uyumlu bilgisayarlarda donanım kesintileri

    PCI aygıtları, kesintileri kullanarak eşzamansız olayları sinyalleme yeteneğine sahiptir. PCI veri yolunda dört tür kesme sinyali mümkündür:

    • INTx hatları üzerinden geleneksel kablolu sinyalleşme;
    • enerji yönetimi olaylarının PME # hattı üzerinden kablolu sinyalizasyonu;
    • mesajlarla sinyalizasyon - MSI;
    • sinyalizasyon ölümcül hata SERR # satırında.

    Bu bölüm, tüm bu sinyal türlerinin yanı sıra PC uyumlu bilgisayarlarda donanım kesintisi desteğinin genel resmini tartışır.

    PC uyumlu bilgisayarlarda donanım kesintileri

    Donanım kesintileri, işlemcinin yürütülebilir koda göre eşzamansız olarak meydana gelen olaylara tepki vermesini sağlar. Donanım kesintilerinin maskelenebilir ve maskelenemez olarak ayrıldığını hatırlayın. Bir kesme sinyali üzerine x86 işlemcisi, durumu (bayraklar ve dönüş adresi) yığında saklayarak mevcut talimat akışının yürütülmesini askıya alır ve kesme işleme rutinini yürütür. Özel işleme prosedürü, kesme tablosundan kesme vektörü ile seçilir - bu tablodaki bir baytlık eleman numarası. Kesinti vektörü işlemciye farklı şekillerde getirilir: maskelenemeyen bir kesinti için sabitlenir, maskeli kesintiler için özel bir kesinti denetleyicisi tarafından rapor edilir. Donanım kesintilerine ek olarak, x86 işlemcilerde dahili kesintiler de vardır - özel komut yürütme durumları ve yazılım kesintileriyle ilgili istisnalar. İstisnalar için, vektör özel koşulun kendisi tarafından belirtilir ve ilk 32 vektör (0-31 veya 00-1Fh) Intel tarafından istisnalar için ayrılmıştır. Yazılım kesintilerinde, vektör numarası talimatın kendisinde bulunur (yazılım kesintileri, bayrak kaydı önceden yığında depolandığında, prosedürleri numaraya göre çağırmanın yalnızca belirli bir yoludur). Tüm bu kesintiler, aynı 256 olası vektör kümesini kullanır. Tarihsel olarak, donanım kesintileri için kullanılan vektörler, BIOS ve DOS hizmetlerine yapılan çağrılar için kullanılan yazılım kesintileri için istisna vektörleri ve vektörler ile kesişir. Bu nedenle, bir dizi vektör numarası için, kesme tablosu tarafından atıfta bulunulan prosedür önce şunları içermelidir: program kodu, hangi nedenle çağrıldığını belirleyen: bir istisna nedeniyle, donanım kesintisi veya bazılarını aramak için sistem hizmeti... Bu nedenle, aslında işlemcinin bu asenkron olaya tepkisini sağlayan prosedür, ancak kesintilerin kaynağını belirlemek için bir dizi eylemden sonra çağrılacaktır. Burada, aynı kesinti vektörünün birkaç çevresel cihaz tarafından kullanılabileceğini de not ediyoruz - bu, aşağıda ayrıntılı olarak tartışılan, kesintilerin ortak kullanımı olarak adlandırılır.

    İşlemcinin gerçek ve korumalı modlarında kesme hizmeti rutinine yapılan çağrı önemli ölçüde farklılık gösterir:

    • v gerçek mod kesme tablosu, uzak çağrı tarafından çağrılan ilgili prosedürlere 4 baytlık uzak işaretçiler (segment ve ofset) içerir (bayrakların ön kaydıyla Uzak Çağrı). Tablonun boyutu (256 × 4 bayt) ve konumu (adres 0'dan başlayarak) sabittir;
    • korumalı modda (ve özel durumunda, V86 modunda), tablo Kesme Kapısı, Tuzak Kapısı veya Görev Kapısı olabilen 8 baytlık kesme tanımlayıcılarını içerir. Tablonun boyutu küçültülebilir (maksimum 256 × 8 bayttır), tablonun konumu değiştirilebilir (işlemcinin IDT kaydının içeriği tarafından belirlenir). Kesme işleyici kodu, en azından kesme görev kodundan ayrıcalıklı olmalıdır (aksi takdirde, bir koruma istisnası tetiklenir). Bu nedenle, kesme işleyicileri işletim sistemi çekirdeği düzeyinde (ayrıcalık düzeyi sıfırda) çalışmalıdır. İşleyici çağrıldığında ayrıcalık düzeyinin değiştirilmesi, yığını geçersiz kılmak için ek zaman kaybına neden olur. Görev geçişine (Görev Kapısı aracılığıyla) neden olan kesintiler, bağlam geçişinde önemli miktarda zaman harcar - işlemci kayıtlarını durum segmentine boşaltır eski görev ve bunları yeni durum segmentinden yüklemek.

    Donanım kesintileri için kullanılan vektör numaraları işletim sistemleri korumalı mod numaraları, işlemci istisnaları için kullanılan vektörlerle çakışmaları önlemek için gerçek mod işletim sistemi tarafından kullanılan numaralardan farklıdır.

    İşlemci her zaman maskelenemeyen bir kesintiye (NMI - Maskelenemeyen Kesinti) yanıt verir (önceki NMI'nin hizmeti tamamlandıysa); bu kesinti sabit bir vektör 2'ye karşılık gelir. PC'deki maskelenemeyen kesintiler, önemli donanım hatalarını bildirmek için kullanılır. NMI hattına giden sinyal, bellek kontrol devrelerinden (eşlik veya ECC), ISA veri yolunun (IOCHK) ve PCI veri yolunun (SERR #) kontrol hatlarından gelir. NMI sinyali, 070h bağlantı noktasının bit 7'sini 1'e ayarlayarak işlemci girişinden önce bloke edilir, bağımsız kaynaklar etkinleştirilir ve bağlantı noktası 061h'nin bitleri tarafından tanımlanır:

    • bit 2 R / W - ERP - PCI veri yolunun RAM ve sinyal SERR # kontrolünü etkinleştirir;
    • bit 3 R / W - EIC - ISA veri yolu kontrolünü etkinleştirin;
    • bit 6 R - IOCHK - ISA veri yolunda kontrol hatası (sinyal IOCHK #);
    • bit 7 R - PCK - PCI veri yolunda RAM eşlik hatası veya SERR # sinyali.

    İşlemcinin maskelenmiş kesintilere yanıtı, dahili IF bayrağı temizlenerek geciktirilebilir (CLI komutu kesintileri devre dışı bırakır, STI etkinleştirir). Cihaz olaylarını bildirmek için maskelenmiş kesmeler kullanılır. Reaksiyon gerektiren bir olay meydana geldiğinde, cihazın adaptörü (denetleyicisi), kesme denetleyicisinin girişine gönderilen bir kesme talebi oluşturur. Kesinti denetleyicisinin görevi, işlemciye bir kesinti talebi göndermek ve yazılım kesintisi işleme prosedürünün seçildiği vektörü bilgilendirmektir.

    Cihazdan gelen kesme rutini bakım işlemlerini gerçekleştirmelidir. bu cihaz aşağıdaki olaylara tepki vermesini sağlamak için isteğini temizleme ve kesme denetleyicisine tamamlama komutları gönderme dahil. İşlemci, bir işleme rutini çağırarak, yığındaki tüm bayrakların değerini otomatik olarak kaydeder ve maskelenmiş kesintileri devre dışı bırakan IF bayrağını temizler. Bu prosedürden dönerken (IRET komutuyla), işlemci, tekrar kesmeleri sağlayan (kesmeden önce) IF seti de dahil olmak üzere kaydedilen bayrakları geri yükler. Kesinti işleyicisinin çalışması sırasında, diğer kesintilere (daha yüksek öncelikli) bir yanıt gerekiyorsa, işleyicide STI talimatı bulunmalıdır. Bu özellikle uzun işleyiciler için geçerlidir; burada STI talimatı mümkün olduğu kadar erken, kritik (kesintisiz) bölümden hemen sonra girilmelidir. Aynı veya daha düşük öncelik seviyesindeki sonraki kesmelere, yalnızca EOI (Kesme Sonu) komutunu aldıktan sonra kesme denetleyicisi tarafından hizmet verilecektir.

    IBM PC uyumlu bilgisayarlarda kullanılan iki ana tür kesinti denetleyicisi vardır:

    • PIC (Peripheral Interrupt Controller), IBM PC'nin ilk modellerinde kullanılan "tarihsel" denetleyici 8259A ile uyumlu bir yazılım olan çevresel bir kesinti denetleyicisidir. IBM PC / AT günlerinden beri, 15 satıra kadar kesme isteğinin sunulmasına izin veren bir dizi kademeli PIC kullanıldı;
    • APIC (Gelişmiş Çevresel Kesinti Denetleyicisi), 4-5. nesil işlemcilere (486 ve Pentium) dayalı bilgisayarlarda çok işlemcili sistemleri desteklemek için tanıtılan gelişmiş bir çevresel kesinti denetleyicisidir ve daha sonraki işlemci modellerinde kullanılmaya devam etmektedir. Modern APIC, çok işlemcili yapılandırmaları desteklemenin yanı sıra, kullanılabilir kesme hatlarının sayısını artırmanıza ve mesaj motoru (MSI) aracılığıyla gönderilen PCI aygıtlarından gelen kesme isteklerini işlemenize olanak tanır. APIC denetleyicisi ile donatılmış bir bilgisayar, standart bir PIC çifti ile uyumlu bir modda çalışabilmelidir. Bu mod, APIC ve çoklu işlem hakkında "bilmeyen" eski işletim sistemi ve MS DOS uygulamalarını kullanmanıza izin veren bir donanımdan sıfırlama (ve açma) ile etkinleştirilir.

    Bir PIC çifti kullanarak kesme istekleri oluşturmaya yönelik geleneksel şema, aşağıdaki şekilde gösterilmektedir.

    Kesinti denetleyicisi girişleri, sistem aygıtlarından (klavye, sistem zamanlayıcı, CMOS zamanlayıcı, yardımcı işlemci), anakartın çevre birimleri denetleyicilerinden ve genişletme kartlarından gelen istekleri alır. Geleneksel olarak, listelenen cihazlar tarafından kullanılmayan tüm istek satırları, ISA / EISA veri yolunun tüm yuvalarında bulunur. Bu hatlar IRQx olarak belirlenmiştir ve ortak bir amaca sahiptir (aşağıdaki tabloya bakınız). Bu hatlardan bazıları PCI veri yoluna verilir. Tablo ayrıca kesintilerin önceliklerini de yansıtır - istekler azalan düzende sıralanır. Kontrolörlerin istek hatlarına, öncelik sistemine ve diğer bazı parametrelere karşılık gelen vektörlerin sayıları, kontrolörler başlatıldığında programlı olarak ayarlanır. Bu temel ayarlar, yazılım uyumluluğu için geleneksel kalır, ancak gerçek ve korumalı mod işletim sistemi için farklıdır. Bu nedenle, örneğin, Windows işletim sisteminde ana ve bağımlı denetleyiciler için temel vektörler sırasıyla 50h ve 58h'dir.

    İsim (1 numara) vektör 2 vektör 3 Kontrolör / maske Açıklama
    NMI 02h


    IRQ0 08h 50 saat
    # 1 / 1h
    Kanal kontrolü, bellek paritesi (XT'de - yardımcı işlemci)
    IRQ1 09h 51 saat
    # 1 / 2h
    Tuş takımı
    IRQ2 0Ah 52 saat
    # 1 / 4h
    XT - yedek, AT - mevcut değil (IRQ8-IRQ15 kademeli bağlı)
    IRQ8 70 saat
    58 saat
    # 2 / 1h
    CMOS RTC - Gerçek Zamanlı Saat
    IRQ9 71 saat
    59h
    # 2 / 2h
    Rezerv
    IRQ10 72 saat
    5Ah
    # 2 / 4h
    Rezerv
    IRQ11 73 saat
    5Bh
    # 2 / 8h
    Rezerv
    IRQ12 74h
    5 Kanal
    # 2 / 10h
    PS / 2-Fare (yedek)
    IRQ13 75 saat
    5 Gün
    # 2 / 20h
    Matematik yardımcı işlemcisi
    IRQ14 76h
    5Eh
    # 2 / 40h
    HDC - HDD denetleyicisi
    IRQ15 77 saat
    5Fh
    # 2 / 80h
    Rezerv
    IRQ3 0Bh
    52 saat
    # 1 / 4h
    COM2, COM4
    IRQ4 0Ch
    53 saat
    # 1 / 10h
    COM1, COM3
    IRQ5I 0 Gün
    54h
    # 1 / 20h
    XT - HDC, AT - LPT2, Ses (yedek)
    IRQ6 0Eh
    55 saat
    # 1 / 40h
    FDC - NGMD'nin denetleyicisi
    IRQ7 0Fh
    56h
    # 1 / 80h
    LPT1 - yazıcı

    * 1 0, 1, 8 ve 13 kesme istekleri genişletme veri yollarına gönderilmez.
    * 2 Bunlar, işlemci gerçek moddayken vektör numaralarıdır.
    * 3 Bunlar, Windows kullanırken vektör numaralarıdır.

    İşlemi desteklemek için kesme gerektiren her cihaza farklı bir kesme numarası atanmalıdır. Kesinti numarası atamaları iki taraftan yapılır: ilk olarak, kesinti gerektiren bağdaştırıcı, belirli bir veri yolu hattını (atlatıcılar veya yazılım) kullanacak şekilde yapılandırılmalıdır. İkincisi, yazılımı destekleyen bu adaptör, kullanılan vektörün sayısı hakkında bilgi verilmelidir. Kesintilerin atanması sürecinde, ISA ve PCI veri yolları için PnP sistemi dahil edilebilir; özel parametreler CMOS Kurulumu. Modern işletim sistemleri, CMOS Kurulumu aracılığıyla yapılan tahsis taleplerinin atamasını değiştirme yeteneğine sahiptir.

    Kesinti sistemi yapılandırıldıktan sonra (kesme denetleyicisi başlatılır, istek satırları cihazlara atanır ve işleme prosedürlerine yönelik işaretçiler ayarlanır), maskelenmiş donanım kesintileri aşağıdaki gibi işlenir:

    • cihaz, bir kesme olayı üzerine, atanan kesme talep hattını etkinleştirir;
    • denetleyici, kesme kaynaklarından (IRQx sinyalleri) istek sinyallerini alır ve maskesiz bir istek varsa, x86 işlemcisine bir genel kesme istek sinyali (INTR sinyali) gönderir;
    • talebe yanıt veren işlemci (IF bayrağı tarafından kesintiler etkinleştirildiğinde), bayrak kaydının içeriğini ve geri dönüş adresini yığına kaydeder ve ardından INTA (Kesme Acknowledge) veriyolu döngüsünü oluşturur, bu da veriyoluna gönderilir. kesme denetleyicisi;
    • INTA sinyalini aldığı anda, kesme denetleyicisi istek girişlerinin durumunu düzeltir - o anda durumları değişmiş olabilir: yeni istekler görünebilir veya "sabırsız" bir cihazdan gelen bir istek ortadan kalkabilir. Kontrolör alınan talepleri programlanmış öncelik şemasına göre analiz eder ve işlemciye INTA veri yolu komutu anında kontrolör girişinde bulunan en yüksek öncelikli maskelenmemiş talebe karşılık gelen bir kesme vektörü gönderir. Bu durumda denetleyici, hangi vektörün gönderildiğini (isteklerden hangisinin hizmete girdiğini) dikkate alarak, belirlenen öncelik politikasına uygun olarak bazı eylemler de gerçekleştirir;
    • kesme vektörünü aldıktan sonra, işlemci numarasına göre karşılık gelen kesme işleme rutinini çağırır. Bu kesme vektörü yalnızca donanım kesintileri için değil, istisnalar ve/veya yazılım kesintileri için de kullanılıyorsa, prosedürün öncelikle bu olayın bu türlerden hangisine ait olduğunu belirlemesi gerekir. Bunu yapmak için prosedür, PIC denetleyicisi ile iletişime geçebilir (ISR kaydını okuyabilir) ve işlemci kayıtlarının durumunu analiz edebilir. Sonraki adımlar bir donanım kesintisi tespit edildiğinde dikkate alınır;
    • kesme işleme rutini, kesintinin kaynağını tanımlamalıdır - buna neden olan aygıtı belirlemelidir. Bu istek numarasının (dolayısıyla vektör) birkaç cihazı tarafından ortak kullanımı durumunda, kesmenin kaynağı sadece bu cihazların her birinin kayıtlarına yapılan sıralı çağrılarla tanımlanabilir. Bu durumda, aynı anda birkaç cihazdan istek alma olasılığını veya bunlardan birinden kesme işleme sürecinde dikkate alınmalıdır;
    • prosedür, kesme kaynağı cihazına hizmet etmelidir - cihaz tarafından sinyal verilen olayla ilişkili "yararlı" eylemleri gerçekleştirin. Bu hizmet, bu cihazdan kesme isteği sinyalinin kaldırılmasını sağlamalıdır. Paylaşılan kesintiler durumunda, birkaç kaynak olabilir ve bunların tümü bakım gerektirir;
    • kesme işlemi uzun sürüyorsa ve bu sırada sistemin daha yüksek öncelikli isteklere yanıt vermesi gerekiyorsa, kritik bölümden sonra işlemcide kesme etkinleştirme (IF) bayrağını ayarlayan bir STI komutu işleyiciye eklenir. Bu andan itibaren, bu işleyicinin çalışmasını daha yüksek öncelikli başka bir prosedürle kesintiye uğratan iç içe kesmeler mümkündür;
    • Kesinti işleme rutini, denetleyiciye bir EOI (Kesme Sonu) kesme işleme komutu göndermelidir; buna göre denetleyici, hizmet verilen bir girişten bir sinyalin daha sonra alınmasına ve daha az önceliğe izin verecektir. Bu, servis verilen cihazlardan kesme sinyali kaldırıldıktan sonra yapılmalıdır, aksi takdirde kontrolör EOI'den sonra ikinci bir istek gönderir. İsteğin köleden geldiği kesme işleyicisi, hem bağımlı hem de yöneticiye bir EOI göndermelidir. İşleyicinin EOI'den tamamlanmaya kadar olan kısmı (IRET talimatları) kesintisiz olmalıdır, yani bu kritik bir bölümdür. İşleyici iç içe kesmeleri etkinleştirdiyse, kesmeleri devre dışı bırakmak için EOI komutunu vermeden önce bir CLI talimatının mevcut olması gerekir;
    • kesmenin işlenmesi, IRET komutuyla tamamlanır, buna göre işlemci, daha önce yığından bayrak kaydının içeriğini aldıktan sonra, kesintiye uğrayan talimat akışının yürütülmesine geri döner. Bu, donanım kesintilerini tekrar etkinleştirecektir.

    Bu sıra, geleneksel bir kesme denetleyicisi (PIC) ile ilgili olarak, APIC'li sistemlerde, kesme vektörünün denetleyiciden işlemciye iletilme yöntemi ve MSI kesintilerinde, sinyalin cihazdan cihaza iletilme yöntemi ile ilgili olarak açıklanmaktadır. APIC denetleyici değişiklikleri. Bu nüanslar aşağıdaki bölümlerde açıklanmaktadır.

    Genel bilgi

    PCI köprüleri (PCI Köprüsü), PCI (ve PCI-X) veriyollarını birbirine ve diğer veri yollarına bağlamak için özel donanımlardır. Ana Bilgisayar Köprüsü, PCI'yi bilgisayarın merkezine (sistem belleği ve işlemci) bağlamak için kullanılır. Ana bilgisayarın (merkezi işlemci) tüm PCI veri yolu alt sistemini yapılandırmasına izin veren, merkezi işlemcinin kontrolü altındaki yapılandırma alanına çağrılar oluşturmak ana köprünün "görev onuru" dur. Sistem, merkezle daha fazla sayıda cihaza yüksek performanslı iletişim sağlamaya izin veren birkaç ana köprüye sahip olabilir (bir veri yolundaki cihaz sayısı sınırlıdır). Bu veri yollarından biri şartlı olarak ana (veri yolu 0) olarak belirlenmiştir.

    PeertoPeer Köprüleri (PCI), ek PCI veriyollarını bağlamak için kullanılır. Bu köprüler her zaman ek veri aktarım yükleri getirir, bu nedenle hub ile iletişimin etkin performansı, araya giren her köprüyle azalır.

    PCMCIA, CardBus, MCA, ISA / EISA, X-Bus ve LPC veriyollarını bağlamak için anakartların yonga setlerinde bulunan veya ayrı PCI cihazları (mikro devreler) olan özel köprüler kullanılır. Bu köprüler bağlandıkları veri yollarının arayüzlerinin dönüştürülmesini, veri alışverişlerinin senkronizasyonunu ve ara belleğe alınmasını gerçekleştirir.

    Her köprü programlanabilir - bellekte belirtilen adres aralıkları ve veri yollarındaki cihazlara tahsis edilen G/Ç boşlukları. Köprünün bir veriyolundaki (tarafındaki) mevcut işlemin DC adresi karşı taraftaki veriyoluna aitse, köprü işlemi ilgili veri yoluna çevirir ve veri yolu protokollerinin anlaşmasını sağlar. Böylece, bir dizi PCI köprü, çağrıların ilgili veriyolları arasında yönlendirilmesini gerçekleştirir. Sistemde birkaç ana köprü varsa, farklı veri yollarındaki cihazlar arasında uçtan uca yönlendirme mümkün olmayabilir: ana köprüler yalnızca bellek denetleyicisinin devre yolları aracılığıyla birbirine bağlanabilir. Ana köprüler aracılığıyla her tür PCI işleminin çevirisini desteklemek bu durumda çok karmaşıktır ve bu nedenle PCI belirtimi kesin olarak gerekli değildir. Böylece, tüm PCI veri yollarındaki tüm aktif aygıtlar sistem belleğine erişebilir, ancak eşler arası iletişim, bu aygıtların belirli bir PCI veri yoluna ait olup olmamasına bağlı olabilir.

    PCI köprülerinin kullanımı şu özellikleri sağlar:

    • olası bağlı cihaz sayısını artırmak, veri yolunun elektriksel özelliklerinin sınırlamalarının üstesinden gelmek;
    • PCI aygıtlarını segmentlere ayırma - PCI veri yolları - farklı özellikler bit genişliği (32/64 bit), saat frekansı (33/66/100/133 MHz), protokol (PCI, PC-X Modu 1, PCI-X Modu 2, PCI Express). Her otobüste, tüm aboneler en zayıf katılımcıya eşittir; doğru yerleştirme otobüslerdeki cihazlar ile izin verir maksimum verimlilik cihazların ve anakartın yeteneklerini kullanmak;
    • cihazların çalışırken takılması / çıkarılması ile bölümlerin organizasyonu;
    • farklı otobüslerde bulunan başlatıcılardan işlemlerin eşzamanlı paralel yürütülmesinin organizasyonu.

    Her PCI köprüsü yalnızca iki veri yolunu birbirine bağlar: hiyerarşinin en üstüne daha yakın olan birincil veri yolu ile ikincil veri yolu; bu veri yollarına bağlı olduğu köprü arayüzleri sırasıyla birincil ve ikincil olarak adlandırılır. Yalnızca tamamen ağaç benzeri bir konfigürasyona izin verilir, yani iki otobüs birbirine yalnızca bir köprü ile bağlanır ve köprü "döngüleri" yoktur. Belirli bir köprünün ikincil arayüzüne diğer köprüler tarafından bağlanan veri yollarına bağımlı veriyolları denir. PCI köprüleri, en üstte ana köprüye bağlı olan sıfır numaralı ana veri yolu olan bir PCI veri yolu hiyerarşisi oluşturur. Birkaç ana köprü varsa, lastiklerinden (sıralamada birbirine eşit), şartlı olarak, ana köprü, sıfır numara atanan otobüs olacaktır.

    Köprü bir dizi zorunlu işlevi yerine getirmelidir:

    • ikincil arayüzüne bağlı veriyoluna hizmet verin:
    • tahkim gerçekleştirin - bus master'larından REQx # istek sinyallerini almak ve onlara GNTx # sinyallerini kullanarak bus'ı kontrol etme hakkını vermek
    • otobüsü park edin - herhangi bir ana birim tarafından veri yolu kontrolü gerekli olmadığında GNTx # sinyalini bazı cihazlara gönderin;
    • adreslenebilir PCI aygıtına bireysel IDSEL sinyallerinin üretilmesiyle 0 tipi konfigürasyon döngüleri oluşturmak;
    • Kontrol sinyallerini yüksek bir seviyeye "yukarı çekin";
    • bağlı cihazların yeteneklerini belirleyin ve bunları karşılayan veri yolu çalışma modunu seçin (frekans, bit derinliği, protokol);
    • özel sinyalleme yoluyla seçilen mod hakkında bilgi vererek, birincil arabirimden sıfırlama ve komutla bir donanım sıfırlaması (RST #) oluşturun.
    • köprünün karşı taraflarında bulunan kaynak haritalarını koruyun;
    • bir arayüzde master tarafından başlatılan ve başka bir arayüzün yanında bulunan bir kaynağa yönlendirilen işlemlere bir hedef cihaz kisvesi altında yanıt vermek; bu işlemleri master (master) olarak hareket ederek başka bir arayüze yayınlayın ve sonuçlarını gerçek başlatıcıya iletin.

    Bu işlevleri yerine getiren köprülere şeffaf köprüler denir; bu tür köprülerin arkasında bulunan cihazlarla çalışmak için ek köprü sürücüsü gerekmez. PCI Bridge 1.1 spesifikasyonunda açıklanan bu köprülerdir ve onlar için PCI cihazları olarak özel bir sınıf (06) vardır. Bu durumda, adresleme kaynaklarının (bellek ve G / Ç) "düz" bir modelini kastediyoruz: her cihazın belirli bir sistem (bilgisayar) içinde benzersiz (diğerleriyle çakışmayan) kendi adresleri vardır.

    Ayrıca, kendi yerel adres alanlarıyla ayrı segmentler düzenlemenize izin veren şeffaf olmayan köprüler de vardır. Opak bir köprü, başlatıcı ve hedef cihazın köprünün karşı taraflarında olduğu işlemler için adres çevirisi (çeviri) gerçekleştirir. Karşı taraftaki tüm kaynaklara (adres aralıklarına) böyle bir köprü üzerinden erişilebilir. Opak köprüler, örneğin bir bilgisayarın kendi G/Ç işlemcisi ve yerel adres alanı olan bir "akıllı G/Ç" (I20) alt sistemine sahip olması durumunda kullanılır.

    Genel bilgi

    PCI veri yolu orijinal olarak sistem kaynaklarını (bellek ve G / Ç boşlukları ve kesme talep hatları) otomatik olarak yapılandırma yeteneği ile tasarlanmıştır. Cihazların otomatik konfigürasyonu (adreslerin ve kesintilerin seçimi) BIOS ve işletim sistemi aracılığıyla desteklenir; PnP teknolojisine odaklanmıştır. PCI standardı, her bir işlev için, bellek alanına veya G / Ç alanına atanmamış 256'ya kadar kayıttan (8 bit) bir yapılandırma alanı tanımlar. Bunlara, aşağıda açıklanan donanım ve yazılım mekanizmalarından biri kullanılarak oluşturulan Konfigürasyon Okuma ve Konfigürasyon Yazma özel veri yolu komutlarıyla erişilir. Bu alanda, tüm cihazlar ve belirli cihazlar için gerekli olan alanlar vardır. Belirli cihaz tüm adreslerde kayıtları olmayabilir, ancak kendilerine yönelik işlemler için normal tamamlamayı desteklemesi gerekir. Bu durumda, var olmayan kayıtların okunması sıfır döndürmeli ve boşta bir işlem olarak yazma yapılmalıdır.

    Bir işlevin yapılandırma alanı, satıcı, cihaz ve cihaz sınıfı tanımlayıcılarını ve ayrıca gerekli ve kullanılan sistem kaynaklarının bir tanımını içeren standart bir başlık ile başlar. Başlık yapısı, geleneksel cihazlar (tip 0), PCI-PCI köprüleri (tip 1), PCI-CardBus köprüleri (tip 2) için standartlaştırılmıştır. Başlık türü, iyi bilinen kayıtların konumunu ve bitlerinin amacını belirler. Başlık, cihaza özel kayıtlar tarafından takip edilebilir. Standartlaştırılmış cihaz yetenekleri için (örneğin, güç yönetimi), konfigürasyon alanında amacı bilinen kayıt blokları vardır. Bu bloklar zincirler halinde düzenlenir, bu tür ilk bloğa standart başlıkta (CAP_PTR) atıfta bulunulur; bloğun ilk kaydında bir referans var sonraki blok(veya 0 ise bu blok- geçen). Böylece, konfigürasyon yazılımı, zincire bakarak, mevcut tüm cihaz özelliklerinin ve bunların fonksiyonun konfigürasyon alanındaki konumlarının bir listesini alır. PCI 2.3, bazılarına bakacağımız aşağıdaki CAP_ID'leri tanımlar:

    • 01 - enerji yönetimi;
    • 02 - AGP bağlantı noktası;
    • 03 - VPD (Vital Product Data), cihazların donanım (muhtemelen yazılım) özelliklerinin kapsamlı bir tanımını veren veriler;
    • 04 - yuvaların ve şasinin numaralandırılması;
    • 05 - MSI kesintileri;
    • 06 - Çalışırken Değiştirilebilir, Kompakt PCI için çalışırken takılabilir;
    • 07 - PCI-X protokol uzantıları;
    • 08 - AMD için ayrılmıştır;
    • 09 - üreticinin takdirine bağlı olarak (Satıcıya Özel);
    • 0Ah - Hata Ayıklama Bağlantı Noktası;
    • 0Bh - PCI Çalışırken Takılabilir, standart güvenlik"Sıcak fiş".

    Mod 2 aygıtları için PCI-X, yapılandırma alanını 4096 bayta genişletti; genişletilmiş özellik açıklamaları genişletilmiş alanda mevcut olabilir.

    Sonrasında sert sıfırlama(veya açılışta) PCI aygıtları, bellek ve G/Ç alanı erişimlerine yanıt vermezler, yalnızca yapılandırma okuma ve yazma işlemleri için kullanılabilirler. Bu işlemlerde cihazlar tek tek IDSEL sinyalleri ile seçilir, kayıtlar okunarak konfigürasyon yazılımı kaynak ihtiyaçlarını öğrenir ve olası seçenekler cihazları yapılandırma. Yapılandırma programı tarafından gerçekleştirilen kaynak tahsisinden sonra (POST sırasında veya işletim sistemi önyüklemesi sırasında), yapılandırma parametreleri (temel adresler) cihazın yapılandırma kayıtlarına yazılır. Ancak bundan sonra, cihazlar (daha doğrusu işlevler), belleğe ve G / Ç bağlantı noktalarına erişmek için komutlara yanıt vermelerinin yanı sıra veri yolunun kendilerini kontrol etmelerine izin veren ayarlanmış bitlerdir. Her zaman uygulanabilir bir konfigürasyon bulabilmek için, kartların kapladığı tüm kaynakların kendi alanlarında hareket ettirilebilir olması gerekir. Çok işlevli cihazlar için her işlevin kendi yapılandırma alanı olmalıdır. Cihaz aynı registerleri hem belleğe hem de I/O alanına eşleyebilir. Bu durumda, her iki tanımlayıcı da yapılandırma kayıtlarında bulunmalıdır, ancak sürücü yalnızca bir erişim yolu kullanmalıdır (tercihen bellek yoluyla).

    Yapılandırma alanı başlığı, üç tür adrese olan ihtiyacı açıklar:

    • G / Ç Alanındaki kayıtlar);
    • Bellek Eşlemeli G/Ç kayıtları. Bu, değişimi başlatan kişinin isteklerine sıkı sıkıya bağlı olarak erişilmesi gereken bir bellek alanıdır. Bu kayıtlara erişim, çevresel aygıtların dahili durumunu değiştirebilir;
    • Önceden Alınabilir Bellek Bu, "ekstra" okuması (kullanılmayan sonuçlarla) yan etkilere yol açmayan bir bellek alanıdır, BE # sinyallerine bakılmaksızın tüm baytlar okunur ve bireysel baytların kayıtları aşağıdakiler tarafından birleştirilebilir. köprü (yani, bu saf haliyle bellektir).

    Adres gereksinimleri, Temel Adres Kaydı'nda (BAR) belirtilir. Konfigürasyon programı ayrıca gerekli alanların boyutlarını da belirleyebilir. Bunu yapmak için, bir donanım sıfırlamasından sonra, taban adreslerin değerlerini (bunlar varsayılan adresler olacaktır) okumalı ve kaydetmeli, her register'a FFFFFFFFh yazmalı ve değerlerini tekrar okumalıdır. Alınan kelimelerde, kod çözme türünün bitlerini (bellek için bitler ve G / Ç için bitler) sıfırlamanız, elde edilen 32 bitlik kelimeyi ters çevirmeniz ve artırmanız gerekir - sonuç, alanın uzunluğu olacaktır (bağlantı noktaları için, bitleri dikkate almayın). Yöntem, alanın uzunluğunun 2n olduğunu ve alanın doğal olarak hizalandığını varsayar. Standart başlık 6 adede kadar kayıt barındırır temel adres, ancak 64 bit adresleme kullanıldığında açıklanan blokların sayısı azalır. Kullanılmayan BAR kayıtları okunduğunda her zaman sıfır döndürmelidir.

    PCI, kendilerini başlıktaki sınıf koduyla bu şekilde ilan eden eski aygıtları (VGA, IDE) destekler. Geleneksel (sabit) bağlantı noktası adresleri yapılandırma alanında bildirilmez, ancak etkinleştirme biti ayarlanır ayarlanmaz cihazların bu adreslere de yanıt vermesine izin verilir.

    PCI Express, çeşitli bileşenleri bir masaüstü bilgisayara bağlamak için kullanılan bir veri yoludur. Yardımı ile video kartları bağlanır, ağ kartları, ses kartları, WiFi modülleri ve diğer benzer cihazlar. Bu veri yolunun geliştirilmesine 2002 yılında Intel tarafından başlandı. Kar amacı gütmeyen bir kuruluş olan PCI Special Interest Group, şu anda bu veri yolunun yeni sürümlerini geliştiriyor.

    Şu anda, PCI Express veri yolu, AGP, PCI ve PCI-X gibi eski veri yollarının yerini tamamen almıştır. PCI Express veri yolu, anakartın altında yatay konumda bulunur.

    PCI Express ve PCI arasındaki fark nedir

    PCI Express, PCI veri yolu etrafında tasarlanmış bir veri yoludur. PCI Express ve PCI arasındaki temel farklar, fiziksel seviye... PCI ortak bir veri yolu kullanırken, PCI Express bir yıldız topolojisi kullanır. Her PCI Express aygıtı, ayrı bir bağlantıyla ortak bir anahtara bağlanır.

    PCI Express yazılım modeli, PCI modelini birçok yönden takip eder. Bu nedenle, mevcut CI denetleyicilerinin çoğu, PCI Express veri yolunu kullanmak için kolayca değiştirilebilir.

    Ek olarak, PCI Express veri yolu aşağıdaki gibi yeni özellikleri destekler:

    • Sıcak takma cihazları;
    • Garantili veri alışverişi hızı;
    • Enerji tüketimi yönetimi;
    • İletilen bilgilerin bütünlük kontrolü;

    PCI Express veri yolu nasıl çalışır?

    PCI Express veri yolu, aygıtları bağlamak için çift yönlü bir seri bağlantı kullanır. Ayrıca, böyle bir bağlantı bir (x1) veya birkaç (x2, x4, x8, x12, x16 ve x32) ayrı hatta sahip olabilir. Bu tür hatlar ne kadar çok kullanılırsa, PCI Express veri yolu tarafından o kadar yüksek veri aktarım hızı sağlanabilir. Desteklenen şerit sayısına bağlı olarak, anakart üzerindeki boyut farklılık gösterecektir. Bir (x1), dört (x4) ve on altı (x16) çizgili yuvalar vardır.

    PCI Express ve PCI yuva boyutlarının görsel gösterimi

    Ayrıca, herhangi bir PCI Express aygıtı, yuvanın aynı veya büyük miktarçizgiler. Bu, ana kartınızdaki x16 yuvasına x1 yuvalı bir PCI Express kartı takmanıza olanak tanır.

    PCI Express bant genişliği, şerit sayısına ve veri yolu sürümüne bağlıdır.

    Gbps cinsinden bir / iki yön
    satır sayısı
    x1 x2 x4 x8 x12 x16 x32
    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

    Bir ekran kartı seçmeniz gerekiyorsa veya bizi arayın, size yardımcı olalım!