<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于CPU芯片江湖中的門派標志指令集

中科院半導體所 ? 來源:芯論語 ? 作者:芯論語 ? 2020-12-30 09:29 ? 次閱讀

摘要:以前的文章說過,芯片的分類方法很多,種類猶如夜空的繁星,多到無法枚舉。本文把芯片的范圍縮小,聚焦高端通用芯片CPU這一分支,我們會發現CPU芯片的種類也不少,而且“門派”林立,儼然像一個CPU芯片“江湖”,指令集和微架構就是這個江湖中的門派標志。什么是CPU指令集和微架構?為什么指令集和微架構是江湖門派標志?本文試圖用通俗的語言加以說明。

CPU是中央處理器(Central Processing Unit)的英文簡稱,是一種高端通用芯。它在計算機(電腦)和智能設備中用來指揮各個部件協同高效地工作。它是電腦和智能設備的控制中樞,是電腦中的大腦。

電腦的部件需要CPU來指揮,而CPU內的部件也需要受到指揮協調才能工作,這個指揮官就是程序,由程序發出的指揮CPU內部電路協同工作的命令,簡稱為指令。例如,如果要讓CPU完成一次A+B->C的計算,就要發2條存取指令,從存儲器把A和B取出來送到運算器中;再發1條加法指令,讓運算器執行加法運算;最后發1條存取指令,把C存入存儲器。這個例子中用到了兩種指令:存取指令和加法指令。

實際上,一個通用CPU要完成各類計算、推理、判斷和控制工作,它的指令種類少則幾十種,多則數百種,CPU的各種指令的集合稱為CPU的指令集。指令集確定了CPU的工作方式和與之相適應CPU內部的硬件架構,這種硬件架構稱為CPU的微架構。指令集和微架構是一個公司研發出新款CPU后形成的核心知識產權。指令集是CPU的頂層設計規范,微架構是這個頂層規范的物理實現,這種實現可以有多種,實現方法可以有變化。一般說的CPU架構就包含了CPU指令集和微架構兩個東西。

圖1.新的指令集和微架構可以創立一個新的CPU芯片江湖門派

圖1描述了指令集、微架構、CPU芯片和芯片用戶群之間的關系??梢钥吹?,研發一款新的指令集和微架構,就相當于在CPU芯片江湖中創立了一個門派。具體地講,A公司開發了一款新的CPU,意味著創建了新的指令集和微架構,不但A公司的CPU芯片形成了用戶群A,而且A公司還可以授權其他公司開發CPU芯片,并形成相應的用戶群B、C、D等。新的指令集和微架構可以開發一個CPU芯片家族,可以產生一個芯片用戶集群,就好像產生了一個江湖門派。指令集和微架構設計得好,CPU的性能就好,用戶就多,追捧者就多,門派就興旺發達。

圖2.指令集是連接軟件和硬件的紐帶

圖2表明,指令集是連接軟件和硬件的紐帶。如論是應用程序還是操作系統中的系統代碼,最終都被編譯成可以在CPU芯片內部執行的符合指令集規范的機器代碼程序。機器代碼程序中的指令控制著CPU內部部件協調高效工作,并實現CPU的整體功能,進而由CPU控制整機系統工作。指令集是系統軟件和硬件工程師共同遵從的法條,只有遵守了這個法條,軟件工程師編寫的軟件才能在不同型號的整機系統上運行。硬件工程師開發的整機系統才能運行現有的應用軟件。

講了這么多概念,也分析了這些概念的關系,如果還不好理解的話,讓我們來看看三個代表性的CPU指令集和微架構的例子吧。第一個是代表單片機微控制器(MCU)的MCS-51指令集。第二個是代表復雜指令集計算機(CISC)的x86指令集。第三個是代表精簡指令集計算機(RISC)的ARM指令集。舉例這些指令集和微架構的目的不是為了研究,只是為了展示,目的是使讀者對CPU芯片江湖的門派標志——指令集和微架構有個宏觀印象。

為什么要把MCU指令集拿來和CPU指令集一同展示?讓我們先了解一下MCU、CPU和SoC三者的關系吧。MCU是微控制器(Micro ControllerUnit)的英文簡稱,是一種中低端的通用芯片,主要用于中小電子產品和系統的控制。SoC是系統級芯片(System on Chip)的英文簡稱,是一種包含低、中、高端處理功能的面向應用領域的專用芯片。MCU、CPU和SoC難以絕對劃界,但是,如果研究了三者的特點后,您就可以對它們進行清晰的區分了。

三者的共同特點:它們都是智能電子產品和系統的控制中樞,都有要遵循的指令集和微架構。三者的差別:MCU一般是4位、8位和16位微架構,工作頻率不會太高??刂菩匀蝿蛰^多,計算和信息處理性工作較少。與CPU相比,單芯片上集成了一些外部接口和功能部件。CPU一般是16位、32位和62位微架構,工作頻率很高,更重視處理速度和運算能力,單芯片上很少集成外部接口和功能部件。SoC更加重視單芯片的系統集成度,各種位寬微架構、工作頻率、集成度的SoC都可以有,單芯片上包含多種外部接口和功能部件。

MCU與CPU的區別是處理能力小與大,偏向控制與偏向計算的區別。SoC處理能力可小可大,如果在MCU或者CPU芯片上集成更多的外部接口和功能部件,這個MCU或者CPU芯片就變成了SoC芯片。

一、指令集與微架構的三個代表

基于上述原因,以及ARM CPU通常被嵌入到SoC芯片中,本文選擇了MCS-51作為MCU指令集的代表,x86既作為CISC指令集的代表也作為了CPU指令集的代表,ARM既作為RISC指令集的代表也作為了SoC指令集的代表,下文對它們做簡要介紹和展示。

1.MCS-51指令集和微架構

MCS-51指令集是Intel公司1980年前后開發的單片機指令集,該指令集包含數據傳送、位操作、邏輯運算及轉移、算術運算、控制轉移5個大類共計111條指令(圖3)。該指令集對應的單片機微架構如圖4所示。

通過對該微架構硬件的增、減、改變,Intel先后開發了兼容MCS-51指令集的系列單片機芯片,共計16個型號(圖3)。另外Intel也向許多公司開放MCS-51指令集和微架構,允許他們生產兼容MCS-51指令集的單片機。這些公司包括ATMEL、PHILIPS、NXP、OKI等,以及日本、臺灣和國內的一些公司。因此,MCS-51單片機在全球應用十分普及。MCS-51開辟了一個規模龐大、應用甚廣的單片機大家族。

05f78a40-462d-11eb-8b86-12bb97331649.jpg

圖3.MCS-51單片機指令集(來源:無憂文檔)

066df266-462d-11eb-8b86-12bb97331649.jpg

圖4. MCS-51單片機內部的微架構(來源:百度百科)

069b7d30-462d-11eb-8b86-12bb97331649.jpg

圖5. MCS-51單片機家族(來源:參考資料5)

2. x86指令集和微架構

1978年,Intel公司開發出了16位的CPU,并命名為i8086,同時還開發出與之相配合的數學協處理器i8087,這兩種芯片使用相互兼容的指令集,再加上i8087用于對數、指數和三角函數等數學計算的指令集,就形成了今天人們常說的x86指令集。隨后的40年間,Intel陸續研制出i80286、i80386、i80486、奔騰(Pentium)系列、酷睿(Core)系列等后續CPU型號。研制這些CPU芯片時,為了保持向前軟件兼容,Intel所有CPU繼續使用x86指令集,并根據CPU功能提升和性能增強的需要,增加了286、386、486、Pentium、Pentium Ⅱ等擴展類指令?!靶氯昱f三年,修修補補又三年”,可以說x86指令集是與時俱進,不斷生長和變復雜的典范,因而x86指令集成了名副其實的復雜指令集(CISC)。

x86指令集包括數據傳送、邏輯運算、移位運算、程序控制、算術運算、串操作、處理器控制、286擴展、386擴展、486擴展、Pentium擴展、Pentium Ⅱ擴展12個大類共計190多條指令(圖7)。圖8分別是Intel Core和AMD K8的CPU微架構。

Intel和AMD是全球最大的兩家x86指令集CPU芯片開發商。Intel多達上百個型號的CPU都屬于x86系列。另外,加上AMD多達80多個型號的兼容x86 CPU,x86指令集CPU芯片家族的陣容可謂是十分壯觀(圖10)。兩家公司的CPU芯片不斷迭代升級,相互競爭,型號品種繁多,形成了令世人矚目的CPU產品發展軌跡。

06d80d04-462d-11eb-8b86-12bb97331649.jpg

圖7. x86 CPU指令集(來源:參考資料1)

圖8. x86 CPU的兩種微架構舉例(來源:參考資料3)

08116ecc-462d-11eb-8b86-12bb97331649.jpg

圖9. Intel和AMD開發的x86 CPU芯片型號圖譜(來源:網絡資料整理)

3. ARM指令集和微架構

ARM公司成立于1990年,是全球領先的CPU IP(Intellectual Property)提供商,全世界超過95%的智能手機和平板電腦都采用ARM架構處理器。ARM公司自己不設計和銷售CPU芯片,只向其他公司銷售和授權使用ARM架構的系列CPU IP。ARM授權從高到低大體分為三種,包括架構授權、內核授權和使用授權,本文只關心前兩種。架構授權對設計團隊的要求很高,許可費用也很昂貴,只適合有實力的大公司,中小企業一般選擇購買內核授權。

架構授權(也稱為指令集授權)是指用戶購買了架構級的ARM處理器設計、制造的許可權后,可以從整個指令集和微架構入手,對ARM架構進行改造,甚至可以對ARM指令集進行裁減或擴展,實現更適合自用、更高性能、更低功耗、更低成本的目的。擁有ARM架構授權的公司包括高通、蘋果、三星、微軟、海思等。

內核授權(也可稱為方案授權)是指用戶可以將其所購買的ARM核心(IP核)應用到自己設計的芯片中,但用戶不得對ARM核心進行修改。擁有內核授權的公司多如牛毛,國際上包括德州儀器、博通、飛思卡爾、富士通以及Calxeda等,國內中小芯片設計公司也很多,不勝枚舉。

圖10展示了ARM指令集。ARM指令集包括跳轉指令、數據處理、乘加指令、PSR訪問、加載/存儲指令、數據交換、移位指令、協處理器8個大類共計50條指令(其中,ARM指令16條,Thumb指令18條,Thumb-2 16條)。加上15條控制偽指令合計65條指令。圖11展示了一款可內核授權的ARM核心微架構,它的型號命名為ARM Cortex A9。

全球1500多家企業獲得了ARM公司授權,可以研發和生產ARM架構的處理器芯片和包括含ARM內核的SoC芯片。圖12是全球采用ARM架構處理器技術的用戶、工具商、合作伙伴的Logo圖譜。ARM CPU門派在移動通信領域一家獨大,并正在向其它領域滲透,包括物聯網、臺式電腦、服務器等,讓x86 CPU門派老大Intel公司十分不安。

083315c2-462d-11eb-8b86-12bb97331649.jpg

圖10. ARM CPU指令集及功能描述(來源:免費文檔網)

圖11. ARM Cortex A9微架構及單核接口(來源:參考資料11)

二、CPU芯片江湖的指令集門派

1. MCU類的指令集

MCU作為縮減版的CPU和SoC,它也有指令集和微架構,同樣是智能電子產品和系統的控制中心。因此,它可以作為CPU芯片江湖的一員,被寫入到這一部分來,讓讀者看看MCU指令集門派都有哪些種類。

這個門派下的指令集包括:Zilog公司的Z80指令集、Intel的MCS-51指令集、MicroChipPIC指令集、ATMEL的AVR指令集、TI的MSP430指令集、Motorola的68K、ARM公司的ARM-Thumb等等。

2.CISC類的指令集

CISC類指令集也可稱為復雜指令集。CISC是復雜指令集計算機(Complex Instruction SetComputer)的英文縮寫。在CISC指令處理器中,程序的各條指令是按順序串行執行的,每條指令中的各個操作也是按順序串行執行的。順序執行的優點是控制簡單,但計算機各部分的利用率不高,執行速度較慢。

這個門派下的指令集包括:Intel的x86指令集(x86、x86-64、IA-32、IA-64等)、AMD的兼容x86指令集(x86、AMD64等)、威盛VIA的兼容x86指令集(x86、AIS等)。

3.RISC類的指令集

RISC類指令集也可稱為精簡指令集。RISC是精簡指令集計算機(Reduced Instruction SetComputing)的英文縮寫。它是在CISC指令系統基礎上發展起來的,CISC各種指令的使用頻度相當懸殊,最常使用的是一些比較簡單的指令,它們僅占指令總數的20%,但在程序中出現的頻度卻占80%。復雜指令系統必然增加微處理器的復雜性,并且指令解碼執行過程復雜并且費時,必然會降低計算機的速度。20世紀80年代誕生了RISC型CPU。相對于CISC型CPU,RISC型CPU不僅精簡了指令集,還采用了超標量和超流水線結構,大大增加了并行處理能力。RISC指令集是高性能CPU的發展方向。RISC的指令格式統一,種類比較少,尋址方式也比復雜指令集少。當然處理速度就提高了很多。

這個門派下的指令集包括:DEC公司的Alpha指令集、MIPS公司的MIPS指令集、Sun公司的SPARC指令集、IBM聯合Apple與Motorola開發的PowerPC指令集、IBM的POWER服務器CPU 指令集、ARM公司的ARM32和ARM64指令集、開源RISC-V指令集等。

4.EPIC類的指令集

EPIC類指令集也稱為精確并行指令集。EPIC是精確并行指令計算機(Explicitly ParallelInstruction Computers)的英文縮寫。EPIC是否是RISC和CISC體系的繼承者的爭論不少,單以EPIC體系來說,它更像Intel的處理器邁向RISC體系的重要步驟。EPIC體系設計的CPU,在相同的主機配置下,處理Windows的應用軟件比基于Unix下的應用軟件要好很多。

Intel采用EPIC技術的服務器CPU是安騰Itanium(開發代號Merced)。它是64位處理器,也是IA-64系列中的第一款。

圖13. 全球流行的CPU指令集的分類

三、實現CPU自主可控的夢想

發展自主可控的國產CPU,首先要解決指令集和微架構的自主可控問題,其次是軟件生態和生產的問題。圖14列出了目前主要的國產CPU指令集及技術來源,這是我們發展自主可控國產CPU的基礎,這些資源已得到業界的高度重視。希望政府能頂層規劃和統一協調,加大資金支持力度,在業界共同努力下實現國產CPU自主可控的夢想。

09049aa2-462d-11eb-8b86-12bb97331649.jpg

圖14.主要的國產CPU指令集及技術來源(來源:由參考資料9整理)

如何實現我國CPU芯片自主可控,公認途徑歸納起來有以下幾個方面,一是購買流行CPU架構授權,開發國產CPU產品;二是用好開源CPU指令集RISC-V,走國產CPU自強之路。三是用好已有可控CPU架構,加大投入和研發力度,補齊國產CPU短板。四是創立新的CPU架構,走自力更生的國產CPU發展之路。發展國產CPU,實現安全、自主和可控是最終目的,方法可以多樣化,不一定什么都要靠自己從零做起,即未必一定要創立新CPU門派。

1.購買流行CPU架構授權,開發國產CPU產品。

目前,國內大部分國產MCU、CPU和SoC芯片研發都是走這個途徑。之前這條路子走的很順利,國內芯片設計銷售額多年實現兩位數增長,2020年有望超過3800億元。大部分公司都以購買授權方式,在自研CPU芯片中采用國外流行的CPU架構,包括華為海思自研的多款SoC芯片,都是基于ARM架構的CPU。中美科技戰以來,大家發現這是一種自主但不可控的CPU發展之路。

2.用好開源CPU指令集RISC-V,走國產CPU自強之路。

美國對我國芯片產業的打壓和圍堵,讓業界把發展自主可控國產CPU的希望寄托在了開源指令集RISC-V上來,這可能是目前希望最大的一條途徑。原因是RISC-V架構已比較成熟,性能也比較優異,已經過許多商業化應用驗證。并且國內已具有一定的人才和技術積累。人們認為RISC-V最有希望改變當前由ARM和x86主導CPU芯片江湖的局面,它將對ARM在消費類、IoT嵌入式CPU市場的優勢地位造成巨大沖擊。RISC-V是國產自主可控CPU的曙光。RISC-V目前的唯一短板還是軟件生態不夠完善,需要業界同仁奮發努力。

3.用好已有可控CPU架構,加大投入和研發力度,補齊國產CPU短板。

國內有些公司多年前陸續繼承了一些國外老舊CPU架構的產權,有些公司也獲得了國外較成熟CPU架構永久授權,也有些公司自創了CPU和GPU架構。例如阿里平頭哥(收購中天微)、蘇州國芯、中晟宏芯、深圳中微電等。華為海思也獲得了ARM v8架構的永久授權,這些都是開發自主可控國產CPU的良好基礎。建議政府和企業加大投入和研發力度,在這些CPU架構基礎上創新發展,不斷完善軟件生態,抓住補短板和國產替代的良機,實現國產CPU產品的迭代升級和技術進步。

4.創立新的CPU架構,走自力更生的國產CPU發展之路。

這就相當于要設計一款新的CPU,建立新的CPU指令集和微架構。這是一條最困難的途徑。最困難體現兩方面,一是設計的新款CPU能否具備性能和功能的先進性、高效性和經濟性;二是如何能快速搭建好新款CPU的軟件生態,包括匯編和高級語言編程工具、系統開發驗證工具等。軟件生態建設需要時間,需要市場,也需要研發團隊和用戶的通力協作。而且,創立一個CPU行業門派后,要讓這個門派發揚光大并不是一件容易的事情。因此,許多人對這條途徑不太看好。

結語:1.指令集是軟件和硬件的紐帶,電子產品中的軟件不論是高級語言還是匯編,最后都是轉換為一條條的指令,指揮硬件各部件協調工作,硬件是為完成指令的任務而生的。2.指令集是軟件和硬件工程師共同遵從的法條,只有遵守了這個法條,開發的軟件才能在不同型號的硬件上兼容運行。3.指令集是CPU芯片江湖門派的標志,公司名和產品名不過是它的代名詞罷了。只有指令集相同,產品才能兼容互換。只有大家都認可這個指令集,都愿意投入到這個門派之下,不斷完善軟件生態,才能使用戶越來越多,門派越來越興旺。4.發展自主可控的國產CPU,最困難的是搭建CPU的軟件生態。如果把CPU指令集看作門派標志的話,搭建軟件生態就是營造門派氛圍,擴大門派影響力。

原文標題:指令集——CPU芯片江湖中的門派標志

文章出處:【微信公眾號:中科院半導體所】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    18512

    瀏覽量

    223336
  • 芯片
    +關注

    關注

    447

    文章

    48194

    瀏覽量

    411032
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10509

    瀏覽量

    207138

原文標題:指令集——CPU芯片江湖中的門派標志

文章出處:【微信號:bdtdsj,微信公眾號:中科院半導體所】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    微軟推進CPU指令集更新,舊版CPU或無法運行Edge瀏覽器

    按照微軟的計劃,Microsoft Edge 126.0正式版將于2024年6月13日發布。屆時,未支持SSE3指令集的舊CPU用戶可能需繼續使用現有的版本。
    的頭像 發表于 05-18 10:33 ?512次閱讀

    RISC-V指令集說明哪里有?

    RISC-V指令集說明哪里有?匯編指令文檔哪有?
    發表于 04-30 17:44

    有沒有RISC-V的指令集文檔分享一下?

    有沒有RISC-V的指令集文檔分享一下?了解一下他的匯編指令。
    發表于 03-30 11:48

    什么是RISC-V?RISC-V指令集的優勢

    CPU 支持的所有指令指令的字節級編碼就是這個 CPU指令集架構(Instruction Set Architecture,ISA),
    發表于 03-05 10:31 ?358次閱讀
    什么是RISC-V?RISC-V<b class='flag-5'>指令集</b>的優勢

    【米爾-全志T113-i開發板試用】使用ruapu探測CPU指令集信息

    簡介 https://github.com/nihui/ruapu ruapu單個文件探測CPU指令集信息 ruapu通過執行特定擴展指令,捕獲CPU非法
    發表于 02-25 21:36

    【RISC-V開放架構設計之道|閱讀體驗】匯編語言和擴展指令集

    【RISC-V開放架構設計之道|閱讀體驗】匯編語言和擴展指令集 匯編語言 將C語言翻譯成可執行的機器語言的重要步驟包括編譯過程,匯編過程,鏈接過程。 函數調用約定過程分為六個階段: 1)將參數存放
    發表于 02-03 13:29

    【RISC-V開放架構設計之道|閱讀體驗】RISC-V基礎整數指令集

    第2章 RV32I:RISC-V基礎整數指令集 本章重點講解構成RISC-V基礎整數指令集的基本指令指令格式。主要包含寄存器間操作的R型,用于短立即數和取數操作的I型,用于存數操作的
    發表于 01-31 21:10

    【RISC-V開放架構設計之道|閱讀體驗】RV64指令集設計的思考以及與流水線設計的邏輯

    RISC-V開放架構設計之道, 是一本全面介紹RISC-V指令集架構設計、優化和實現的書籍。 書中詳細介紹了RISC-V指令集體系結構,包括指令集、寄存器體系、存儲體系和中斷體系。 還介紹了
    發表于 01-29 10:09

    【RISC-V開放架構設計之道|閱讀體驗】RISC-V基礎整數指令集RV32I

    本書第二至十章都是講RISC-V指令集,最后第十一章講了RISC-V的未來可選擇擴展。本篇梳理學習基礎指令集RV32I。 RV32I指令集如下圖,取下劃線字母即可組成完整的RV32I指令集
    發表于 01-28 11:41

    risc-v標準指令集如何擴展?

    想問問具體要怎么實現標準指令集的擴展呢?需要修改哪些硬件??? 每一種指令集擴展是相似的嗎?還是需要不一樣的步驟呢(比如V擴展、K擴展)?
    發表于 01-21 22:19

    單片機架構和指令集的知識

    指令集,就是CPU中用來計算和控制計算機系統的一套指令的集合。而指令集的先進與否,也關系到CPU的性能發揮,它也是
    發表于 12-02 09:51 ?479次閱讀
    單片機架構和<b class='flag-5'>指令集</b>的知識

    DLX指令集RISC_CPU_verilog源碼分享

    DLX指令集RISC_CPU_verilog源碼
    發表于 09-26 07:01

    龍芯指令集,世界第三極

    指令系統是生態底層邏輯,可分為復雜指令集和精簡指令集。指令系統(ISA)屬于計算機中硬件與軟件的接口,可實現高級程序語言、匯編語言和機器語言的連接,最終編譯為
    的頭像 發表于 09-22 16:09 ?1005次閱讀
    龍芯<b class='flag-5'>指令集</b>,世界第三極

    請問可以通過nice接口擴展f指令集嗎?

    我看了一下說明書,好像nice接口的opcode是固定的,不能與f指令集的互通,需要改什么rtl代碼嗎?
    發表于 08-11 13:01

    一文解析CPU概念、運作原理、指令集架構生態

    CPU指令集(Instruction Set)是CPU中計算和控制計算機系統所有指令的集合。計算機的程序最終需要轉化為“指令”才能在
    發表于 06-16 14:43 ?1304次閱讀
    一文解析<b class='flag-5'>CPU</b>概念、運作原理、<b class='flag-5'>指令集</b>架構生態
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>