PCI Express Yuvası: PCIe Arayüzü Nedir? PCI Express arayüzünün farklı çalışma modlarındaki NVMe sürücüleri: veri aktarım görevlerinde arayüz ölçeklenebilirliğine ilişkin pratik bir çalışma PCI Express x2, x4, x8, x12, x16 ve x kullanan cihaz türleri.

Bilgisayarların uzun zamandır bir otobüsü var PCI Ekspres v3.0x16; Modern video bağdaştırıcılarının testleri bu veri yolunda yaklaşık 12 GB/sn hız olduğunu gösteriyor. FPGA üzerinde aynı hıza sahip bir modül yapmak istiyorum. Ancak mevcut FPGA'lerde yalnızca PCIe v3.0 x8 için bir DONANIM denetleyicisi bulunur; SOFT IP Core uygulamaları mevcuttur ancak çok pahalıdırlar. Ama bir çıkış yolu var.

FPGA Virtex 7 VX330T'de iki adet PCI Express v3.0 x8 denetleyici bulunur; Açık çözüm, yan tarafında x16 konektörü olan bir anahtar ve FPGA'ye bağlı iki x8 veri yolu yerleştirmektir. Bunun sonucunda şöyle bir yapı ortaya çıkar:


HighTechGlobal'ın HTG-728 modülü bu şema kullanılarak oluşturuldu.

Alpha-Data şirketi farklı bir yol izliyor. ADM-PCIE-KU3-X16 modülünün anahtarı yoktur. Ancak x16 konnektörü iki adet x8 veri yolu çıkışı sağlar. FPGA iki bağımsız denetleyiciyi uygulayabilir. Bunu yapmak için FPGA iki sıfırlama sinyali ve iki referans frekansı içerir. Ancak bu modül yalnızca iki x8 konektörünün de x16 konektörüne çıktığı özel anakartlarda çalışacaktır. Böyle anakartlar görmedim ama görünüşe göre varlar.

Firmamız FMC122P modülünü dahili bir anahtarla uygulamaya karar verdi. Ana görev maksimum değişim hızını kontrol etmekti. Daha az önemli olmayan bir başka görev de mevcut olanla uyumluluğu sağlamaktır. yazılım ve FPGA bileşenleri.

Virtex 7'nin PCI Express denetleyicisi, Virtex 6, Kintex 7'nin denetleyicilerinden kökten farklıdır. Daha kullanışlı hale geldi, ancak farklı. Şekil gösterir blok şeması denetleyici:

Kontrolörün, her biri iki AXI_Stream veriyoluna sahip olan Tamamlayıcı ve Talep Edici olmak üzere iki parçası vardır. PCI Express veriyolundan gelen istekler Completer düğümü üzerinden gelir. Bu istekler m_axis_cq veri yoluna gönderilir. s_axis_cc veri yolu Kullanıcı bileşeninden bir yanıt almalıdır. Tipik olarak bu, FPGA'nın dahili kayıtlarına erişim düğümüdür.

DMA denetleyicisi, s_axis_rq veriyolu üzerindeki İstek Sahibi düğümü aracılığıyla, istekleri PCI Express veriyoluna gönderir. Yanıtlar m_axis_rc veri yolu üzerinden gelir.

Otobüs simülasyonu

IP Core, nasıl çalıştığını anlamanıza yardımcı olabilecek örnek bir proje içerir. Proje Verilog'da yazılmıştır ve ne yazık ki nasıl geliştirilmeyeceğine de örnek teşkil edebilir. Örnek blok diyagramına bakalım.

Bu şema IP Core açıklamasından alınmıştır. İlk bakışta her şey yolunda - harika bir resim, bunu yöneticilere, proje yöneticilerine ve müşterilere gösterebilirsiniz. Sorunlar uygulamada başlıyor. Bu sistemde, mutlak bir yol kullanarak nesnelere erişmek için Verilog yeteneklerinin kullanıldığı birçok yer vardır. Bana göre bu sistemde bunun haklı olduğu tek yer, PIPE düzeyinde modelleme için GTP düğümlerinin atlanmasıdır. Ancak mutlak yolları kullanarak userapp_tx ve userapp_rx arasında bağlantı kurmaya kesinlikle gerek yoktur.

Projede şöyle görünüyor:

pci_exp_usrapp_tx bileşeninin bir işlevi vardır TSK_SYSTEM_INITIALIZATION bu, işlevi pci_exp_userapp_cfg'den mutlak bir yolla çağırır:

board.RP.cfg_usrapp.TSK_WRITE_CFG_DW(bundan sonra Verilog'da anlatılan bir işlevi bir görev aracılığıyla çağıracağım). pci_exp_userapp_cfg bileşenine bakıyoruz, şunu görüyoruz: cfg_ds_bus_number<= board.RP.tx_usrapp.RP_BUS_DEV_FNS;

PCI_exp_userapp_rc bileşenine bakalım, orada da aynı şey var: board.RP.com_usrapp.TSK_PARSE_FRAME(`RX_LOG);

Bu yalnızca üslup açısından yanlış değil. Bu, modeli projenizde uygulamanızı engeller. Öncelikle kendi projenizde en üst düzey dosyanın board olarak adlandırılması ve aynı hiyerarşinin orada kalması hiç de gerekli değildir. İkincisi, iki bileşen olabilir. Her iki olay da başımıza geldi. Her ne kadar hiç hoşlanmasam da Verilog ile çalışmak zorunda kaldım. Görünüşe göre, küçük bir yeniden düzenlemeyle root_port bileşeninin tamamı tamamen hiyerarşik bir forma getirilebilir. Ortaya çıkan bileşen dosyaları şunlardı:

  • xilinx_pcie_3_0_7vx_rp_m2.v
  • pci_exp_usrapp_tx_m2.v
  • pci_exp_usrapp_cfg_m2.v
Ve işlevlere sahip dosyalar:
  • görev_bar.vh
  • görev_rd.vh
  • görev_s1.vh
  • görev_test.vh
Bu, modele iki root_port bileşeni eklememize olanak sağladı. VHDL bileşeninde iki root_port'un etkinleştirilmesi şuna benzer:

kök_port

gen_rp0: if(is_rp0=1) rp0 üret: xilinx_pcie_3_0_7vx_rp_m2 genel harita(INST_NUM => 0) bağlantı noktası haritası(sys_clk_p => sys_clk_p, sys_clk_n => sys_clk_n, sys_rst_n => sys_rst_n, -- Cmd_ komutları gönderiliyor rw => cmd_ rw, -- Okuma-yazma işareti: 0 - okuma, 1 - yazma cmd_req => cmd_req, -- 1 - İşlem isteği cmd_ack => cmd_ack, -- 1 - işlem onayı cmd_adr => cmd_adr, -- okuma-yazma komutunun adresi cmd_data_i => cmd_data_i, -- yazılacak veriler cmd_data_o => cmd_data_o, -- verileri okuyun cmd_init_done => cmd_init_done_0 -- 1 - başlatma tamamlandı); son oluşturmak; gen_rp1: if(is_rp1=1) rp1 oluştur: xilinx_pcie_3_0_7vx_rp_m2 genel harita(INST_NUM => 1) bağlantı noktası haritası(sys_clk_p => sys_clk_p, sys_clk_n => sys_clk_n, sys_rst_n => sys_rst_n, cmd_init_d one => cmd_ini t_done_1 -- 1 - başlatma tamamlandı) ; son oluşturmak;


rp0 bileşeni aracılığıyla 32 bitlik sözcüklerin yazılması veya okunması için erişimler sağlanır. rp1 bileşeni yalnızca başlatma işlemini gerçekleştirir.

Ne yazık ki, simülasyon BORU seviyesinde gerçekleştirilse bile bunun simülasyonu çok uzun zaman alıyor. Tipik bir modelleme oturumu yaklaşık on dakika sürer (ya da belki daha fazla, hatırlamıyorum). İçin operasyonel çalışma Bu bir DMA kanalıyla çalışmaz. Bu durumda PCI Express denetleyicisinin modelden çıkarılmasına tamamen doğal bir karar verildi. Üstelik bu konu zaten incelenmiştir.

Kontrolörün blok şeması

Şekilde genelleştirilmiş bir kontrolör diyagramı gösterilmektedir.

İki özdeş core256_top_engine bileşeni, iki kontrolör EP0, EP1'e erişim sağlar. core256_top_engine, PCI Express tarafından kayıtlara erişim sağlar; bunun için yalnızca EP0 ve reg_access bileşeni kullanılır. dma_access bileşeni denetleyiciyi yönetmek için ana mantığı içerir. Blok şeması aşağıdaki şekilde gösterilmektedir:

Her şey ctrl_main düğümü tarafından kontrol edilir. ctrl_dsc düğümü bir tanımlayıcı bloğu içerir. ctrl_adr düğümü, tanımlayıcıyı dört kilobaytlık blok adresleri dizisine dönüştürür. Adresler, core256_top_engine düğümleriyle değişim için cmd0 ve cmd1 düğümlerine gönderilir;

FPGA'nın kullanıcı tarafında iki adet 512 bit genişliğinde veri yolu bulunmaktadır. Ancak bu veri yollarındaki verilerin 4 kilobaytlık bloklar halinde ve kesinlikle sırayla iletilmesi gerekiyor. Bu, ram0, ram1 bellek düğümlerini sırayla doldurmak için gereklidir. Her bellek düğümü 4 kilobaytlık dört blok içerir. Bu bellek düğümlerinde orijinal 512 bitlik geniş akış, iki adet 256 bitlik akışa bölünür. Gelecekte iki 256 bitlik akış tamamen bağımsız olacaktır. Akış verileri yalnızca şurada bulunacak: Veri deposu komşu adreslere ulaşacakları bilgisayar.

Dma_access'in modellenmesi

Dma_access düğümü denetleyicinin en karmaşık parçasıdır. Buna göre özellikle dikkatli bir şekilde modellenmesi gerekir. Yukarıda yazdığım gibi iki PCI Express çekirdeğini simüle etmek çok uzun zaman alıyor. Hızlandırmak için core256_top_engine yerine bağlanan bir model geliştirildi. Dma_access için aynı arayüz kaldı ve modelleme hızı büyük ölçüde arttı. Bu proje, PROTEQ projesi gibi, testlerin bir tcl dosyası aracılığıyla otomatik olarak başlatılmasını kullanır.

İşte tcl dosyasının bir parçası:

Run_test "stend_m4" "test_read_8kb " 6 "50 us" run_test "stend_m4" "test_read_16kb " 7 "100 us" run_test "stend_m4" "test_read_49blk " 8 "150 us" run_test "stend_m4" "test_read_8x4_cont" 9 "150 us" run_test " stend_m4" "test_read_128x1_cont " 12 "200 us" run_test "stend_m4" "test_read_16kbx2" 13 "150 us" run_test "stend_m4" "test_read_step " 14 "200 us" run_test "stend_m4" "test_read_8kb_sg_eot " 15 "100 us" "stand_m4" " test_read_64x1" 16" 100 us"
Bu otomatik olarak dokuz testi çalıştırır. Örnek olarak burada bir testin kodu verilmiştir:

test_read_4kb

prosedür test_read_4kb (sinyal cmd: out bh_cmd; --! komut sinyali ret: in bh_ret --! yanıt) adr değişkenidir: std_logic_vector(31'den 0'a kadar); değişken veri: std_logic_vector(31'den 0'a kadar); değişken str: satır; değişken L: satır; değişken hatası: tamsayı:=0; değişken dma_complete: tamsayı; data_expect değişkeni: std_logic_vector(31'den 0'a kadar); begin write(str, string"("TEST_READ_4KB")); writeline(log, str); ---- Bir tanımlayıcı bloğu oluşturmak --- for ii 0 ila 127 döngüsünde adr:= x"00100000"; adr: =adr + ii*4; int_mem_write(cmd, ret, adr, x"00000000"); int_mem_write(cmd, ret, x"00100000", x"00008000"); -- int_mem_write(cmd, ret, x"00100080", x"00008000"); -- int_mem_write(cmd, ret, x"00100084", x"00000100"); x"001001F8", x"00000000"); "001001FC", x"762C4953"); ---- Programlama DMA kanalı ---- blok_yaz(cmd, ret, 4, 8, x"00000025"); -- DMA_MODE blok_yaz(cmd, ret, 4, 9, x"00000010"); -- DMA_CTRL - FIFO'yu RESET blok_yaz(cmd, ret, 4, 20, x"00100000"); -- PCI_ADRL blok_yaz(cmd, ret, 4, 21, x"00100000"); -- PCI_ADRH blok_yaz(cmd, ret, 4, 23, x"0000A400"); -- LOCAL_ADR blok_yaz(cmd, ret, 4, 9, x"00000001"); -- DMA_CTRL - START 20 bizi bekleyin;


int_mem_write komutları bilgisayarın HOST RAM'ine yazar. Bu testte buraya bir tanımlayıcı blok yazılır. Block_write ve Block_read komutları, denetleyicinin DMA kayıtlarına erişim sağlar. Kontrolör programlanır, başlatılır ve değişim tamamlanır. Bundan sonra int_mem_read komutları alınan verileri okur ve kontrol eder. Bu testin kodu, opencores.org'da açık kaynaklı bir proje olarak yayınladığım PCIe_DS_DMA denetleyicisindeki testle neredeyse tamamen aynı; Orijinaliyle karşılaştırıldığında, alınan verilerin kontrolü eklendi.

Denetleyicinin mantıksal organizasyonu

Kayıt düzeyinde denetleyici, FPGA'ler Virtex 4, Virtex 5, Virtex 6, Kintex 7 için önceki denetleyicilerimizi tamamen kopyalar; Organizasyon PCIe_DS_DMA projesinde bulunabilir.
Tüm denetleyicilerin bir özelliği, tek tanımlayıcıların bir tanımlayıcı bloğu halinde birleşimidir. Bu, parçalanmış bellek kullanıldığında hızda önemli bir artış sağlar.

Dizüstü bilgisayarlara bağlantı

Bu kumandayı dizüstü bilgisayarlarımıza bağlamamız bizim için önemli. Bir önceki yazımda tetradların ne olduğunu yazmıştım: “ADM Arayüzü: Tetrad Nedir?”. 512 bitlik bir veri yolu ile çalışmak yaklaşımda bir değişiklik gerektiriyordu. Dizüstü bilgisayarı bağlamak için ek bir yeniden paketleme ünitesi kullanmamız gerekti. Blok diyagramı şekildedir.

Yeniden paketleyici iki sorunu çözer:

  • çip boyunca veri yolu yönlendirmesi, bunun için boru hattının ek aşamalarının sayısını ayarlayabilirsiniz
  • 64 ve 128 bit veri yollarına sahip dizüstü bilgisayarlara bağlantı
Bellek kullanımı

Denetleyiciyi geliştirmenin ve tetradlara bağlanmanın nihai amacı, ADC'den bilgisayara sürekli bir veri akışı almaktır. Ve burada PCI Express veri yolunun sabit hızlar sağlamadığı gerçeğiyle karşı karşıyayız. Otobüste gecikmeler olabilir. Bu özellikle yüksek döviz kurlarında fark edilir. Diğer cihazların çalışmasından dolayı gecikmeler meydana gelir. Gecikme miktarı farklı olabilir, 5 - 10 μs veya daha fazla olabilir. 11 GB/sn hızında 10 μs'lik bir gecikme, 110 kilobaytlık bir bellek bloğuna karşılık gelir. İçin dahili hafıza modern FPGA'ler bile çoktur. Ancak gecikme daha da uzun olabilir. Veri akışı askıya alınamıyorsa ve ADC'lerin kullanıldığı durum tam olarak buysa, o zaman tek seçenek ara belleğe almaktır. harici bellek. Ayrıca belleğin 22 GB/s hızında çalışabilmesi gerekiyor. Modülde iki adet SODIMM DDR3-1600 yüklü. Bellek 800 MHz'de çalışır. Bu, 8400 MB/sn'lik sürekli bir veri akışına karşılık gelir. Bu rakam deneylerle doğrulanmıştır. 8400 MB/sn hızının, iki adet 1800 MHz ADC'nin kurulu olduğu en hızlı alt modülümüzün veri çıkış hızını aştığını belirtmek isterim.

İzleme

Ekran görüntüsü PlanAhead programındaki izlemenin sonucunu göstermektedir:

Resimde iki PCI Express denetleyicisi (sarı ve yeşille vurgulanmıştır) ve iki bellek denetleyicisi (PCI Express'in yanında) gösterilmektedir.

Görünüşe göre böyle bir proje Vivado için çok zor ve bununla çok az başa çıkıyor. Vivado'daki proje yeterince geliştirilmemiş ve çoğu zaman işe yaramıyor. İMKB çok daha istikrarlı sonuçlar veriyor. PCI Express düğümleri, Xilinx tavsiyelerine uygun olarak yönlendirildi, ancak bunların çip boyunca aralıklarla yerleştirildiği ortaya çıktı. Bu da zaten kalan çoklu gigabitlik hatların paylaşımında sorun yaratıyor.

Sonuçlar

Modülün çalışması birkaç bilgisayarda test edildi. Sonuçlar oldukça ilginç.

Intel Core i7 4820K P9X79WS DDR3-1866 11140 MB/sn
Intel Core i7 5820K X99-A DDR4-2400 11128 MB/sn
Intel Core i7 3820K P9X79 DDR3-1600 11120 MByte/sn

Bu, doğrulama olmadan veri girişi hızıdır. Veriler sürekli olarak sistem bellek alanına tahsis edilen 1 GB'lik bir ara belleğe, yani fiziksel adresler arasında sürekli olarak girilir. Ortalama giriş hızı en az 1 dakikalık bir aralıkta ölçülür.

DDR3-1600 belleğe sahip bir bilgisayarda kontrol etkinleştirildiğinde hız 8500 MB/s'ye düşüyor.

DDR3-1866'lı bir bilgisayarda, bir modül ve kontrol etkinleştirildiğinde hız düşmez.

DDR3-1866'ya sahip bir bilgisayardaki iki FMC122P modülü, test edilmeden, her modül için yaklaşık 11000 MB/sn maksimum hız gösterir. Ancak kontrol etkinleştirildiğinde hız düşer.

Bu ölçümlerle 1 MB'ın 1024 kbyte, 1 kbyte'ın ise 1024 byte olduğu varsayılmaktadır.

Bu çalışmamda büyük bir ekibin çalışmasının sonucunu sunduğumu belirtmek isterim. Bu projede harika iş çıkaran Dmitry Avdeev'e özel teşekkürler.

Not: Geliştirme devam ederken Virtex 7'nin modası geçmişti. Kintex Ultrascale'in kullanımı zaten daha kullanışlı. Ve Kintex Ultrascale+'ın zaten bir PCI Express v3.0 x16 HARD bloğu var; dolayısıyla böyle bir bölünmeye artık gerek yok.

PSS Ancak Kintex Ultrascale+'ın aynı zamanda bir PCI Express v4.0 x8 HARD bloğu da var - belki ayırma yine de faydalı olabilir?

PCI Express standardı temellerden biridir modern bilgisayarlar. PCI Express yuvaları, herhangi bir masaüstü bilgisayar anakartında uzun süredir güçlü bir yer işgal etmiş ve PCI gibi diğer standartların yerini almıştır. Ancak PCI Express standardının bile birbirinden farklı kendi varyasyonları ve bağlantı modelleri vardır. 2010 yılı civarından itibaren yeni anakartlarda, tek bir anakart üzerinde şu şekilde belirtilen bağlantı noktalarının tamamının dağıldığını görebilirsiniz: PCIE veya PCI-E, satır sayısında farklılık gösterebilir: bir x1 veya birkaç x2, x4, x8, x12, x16 ve x32.

Öyleyse, görünüşte basit olan PCI Express çevre birimi bağlantı noktaları arasında neden bu kadar karışıklığın olduğunu öğrenelim. Ve her bir PCI Express x2, x4, x8, x12, x16 ve x32 standardının amacı nedir?

PCI Express veri yolu nedir?

2000'li yıllarda, eskiyen PCI (genişletilmiş - çevresel bileşenlerin ara bağlantısı) standardından PCI Express'e geçiş gerçekleştiğinde, PCI Express'in çok büyük bir avantajı vardı: seri veri yolu PCI olan, noktadan noktaya erişim veriyolunu kullanıyordu. Bu, her bir PCI bağlantı noktasının ve içine takılı kartların, PCI bağlantısında olduğu gibi birbirine müdahale etmeden maksimum bant genişliğinden tam olarak yararlanabileceği anlamına geliyordu. O günlerde miktar çevre birimleri Genişletme kartlarına takılı çok sayıda kart vardı. Ağ kartları, ses kartları, TV tarayıcıları vb. - hepsi yeterli miktarda bilgisayar kaynağı gerektiriyordu. Ancak paralel olarak bağlanan birden fazla cihazla veri aktarımı için ortak bir veri yolu kullanan PCI standardından farklı olarak PCI Express, genel olarak ele alındığında yıldız topolojisine sahip bir paket ağıdır.


Tek kartta PCI Express x16, PCI Express x1 ve PCI

Meslekten olmayanların ifadesiyle, masaüstü bilgisayarınızı bir veya iki satış elemanının bulunduğu küçük bir mağaza olarak hayal edin. Eski standart PCI bir bakkal dükkanı gibiydi: Tezgahın arkasındaki bir satış elemanının sınırlı olması nedeniyle servis hızı konusunda sorunlar yaşayan herkes servis edilmek için aynı sırada bekliyordu. PCI-E daha çok bir hipermarkete benziyor: her müşteri alışveriş için kendi yolunu izliyor ve kasada birkaç kasiyer siparişi aynı anda alıyor.

Açıkçası, mağazanın bir yazarkasa ile birden fazla satış elemanının kapasitesini karşılayamaması nedeniyle bir hipermarket, hizmet hızı açısından normal bir mağazadan birkaç kat daha hızlıdır.

Ayrıca her genişletme kartı veya yerleşik anakart bileşeni için özel veri yolları bulunur.

Hat sayısının verim üzerindeki etkisi

Şimdi mağaza ve hipermarket metaforumuzu genişletecek olursak, hipermarketin her departmanının kendilerine ayrılmış kendi kasiyerlerinin olduğunu hayal edin. Çoklu veri şeridi fikri burada devreye giriyor.

PCI-E, başlangıcından bu yana birçok değişiklik geçirdi. Günümüzde yeni anakartlar genellikle standardın 3. versiyonunu kullanıyor; daha hızlı olan 4. versiyon daha yaygın hale geliyor ve 2019'da 5. versiyonun çıkması bekleniyor. Ancak farklı sürümler aynı fiziksel bağlantıları kullanır ve bu bağlantılar dört ana boyutta yapılabilir: x1, x4, x8 ve x16. (x32 bağlantı noktaları mevcuttur, ancak normal bilgisayar anakartlarında oldukça nadirdir).

PCI-Express bağlantı noktalarının farklı fiziksel boyutları, bunları eşzamanlı bağlantı sayısına göre net bir şekilde ayırmayı mümkün kılar. anakart: Bağlantı noktası fiziksel olarak ne kadar büyük olursa, karta veya karttan o kadar fazla bağlantı aktarabilir. Bu bağlantılara aynı zamanda denir. çizgiler. Bir hat iki sinyal çiftinden oluşan bir iz olarak düşünülebilir: biri veri göndermek için, diğeri almak için.

PCI-E standardının farklı versiyonları, her şeritte farklı hızlara izin verir. Ancak genel olarak konuşursak, tek bir PCI-E bağlantı noktasında ne kadar çok şerit varsa, çevre birimi ile bilgisayarın geri kalanı arasında veri akışı o kadar hızlı olur.

Metaforumuza dönecek olursak: Bir mağazadaki tek satıcıdan bahsediyorsak, x1 şeridi tek müşteriye hizmet veren tek satıcı olacaktır. 4 kasiyeri olan bir mağazanın zaten 4 hattı vardır x4. Ve böylece kasiyerleri satır sayısına göre 2 ile çarparak atayabilirsiniz.


Çeşitli PCI Express kartları

PCI Express x2, x4, x8, x12, x16 ve x32 kullanan cihaz türleri

PCI Express 3.0 sürümü için genel maksimum veri aktarım hızı 8 GT/s'dir. Gerçekte, PCI-E 3 sürümünün hızı şerit başına saniyede bir gigabayttan biraz daha azdır.

Bu nedenle, örneğin PCI-E x1 bağlantı noktası kullanan bir aygıt düşük güçlüdür ses kartı veya Wi-Fi anteni maksimum 1 Gbit/s hızında veri iletebilecektir.

Fiziksel olarak daha büyük bir yuvaya sığan bir kart - x4 veya x8örneğin bir USB 3.0 genişletme kartı, verileri sırasıyla dört veya sekiz kat daha hızlı aktarabilecektir.

PCI-E x16 bağlantı noktalarının aktarım hızı teorik olarak yaklaşık 15 Gbps'lik maksimum bant genişliği ile sınırlıdır. Bu, NVIDIA ve AMD tarafından geliştirilen tüm modern grafik kartları için 2017'de fazlasıyla yeterli.


Çoğu bağımsız grafik kartı PCI-E x16 yuvası kullanır

PCI Express 4.0 protokolü 16 GT/s kullanımına izin verir ve PCI Express 5.0 32 GT/s kullanır.

Ancak şu anda bu sayıda şeridi maksimum verimle kullanabilecek hiçbir bileşen yok. Modern üst düzey grafik kartları genellikle x16 PCI Express 3.0 kullanır. x16 bağlantı noktasında yalnızca bir şerit kullanacak bir ağ kartı için aynı şeritleri kullanmanın bir anlamı yoktur, çünkü Ethernet bağlantı noktası saniyede yalnızca bir gigabit'e kadar veri aktarma kapasitesine sahiptir (bu, veri aktarım hızının yaklaşık sekizde biri kadardır). bir PCI-E şeridi - unutmayın: bir baytta sekiz bit).

Piyasada x4 bağlantı noktasını destekleyen PCI-E SSD'ler mevcut ancak bunların yerini hızla gelişen yeni M.2 standardı alacak gibi görünüyor. PCI-E veriyolunu da kullanabilen SSD'ler için. Yüksek kalite ağ kartları RAID denetleyicileri gibi meraklı donanımlar x4 ve x8 formatlarının bir kombinasyonunu kullanır.

PCI-E bağlantı noktası ve şerit boyutları farklılık gösterebilir

Bu, PCI-E ile ilgili en kafa karıştırıcı sorunlardan biridir: x16 form faktöründe bir bağlantı noktası yapılabilir, ancak verileri iletmek için yeterli şerit bulunamaz, örneğin yalnızca x4. Bunun nedeni, PCI-E'nin sınırsız sayıda bireysel bağlantı taşıyabilmesine rağmen yonga setinin bant genişliği kapasitesinde hala pratik bir sınır bulunmasıdır. Daha düşük seviye yonga setlerine sahip daha ucuz anakartlarda, bu yuva fiziksel olarak bir x16 form faktörlü kartı barındırabilse bile yalnızca bir x8 yuvası olabilir.

Ek olarak, oyunculara yönelik anakartlar, maksimum bant genişliği için x16'lı dört adede kadar tam PCI-E yuvası ve aynı sayıda şerit içerir.

Açıkçası bu sorunlara neden olabilir. Anakartta iki adet x16 yuvası varsa ancak bunlardan birinde yalnızca x4 şerit varsa, o zaman yeni bir bağlantı kurun. grafik kartı ilkinin üretkenliğini %75'e kadar azaltacaktır. Bu elbette sadece teorik bir sonuçtur. Anakartların mimarisi performansta keskin bir düşüş görmeyeceğiniz şekildedir.

İki ekran kartının tandeminden maksimum konfor istiyorsanız, iki grafik video kartının doğru yapılandırmasında tam olarak iki x16 yuva kullanmalısınız. Ofisteki kılavuz, anakartınızda belirli bir yuvanın kaç hat bulunduğunu öğrenmenize yardımcı olacaktır. üreticinin web sitesi.

Bazen üreticiler anakart PCB üzerinde yuvanın yanındaki hat sayısını bile işaretlerler.

Daha kısa bir x1 veya x4 kartın fiziksel olarak daha uzun bir x8 veya x16 yuvasına sığabileceğini bilmeniz gerekir. Elektrik kontaklarının pin konfigürasyonu bunu mümkün kılar. Doğal olarak, kart fiziksel olarak yuvadan daha büyükse, onu takamazsınız.

Bu nedenle, genişletme kartlarını satın alırken veya mevcut kartları yükseltirken, hem PCI Express yuvasının boyutunu hem de gereken şerit sayısını her zaman hatırlamanız gerektiğini unutmayın.

NVMe protokolünü destekleyen bir katı hal sürücüsü için hangi arayüzün kullanılması gerektiğini sorarsanız, o zaman (NVMe'nin ne olduğunu bile bilen) herhangi bir kişi cevap verecektir: elbette PCIe 3.0 x4! Doğru, büyük olasılıkla gerekçelendirmede zorluklar yaşayacak. En iyi ihtimalle, bu tür sürücülerin PCIe 3.0 x4'ü desteklediği cevabını alacağız ve verim arayüz önemlidir. Öyle, ancak bununla ilgili tüm konuşmalar ancak bazı işlemlerdeki bazı sürücülerin "normal" SATA çerçevesinde sıkışık hale gelmesiyle başladı. Ancak 600 MB/s ile (aynı derecede teorik) 4 GB/s arasında PCI arayüzü e 3.0 x4 tonlarca seçenekle dolu bir uçurumdan başka bir şey değil! Peki ya bir PCIe 3.0 hattı yeterliyse, çünkü bu zaten SATA600'den bir buçuk kat daha büyük? Bütçe ürünlerinde PCIe 3.0 x2'ye geçmekle tehdit eden denetleyici üreticileri ve birçok kullanıcının böyle bir şeye sahip 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 içinde yapmak istemediğiniz bir şeyi değiştirerek serbest bırakılabilirler. Ama en iyi olanı satın al katı hal sürücüsü- İsterdim, ancak bundan hiçbir faydası olmayacağına dair korkular var (hatta test araçlarının sonuçlarından ahlaki memnuniyet bile).

Ama bu doğru mu 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ü? ilkelerden vazgeçmek? Bugün tam olarak bunu kontrol etmeye karar verdik. Kontrolün hızlı olmasına ve kapsamlı gibi görünmesine izin vermeyin, ancak alınan bilgiler (bize öyle geliyor ki) en azından düşünmek için yeterli olmalıdır... Şimdilik teoriyi kısaca tanıyalım.

PCI Express: mevcut standartlar ve bant genişlikleri

PCIe'nin ne olduğu ve bu arayüzün hangi hızda çalıştığıyla başlayalım. Genellikle ideolojik olarak yanlış olan "veri yolu" olarak adlandırılır: Bu nedenle, tüm cihazların bağlı olduğu bir veri yolu yoktur. Gerçekte noktadan noktaya bir dizi bağlantı vardır (diğer birçok bağlantıya benzer) seri arayüzler) ortada bir denetleyici ve ona bağlı cihazlar (her biri kendi içinde bir sonraki düzeyin merkezi olabilir).

PCI Express'in ilk sürümü neredeyse 15 yıl önce ortaya çıktı. Bir bilgisayar içinde (çoğunlukla aynı pano içinde) kullanıma odaklanılması, standart yüksek hızın (saniyede 2,5 giga işlem) gerçekleştirilmesini mümkün kıldı. Arayüz seri ve tam çift yönlü olduğundan, tek bir PCIe hattı (x1; etkili bir atom birimi) 5 Gbps'ye kadar veri aktarım hızları sağlar. Bununla birlikte, her yönde bunun yalnızca yarısı kadardır, yani 2,5 Gbps ve bu, "faydalı" olan değil, arayüzün tam hızıdır: güvenilirliği artırmak için, her bayt 10 bit ile kodlanır, yani teorik çıktı bir PCIe hattı 1.x her yönden yaklaşık 250 MB/sn'dir. Uygulamada hala servis bilgilerinin aktarılması gerekiyor ve sonuçta ≈200 MB/s kullanıcı veri aktarımından bahsetmek daha doğru. Bununla birlikte, o zamanlar yalnızca çoğu cihazın ihtiyaçlarını karşılamakla kalmadı, aynı zamanda sağlam bir rezerv de sağladı: toplu sistem arayüzleri segmentindeki PCIe'nin öncülünün, yani PCI veri yolunun 133 MB/s'lik bir verim sağladığını unutmayın. S. Ve yalnızca toplu uygulamayı değil, aynı zamanda tüm PCI seçeneklerini de dikkate alsak bile, maksimum 533 MB/s idi ve veri yolunun tamamı için, yani böyle bir PS, kendisine bağlı tüm cihazlara bölünmüştü. Burada, özel kullanımda hat başına 250 MB/s (çünkü PCI için de genellikle yararlı verim değil toplam verilir). Daha fazlasına ihtiyaç duyan cihazlar için başlangıçta birkaç hattı, 2'den 32'ye kadar ikinin katları halinde tek bir arayüzde toplamak mümkündü, yani standart tarafından sağlanan x32 sürümü, her birinde 8 GB/s'ye kadar iletim yapabiliyordu. yön. Kişisel bilgisayarlarda, ilgili denetleyicilerin ve cihazların oluşturulması ve kablolanmasının karmaşıklığı nedeniyle x32 kullanılmadı, bu nedenle maksimum 16 hatlı seçenekti. Çoğu cihaz çok fazla şey gerektirmediğinden, esas olarak video kartları tarafından kullanılıyordu (ve hala kullanılıyor). Genel olarak, bunların önemli bir kısmı için bir satır yeterlidir, ancak bazıları hem x4 hem de x8'i başarıyla kullanır: yalnızca depolama konusunda - RAID denetleyicileri veya SSD'ler.

Zaman durmadı ve yaklaşık 10 yıl önce PCIe'nin ikinci versiyonu ortaya çıktı. İyileştirmeler sadece hızlarla ilgili değildi, aynı zamanda bu konuda da ileri bir adım 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 tekrar ikiye katlandı: PCIe 3.0 saniyede 8 (10 yerine) gigatransaction sağlıyor, ancak artıklık azaltıldı - artık 128'i kodlamak için daha önce olduğu gibi 160 değil 130 bit kullanılıyor. Prensip olarak, hızları iki katına çıkaran PCIe 4.0 sürümü halihazırda kağıt üzerinde görünmeye hazır, ancak yakın gelecekte bunu donanımda görmemiz pek mümkün değil. Aslında PCIe 3.0 hala birçok platformda PCIe 2.0 ile birlikte kullanılıyor, çünkü PCIe 2.0'ın performansı pek çok uygulama için gerekli değil. Ve ihtiyaç duyulduğunda eski güzel hat birleştirme yöntemi işe yarar. Geçtiğimiz yıllarda yalnızca her biri dört kat daha hızlı hale geldi, yani PCIe 3.0 x4, 2000'li yılların ortasındaki bilgisayarlardaki en hızlı yuva olan PCIe 1.0 x16'dır. Bu seçenek üst düzey SSD denetleyicileri tarafından desteklenir ve kullanılması önerilir. Böyle bir fırsat varsa çokluğun az olmadığı açıktır. Peki ya o yoksa? Herhangi bir sorun olacak mı, eğer öyleyse bunlar nelerdir? Başa çıkmamız gereken soru bu.

Test metodolojisi

PCIe standardının farklı sürümleriyle testler yapmak zor değil: neredeyse tüm denetleyiciler yalnızca desteklediklerini değil, aynı zamanda önceki tüm denetleyicileri de kullanmanıza izin veriyor. Şerit sayısıyla daha da zorlaşıyor: Bir veya iki PCIe şeridiyle seçenekleri doğrudan test etmek istedik. Genellikle kullandığımız Asus H97-Pro Gamer board Intel yonga seti H97 tüm seti desteklemiyor, ancak x16 "işlemci" yuvasına (genellikle kullanılan) ek olarak, PCIe 2.0 x2 veya x4 modlarında çalışan bir tane daha var. Biz bu üçlüyü kullanıp, PCIe 2.0 “işlemci” slot modunu da ekleyerek bir fark olup olmadığını değerlendirdik. Yine de, bu durumda, işlemci ile SSD arasında hiçbir yabancı "aracı" yoktur, ancak bir "yonga seti" yuvasıyla çalışırken, işlemciye aslında aynı PCIe 2.0 x4 ile bağlanan yonga setinin kendisi vardır. . Birkaç çalışma modu daha eklemek mümkündü ama yine de çalışmanın ana bölümünü başka bir sistem üzerinde yürütecektik.

Gerçek şu ki, bu fırsatı değerlendirmeye ve aynı zamanda bir "şehir efsanesini", yani sürüşleri test etmek için en iyi işlemcileri kullanmanın faydalı olduğu inancını 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. Ayrıca kutularda bulunan Asus Sabertooth X99 anakart, aslında x1 veya x2 olarak çalışabilen PCIe x4 yuvasının bulunması nedeniyle bugün işimize yarıyor. 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 şu şekilde işaretlenmiştir: (C)). Standardın yalnızca bu sürümünü destekleyen ve bir NVMe cihazından önyükleme yapabilen neredeyse tek bir anakart olmadığı gerçeği göz önüne alındığında, şimdi PCIe'nin ilk sürümüne dönmek mantıklı mı? Pratik açıdan hayır, ancak PCIe 1.1 x4 = PCIe 2.0 x2 ve benzerlerinin önceden varsayılan oranını kontrol etmek bizim için yararlı olacaktır. Test, veri yolu ölçeklenebilirliğinin teoriye karşılık geldiğini gösteriyorsa, bu, henüz pratik olarak elde edememiş olmamızın önemli olmadığı anlamına gelir. anlamlı yollar PCIe 3.0 x1/x2 bağlantıları: birincisi PCIe 1.1 x4 veya PCIe 2.0 x2 ile, ikincisi ise PCIe 2.0 x4 ile aynı olacaktır. Ve biz onlara sahibiz.

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

“Çalışma sıvısı” olarak 240 GB Patriot Hellfire kullandık. Test ederken görüldüğü gibi, bu performans açısından bir rekor sahibi değil, ancak hız özellikleri sonuçlarla oldukça tutarlı en iyi SSD aynı sınıf ve aynı kapasite. Evet ve daha fazlası yavaş cihazlar piyasada zaten var ve giderek daha fazlası olacak. Prensip olarak testleri daha hızlı bir şeyle tekrarlamak mümkün olabilir, ancak bize göre buna gerek yok - sonuçlar tahmin edilebilir. Ama kendimizin önüne geçmeyelim, bakalım elimizde ne var.

Test sonuçları

Hellfire'ı test ederken, sıralı işlemler için maksimum hızın yalnızca çok iş parçacıklı bir yükten "sıkılabileceğini" fark ettik, bu nedenle bunun gelecek için de dikkate alınması gerekiyor: teorik verim yalnızca teoriktir, çünkü " alınan gerçek” veriler farklı programlar farklı senaryolara göre, daha çok buna değil, tam da bu programlara ve senaryolara bağlı olacaklar - elbette mücbir sebep koşullarının müdahale etmediği durumlarda :) Şimdi tam olarak bu tür koşulları gözlemliyoruz: yukarıda zaten söylendi PCIe 1 .x x1'in ≈200 MB/sn olduğunu ve gördüğümüz de bu. İki PCIe 1.x hattı veya bir PCIe 2.0 iki kat daha hızlıdır ve gördüğümüz de tam olarak budur. Dört PCIe 1.x hattı, iki PCIe 2.0 veya bir PCIe 3.0 hala iki kat daha hızlıdır ve bu ilk iki seçenek için onaylanmıştır, dolayısıyla üçüncünün farklı olması pek mümkün değildir. Yani, prensipte ölçeklenebilirlik beklendiği gibi idealdir: işlemler doğrusaldır, flash bunları iyi işler, dolayısıyla 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 uygun olduğu anlamına gelir). "Olabilir" okumak daha fazla olabilir, ancak son adım zaten iki kat değil (potansiyel olarak olması gerektiği gibi) bir buçuk artış sağlıyor. Ayrıca yonga seti ile işlemci denetleyicileri arasında ve platformlar arasında da gözle görülür bir fark olmadığını belirtiyoruz. Ancak LGA2011-3 biraz önde ama sadece çok az.

Her şey pürüzsüz ve güzel. Ancak şablonları yırtmaz: Bu testlerdeki maksimum değer 500 MB/s'nin biraz üzerindedir ve bu, SATA600 veya (bugünün testine yönelik uygulamada) PCIe 1.0 x4 / PCIe 2.0 x2 / için bile oldukça yeteneklidir. PCIe 3.0x1. Doğru: PCIe x2 için bütçe denetleyicilerinin piyasaya sürülmesi veya daha fazlasına ihtiyaç duyulmadığında bazı kartlardaki M.2 yuvalarında yalnızca çok fazla hattın (ve standardın 2.0 sürümünün) bulunması nedeniyle paniğe kapılmayın. Bazen çok fazla şeye ihtiyacınız olmaz: 16 komuttan oluşan bir sıra ile maksimum sonuçlara ulaşıldı; bu, seri üretilen yazılımlar için tipik değildir. Daha sıklıkla 1-4 komuttan oluşan bir kuyruk vardır ve bunun için ilk PCIe'nin ve hatta ilk SATA'nın bir satırıyla idare edebilirsiniz. Ancak genel giderler ve başka şeyler var, bu nedenle hızlı bir arayüz faydalıdır. Ancak çok hızlı olmak belki de zararlı değildir.

Ayrıca bu testte platformlar farklı şekilde ve tek bir komut kuyruğuyla temelde farklı şekilde davranıyor. “Sorun” pek çok çekirdeğin kötü olması değil. Belki biri dışında burada zaten kullanılmıyorlar ve güçlendirme modunun tam olarak konuşlandırılmasına yetecek kadar da değiller. Yani çekirdek frekansında yaklaşık% 20 ve önbellekte bir buçuk kat farkımız var - Haswell-E'de çekirdeklerle eşzamanlı değil, daha düşük bir frekansta çalışıyor. Genel olarak, üst düzey bir platform yalnızca büyük komut kuyruğu derinliğine sahip en çok iş parçacıklı mod aracılığıyla maksimum "Yops"u ortadan kaldırmak için yararlı olabilir. Tek üzücü şey, pratik çalışma açısından bakıldığında, bunun boşlukta tamamen küresel sentetik olmasıdır :)

Kayıtta durum hiçbir anlamda temelden değişmedi. Ancak komik olan şey, her iki sistemde de "işlemci" yuvasındaki PCIe 2.0 x4 modunun en hızlı olduğu ortaya çıktı. Her ikisinde de! Ve birden fazla kontrol/yeniden kontrol ile. Bu noktada yardıma ihtiyacınız olup olmadığını düşünmeden edemezsiniz. bunlar sizin yeni standartlarınız Yoksa hiçbir yere acele etmemek daha mı iyi?

Farklı boyutlardaki bloklarla çalışırken, arayüz hızını arttırmanın hala mantıklı olması teorik ideali bozuyor. Ortaya çıkan rakamlar, birkaç PCIe 2.0 hattının yeterli olacağını gösteriyor, ancak gerçekte bu durumda performans, birkaç kez olmasa da, PCIe 3.0 x4'ün performansından daha düşük. Ve genel olarak, burada bütçe platformu en üsttekini çok daha büyük ölçüde "tıkıyor". Ancak esas olarak uygulama yazılımında bulunan tam da bu tür bir işlemdir, 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 be” etkisi sağlamaması şaşırtıcı değil. Daha doğrusu, mekanikten geçiş yapanlara verilecek, ancak herhangi bir arayüze sahip herhangi bir katı hal sürücüsünün ona sağlayacağı ile tamamen aynı.

Toplam

Hastanenin resmini bir bütün olarak algılamayı kolaylaştırmak için programın verdiği puanı (toplam - okuma ve yazma için) kullandık ve bunu “yonga setine” göre normalleştirdik. PCIe modu 2,0x4: açık şu anda LGA1155 veya AMD platformlarında bile video kartını "gücendirmeye" gerek kalmadan bulunduğu için en yaygın olanı budur. Ayrıca bütçe kontrolörlerinin ustalaşmaya hazırlandıkları PCIe 3.0 x2'ye eşdeğerdir. Evet ve devamı yeni platform AMD AM4 yine ayrık ekran kartını etkilemeden elde edilebilecek moddur.

Peki ne görüyoruz? Mümkünse PCIe 3.0 x4 kullanımı kesinlikle tercih edilir, ancak gerekli değildir: orta sınıf NVMe sürücülere (başlangıçta en üst segmentinde) tam anlamıyla %10 ek performans getirir. Ve o zaman bile - genel olarak pratikte pek sık karşılaşılmayan operasyonlar nedeniyle. Bu durumda neden bu özel seçenek uygulandı? Öncelikle böyle bir fırsat vardı ama rezerv cebe yetmiyor. İkincisi, Patriot Hellfire testimizden bile daha hızlı sürüşler var. Üçüncüsü, “atipik” olan faaliyet alanları vardır. masaüstü sistemi yükler oldukça tipiktir. Üstelik veri depolama sisteminin performansının veya en azından bunun bir kısmını çok hızlı yapabilme yeteneğinin en kritik olduğu nokta burasıdır. Ama her zamanki gibi kişisel bilgisayarlar bunların hepsi önemsiz.

Bunlarda 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 - yalnızca% 15-20 oranında. Ve bu, bu durumda kontrolörün potansiyel yeteneklerini dört kat sınırlandırmış olmamıza rağmen! Birçok işlem için bu verim yeterlidir. Bir PCIe 2.0 hattı artık yeterli değil, bu nedenle kontrolörlerin PCIe 3.0'ı desteklemesi ve ciddi hat sıkıntısı yaşandığı durumlarda mantıklı geliyor. modern sistem bu oldukça işe yarayacaktır. Ek olarak, x4 genişliği kullanışlıdır; sistemde PCIe'nin modern sürümleri için destek olmasa bile, az ya da çok geniş bir aralık varsa yine de normal hızda (potansiyel olarak olabileceğinden daha yavaş da olsa) çalışmanıza izin verecektir. yuvası.

Prensip olarak, flash belleğin kendisinin bir darboğaz haline geldiği çok sayıda senaryo (evet, bu mümkündür ve yalnızca mekanikte mevcut değildir), PCIe'nin üçüncü versiyonunun dört şeridinin bu konuda sürücü ilkinden yaklaşık 3,5 kat daha hızlıdır - bu iki durumun teorik verimi 16 kat farklılık gösterir. Bu elbette çok yavaş arayüzlerde ustalaşmak için acele etmeniz gerektiği anlamına gelmiyor - onların zamanı sonsuza kadar gitti. Hızlı arayüzlerin birçok olanağı ancak gelecekte gerçekleştirilebilir. Veya ortalama bir kullanıcının karşılayabileceği koşullar altında normal bilgisayar hayatta asla doğrudan karşılaşmayacaklar (kendilerini kim bilir neyle ölçmeyi sevenler hariç). Aslında hepsi bu.

WiFi modülleri ve diğer benzer cihazlar. Bu lastiğin geliştirilmesine başlandı Intel şirketi 2002 yılında. Şimdi kar amacı gütmeyen kuruluş PCI Special Interest Group bu veri yolunun yeni versiyonlarını 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 kısmında yatay konumda bulunur.

PCI Express, PCI veri yolunu temel alarak geliştirilmiş bir veri yoludur. PCI Express ve PCI arasındaki temel farklar fiziksel seviye. PCI paylaşılan bir veri yolu kullanırken, PCI Express bir yıldız topolojisi kullanır. Her cihaz ayrı bir bağlantıyla ortak bir anahtara bağlanır.

PCI Express yazılım modeli büyük ölçüde PCI modelini takip eder. Bu nedenle, mevcut PCI denetleyicilerinin çoğu, PCI Express veriyolunu kullanacak şekilde kolayca değiştirilebilir.

Anakart üzerinde PCI Express ve PCI yuvaları

Ayrıca PCI Express veri yolu aşağıdaki gibi yeni özellikleri destekler:

  • Cihazların çalışırken takılması;
  • Garantili veri alışverişi hızı;
  • Enerji yönetimi;
  • İletilen bilgilerin bütünlüğünün izlenmesi;

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

PCI Express veri yolu aygıtları bağlamak için çift yönlü iletişimi kullanır. seri bağlantı. Ayrıca, böyle bir bağlantı bir (x1) veya birkaç (x2, x4, x8, x12, x16 ve x32) içerebilir. ayrı çizgiler. Bu tür çizgiler ne kadar çok kullanılırsa, daha yüksek hız Veri aktarımı PCI Express veri yolu ile sağlanabilmektedir. Desteklenen hat sayısına bağlı olarak anakart üzerindeki kalite boyutu farklı olacaktır. Bir (x1), dört (x4) ve on altı (x16) çizgili yuvalar vardır.

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

Üstelik herhangi bir PCI Express aygıtı, yuvada aynı veya daha fazla hat varsa herhangi bir yuvada çalışabilir. Bu, anakarttaki x16 yuvasına x1 konektörlü 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.

Gbit/s cinsinden tek yön/çift yön

Satır sayısı

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

PCI Express aygıtlarına örnekler

PCI Express öncelikle ayrı video kartlarını bağlamak için kullanılır. Bu otobüsün ortaya çıkışından bu yana kesinlikle tüm video kartları onu kullanıyor.

GIGABYTE Grafik Kartı GeForce GTX 770

Ancak PCI Express veri yolunun yapabileceği tek şey bu değil. Diğer bileşenlerin üreticileri tarafından kullanılır.

SUS Xonar DX ses kartı

SSD sürücüsü OCZ Z-Drive R4 Enterprise

Bu kartı kullanarak iki tane ekledim USB bağlantı noktası Bilgisayarınıza 3.0. Anakart Yerel bağlantı noktaları yok ve henüz yükseltme isteği de yok. Üstelik eskilik derecesine bağlı olarak bu durum işlemci, RAM, güç kaynağı ve kasada da değişikliğe yol açıyor. Bu nedenle PCI-E denetleyiciyle yetindim.

Çevrimdışı mağazalardan böyle bir denetleyici satın almakta herhangi bir sorun yoktur. Ama bana bu kadar küçük bir şey için fiyat çok yüksek gibi geldi. Genel olarak, kedi mağazalarında bileşen sipariş etmenin karlı olduğunu fark etmedim, ancak burada DE'de kontrolörün yarı fiyatına olduğu ortaya çıktı.
Buna 400 ruble için karar verdim. satın alabilirsin çünkü Cihaz kullanışlıdır. eğer varsa harici sert sürücü, ardından USB 3.0 ile bağlanmak daha keyifli.

Üç ay önce satın aldım. Paket içeriği: denetleyiciyi içeren kutu, ek güç adaptörü, sürücüleri içeren mini disk.

Bakmak


Kutusu mağazadaki gibi değil. Tahtanın kendisi bilgisayarda, onu çıkarmadım, tıpkı açıklamada olduğu gibi görünüyor.


Onu ücretsiz bir PCI-E'ye kurdum, ikinci video kartı için kullanılan x4'ü kullandım. Güç adaptörüne gerek yoktu çünkü Kabloyu sürücüye güç veren güç kaynağından aldım.

Bakmak




Windows 7 altında kurulum yapmak için diskteki sürücüyü kullandım. Talimatlarda olduğu gibi NEC olarak tanımlanmıştır. Ayrıca MAC ve Linux'un desteklenmediğini söylüyor.

Bakmak



Kullanım açısından hiçbir farkı yok normal USB limanlar. Yeni bir uzatma kablosu almam gerekiyordu.

Bağlantı istasyonunda (AgeStar) harici bir HDD (ST32000542AS) kullanıldığında elde edilen sonuçlar:
Sıralı kayıt hızı ~70 Mb/s.
Sıralı okuma hızı ~80 Mb/s.

Yeni anakartlardaki yerleşik USB3 ile karşılaştırıldığında. panolar - sonuç yaklaşık olarak aynıdır.

Genel olarak satın alabilirsiniz. Gerçekten eski USB'lerden daha hızlı kopyalar ve ucuzdur.

+8 almayı planlıyorum Favorilere ekle İncelemeyi beğendim +9 +13