




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、PCIe接口介紹PCIe接口簡介PCIe(Peripheral Component Interconnect Express)總線的誕生與PC(Personal Computer)的蓬勃發展密切相關,是由PCISIG (PCI Special Interest Group,主要是intel)推出的一種局部并行總線標準,主要應用于電腦和服務器的主板上(目前幾乎所有的主板都有PCIe的插槽),功能是連接外部設備(如顯卡、存儲、網卡、聲卡、數據采集卡等)。PCI總線規范最早在上世紀九十年代提出,屬于單端并行信號的總線,目前已淘汰,被PCIe總線(在2001年發布,采用點對點串行連接)替代。目前PCI
2、e的主流應用是3.0,4.0還沒正式推出,但標準已經制定的差不多了。PCI總線使用并行總線結構,在同一條總線上的所有外部設備共享總線帶寬,而PCIe總線使用了高速差分總線,并采用端到端的連接方式,因此在每一條PCIe鏈路中只能連接兩個設備。這使得PCIe與PCI總線采用的拓撲結構有所不同。PCIe總線除了在連接方式上與PCI總線不同之外,還使用了一些在網絡通信中使用的技術,如支持多種數據路由方式,基于多通路的數據傳遞方式,和基于報文的數據傳送方式,并充分考慮了在數據傳送中出現服務質量QoS (Quality of Service)問題。每一個Lane上使用的總線頻率與PCIe總線使用的版本相關
3、。PCIe總線規范總線頻率單Lane的峰值帶寬編碼方式1.x1.25GHz2.5GT/s8/10b編碼2.x2.5GHz5GT/s8/10b編碼3.X4GHz8GT/s128/130b編碼如上表所示,不同的PCIe總線規范使用的總線頻率并不相同,其使用的數據編碼方式也不相同。PCIe總線V1.x和V2.0規范在物理層中使用8/10b編碼,即在PCIe鏈路上的10 bit中含有8 bit的有效數據;而V3.0規范使用128/130b編碼方式,即在PCIe鏈路上的130 bit中含有128 bit的有效數據。實際使用中,PCIe無法一直維持在峰值傳輸狀態,因為編碼方式、鏈路管理消耗、存儲時間延遲等
4、原因,一般只有50%60%的效率。PCIe接口原理連接方式PCIe鏈路使用“端到端的數據傳送方式”,發送端和接收端中都含有TX(發送邏輯)和RX(接收邏輯), 其結構如圖一。由上圖所示,在PCIe總線的物理鏈路的一個數據通路(Lane)中,由兩組差分信號,共4根信號線組成。其中發送端的TX部件與接收端的RX部件使用一組差分信號連接,該鏈路也被稱為發送端的發送鏈路,也是接收端的接收鏈路;而發送端的RX部件與接收端的TX部件使用另一組差分信號連接,該鏈路也被稱為發送端的接收鏈路,也是接收端的發送鏈路。PCIe鏈路使用差分信號進行數據傳送,一個差分信號由D+和D-兩根信號組成,信號接收端通過比較這兩
5、個信號的差值,判斷發送端發送的是邏輯“1”還是邏輯“0”。PCIe鏈路可以由多條Lane組成,目前PCIe鏈路可以支持1、2、4、8、12、16和32個Lane,即×1、×2、×4、×8、×12、×16和×32寬度的PCIe鏈路。在主板上常見的是PCIe X1、PCIe X4和PCIe X16接口;PCIe的信號線PCIe的接口保證了前向兼容(3.X/2.X/1.X的信號定義一樣,只是信號線上的速度和電平不同),主要分為電源、信號傳輸lane和一些輔助信號。PCIe插槽的pin腳定義如下(灰色背景色的是輔助信號):電源有12
6、V、3.3V和3.3Vaux。其中12V主要給PCIe設備(如顯卡)提供更大的供電能力(PCIe 3.0 的插槽最大有150W);PCIe設備使用的主要邏輯模塊均使用3.3V供電,對于芯片內部的PCIe模塊,大多只需要3.3V;而一些與電源管理相關的邏輯使用3.3Vaux供電。在PCIe設備中,一些特殊的寄存器通常使用3.3Vaux供電,如Sticky Register,此時即使PCIe設備的其他電源被移除,這些與電源管理相關的邏輯狀態和這些特殊寄存器的內容也不會發生改變。在PCIe總線中,使用3.3Vaux的主要原因是為了降低功耗和縮短系統恢復時間。因為3.3Vaux在多數情況下并不會被移除
7、,因此當PCIC設備的電源恢復(喚醒)后,該設備不用重新恢復使用3.3Vaux供電的邏輯,從而設備可以很快地恢復到正常工作狀狀態。PETp015、PETn015和PERp015、PERn015共64根信號線組成32對差分信號,其中16對PETxx信號用于發送鏈路,另外16對PERxx信號用于接收鏈路。輔助信號:1、PERST信號:該信號為全局復位信號,由主系統提供,主系統需要為PCIe插槽和PCIe設備提供該復位信號。PCIe設備使用該信號復位內部邏輯。當該信號有效時,PCIe設備將進行復位操作。2、REFCLK+和REFCLK-信號:參考時鐘,其頻率范圍為100MHz±300ppm
8、。當PCIe設備作為Add-In卡連接在PCIe插槽時,可以直接使用PCIe插槽提供的REFCLK+和REFCLK-信號,也可以使用獨立的參考時鐘,只要這個參考時鐘在100MHz±300ppm范圍內即可。3、WAKE#信號:當PCIe設備進入休眠狀態,主電源已經停止供電時,PCIe設備使用該信號向處理器系統提交喚醒請求,使處理器系統重新為該PCIe設備提供主電源Vcc。在PCIe總線中,WAKE#信號是可選的,因此使用WAKE#信號喚醒PCIe設備的機制也是可選的。值得注意的是產生該信號的硬件邏輯必須使用輔助電源Vaux供電。PCIe設備除了可以使用WAKE#信號實現喚醒功能外,還可
9、以使用Beacon信號實現喚醒功能。與WAKE#信號實現喚醒功能不同,Beacon使用In-band信號,即差分信號D+和D-實現喚醒功能。Beacon信號DC平衡,由一組通過D+和D-信號生成的脈沖信號組成。這些脈沖信號寬度的最小值為2ns,最大值為16us。當PCIe設備準備退出L2狀態(該狀態為PCIe設備使用的一種低功耗狀態)時,可以使用Beacon信號,提交喚醒請求。4、SMCLK和SMDAT信號:SMCLK和SMDAT信號與x86處理器的SMBus(System Mangement Bus)相關。SMBus于1995年由Intel提出,SMBus由SMCLK和SMDAT信號組成。S
10、MBus源于I2C總線,以便于PCI/PCIe設備與處理器系統進行交互。5、JTAG信號:JTAG(Joint Test Action Group)是一種國際標準測試協議,與IEEE 1149.1兼容,主要用于芯片內部測試。目前絕大多數器件都支持JTAG測試標準。JTAG信號由TRST#、TCK、TDI、TDO和TMS信號組成。其中TRST#為復位信號;TCK為時鐘信號;TDI和TDO分別與數據輸入和數據輸出對應;而TMS信號為模式選擇。6、PRSNT1#和PRSNT2#信號:PRSNT1#和PRSNT2#信號與PCIe設備的熱插拔相關。在基于PCIe總線的Add-in卡中,PRSNT1#和P
11、RSNT2#信號直接相連,而在處理器主板中,PRSNT1#信號接地,而PRSNT2#信號通過上拉電阻接為高。PCIe設備的熱插拔結構如下圖所示。如上圖所示,當Add-In卡沒有插入時,處理器主板的PRSNT2#信號由上拉電阻接為高,而當Add-In卡插入時主板的PRSNT2#信號將與PRSNT1#信號通過Add-In卡連通,此時PRSNT2#信號為低。處理器主板的熱插拔控制邏輯將捕獲這個“低電平”,得知Add-In卡已經插入,從而觸發系統軟件進行相應地處理。拓撲結構一個PCIe系統的拓撲結構包括四個功能類型根聯合體根聯合體(root complex)、交換器(switch)、端點(EPendp
12、oint)和橋(圖2)。虛線代表著兩個PCIe設備間的一個連接,被稱為鏈路。根聯合體對整個PCIe建構實施初始化并配置各鏈路。它通常把中央處理單元 (CPU)與其它三 個功能中的一或多個PCIe交換器、PCIe端點和PCIe到PCI橋 連接起來。 PCIe交換器把數據路由至下游多個PCIe端口,并分別從其中每個端口路由到上游唯一一個根聯合體。PCIe交換器也可以靈活地把數據從一個下游端口路由到另一個下游端口(點對點),它消除了傳統PCI系統限制性的樹狀結構。 端點通常位于終端應用內,它負責連接應用與系統內的PCIe網絡。端點要求并完成PCIe事務傳輸。一般來說,系統內的端點比任何其他類型的PC
13、Ie部件都要多。 橋用于連接PCIe與系統內諸如PCI/PCI-X等其他PCI總線標準;這樣的系統同時采用上述各總線 架構。PCIe層次結構PCIe規范定義的協議遵循開放源碼促進會(OSI)模型。該模型分為5個基本層,如下圖左側所示。事務層(Transaction層)定義了PCIe總線使用總線事務,其中多數總線事務與PCI總線兼容。這些總線事務可以通過Switch等設備傳送到其他PCIe設備或者RC。RC也可以使用這些總線事務訪問PCIe設備。事務層接收來自PCIe設備應用層(圖中xx層)的數據,并將其封裝為TLP(Transaction Layer Packet)后,發向數據鏈路層。此外事務
14、層還可以從數據鏈路層中接收數據報文,然后轉發至PCIe設備的應用層。在PCIe總線中,事務層傳遞報文時可以亂序,還可以使用流量控制機制保證PCIe鏈路的使用效率。 數據鏈路層(Link層)保證來自發送端事務層的報文可以可靠、完整地發送到接收端的數據鏈路層。來自事務層的報文在通過數據鏈路層時,將被添加Sequence Number前綴和CRC后綴。數據鏈路層使用ACK/NAK協議保證報文的可靠傳遞。PCIe總線的數據鏈路層還定義了多種DLLP(Data Link Layer Packet),DLLP產生于數據鏈路層,終止于數據鏈路層。值得注意的是,TLP與DLLP并不相同,DLLP并不是由TLP
15、加上Sequence Number前綴和CRC后綴組成的。 物理層(Physical層)是PCIe總線的最底層,將PCIe設備連接在一起。PCIe總線的物理電氣特性決定了PCIe鏈路只能使用端到端的連接方式。在上圖的右邊,我們對其余層進行了展開,以更準確地顯示那些更靠底部的層是如何映射到物理硬件實現的。 如上圖所示,物理層分為兩個子層:電氣和邏輯層。不少公司已經在電氣層和邏輯層間定義了一個稱為PCI Express(PIPE)的物理接口,并對其加以利用。PIPE接口使設計能參照一個標準接口進行且還能使購自不同廠商的多個部件協同工作。 物理層下的電氣子層實現包括收發器、模擬緩沖器、串行/解串行器
16、(SerDes)在內的模擬器件以及10位接口。 物理編碼子層(PCS)把每8位數據字節編碼/解碼為10位代碼。這種編碼特性不僅能檢查有效字符,而且也限制了被發送的“0”和“1”數量上的差異,從而同時在發射器和接收器側保持了DC均衡,進而大大提高了電磁兼容性(EMC)和電氣信號性能。 在物理層內PIPE接口的另一側包含用以指示鏈路訓練和狀態的狀態機(LTSSM)、通道間去除偏移、特殊序列檢測和生成等功能。 機械層定義了諸如對連接器、卡外形尺寸、卡檢測和熱插拔等要求的機械環境。在實際物理硬件內,還有另一種分層:從串行引腳層到PIPE接口層統稱為物理層(PHY);從PIPE接口到應用的那些層統稱為數
17、字控制器。任何給定PCIe鏈路的端點都必須包括物理層和數字控制器。下圖顯示了插入到根聯合體內的PCIe物理層和控制器。端點使用端點端口控制器,根聯合體設備使用根端口控制器。PCIe PHYPCIe的PHY主要有物理編碼子層(PCS)和電氣子層(Electrical)。物理編碼子層(PCS)主要功能是8b10b的編碼和解碼(實現內嵌時鐘,DC平衡)、Rx檢測等,屬于數字部分,功能屬于物理層的邏輯子層的一部分。不同的PCIe協議,編碼方式也不同;而電氣子層(Electrical)的核心是串行/解串行器(SerDes)。在發送端(TX),將并行數據轉變為串行數據,然后以差分的形式發送到物理信道上;在
18、接收端(RX),要將收到的串行差分信號變成并行數據,然后送到上一級的PCS層。PHY上的串行/解串行器(SerDes)是核心電路,屬于模擬部分,也是設計難點。因為PCIe信號的速度很高,信號時鐘都是幾個G(1.0為1.25G,2.0為2.5G,3.0為4G),信號通路上的接插件、PCB走線等因素,會導致信號出現噪音和衰減,導致信號完整性問題的發生;如上圖的例子,1.25Gbps和5Gbps數據流的二進制眼圖,信號都是采用26英寸(0.66m)長的標準FR4板材傳輸的。圖右側對應的二進制眼圖顯示的是在接收端信號的衰減。 1.25Gbps數據流在傳輸過程中,信號得以相當好地保留;但由于在高于1GH
19、z頻率速率下,低成本FR4基板和互連材料引入的介電損耗,5Gbps眼圖的大小和清晰度已被嚴重惡化。頻率越高,損耗越大;從而導致無法接受的1-0-1-0位流(本質上是交流信號)失真,盡管一系列全“1”或全“0”(本質上是直流信號)能成功傳輸。解決方案是通過加大相對于低頻(DC)信號而言的高頻(AC)信號的幅值來提升總體信噪比它是個稱為預加重的過程。另一種方法是對較低頻率的信號進行去加重。在發射器端采用預加重可為接收端提供干凈的眼圖從而能使裕度滿足規范。PCIe控制器PCIe控制器的功能是,按照PCIe的協議,用硬件電路實現規范定義的事物層、鏈路層和物理層中的一部分功能(如指示鏈路訓練和狀態的狀態
20、機(LTSSM)、通道間去除偏移、特殊序列檢測和生成等功能);PCIe數據包PCI Express采用數據包在各系統間以及數字接口的各層和PCIe設備間傳輸數據。應用層發起事務傳輸,事務傳輸層把應用請求轉換為一個PCIe事務包。數據鏈路層為該數據包增加一個序列號和鏈路CRC (LCRC)。數據鏈路層還確保該雙向事務接收正確(下圖)。最后,物理層在PCIe鏈路上傳輸該事務。PCIe數據包主要有2類:傳輸數據的事物包(TLP)和管理鏈路狀態的鏈路包(DLLP);PCIe控制器的物理層控制器的物理層負責與PHY進行接口,并管理用于初始化鏈路和格式化數據包的許多功能。利用特殊序列來建立物理鏈路、進入和
21、退出低功耗鏈路狀態等。物理層的接收部分負責: 負責包含多通道鏈路的通道映射、通道到通道間的去偏移。 數據解擾。 發現數據包并實施去幀化處理。 檢測特殊數據包序列,如:TS1、TS2、Skip(跳過)和電氣閑置;物理層的發射部分負責: 采用特殊符號插入對數據包進行幀化處理;如用STP或SDP符號標志數據包的開始,用END符號標記數據包結束。 數據加擾。 鏈路控制初始化、寬度和通道反轉協商。 多通道傳輸控制。 生成跳躍序列以補償鏈路兩端的時鐘PPM差。下面對上面涉及的一些功能做簡單的描述:通道映射:使順序傳送數據包在多通道鏈路上同時發送,從而大大增加了吞吐量。接收器物理層以正確順序對數據包進行重組
22、(見下圖)。數據加擾:加擾解擾的作用是解決EMI的問題:當數據重復傳輸時,能量就會集中在某一頻率上,產生EMI噪聲;數據經過加擾后,能把集中的能量分散開,幾乎變成白噪聲;對數據信息加擾的算法:G(X)=X16+X5+X4+X3+1;鏈路訓練:目的是初始化物理層、端口配置信息、相應的鏈路狀態,并了解鏈路的拓撲結構,以便PCIe鏈路兩端的設備進行通信。比如將一個x4的PCIe設備接到x16的插槽上,此時必須要通過鏈路訓練,來確定實際鏈路兩端的設備狀態。此外,為了PCB走線方便,鏈路兩端的設備使用的lane可以錯序或極性反轉連接(如下圖),也必須通過訓練來確定具體的連接方式;為了進行鏈路訓練,需要發
23、送一些特殊的字符序列:TS1和TS2序列、Idle序列、FTS序列、SKIP序列等;TS1和TS2序列,即普通的訓練序列(Training Sequence),其中TS1序列的主要作用是檢測PCIe鏈路的配置信息,而TS2序列確認TS1序列的結果,有16個字符組成,具體見PCIe規范(表4-2和表4-3);Idle序列:要進入或退出空閑狀態(Idle)所發送的序列;FTS序列:主要目的是使接收端RX能重新獲得bitsymbol Lock,發送端TX要發送的FTS序列個數由接收到的TS1/2序列決定,TS1/2序列的第3個字符是需要發送的FTS個數;SKIP序列:作用是進行時鐘補償;因為在接收端
24、RX中,存在2個時鐘:1個是通過PLL從報文中恢復的時鐘,另一個是本地時鐘,這2個時鐘并不完全同步。在RX端有個同步FIFO來進行同步,該FIFO的大小固定,2端時鐘誤差太大FIFO就會溢出。所以每個lane在發送一定長度的字符后,必須要根據FIFO的狀態增加或減少發送SKIP序列來補償2端時鐘的誤差;在進行鏈路訓練時,使用的是LTSSM狀態機,如下圖,這里就不深入了;PCIe控制器的數據鏈路層數據鏈路層確保可靠的數據交換,負責錯誤檢測和重傳、流量控制額度(FCC)的初始化和更新以及電源管理服務。為實現這些功能,數據鏈路層生成并處理數據鏈路層數據包(DLLP)。 一旦LTSSM發出物理鏈路協商
25、,數據鏈路層就被啟能。在此,各端點的數據鏈路層利用流量控制 (FC)初始化協議進行鏈路初始化。使用該協議交互各鏈路伙伴可用的排隊資源的資訊。一旦完成FC初始化,鏈接就準備好為事務傳輸層提供可靠的數據傳輸服務。在TLP傳輸時,定期流量控制更新繼續追蹤緩沖區的可用空間以防止溢出。 數據鏈路層在不可靠(有損耗)的物理鏈路上提供了可靠的數據傳輸服務。它是通過驗證收到的TLP及使用接收到數據的正確認并在接收失敗時重新傳送數據來做到這點的。當TLP被發送時,它們被分配給序列號,并采用一個CRC碼且把該碼發送至物理層以用于串行鏈路上的傳輸。接收時,檢查CRC和序列號。CRC內的錯誤或出序的序列號顯示發生了傳
26、輸錯誤,信號通過給出負確認(NAK)予以響應。接到NAK后,發送器重新傳送數據包,該數據包被存儲在專為此目的設置的“重傳”緩存器內。若CRC序列號檢查成功,接收器發出正確認(ACK)。對給定TLP來說,僅當收到ACK時,才對重傳緩沖區進行數據刷新。使用此協議,數據鏈路層可以保證TLP的正確發送。PCIe控制器的事物傳輸層數據傳輸層創制出站及接收入站事務傳輸層數據包(TLP)。TLP包括一個報頭、一個可選數據配載以及一個可選的端到端CRC(ECRC)。TLP既可以是請求也可以是對請求(完成)的響應,它永遠是4個字節(1個DWORD)的倍數。報頭指定事務類型、優先級、地址,路由規則及其他數據包特征
27、。發送事務傳輸層構建數據包報頭、伺機添加ECRC并門控數據包的傳輸(直到有足夠的遠程流量控制額度可用)。接收事務傳輸層檢查TLP格式和報頭。它也擇機檢查ECRC。PCIe基本功能和屬性吞吐量:流量控制額度 如前所述,PCIe連接的兩端采用流量控制額度(FCC)以確保數據不會因緩沖區溢出而丟失。流量 控制額度因而對總有效吞吐量發揮著關鍵作用。 流量控制額度就是關于接收器緩沖器容量的信息,因而由接收器件發出。鏈路的發送端只傳送接收端有足夠空間所能容納接收的數據包的數量,在數據包發送過程中這些空間在減少。鏈路的接收端隨著其緩沖空間的空出,會接著發布緩沖器容量信息。有用于送出、未送出和完成的流量控制隊
28、列,因此,有三類流量控制DLLP。另外還有: Init_FC DLLPs定義各FC類(P、NP、CPL)的初始緩沖空間 ;Update_FC DLLPs用來宣告又有新“額度”;QoS:傳輸類別和虛擬通道 傳輸分類和通道虛擬化使系統能為不同應用提供不同的服務質量(QoS)。如在PC中,會給視頻流以最高優先級以確保有足夠的帶寬提供高品質視頻,保證其不會被其它應用阻擾。在網絡服務器應用中,這種優先級對網絡服務提供商的經營來說必不可少,它們必須要能以不同的服務定價提供多種服務水平不同的服務。 通道虛擬化允許多個獨立的數據流復用同一條線路。虛擬通道擁有自己的緩沖資源。 傳輸分類使用傳輸類標記定義端到端的
29、優先級,任何數據包都會被指配一個針對其它流通的優先級。根聯合體為每一傳輸類分配一個虛擬通道,雖然在數據包路徑上的不同點可能會有不同的虛擬通道。靈活的仲裁機制使虛擬通道保有必要的優先級和服務水準。仲裁機制包括:任意(自定義)、循環賽、加權輪循等。RAS:數據完整性 數據完整性是由采用一系列必要和可選的協議特性保證的。所需要的特性有: 物理層檢查8b/10b編碼/解碼以剔除無效字符。 鏈路層檢查數據包CRC(PCRC)檢查;數據包序號檢查;驗證確認/負確認(ACK/NAK)。 事務傳輸層檢查報頭和數據包有效性;完成超時。 可選特性無論可選或不可選,任何PCIe IP實際上都該支持的特性有接收器溢出檢查、流量控制錯誤檢查、端對端CRC(ECRC)檢查、損壞的TLP檢查、存儲器奇偶校驗和數據通路奇偶校驗。RAS: 排序/PCI規則 排序衍生自PCI模型,它有兩個目標: 為避免系統死鎖。PCIe是通過確保一些數據包類型必須要能通過被隔阻的其他類型做到這點 的;因此,有些數據包類型
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國板栗行業市場發展現狀及競爭策略與投資前景研究報告
- 2025-2030中國團體健康險行業市場深度調研及發展前景與投資前景研究報告
- 2025年超市促銷活動計劃及效果分析
- 信息技術工程總承包項目管理計劃
- 資產管理服務協議合同書
- 七年級數學教學計劃與實踐指導
- 2025年兒科護士培訓與發展計劃
- 九年級英語互動游戲教學計劃
- 項目管理咨詢服務合同
- 時尚與服裝行業協會年度工作計劃
- 2024年宿州泗縣縣屬國有企業公開招聘工作人員33人筆試參考題庫附帶答案詳解
- 新員工保密基本培訓
- 2025會考生物復習專項九社會熱點與科學前沿練習課件(共18張)
- 成都醫學院專職輔導員招聘真題2024
- 租賃平臺創業計劃書
- 生物安全管理體系文件
- 《智能媒體傳播》課程教學大綱
- 建筑工程中的項目管理與團隊合作
- 2025年中國廣電網絡股份有限公司招聘筆試參考題庫含答案解析
- 花卉生產與苗圃基地建設環境影響報告書(共5)
- 保潔員工安全意識防范
評論
0/150
提交評論