導航:首頁 > 源碼編譯 > riscv編譯器優化

riscv編譯器優化

發布時間:2022-04-15 10:31:20

A. 相對於cisc指令系統,risc有哪些優點

risc指令系統相對於cisc指令系統優勢就在於:強調高效的流水和採用編譯方法進行流水調度,使得RISC技術設計風格得到很大補充和發展。

90年代初,IEEE的MichaelSlater對於RISC的定義作了如下描述:RISC處理器所設計的指令系統應使流水線處理能高效率執行,並使優化編譯器能生成優化代碼。

由於CISC技術在發展中出現了問題,計算機系統結構設計的先驅者們嘗試從另一條途徑來支持高級語言及適應VLSI技術特點。

1975年IBM公司JohnCocke提出了精簡指令系統的設想。到了1979年,美國加州大學伯克萊分校由Patterson教授領導的研究組,首先提出了RISC這一術語,並先後研製了RISC-Ⅰ和RISC-Ⅱ計算機。

(1)riscv編譯器優化擴展閱讀:

RISC為使流水線高效率執行,應具有下述特徵:

1.簡單而統一格式的指令解碼;

2.大部分指令可以單周期執行完成;

3.只有LOAD和STORE指令可以訪問存儲器;

4.簡單的定址方式;

5.採用延遲轉移技術;

6.採用LOAD延遲技術。

B. RISC的關鍵技術都有哪些謝謝

ARM11系列微處理器是ARM公司近年推出的新一代RISC處理器,它是ARM新指令架構——ARMv6的第一代設計實現。該系列主要有ARM1136J,ARM1156T2和ARM1176JZ三個內核型號,分別針對不同應用領域。本文將對全新的ARMv6架構進行介紹,並深入分析ARM11處理器的先進特點和關鍵技術。ARMv6結構體系實現新一代微處理器的第一步就是訂立一個新的結構體系。這里所說的結構體系只是對處理器行為進行描述,並不包括具體地指定處理器是如何被建造的。結構體系的定義提供了處理器和外界(操作系統,應用程序和調試支持)的介面,從細節上說,處理器結構體系定義了指令集、編程模式和最近的存儲器之間的介面。最新的ARM處理器架構—ARMv6,發布於2001年10月,它建立於過去十年ARM許多成功的結構體系基礎上。同處理器的授權相似,ARM也向客戶授權它的結構體系。比如,Intel的XScale就是基於ARMv5TE的處理器。本文也會就ARM11和Intel XScale的特點作一比較。 目標應用ARMv6架構是根據下一代的消費類電子、無線設備、網路應用和汽車電子產品等需求而制定的。ARM11的媒體處理能力和低功耗特點,特別適用於無線和消費類電子產品;其高數據吞吐量和高性能的結合非常適合網路處理應用;另外,也在實時性能和浮點處理等方面ARM11可以滿足汽車電子應用的需求。可以預言,基於AMRv6體系結構的ARM11系列處理器將在上述領域發揮巨大的作用。主要特點對於各種無線移動應用,毫無節制的提供高性能處理器是無用的。同成本控制類似,功耗的控制也是一個重要因素。ARM11系列處理器展示了在性能上的巨大提升,首先推出350M~500MHz時鍾頻率的內核,在未來將上升到1GHz時鍾頻率(如圖2)。 ARM11處理器在提供高性能的同時,也允許在性能和功耗間做權衡以滿足某些特殊應用。通過動態調整時鍾頻率和供應電壓,開發者完全可以控制這兩者的平衡。在0.13um工藝,1.2v條件下,ARM11處理器的功耗可以低至0.4mW/MHz。ARM11處理器同時提供了可綜合版本和半定製硬核兩種實現。可綜合版本可以讓客戶根據自己的半導體工藝開發出各有特色的處理器內核,並保持足夠靈活性。ARM實現的硬核則是為了滿足那些極高性能和速度要求的應用,同時為客戶節省實現的成本和時間。為了讓客戶更方便地走完實現流程,ARM11處理器採用了易於綜合的流水線結構,並和常用的綜合工具以及RAM compiler良好結合,確保了客戶可以成功並迅速的達到時序收斂。目前已有的ARM11處理器在不包含Cache的情況下面積小於2.7mm2,對於當前復雜的SoC設計來說,如此小的die size對晶元成本的降低是極其重要的。ARM11處理器在很多方面為軟體開發者帶來便利。一方面,它包含了更多的多媒體處理指令來加速視頻和音頻處理;另一方面,它的新型存儲器系統進一步提高了操作系統的性能;此外,還提供了新指令來加速實時性能和中斷的響應。再次,目前有很多應用要求多處理器的配置(多個ARM內核,或ARM+DSP的組合),ARM11處理器從設計伊始就注重更容易地與其他處理器共享數據,以及從非ARM的處理器上移植軟體。此外,ARM還開發了基於ARM11系列的多處理器系統——MPCORE(由二個到四個ARM11內核組成)。優秀的性能ARM11處理器的超強性能是由一系列的架構特點所決定的。ARMv6—決定性能的基礎ARMv6架構決定了可以達到高性能處理器的基礎。總的來說,ARMv6架構通過以下幾點來增強處理器的性能:多媒體處理擴展使MPEG4編碼/解碼加快一倍音頻處理加快一倍增強的Cache結構實地址Cache減少Cache的刷新和重載減少上下文切換的開銷增強的異常和中斷處理使實時任務的處理更加迅速= 支持Unaligned和Mixed-endian數據訪問使數據共享、軟體移植更簡單,也有利於節省存儲器空間對絕大多數應用來說,ARMv6保持了100%的二進制向下兼容,使用戶過去開發的程序可以進一步繼承下去。ARMv6 保持了所有過去架構中的T(Thumb指令)和E(DSP指令)擴展,使代碼壓縮和DSP處理特點得到延續;為了加速Java代碼執行速度的ARM Jazalle技術也繼續在ARMv6架構中發揮重要作用。ARM11處理器的內核特點ARM11處理器是為了有效的提供高性能處理能力而設計的。在這里需要強調的是,ARM並不是不能設計出運行在更高頻率的處理器,而是,在處理器能提供超高性能的同時,還要保證功耗、面積的有效性。ARM11優秀的流水線設計是這些功能的重要保證。 相近文章: · 中芯國際牽手飛索投產武漢12英寸廠 · 整合資源比亞迪接手寧波中緯半導體資產 · 東芝追加投資 通過SD卡擴大數字媒體交付 · IBM支持32nm/28nm ARM片上系統晶元 · 海力士關閉200mm晶圓「M7」DRAM工廠 編輯:潘爭本文引用地址: http://www.eeworld.com.cn/others/hotclick/200807/article_17973.html

C. RISC的關鍵技術都有哪些

RISC晶元的工作頻率一般在400MHZ數量級。時鍾頻率低,功率消耗少,溫升也少,機器不易發生故障和老化,提高了系統的可靠性。單一指令周期容納多部並行操作。在RISC微處理器發展過程中。曾產生了超長指令字(VLIW)微處理器,它使用非常長的指令組合,把許多條指令連在一起,以能並行執行。VLIW處理器的基本模型是標量代碼的執行模型,使每個機器周期內有多個操作。有些RISC處理器中也採用少數VLIW指令來提高處理速度。
RISC 和CISC 是目前設計製造微處理器的兩種典型技術,雖然它們都是試圖在體系結構、操作運行、軟體硬體、編譯時間和運行時間等諸多因素中做出某種平衡,以求達到高效的目的,但採用的方法不同,因此,在很多方面差異很大,它們主要有:
(1) 指令系統:RISC 設計者把主要精力放在那些經常使用的指令上,盡量使它們具有簡單高效的特色。對不常用的功能,常通過組合指令來完成。因此,在RISC 機器上實現特殊功能時,效率可能較低。但可以利用流水技術和超標量技術加以改進和彌補。而CISC 計算機的指令系統比較豐富,有專用指令來完成特定的功能。因此,處理特殊任務效率較高。
(2) 存儲器操作:RISC 對存儲器操作有限制,使控制簡單化;而CISC 機器的存儲器操作指令多,操作直接。
(3) 程序:RISC 匯編語言程序一般需要較大的內存空間,實現特殊功能時程序復雜,不易設計;而CISC 匯編語言程序編程相對簡單,科學計算及復雜操作的程序社設計相對容易,效率較高。
(4) 中斷:RISC 機器在一條指令執行的適當地方可以響應中斷;而CISC 機器是在一條指令執行結束後響應中斷。
(5) CPU:RISC CPU 包含有較少的單元電路,因而面積小、功耗低;而CISC CPU 包含有豐富的電路單元,因而功能強、面積大、功耗大。
(6) 設計周期:RISC 微處理器結構簡單,布局緊湊,設計周期短,且易於採用最新技術;CISC 微處理器結構復雜,設計周期長。
(7) 用戶使用:RISC 微處理器結構簡單,指令規整,性能容易把握,易學易用;CISC微處理器結構復雜,功能強大,實現特殊功能容易。
(8) 應用范圍:由於RISC 指令系統的確定與特定的應用領域有關,故RISC 機器更適合於專用機;而CISC 機器則更適合於通用機。
目前常見使用RISC的處理器包括DEC Alpha、ARC、ARM、MIPS、PowerPC和SPARC等

D. RISC-V指令集利與弊

優勢:

?1、指令只有六種格式,並且所有的指令都是 32 位長,這簡化了指令解碼

? 2、RISC-V 指令提供三個寄存器操作數

?3、在 RISC-V 中對於所有指令,要讀寫的寄存器的標識符總是在同一位置,意味著在解碼指令之前,就可以先開始訪問寄存器。

? 4、這些格式的立即數欄位總是符號擴展,符號位總是在指令中最高位。這意味著可能成為關鍵路徑的立即數符號擴展,可以在指令解碼之前進行

_錐耍?

_畲蟮奈侍饈_ISC-V作為一個開源的指令集架構,其相關的編譯器、開發環境、甚至成品晶元等相關生態仍然還在建立之中,生態不夠強大,大規模應用還需要一個過程。

E. RISC的指令集使編譯優化工作更____

哪裡說RISC更復雜了?

F. 如何看待開源指令集RISC-V

RISC是簡化指令集計算機的簡略縮寫,其風格是強調計算機結構的簡單性和高效性。RISC設計是從足夠的不可缺少的指令集開始的。它的速度比那些具有傳統復雜指令組計算機結構的機器快得多,而且RISC機由於其較簡潔的設計,較易使用,故具有更短的研製開發周期。RISC結構一般具有如下的一些特點:
①單周期的執行:它統一用單周期指令。從根本上克服了CISC指令周期數有長有短,造成運行中偶發性不確定,致使運行失常的問題。
②採用高效的流水線操作:使指令在流水線中並行地操作,從而提高處理數據和指令的速度。
③無微代碼的硬連線控制:微代碼的使用會增加復雜性和每條指令的執行周期。
④指令格式的規格化和簡單化:為與流水線結構相適應且提高流水線的效率,指令的格式必須趨於簡單和固定的規式。比如指令採用16位或32位的固定的長度,並且指令中的操作碼欄位、操作數欄位都盡可能具有統一的格式。此外,盡量減少定址方式,從而使硬體邏輯部件簡化且縮短解碼時間,同時也提高了機器執行效率和可靠性。
⑤採用面向寄存器堆的指令:RISC結構採用大量的寄存器——寄存器操作指令,使指令系統更為精簡。控制部件更為簡化,指令執行速度大大提高。由於VLSI技術的迅速發展,使得在一個晶元上做大量的寄存器成為可能。這也促成了RISC結構的實現。
⑥採用裝入/存儲指令結構:在CISC結構中。大量設置存儲器——存儲器操作指令,頻繁地訪問內存,將會使執行速度降低。RISC結構的指令系統中,只有裝入/存儲指令可以訪問內存,而其它指令均在寄存器之間對數據進行處理。用裝入指令從內存中將數據取出,送到寄存器;在寄存器之間對數據進行快速處理,並將它暫存在那裡,以便再有需要時。不必再次訪問內存。在適當的時候,使用一條存儲指令再將這個數據送回內存。採用這種方法可以提高指令執行的速度。
⑦注重編譯的優化,力求有效地支撐高級語言程序。
通常使用的單片機中,MCS一51系列的單片機屬於CISC的體系結構;AVR系列的單片機則屬於RISC的體系結構。

G. 8.什麼是CISC和RISC 簡述它們的特點和區別

CISC的英文全稱為「Complex Instruction Set Computer」,即「復雜指令系統計算機」,從計算機誕生以來,人們一直沿用CISC指令集方式。早期的桌面軟體是按CISC設計的,並一直沿續到現在。目前,桌面計算機流行的x86體系結構即使用CISC。微處理器(CPU)廠商一直在走CISC的發展道路,包括Intel、AMD,還有其他一些現在已經更名的廠商,如TI(德州儀器)、IBM以及VIA(威盛)等。在CISC微處理器中,程序的各條指令是按順序串列執行的,每條指令中的各個操作也是按順序串列執行的。順序執行的優點是控制簡單,但計算機各部分的利用率不高,執行速度慢。CISC架構的伺服器主要以IA-32架構(Intel Architecture,英特爾架構)為主,而且多數為中低檔伺服器所採用。
RISC的英文全稱為「Reced Instruction Set Computer」,即「精簡指令集計算機」,是一種執行較少類型計算機指令的微處理器,起源於80年代的MIPS主機(即RISC機),RISC機中採用的微處理器統稱RISC處理器。這樣一來,它能夠以更快的速度執行操作(每秒執行更多百萬條指令,即MIPS)。因為計算機執行每個指令類型都需要額外的晶體管和電路元件,計算機指令集越大就會使微處理器更復雜,執行操作也會更慢。
特點區別各方面如下:
1、指令系統

CISC
計算機的指令系統比較豐富,有專用指令來完成特定的功能。因此,處理特殊任務效率較高。

RISC

設計者把主要精力放在那些經常使用的指令上,盡量使它們具有簡單高效的特色。對不常用的功能,常通過組合指令來完成。因此,在RISC 機器上實現特殊功能時,效率可能較低。但可以利用流水技術和超標量技術加以改進和彌補。

2、存儲器操作

CISC
機器的存儲器操作指令多,操作直接。

RISC

對存儲器操作有限制,使控制簡單化。

3、程序

CISC

匯編語言程序編程相對簡單,科學計算及復雜操作的程序社設計相對容易,效率較高。

RISC

匯編語言程序一般需要較大的內存空間,實現特殊功能時程序復雜,不易設計。

4、中斷

CISC

機器是在一條指令執行結束後響應中斷。

RISC

機器在一條指令執行的適當地方可以響應中斷。

5、CPU

CISC

CPU包含有豐富的電路單元,因而功能強、面積大、功耗大。

RISC

CPU包含有較少的單元電路,因而面積小、功耗低。

6、設計周期

CISC

微處理器結構復雜,設計周期長。

RISC

微處理器結構簡單,布局緊湊,設計周期短,且易於採用最新技術。

7、用戶使用

CISC

微處理器結構復雜,功能強大,實現特殊功能容易。

RISC

微處理器結構簡單,指令規整,性能容易把握,易學易用。

8、應用范圍
CISC

機器則更適合於通用機。

RISC

由於RISC指令系統的確定與特定的應用領域有關,故RISC 機器更適合於專用機。

H. riscv的CPU設計

RISC(精簡指令集計算機)和CISC(復雜指令集計算機)是當前CPU的兩種架構。它們的區別在於不同的CPU設計理念和方法。
早期的CPU全部是CISC架構,它的設計目的是要用最少的機器語言指令來完成所需的計算任務。比如對於乘法運算,在CISC架構的CPU上,您可能需要這樣一條指令:MUL ADDRA, ADDRB就可以將ADDRA和ADDRB中的數相乘並將結果儲存在ADDRA中。將ADDRA, ADDRB中的數據讀入寄存器,相乘和將結果寫回內存的操作全部依賴於CPU中設計的邏輯來實現。這種架構會增加CPU結構的復雜性和對CPU工藝的要求,但對於編譯器的開發十分有利。比如上面的例子,C程序中的a*=b就可以直接編譯為一條乘法指令。今天只有Intel及其兼容CPU還在使用CISC架構。
RISC架構要求軟體來指定各個操作步驟。上面的例子如果要在RISC架構上實現,將ADDRA, ADDRB中的數據讀入寄存器,相乘和將結果寫回內存的操作都必須由軟體來實現,比如:MOV A, ADDRA; MOV B, ADDRB; MUL A, B; STR ADDRA, A。這種架構可以降低CPU的復雜性以及允許在同樣的工藝水平下生產出功能更強大的CPU,但對於編譯器的設計有更高的要求。

I. RISC技術有什麼特點

RISC的英文全稱是Reced Instruction Set Computer,中文是精簡指令集計算機,它的指令系統相對簡單,它只要求硬體執行很有限且最常用的那部分指令,大部分復雜的操作則使用成熟的編譯技術,由簡單指令合成。其技術特點:

1、大多數指令在單周期內完成

2、採用LOAD/STORE結構。因為訪問存儲器指令所需要的時間比較長,在指令系統中要盡量減少這類指令,所以RISC指令中只保留不可再少的LOAD/STORE兩種存儲器訪問指令

3、硬布線控制邏輯。使得大多數指令在單周期內執行完成,以減少為程序技術中的指令解釋開銷

4、減少指令和定址方式的種類

5、固定的指令格式

6、解碼優化

7、面向寄存器結構

8、注重提高流水線的執行效率,盡量讓減少流水線斷流,提高流水線效率

9、優化編譯技術

(9)riscv編譯器優化擴展閱讀

RISC中的關鍵技術

1、延時轉移技術

在RISC處理機中採用流水線工作方式,取指令和執行指令並行工作,那麼當遇到條件轉移指令時,流水線可能斷流。為了盡量保證流水線的執行效率,在轉移指令之後插入一條有效的指令,而轉移指令好像被延時了,這樣了技術即為延遲轉移技術。通常指令序列的調整由編譯器自動進行。需要注意的是:調整指令序列是不能改變原有程序的數據關系;被移動的指令不破壞機器的條件碼。

2、指令取消技術

由於採用指令延遲技術中,遇到條件轉移指令時,調整指令序列比較困難,採用了指令取消技術。所有轉移指令和數據變換指令都可以決定待執行指令是否應該取消。為了提高執行效率,採用取消規則為:如果向後轉移(轉移的目標地址小雨當前程序計數器PC值),則轉移不成功時取消下一條指令,否則執行下一條指令;如果向前轉移,則相反,在轉移不成功時執行下一條指令,否則取消。

3、重疊寄存器窗口技術

由於RISC的指令系統比較簡單,通常採用一段子程序來實現。因此RISC中的CALL和RETURN非常多,而且都需要通過堆棧操作保存前一過程指針、數據等。為了盡量減少因為CALL和RETURN操作訪問存儲器的量,提出了重疊寄存器窗口技術。基本思想:在處理器中設置一個數量較大的寄存器堆,並劃分成窗口。每個過程使用其中的三個窗口和一個公共窗口,而在這些窗口中有一個窗口式前一個過程公用的,還有一個窗口是與後一個過程共用。與前一過程公用的窗口可以用來存放前一過程傳遞被本過程的參數。

4、指令流水調整技術

為了保持指令流水線高效率,不斷流,優化編譯器必須分析程序的數據流和控制流。當發現指令有斷流可能時,要調整指令順序。有些可以通過變數重命名來消除的數據相關,要盡量消除。例如:
ADD R1,R2,R3; (R1)+(R2)->R3
ADD R3,R4,R5; (R3)+(R4)->R5
MUL R6,R7,R3; (R6)*(R7)->R3
MUL R3,R8,R9; (R3)*(R8)->R9
調整指令後
ADD R1,R2,R3;
MUL R6,R7,R0;
ADD R3,R4,R5;
MUL R0,R8,R9;
調整指令後,速度可以提高一倍。

5、硬體為主固件為輔

指令系統採用為程序實現的優點:便於實現復雜指令,便於修改指令系統,增加機器的靈活性,但是速度慢。所以RISC一般採用硬體為主固件為輔的方法實現指令。

J. 指令系統的復雜指令系統與精簡指令系統

早期的計算機, 存儲器是一個很昂貴的資源, 因此希望指令系統能支持生成最短的程序。此外, 還希望程序執行時所需訪問的程序和數據位的總數越少越好。在微程序出現後, 將以前由一串指令所完成的功能移到了微代碼中, 從而改進了代碼密度。此外, 它也避免了從主存取指令的較慢動作, 從而提高執行效率。在微代碼中實現功能的另一論點是: 這些功能能較好的支持編譯程序。如果一條高級語言的語句能被轉換成一條機器語言指令, 這可使編譯軟體的編寫變得非常容易。此外, 在機器語言中含有類似高級語言的語句指令, 便能使機器語言與高級語言的間隙減少。這種發展趨向導致了復雜指令系統( CISC) 設計風格的形成, 即認為計算機性能的提高主要依靠增加指令復雜性及其功能來獲取。
CISC 指令系統的主要特點是:
( 1) 指令系統復雜。具體表現在以下幾個方面:
① 指令數多, 一般大於100 條。
② 定址方式多, 一般大於4 種。
③ 指令格式多, 一般大於4 種。
( 2) 絕大多數指令需要多個機器時鍾周期方可執行完畢。
( 3) 各種指令都可以訪問存儲器。
CISC 指令系統主要存在如下三方面的問題:
( 1) CISC 中各種指令的使用頻度相差很懸殊, 大量的統計數字表明, 大約有20%的指令使用頻度比較高, 占據了80%的處理機時間。換句話說, 有80%的指令只在20%的處理機運行時間內才被用到。
( 2) VLSI 的集成度迅速提高, 使得生產單晶元處理機成為可能。在單晶元處理機內, 希望採用規整的硬布線控制邏輯, 不希望用微程序。而在CISC 處理機中, 大量使用微程序技術以實現復雜的指令系統, 給VLSI 工藝造成很大困難。
( 3) 雖然復雜指令簡化了目標程序, 縮小了高級語言與機器指令之間的語義差距, 然而增加了硬體的復雜程度, 會使指令的執行周期大大加大, 從而有可能使整個程序的執行時間反而增加。 由於CISC 技術在發展中出現了問題, 計算機系統結構設計的先驅者們嘗試從另一條途徑來支持高級語言及適應VLSI 技術特點。1975 年IBM 公司Jo hn Cocke 提出了精簡指令系統的設想。到了1979 年, 美國加州大學伯克萊分校由Patter son 教授領導的研究組, 首先提出了RISC 這一術語, 並先後研製了RISC-Ⅰ和RISC- Ⅱ計算機。1981 年美國的斯坦福大學在Hennessy教授領導下的研究小組研製了M IPS RISC 計算機, 強調高效的流水和採用編譯方法進行流水調度, 使得RISC 技術設計風格得到很大補充和發展。
90 年代初, IEEE 的Michael Slater 對於RISC 的定義作了如下描述:RISC 處理器所設計的指令系統應使流水線處理能高效率執行, 並使優化編譯器能生成優化代碼。
RISC 為使流水線高效率執行, 應具有下述特徵:
( 1) 簡單而統一格式的指令解碼;
( 2) 大部分指令可以單周期執行完成;
( 3) 只有LOAD 和ST ORE 指令可以訪問存儲器;
( 4) 簡單的定址方式;
( 5) 採用延遲轉移技術;
( 6) 採用LOAD 延遲技術。
RISC 為使優化編譯器便於生成優化代碼, 應具有下述特徵:
( 1) 三地址指令格式;
( 2) 較多的寄存器;
( 3) 對稱的指令格式。
RISC 的主要問題是編譯後生成的目標代碼較長, 佔用了較多的存儲器空間。但由於半導體集成技術的發展, 使得RAM 晶元集成度不斷提高和成本不斷下降, 目標代碼較長已不成為主要問題。RISC 技術存在另一個潛在缺點是對編譯器要求較高,除了常規優化方法外, 還要進行指令順序調度, 甚至能替代通常流水線中所需的硬體聯鎖功能。

閱讀全文

與riscv編譯器優化相關的資料

熱點內容
微贊直播用的什麼伺服器 瀏覽:540
哪個保皇app可以邀請好友 瀏覽:316
phpredis管理 瀏覽:561
程序員培養基地 瀏覽:674
linux查看bin 瀏覽:874
float賦值java 瀏覽:946
android70字體 瀏覽:941
程序員英文不好行嗎 瀏覽:868
如何使用主機伺服器pdf 瀏覽:701
打開下層文件夾代碼 瀏覽:455
適配平板的app是什麼意思 瀏覽:45
java寫一個方法 瀏覽:682
中原大學php視頻教程 瀏覽:501
沖壓模具設計pdf 瀏覽:690
程序員考哪些證 瀏覽:233
李世民命令薛收為魚作賦 瀏覽:776
阿里雲伺服器2核8g內存 瀏覽:157
phpyii框架開發文檔 瀏覽:994
視頻監控管理伺服器有什麼用 瀏覽:182
mysqlphp變數 瀏覽:289