對(duì)于半道入行編程的程序員,大部分對(duì)計(jì)算機(jī)的工作原理的了解都是有限的,這些了解大部分都是在日常工作中去了解的,其實(shí)對(duì)應(yīng)程序員來說不用深入了解理解計(jì)算機(jī)基本原理就足以應(yīng)付當(dāng)前的工作需要。然而多了解總比不了解要強(qiáng),這也是筆者要整理此片文章的由衷。
創(chuàng)新互聯(lián)主營(yíng)臨桂網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都App制作,臨桂h5小程序開發(fā)搭建,臨桂網(wǎng)站營(yíng)銷推廣歡迎臨桂等地區(qū)企業(yè)咨詢
步入21世紀(jì)的你,如果還不知道“計(jì)算機(jī)”,那你真的是OUT了。計(jì)算機(jī)是20世紀(jì)人類最偉大的可選成就之一,話說計(jì)算機(jī)從總體上來說可分為電子模擬計(jì)算機(jī)和電子數(shù)字計(jì)算機(jī)兩大類。電子模擬計(jì)算機(jī)主要是通過電壓電流模擬實(shí)現(xiàn)連續(xù)的數(shù)值運(yùn)算,常被一些實(shí)驗(yàn)室的科研人員所熟知;而被大眾所熟知的則是電子數(shù)字計(jì)算機(jī),也就是我們稱之為的“電腦”,其主要是通過模擬數(shù)字實(shí)現(xiàn)非聯(lián)系的位運(yùn)算。
數(shù)字計(jì)算機(jī)根據(jù)計(jì)算機(jī)效率、速度、適用性等特點(diǎn),通常又分為專用計(jì)算機(jī)和通用計(jì)算機(jī)兩類。專用計(jì)算機(jī),顧名思義,其是專門為完成某一類工作而設(shè)計(jì)的,所以其完成這項(xiàng)工作的效率極高,但是其適用性就大打折扣了。通用計(jì)算機(jī)并非是為完成莫一項(xiàng)任務(wù)而設(shè)計(jì),能夠兼容性完成多項(xiàng)任務(wù),按照簡(jiǎn)易程度、性能等特點(diǎn)又可以分為巨型機(jī)、大型機(jī)、中型機(jī)、微型機(jī)和單片機(jī)六類,其體積、功能、數(shù)據(jù)存儲(chǔ)量、指令系統(tǒng)等從前到后依次高升,但是其簡(jiǎn)易性則依次降低。巨型機(jī)通常也成為“超級(jí)計(jì)算機(jī)”,其結(jié)構(gòu)復(fù)雜,運(yùn)算速度極快,數(shù)據(jù)存儲(chǔ)量大,但是足夠龐大;大中小型計(jì)算機(jī)主要是根據(jù)其體積來衡量劃定的;微型機(jī)簡(jiǎn)稱為“微機(jī)”,就是常見的個(gè)人計(jì)算機(jī)(PC),其是由大規(guī)模的集成電路組成的體積較小的計(jì)算機(jī);單片機(jī)則是最為簡(jiǎn)單的計(jì)算機(jī),其主要是集成電路組成,以至于其體積小,結(jié)構(gòu)簡(jiǎn)單。這些劃分只是根據(jù)其特點(diǎn)來區(qū)分的,隨著大規(guī)模集成電路的迅速發(fā)展,今天的小型機(jī)可能是明天的微型機(jī),而今天的微型機(jī)可能是明天的單片機(jī)。
計(jì)算機(jī)主要由硬件系統(tǒng)和軟件系統(tǒng)兩部分組成(相信是人都應(yīng)該看的到,硬件是有型的實(shí)體,而軟件則是有型的虛構(gòu)體),其中硬件構(gòu)成了計(jì)算機(jī)的物質(zhì)基礎(chǔ),軟件則是計(jì)算機(jī)系統(tǒng)的應(yīng)用基礎(chǔ)。通俗的說,軟件就是計(jì)算機(jī)上能看得到(當(dāng)然也有看不到的)但是摸不到的能夠協(xié)助完成工作的應(yīng)用程序,例如Windows系統(tǒng)、硬件驅(qū)動(dòng)程序等其他應(yīng)用程序;而硬件則是計(jì)算機(jī)的基本組件,是看得到摸得到的物體,例如主板、CPU等。
從理論上講,計(jì)算機(jī)的硬件系統(tǒng)主要由運(yùn)算器、存儲(chǔ)器、控制器、輸入設(shè)備和輸出設(shè)備五大部分組成(從名字上即可看出各個(gè)部件的作用),這種劃分方式稱為“馮諾依曼體系結(jié)構(gòu)”。
運(yùn)算器
運(yùn)算器(Datapath),顧名思義就是進(jìn)行運(yùn)算的執(zhí)行部件。其主要功能是對(duì)數(shù)據(jù)進(jìn)行運(yùn)算的加工處理操作,包括加、減、乘、除等數(shù)學(xué)算術(shù)運(yùn)算和與、或、非等邏輯運(yùn)算。運(yùn)算器主要由運(yùn)算邏輯單元(ALU)和寄存器兩部分元件組成,其中寄存器用于提供參與運(yùn)算的數(shù)據(jù)或臨時(shí)保存運(yùn)算結(jié)果。通常情況下運(yùn)算器集成于CPU中央處理器中。
實(shí)質(zhì)上運(yùn)算器采用的二進(jìn)制數(shù)制系統(tǒng),其參與運(yùn)算的數(shù)是有二進(jìn)制表示(因?yàn)槎M(jìn)制數(shù)的運(yùn)算規(guī)律非常簡(jiǎn)單,在電子線路中可以靈活的表示電子元件的狀態(tài),其比較容易實(shí)現(xiàn)而且設(shè)備最?。?。在運(yùn)算過程中,位數(shù)越多則運(yùn)算精度越高,則其所需的電子元件就越多,現(xiàn)在常見的計(jì)算機(jī)運(yùn)算器支持的位數(shù)有8位、16位、32位或64位。
存儲(chǔ)器
存儲(chǔ)器(Memory),顧名思義就是用于存儲(chǔ)數(shù)據(jù)的部件。其主要功能用于存放程序與數(shù)據(jù)(程序是計(jì)算機(jī)操作的依據(jù),數(shù)據(jù)是計(jì)算機(jī)操作的對(duì)象),程序和數(shù)據(jù)在存儲(chǔ)器中以二進(jìn)制的方式表示,每8位二進(jìn)制數(shù)碼劃分為一個(gè)存儲(chǔ)單元,必須通過地址來訪問該單元,地址其實(shí)就是這個(gè)存儲(chǔ)單元的編號(hào)。
存儲(chǔ)器主要由存儲(chǔ)體、地址寄存器與譯碼線路、讀寫電路與數(shù)據(jù)寄存器、控制線路等元件構(gòu)成;通常情況下存儲(chǔ)器可分為內(nèi)部存儲(chǔ)器和外部存儲(chǔ)器兩大類,內(nèi)部存儲(chǔ)器就是我們常說的內(nèi)存(也稱為主存),外部存儲(chǔ)器也就是常說的硬盤、U盤等,也成為外存或輔存,一般情況下外部存儲(chǔ)器也作為輸入/輸出設(shè)備。
控制器
控制器(Control),是整個(gè)計(jì)算機(jī)的控制中心,主要用來協(xié)調(diào)計(jì)算機(jī)各個(gè)組件的工作,完成程序信息的處理和數(shù)據(jù)的輸入/輸出。它一般由指令寄存器、狀態(tài)寄存器、指令編碼器、時(shí)序電路和控制電路組成。簡(jiǎn)而言之,控制器就是協(xié)調(diào)指揮計(jì)算機(jī)各個(gè)部件工作的組件。通常情況下控制器集成于CPU中央處理器中。
程序是由指令序列組成的,其實(shí)執(zhí)行程序就是逐條執(zhí)行指令的過程,實(shí)質(zhì)運(yùn)算器所完成的每一步運(yùn)算操作就是一條指令。指令是由操作碼和地址碼組成,其實(shí)都是二進(jìn)制數(shù)碼,其中操作碼即表示指令所要進(jìn)行的操作,例如加、減、存、取等操作,地址碼表示參與運(yùn)算的數(shù)據(jù)的地址,即在存儲(chǔ)單元中的位置??刂破骶褪墙馕鲞@條指令,然后從存儲(chǔ)單元中取出數(shù)據(jù),并進(jìn)行相應(yīng)的操作運(yùn)算。
計(jì)算機(jī)在進(jìn)行計(jì)算機(jī)時(shí),指令必須按順序一條一條的執(zhí)行。控制器的基本任務(wù)就是按照指令序列的順序,先從存儲(chǔ)器取出一條指令放到控制器中,并對(duì)該指令的操作碼由譯碼器進(jìn)行解析,然后根據(jù)譯碼對(duì)應(yīng)的操作進(jìn)行相應(yīng)的動(dòng)作行為,這就是執(zhí)行指令的過程;接著取出第二條指令,按照上述順序進(jìn)行執(zhí)行。過程中控制器會(huì)通過指令計(jì)數(shù)器來控制取指令的當(dāng)前位置,每取出一條指令其計(jì)算器就會(huì)加1,為取下一條指令做好準(zhǔn)備。
輸入/輸出設(shè)備
輸入設(shè)備(Input System),輸入設(shè)備是計(jì)算機(jī)的重要外部設(shè)備,其主要作用是將程序、原始數(shù)據(jù)、文字、字符、控制命令或現(xiàn)場(chǎng)采集的數(shù)據(jù)等信息輸入到計(jì)算機(jī),并轉(zhuǎn)換為二進(jìn)制格式保存在內(nèi)存中。常見的輸入設(shè)備有鍵盤、鼠標(biāo)器、光電輸入機(jī)、磁帶機(jī)、磁盤機(jī)、光盤機(jī)等。
輸出設(shè)備(Output System),輸出設(shè)備是計(jì)算機(jī)的重要外部設(shè)備,其主要作用是將計(jì)算機(jī)的運(yùn)算中間結(jié)果或最終結(jié)果、機(jī)內(nèi)的各種數(shù)據(jù)符號(hào)及文字或各種控制信號(hào)等信息展示給用戶。常見的輸出設(shè)備有顯示器、打印機(jī)、繪圖儀、音箱、投影儀等。
總線
除過上面介紹的五部分外,計(jì)算機(jī)系統(tǒng)中還必須包括另一個(gè)部件——總線??偩€是一組為系統(tǒng)部件之間數(shù)據(jù)傳送的公用信號(hào)線。具有匯集與分配數(shù)據(jù)信號(hào)、選擇發(fā)送信號(hào)的部件與接收信號(hào)的部件、總線控制權(quán)的建立與轉(zhuǎn)移等功能。典型的微機(jī)計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)通常多采用單總線結(jié)構(gòu),一般按信號(hào)類型將總線分為三組,其中AB(Address Bus)為地址總線;DB(Data Bus)為數(shù)據(jù)總線;CB(Control Bus)控制總線。計(jì)算機(jī)通過總線將五大部件連接起來,總線是它們相互通信的公共通路,主要任務(wù)是在各部件之間傳送地址信息、數(shù)據(jù)信息和控制信息。
從實(shí)物上看,一般PC包括鍵盤、鼠標(biāo)、顯示器、主機(jī)等大型部件組成,而主機(jī)則是計(jì)算機(jī)的主體部分,包括CPU、主板、內(nèi)存條、顯卡、聲卡、網(wǎng)卡、硬盤以及其他媒體驅(qū)動(dòng)器組成(這些都是通常聽到的可見的實(shí)體物件)。
主板
主板,又稱主機(jī)板(Main Board)、系統(tǒng)板(System Board)或母板(Mother Board),是計(jì)算機(jī)最重要的部件之一。主板上包含了計(jì)算機(jī)的主要電路系統(tǒng),所有的計(jì)算機(jī)其他組件必須直接或間接依賴主板,計(jì)算機(jī)的性能主要取決與主板。主板其實(shí)可以看作一個(gè)設(shè)有多個(gè)接口的電路板,其中主要包括芯片、插槽、外設(shè)接口三大類組件。
芯片類主要有BIOS(Basic Input/Output System)芯片,南北橋芯片和RAID控制芯片等。BIOS芯片,即基本輸入/輸出系統(tǒng)芯片,它是一個(gè)存儲(chǔ)器,內(nèi)部保存著與主板搭配的基本輸入輸出系統(tǒng)程序,這個(gè)程序由芯片制造商制作并固化在芯片上的;也可以說BIOS其實(shí)是一個(gè)底層軟件,用于控制計(jì)算機(jī)的底層的輸入輸出操作,這個(gè)軟件可以識(shí)別各種硬件,還可以設(shè)置引導(dǎo)系統(tǒng)的設(shè)備,系統(tǒng)時(shí)間以及調(diào)整CPU外頻等。因?yàn)锽IOS是存儲(chǔ)在BIOS芯片中的,而不是類似其他的外部存儲(chǔ)器中,所以通常稱為“固件(Firmware)”。隨之技術(shù)的不斷發(fā)展,現(xiàn)在的BIOS也支持重新寫入,可以使計(jì)算機(jī)獲得更好的性能和支持。 南/北橋芯片是兩個(gè)通信橋梁的兩個(gè)芯片,合成芯片組。南橋芯片主要負(fù)責(zé)硬盤等存儲(chǔ)設(shè)備和PCI之間的數(shù)據(jù)流通;北橋芯片主要負(fù)責(zé)處理CPU、內(nèi)存和顯卡三者間的數(shù)據(jù)流通,一般發(fā)熱量較大,位于散熱裝置附近。RAID控制芯片,主要用于支撐硬盤。
插槽類主要有CPU插槽、內(nèi)存插槽、PCI插槽、PCI Express插槽等。CPU插槽用于安裝CPU部件,CPU部件必須與主板相互兼容才可以安裝。內(nèi)存插槽主要用于安裝內(nèi)存條的卡槽,內(nèi)存種類、數(shù)量和容量都有內(nèi)存插槽決定。PCI插槽主要用于安裝調(diào)制解調(diào)器、聲卡、網(wǎng)卡等設(shè)備。PCI Express插槽主要用于安裝顯卡部件。
外設(shè)接口類主要有硬盤接口、COM接口(串口)、PS/2接口、USB接口、LPT接口(并口)、MIDI接口等。硬盤接口可分為IDE接口和SATA接口,現(xiàn)在大多都是SATA硬件驅(qū)動(dòng)器接口,這個(gè)接口的傳輸數(shù)據(jù)效率更高。COM接口用于連接串行鼠標(biāo)和外置調(diào)制解調(diào)器(Modem)等設(shè)備,基本被淘汰。PS/2接口用于連接鍵盤或鼠標(biāo),臺(tái)式機(jī)存在。USB接口使用較為廣泛,大多數(shù)外置設(shè)備都支持這個(gè)接口,該接口支持即插即用。LPT接口用于連接打印機(jī)或掃描儀等。MIDI接口主要用于MIDI設(shè)備,用于與其它控制設(shè)備相互通信。
綜上所述,主板在計(jì)算機(jī)中起到了舉足輕重的作用,通過各種控制信號(hào)來管理各種電子容器,從而達(dá)到不同的效果,幾乎所有的外設(shè)接口都直接或間接的與主板相關(guān)聯(lián),大部分的硬件設(shè)備必須與主板相兼容才能正常運(yùn)行,也可以說主板可以決定其它的部件。主板可以看著各個(gè)部件協(xié)調(diào)工作的場(chǎng)所,提供各個(gè)不僅相互協(xié)調(diào)工作的數(shù)據(jù)流通,主板內(nèi)部自身供電裝置維護(hù)其內(nèi)部BIOS的運(yùn)行。
CPU
CPU(Central Processing Unit),一個(gè)耳熟能詳?shù)慕M件,被親切的稱之為“中央處理器”,它是整個(gè)計(jì)算機(jī)的運(yùn)算核心和控制核心。其主要功能是解釋計(jì)算機(jī)指令以及處理程序中的數(shù)據(jù)。CPU由運(yùn)算器(包含寄存器)和控制以及總線組成,CPU的工作過程分為提?。‵etch)、解碼(Decode)、執(zhí)行(Execute)和寫回(Writeback)四個(gè)步驟。
程序是有指令(指令就是二進(jìn)制數(shù)碼組合)構(gòu)成的序列,執(zhí)行程序就是按指令序列逐條執(zhí)行指令。當(dāng)打開某個(gè)程序時(shí),會(huì)由運(yùn)行平臺(tái)將該程序解析為指令序列并保存在存儲(chǔ)器中,然后CPU取出指令序列逐條執(zhí)行。CPU首先從存儲(chǔ)器或高速緩沖存儲(chǔ)器中檢索指令;然后根據(jù)CPU固有的指令集架構(gòu)(ISA)的定義將提取的指令數(shù)值解釋為CPU能夠識(shí)別的指令碼(運(yùn)算碼和運(yùn)算目標(biāo)等);緊接著執(zhí)行CPU指令碼,根據(jù)指令碼對(duì)應(yīng)的控制信號(hào)連接到各種能夠進(jìn)行所需運(yùn)算的其它部件并控制其作出相應(yīng)動(dòng)作,從而達(dá)到運(yùn)算效果;最終將運(yùn)算結(jié)果寫回到CPU內(nèi)部的寄存器(暫存器),CPU運(yùn)算大致就是這個(gè)過程。
CPU是計(jì)算機(jī)最重要的組件之一,提供指令控制、操作控制、時(shí)間控制、數(shù)據(jù)加工等功能,其中指令控制主要是指控制指令執(zhí)行的順序;操作控制主要是指根據(jù)對(duì)應(yīng)的指令產(chǎn)生相應(yīng)的操作控制信號(hào)發(fā)送給相應(yīng)的部件并控制這些部件按指令的要求進(jìn)行動(dòng)作;時(shí)間控制主要是指對(duì)各種操作定制時(shí)間的的設(shè)定;數(shù)據(jù)加工是最重要的功能,主要是進(jìn)行數(shù)據(jù)的運(yùn)算處理。
CPU的性能決定了計(jì)算機(jī)的性能,然而外部又受主板的牽制。CPU的字長(zhǎng)、工作頻率、Cache容量、指令系統(tǒng)和邏輯結(jié)構(gòu)決定了一個(gè)CPU的性能,其中字長(zhǎng)表示CPU一次最多可同時(shí)傳送和處理的二進(jìn)制數(shù)碼位數(shù),現(xiàn)在常見的有32位和64位;工作頻率(也稱主頻)就是CPU的處理數(shù)據(jù)的速度,單位為兆赫茲(MHz)或千兆赫茲(GHz),通常情況下頻率越高運(yùn)算數(shù)據(jù)的速度越快,當(dāng)然這只是一個(gè)大致概念,通常情況下CPU的實(shí)際運(yùn)算速率還受CPU的流水線、總線等各方面性能的影響;緩存(Cache)容量也是CPU處理數(shù)據(jù)速率的重要指標(biāo),緩存主要用于臨時(shí)存儲(chǔ)指令或參與CPU運(yùn)算的數(shù)據(jù),減少數(shù)據(jù)傳輸?shù)臅r(shí)間,現(xiàn)在的CPU大多設(shè)有2級(jí)緩存;CPU指令系統(tǒng)是CPU內(nèi)部基礎(chǔ)的與硬件電路相配合的指令系統(tǒng),也成為指令集,是CPU處理數(shù)據(jù)效率的重要衡量標(biāo)準(zhǔn),指令集用于控制各個(gè)部件的協(xié)調(diào)工作。
綜上所述,CPU是計(jì)算機(jī)的“大腦”,是控制其它組件協(xié)調(diào)工作的的部件,是計(jì)算機(jī)數(shù)據(jù)運(yùn)算的場(chǎng)所。CPU內(nèi)部包含了其獨(dú)立的指令集,所有的程序都將被解析為該CPU對(duì)應(yīng)的指令序列才能正常執(zhí)行,CPU必須具備數(shù)據(jù)通信,資源共享,分布式處理和提供系統(tǒng)可靠性等特點(diǎn)。理論上將CPU頻率越高、指令系統(tǒng)越高級(jí)、緩存越大,其處理數(shù)據(jù)的數(shù)度就越快,然而其必須要與對(duì)應(yīng)的主板相兼容才可體系性能,否則將無法運(yùn)行,即時(shí)可以運(yùn)行則也是大材小用。
內(nèi)存條
內(nèi)存條也是計(jì)算機(jī)的重要組件之一,是計(jì)算機(jī)中最為主要的寄存器。內(nèi)存條在計(jì)算機(jī)中主要作用是緩沖數(shù)據(jù)和數(shù)據(jù)交換,主要負(fù)責(zé)硬盤等存儲(chǔ)器與CPU通信的臨時(shí)數(shù)據(jù)的傳輸或存儲(chǔ)。程序在運(yùn)行時(shí)會(huì)將與程序相關(guān)的指令信息加載到內(nèi)存中,CPU直接與內(nèi)存進(jìn)行通信,來提取指令信息并執(zhí)行,CPU在內(nèi)存中通過直接尋址的方式進(jìn)行提取指令信息。舉個(gè)最簡(jiǎn)單的例子就是我們寫入一個(gè)記事本文件時(shí),如果沒有保存則其記事本中的字符信息都保存在內(nèi)存中,當(dāng)保存后才會(huì)寫到硬盤上。
常說的內(nèi)存大多數(shù)指的就是內(nèi)存條,但也不完全是。內(nèi)存是一種存儲(chǔ)單元,包括隨機(jī)存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)和高速緩存(Cache)三部分。ROM(Read Only Memory)是只讀存儲(chǔ)器,可以說任意一個(gè)硬件都對(duì)應(yīng)一個(gè)ROM存儲(chǔ)器,用于存儲(chǔ)硬件本身的信息或其相應(yīng)的應(yīng)用程序,其特點(diǎn)是斷電后信息不會(huì)丟失,最常見的就是BIOS芯片,不過現(xiàn)在的BIOS芯片都可以復(fù)寫,但是大多數(shù)還是稱為BIOS ROM;RAM(Random Access Memory)是隨機(jī)存儲(chǔ)器,它既可以寫入數(shù)據(jù)也可以讀取數(shù)據(jù),可以不斷的復(fù)寫數(shù)據(jù),其特點(diǎn)是斷電后存儲(chǔ)的數(shù)據(jù)會(huì)丟失。其內(nèi)存條就是將RAM集成在一個(gè)插卡上以減少RAM的空間,所以常說的內(nèi)存條就是指內(nèi)存。
隨著科技的發(fā)展,現(xiàn)在的內(nèi)存條的存儲(chǔ)空間也越來越大,臨時(shí)存儲(chǔ)的數(shù)據(jù)也越來越多,所以擁有大內(nèi)存的計(jì)算機(jī)遠(yuǎn)比小內(nèi)存的計(jì)算機(jī)運(yùn)行要流暢,然而并不是越大的內(nèi)存空間就越好,其首先收到主板的牽制,其次還收到CPU總線的限制,如果CPU總線不及則又是大材小用,如果內(nèi)存空間不足則CPU無法最高效運(yùn)作。
綜上所述,內(nèi)存條也是計(jì)算機(jī)的必要組件之一,大內(nèi)存的內(nèi)存條往往會(huì)是計(jì)算機(jī)的程序運(yùn)行更流暢,但是前提是必須與主板接口相兼容。
顯卡
顯卡全稱顯示接口卡,也稱顯示適配器、顯示器配置卡,是PC中一個(gè)重要的組件,主要用于將計(jì)算機(jī)系統(tǒng)輸出的信息進(jìn)行轉(zhuǎn)換并向顯示器提供掃描信號(hào)。顯卡基本上包括GPU(Graphic Processing Unit,圖形處理器)、顯存兩個(gè)重要部件。
GPU,即圖形處理器,相對(duì)應(yīng)CPU的一個(gè)概念,在早期圖形處理部分主要由CPU來完成,而現(xiàn)在圖形處理變得越來越重要,所以必須一個(gè)核心的圖形處理器來完成這個(gè)工作,從而減少對(duì)CPU的依賴,所以就出現(xiàn)了GPU,主要用于將輸出信號(hào)進(jìn)行幾何轉(zhuǎn)換和光照處理以及像素和色彩渲染等處理。顯存是顯示內(nèi)存的簡(jiǎn)稱,其和內(nèi)存的作用基本一致,其主要用于暫時(shí)存儲(chǔ)顯示芯片要處理的數(shù)據(jù)和處理完畢的數(shù)據(jù),通常情況下顯存越大其圖形顯示的性能就越強(qiáng)。
現(xiàn)在的顯卡基本分為獨(dú)立顯卡、集成顯卡兩大類,其中集顯就是將顯示芯片、顯存等集成在主板上;獨(dú)顯則是將顯示芯片、顯存等坐在一個(gè)插卡上,通過主板接口插槽插入運(yùn)行,當(dāng)然現(xiàn)在也有雙顯卡兼容工作的模式。需要注意的是顯卡也受主板的約束。
聲卡
聲卡,亦稱為音頻卡,是多媒體技術(shù)中的基本組成部分,實(shí)現(xiàn)聲波/數(shù)組信號(hào)相互轉(zhuǎn)換的一種組件。聲卡主要用于將原始聲音數(shù)據(jù)轉(zhuǎn)換為聲音信號(hào)并輸出到不同的聲響設(shè)備。聲卡主要包括聲音控制芯片、數(shù)字信號(hào)處理器等部件組成。
聲音控制芯片主要將從輸入設(shè)備中獲取的聲音模擬信號(hào)通過模數(shù)轉(zhuǎn)換器,將聲波信號(hào)轉(zhuǎn)換為一串?dāng)?shù)字信號(hào)并存儲(chǔ)在儲(chǔ)存器中;數(shù)字信號(hào)處理器是一種聲音數(shù)字處理器,將信號(hào)交由該處理器處理減輕了CPU的工作負(fù)擔(dān)。
現(xiàn)在聲卡基本分為板卡式、集成式和外置式三種接口類型。
網(wǎng)卡
網(wǎng)卡,全稱網(wǎng)絡(luò)接口板,又稱通信適配器或完了接口卡(NIC,Network Interface Card)。網(wǎng)卡是計(jì)算機(jī)進(jìn)行網(wǎng)絡(luò)通信必備的硬件設(shè)備,它屬于網(wǎng)絡(luò)協(xié)議(OSI模型)中的鏈路層組件,主要用于網(wǎng)絡(luò)中電信號(hào)的匹配、傳輸、編碼和解碼等工作。
網(wǎng)卡主要有處理器和存儲(chǔ)器兩大部件組成,其中存儲(chǔ)器,也就是網(wǎng)卡的ROM中保存這該網(wǎng)卡的基本信息,其中有標(biāo)識(shí)該網(wǎng)卡唯一的MAC地址,是一個(gè)獨(dú)一無二的48位串行號(hào)(任何兩塊網(wǎng)卡的MAC地址都不會(huì)重復(fù));處理器則用于對(duì)電信號(hào)進(jìn)行傳輸、解碼以及編碼工作(在網(wǎng)絡(luò)通信中實(shí)際傳輸?shù)氖请娦盘?hào),由網(wǎng)卡負(fù)責(zé)將電信號(hào)進(jìn)行編碼和解碼)。
網(wǎng)卡在局域網(wǎng)之間的通信是通過電纜或雙絞線以串行傳輸方式進(jìn)行的,而在計(jì)算機(jī)之間的通信則是通過計(jì)算機(jī)主板上的I/O總線以窗口并行傳輸方式進(jìn)行的。所以網(wǎng)卡的一個(gè)重要功能就是進(jìn)行串行/并行轉(zhuǎn)換。網(wǎng)卡一般具備數(shù)據(jù)的封裝和解封、鏈路管理以及編碼(曼徹斯特編碼)和移碼三大功能。
現(xiàn)在的網(wǎng)卡基本分為有線網(wǎng)卡和無線網(wǎng)卡兩種,其中有線網(wǎng)卡則為標(biāo)準(zhǔn)通用化網(wǎng)卡設(shè)備,無線網(wǎng)卡主要是一個(gè)電信號(hào)接受和發(fā)送的設(shè)備,其標(biāo)準(zhǔn)主要使用數(shù)據(jù)傳輸速率來衡量。
當(dāng)然還有其他的設(shè)備,這里就不一一介紹了。
說點(diǎn)題外話,個(gè)人認(rèn)為計(jì)算機(jī)的主板、CPU和內(nèi)存比較重要,畢竟內(nèi)存和CPU寄存于主板之上,盲目的追求高內(nèi)存和CPU并不一定能夠使其發(fā)揮到更好的工作效果,但也不排除高內(nèi)存和CPU的確能夠是計(jì)算機(jī)高效工作。追求高配是現(xiàn)在的潮流,追求之前一定得讓主板所能承受才可。
對(duì)于計(jì)算機(jī)的軟件系統(tǒng),這里不想多說,做IT的你不知道軟件,那也甭做了,還是回家種地吧。話說計(jì)算機(jī)的軟件系統(tǒng)可以分為系統(tǒng)程序和應(yīng)用程序兩大類。
系統(tǒng)程序是為了簡(jiǎn)化程序設(shè)計(jì)和使用方法而出現(xiàn)的一類高效的軟件程序,包括服務(wù)性程序、語(yǔ)言處理程序、操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)。應(yīng)用程序是用戶利用計(jì)算機(jī)來解決問題而編制的程序。
軟件(Software)是計(jì)算機(jī)系統(tǒng)中使用的各種程序,而軟件系統(tǒng)是指揮整個(gè)計(jì)算機(jī)硬件系統(tǒng)工作的程序集合。在計(jì)算機(jī)中的程序劃分為微程序設(shè)計(jì)級(jí)、機(jī)器語(yǔ)言級(jí)、操作系統(tǒng)級(jí)、匯編語(yǔ)言級(jí)和高級(jí)語(yǔ)言級(jí)五大級(jí)別。微程序設(shè)計(jì)級(jí)別是一種純硬件級(jí)別的程序設(shè)計(jì),一般就是定義其硬件的指令系統(tǒng),由機(jī)器硬件直接執(zhí)行。機(jī)器語(yǔ)言級(jí)別也是硬件級(jí)別的程序設(shè)計(jì),一般是借用微程序的指令系統(tǒng)實(shí)現(xiàn)程序設(shè)計(jì),由微程序去執(zhí)行的。操作系統(tǒng)級(jí)別屬于一種軟硬件混合級(jí)別的程序設(shè)計(jì),一般涉及軟硬件指令的引用,主要在操作系統(tǒng)的控制下去調(diào)用軟硬件資源協(xié)調(diào)工作,實(shí)際底層是一般機(jī)器去執(zhí)行的。匯編語(yǔ)言級(jí)別的程序一般使用匯編語(yǔ)言編寫,由匯編程序的支持和執(zhí)行。高級(jí)語(yǔ)言級(jí)別的程序采用的是高級(jí)程序設(shè)計(jì)語(yǔ)言編寫,一般為一種純粹的軟件程序,由對(duì)應(yīng)程序設(shè)計(jì)語(yǔ)言的編譯和執(zhí)行程序支持和執(zhí)行,這一級(jí)別的程序也稱為用戶程序。現(xiàn)在我們所做的程序大多都是建立在操作系統(tǒng)級(jí)別之上的匯編語(yǔ)言程序和高級(jí)語(yǔ)言程序。
然而隨之技術(shù)的發(fā)展,現(xiàn)在的軟硬件的界限也模糊不清了,隨之只讀存儲(chǔ)器的出現(xiàn),現(xiàn)下大多數(shù)的硬件設(shè)備都是集成式(也稱嵌入式)的,其內(nèi)部都包含一個(gè)只讀存儲(chǔ)區(qū),存儲(chǔ)著其對(duì)應(yīng)的固有的軟件程序,這樣的部件我也稱之為固件。
談到軟件,就不得不說程序設(shè)計(jì)語(yǔ)言,何為程序設(shè)計(jì)語(yǔ)言?程序設(shè)計(jì)語(yǔ)言就是使用約定的符號(hào)編寫計(jì)算機(jī)程序的語(yǔ)言,簡(jiǎn)單的說是用來制作計(jì)算機(jī)軟件程序的語(yǔ)言,例如匯編、C、Java、PHP等等都是程序設(shè)計(jì)語(yǔ)言?,F(xiàn)下的程序設(shè)計(jì)語(yǔ)言可分為機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言三大類。機(jī)器語(yǔ)言是一種用二進(jìn)制形式表示并且能夠直接被計(jì)算機(jī)硬件識(shí)別和執(zhí)行的語(yǔ)言,機(jī)器語(yǔ)言也機(jī)器本身結(jié)構(gòu)有關(guān),不同的機(jī)器其機(jī)器語(yǔ)言也不同,使用機(jī)器語(yǔ)言編寫的程序成為i額機(jī)器語(yǔ)言程序。匯編語(yǔ)言是一種將機(jī)器語(yǔ)言符號(hào)化的語(yǔ)言,它使用字母、符號(hào)和數(shù)字來代替數(shù)字編碼的機(jī)器指令,匯編語(yǔ)言的語(yǔ)句與機(jī)器指令一一對(duì)應(yīng),所以不同的機(jī)器也具有不同的匯編語(yǔ)言,用匯編語(yǔ)言編寫的程序稱為匯編語(yǔ)言程序;例如Nasm、Masm、Tasm等都屬于匯編語(yǔ)言程序。高級(jí)語(yǔ)言是一種與計(jì)算機(jī)結(jié)構(gòu)不相關(guān)的,表達(dá)方式接近于被描述問題的程序設(shè)計(jì)語(yǔ)言,高級(jí)語(yǔ)言程序在計(jì)算機(jī)中需要利用其對(duì)應(yīng)的編譯程序或解釋執(zhí)行程序?qū)⑵浞g為對(duì)應(yīng)的機(jī)器語(yǔ)言程序才可以執(zhí)行;例如Basic、Fortran、Pascal、C語(yǔ)言、Delphi、C++、 Java等都屬于高級(jí)語(yǔ)言程序。然而高級(jí)語(yǔ)言又可以劃分為面向過程式語(yǔ)言、面向?qū)ο笫秸Z(yǔ)言等。
存儲(chǔ)器是計(jì)算機(jī)的基本部件之一,其按照不同的衡量標(biāo)準(zhǔn)可以劃分為不同的類別。最常見就是根據(jù)其本質(zhì)讀寫能力劃分為只讀存儲(chǔ)器(ROM,Read-Only Memory)和隨機(jī)讀寫存儲(chǔ)器(RAM,Random Access Memory)。只讀存儲(chǔ)器中存儲(chǔ)的內(nèi)容是不可變的,只能讀取數(shù)據(jù)而不能寫入數(shù)據(jù),所以常用于保存一些硬件設(shè)備的基本信息,其存儲(chǔ)的數(shù)據(jù)是永久的,斷電后可以保留;隨機(jī)讀寫存儲(chǔ)器中存儲(chǔ)的內(nèi)容是可變的,既可以寫入數(shù)據(jù)也可以讀取數(shù)據(jù),其存儲(chǔ)的數(shù)據(jù)并不是永久的,斷電后則就會(huì)丟失。隨之ROM的發(fā)展可分為掩模式ROM(不可修改)、可編程ROM(PROM)、可擦除PROM(EPROM)、電可擦除PROM(EEPROM)和閃存(Flash Memory),現(xiàn)在所用ROM存儲(chǔ)器基本上都支持重新寫入。RAM可以非為SRAM(靜態(tài)RAM)和DRAM(動(dòng)態(tài)RAM)兩種類型。
存儲(chǔ)器根據(jù)在計(jì)算機(jī)系統(tǒng)中的作用和角色則分為寄存器(控制存儲(chǔ)器)、高速緩沖存儲(chǔ)器、內(nèi)存(主存儲(chǔ)器)、磁盤存儲(chǔ)器(輔助存儲(chǔ)器)等?,F(xiàn)今的通用計(jì)算機(jī)都具備寄存器、緩沖存儲(chǔ)器、內(nèi)存和磁盤這四個(gè)存儲(chǔ)器設(shè)備,而且其訪問速度依次遞減,但是存儲(chǔ)容量則依次遞增。下面逐一介紹。
寄存器
寄存器,也稱為控制存儲(chǔ)器,用于臨時(shí)存儲(chǔ)參與運(yùn)算數(shù)據(jù),常集成于CPU(中央處理器)中,所以其存取數(shù)據(jù)速度快,其速度是所有存儲(chǔ)器中速度最快的。為什么要集成與CPU中?因?yàn)镃PU包含運(yùn)算器和控制器,其是處理數(shù)據(jù)的中心,如果有一個(gè)在讀取數(shù)據(jù)是從其他管理的元件中傳入,必定存在傳輸延遲問題,同時(shí)還增加了對(duì)其他元件的依賴程度和負(fù)載能力,所以將其寄存于CPU中作為臨時(shí)數(shù)據(jù)的存取空間。
高速緩沖存儲(chǔ)器
高速緩沖存儲(chǔ)器,從名字上可以得知其主要是起到緩沖數(shù)據(jù)的作用。由于寄存器容量有限,一個(gè)CPU運(yùn)算的周期可能需要從較大的內(nèi)存存儲(chǔ)器中獲取更多的數(shù)據(jù)信息,增大了數(shù)據(jù)傳輸?shù)臅r(shí)間,這便限制了高速計(jì)算,為了解決這個(gè)問題,所以使用一個(gè)高速緩沖存儲(chǔ)器來加速CPU和內(nèi)存之間的數(shù)據(jù)傳輸。高速緩存存儲(chǔ)器通常也集成于CPU中,用于臨時(shí)存儲(chǔ)即將參與運(yùn)算的數(shù)據(jù),其容量較小但是存取數(shù)據(jù)速度也很快。
內(nèi)存
內(nèi)存,也稱為主存儲(chǔ)器,用于存儲(chǔ)運(yùn)行的程序和數(shù)據(jù),其存取數(shù)據(jù)的速度較快,存儲(chǔ)數(shù)據(jù)的容量較大。內(nèi)存是運(yùn)行程序和資源數(shù)據(jù)與CPU進(jìn)行交互的主要中間介質(zhì),也就是說程序啟動(dòng)時(shí)先將程序數(shù)據(jù)送往內(nèi)存中,然后由CPU去一條一條數(shù)據(jù)的執(zhí)行。由于寄存器和高速緩沖存儲(chǔ)器都集成于CPU中,而內(nèi)存是獨(dú)立于CPU的,所以內(nèi)存的性能會(huì)直接影響計(jì)算機(jī)的性能。這也是大家都最求高內(nèi)存的原因。
內(nèi)存的衡量標(biāo)準(zhǔn)主要有存儲(chǔ)容量、存取時(shí)間、存儲(chǔ)周期和存儲(chǔ)器帶寬四個(gè)指標(biāo)。其中存儲(chǔ)容量是一個(gè)存儲(chǔ)器中可以容納的存儲(chǔ)單元總數(shù),通常以字?jǐn)?shù)或字節(jié)數(shù)作為單位;存取時(shí)間則是啟動(dòng)到完成一次存儲(chǔ)器操作所經(jīng)歷的時(shí)間,通常以納秒(ns)為單位;存儲(chǔ)周期則是連續(xù)啟動(dòng)連詞操作所需間隔的最小時(shí)間,通常以納秒(ns)為單位;存儲(chǔ)器帶寬表示單位時(shí)間內(nèi)存儲(chǔ)器所存儲(chǔ)的信息量大小,通常以位/秒或字節(jié)/秒為單位。后三者是其存取速度的主要衡量標(biāo)準(zhǔn)。
磁盤存儲(chǔ)器
磁盤存儲(chǔ)器,屬于輔助存儲(chǔ)器,簡(jiǎn)稱輔存,輔存包括磁盤、U盤、光盤等外部存儲(chǔ)器,而磁盤存儲(chǔ)器是最為常見的輔存設(shè)備。輔存的最大特點(diǎn)是存儲(chǔ)容量大。
隨著科技的發(fā)展,現(xiàn)在還存在另一種存儲(chǔ)器——虛擬存儲(chǔ)器。虛擬存儲(chǔ)器并發(fā)實(shí)際存在的物理存儲(chǔ)器,而是一種容量足夠大的邏輯模型,指借助磁盤等輔助存儲(chǔ)器來擴(kuò)大主存容量的一種方式。其實(shí)可以將其理解為一種主存到外存層次上的緩沖存儲(chǔ)器。
眾所周知,計(jì)算機(jī)使用的是二進(jìn)制數(shù)制系統(tǒng)。存儲(chǔ)元是計(jì)算機(jī)中最小存儲(chǔ)數(shù)據(jù)的介質(zhì),一個(gè)存儲(chǔ)元存儲(chǔ)一個(gè)二進(jìn)制數(shù)碼(0或1);多個(gè)存儲(chǔ)單元組成一個(gè)存儲(chǔ)單元;多個(gè)存儲(chǔ)單元組成一個(gè)存儲(chǔ)器。
說到存儲(chǔ)器,不得不說的是存儲(chǔ)器容量的問題。常見的“KB”或“K”、“MB”或“M”、“GB”或“G”、“TB”或“T”,這些都是存儲(chǔ)器容量的衡量單位。存儲(chǔ)器的容量其實(shí)是指存儲(chǔ)器所有存儲(chǔ)單元的總數(shù),規(guī)定8位(8個(gè)二進(jìn)制碼)為1字節(jié),即8bit=1byte=1B(至于為什么這樣規(guī)定?筆者也沒搞清楚)。
到底什么是位?位(bit)是計(jì)算機(jī)中最小的數(shù)據(jù)傳輸單位,其實(shí)就是一個(gè)二進(jìn)制數(shù)碼(0或1),一個(gè)二進(jìn)制序列中的每一個(gè)0或1都成為一個(gè)位,按照習(xí)慣,通常稱右邊為低位,左邊為高位。
那什么又是字節(jié)?字節(jié)(byte)是計(jì)算機(jī)中最小的數(shù)據(jù)存儲(chǔ)單位,規(guī)定一個(gè)字節(jié)由8位組成,即一個(gè)字節(jié)就是8個(gè)0或1組成的二進(jìn)制序列。隨著計(jì)算機(jī)的發(fā)展,其存儲(chǔ)容量越來越大,使用字節(jié)進(jìn)行衡量就不太合理了。所以出現(xiàn)了千字節(jié)(KB)、兆字節(jié)(MB)、吉字節(jié)(GB)、太字節(jié)(TB)等等更大了衡量單位。
從十進(jìn)制的角度去考慮,上述的單位都相差千倍,在二進(jìn)制中千倍可以使用210(1024)表示(因?yàn)槠渥罱咏?000)。所以標(biāo)準(zhǔn)情況下其計(jì)算機(jī)存儲(chǔ)單位換算過程如下:
1B=1byte=8bit=8b
1KB=1024B=1024byte
1MB=1024KB
1GB=1024MB
1TB=1024GB
……
上述只是標(biāo)準(zhǔn)情況下的換算方式,而在現(xiàn)實(shí)中,大多數(shù)硬盤中還是使用10的3次方即1000作為轉(zhuǎn)換標(biāo)準(zhǔn)進(jìn)行硬盤設(shè)計(jì)制造。
上面也提到,“位”是計(jì)算機(jī)中數(shù)據(jù)傳輸?shù)淖钚挝?。然而?jì)算機(jī)在實(shí)際工作中,如果使用位進(jìn)行數(shù)據(jù)傳輸則效率極其低,所以實(shí)際中CPU向存儲(chǔ)器送入或從存儲(chǔ)器取出信息時(shí),通常使用用“字節(jié)”或“字”等較大的信息單元來工作。
字節(jié)(byte或B)也就是上面講到的,一般由8位二進(jìn)制數(shù)碼組成,也就是說使用字節(jié)進(jìn)行傳輸數(shù)據(jù)則一次可以傳輸8位信息,然而這樣還是不能滿足當(dāng)前的運(yùn)算要求,因此就出現(xiàn)了字。
字(word或W)是計(jì)算機(jī)中最常用的數(shù)據(jù)傳輸單位,字由若干個(gè)字節(jié)組成,是計(jì)算機(jī)一次處理或運(yùn)算的一串二進(jìn)制數(shù)碼,相同的字在不同的位置其含義也不同,例如送外控制器的字是指令,而送往運(yùn)算器的字則是運(yùn)算數(shù)。字的長(zhǎng)度用位數(shù)來表示,通常把組成一個(gè)字的二進(jìn)制位數(shù)叫做字長(zhǎng),我們常說的8位、16位、32位和64位CPU則就是指的CPU字長(zhǎng),也就是CPU一次能夠處理(傳輸)的二進(jìn)制數(shù)碼位數(shù)。字長(zhǎng)可以用于衡量一個(gè)CPU的能力,字長(zhǎng)越大其性能則越高,字長(zhǎng)可分為固定和可變兩種類型。常說的32位、64位操作系統(tǒng)則是對(duì)應(yīng)于計(jì)算機(jī)處理器而言的,它們都是低向兼容,但是如果不匹配則其運(yùn)行性能會(huì)大打折扣,比如說64位的CPU可以兼容32位的系統(tǒng),但是其效果不能達(dá)到最佳,而32位則不能兼容64位的系統(tǒng)。
上面一再提到指令,到底何為指令?指令就是一種指揮相應(yīng)動(dòng)作的命令,在計(jì)算機(jī)中指令是一種控制信號(hào),用來控制計(jì)算機(jī)各個(gè)元件的相應(yīng)操作。計(jì)算機(jī)的電子元件的工作都受到指令的支配。其是計(jì)算機(jī)中最小的執(zhí)行單元,所有的程序都是由一系列相應(yīng)的指令組成的,計(jì)算機(jī)的指令可劃分為微指令、機(jī)器指令和宏指令三類,微指令是微程序的命令,屬于硬件級(jí)別;宏指令則是有若干條機(jī)器指令組成的軟件指令,屬于軟件級(jí)別;機(jī)器指令其介于微指令和宏指令之間,每一條指令可以完成一個(gè)獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算,我們常說的指令就是指機(jī)器指令。
計(jì)算機(jī)中所有機(jī)器指令的集合組成一個(gè)指令系統(tǒng),其是計(jì)算機(jī)性能的重要衡量標(biāo)準(zhǔn),不僅直接影響機(jī)器的硬件結(jié)構(gòu),也直接影響到其軟件系統(tǒng),影響其機(jī)器本身的適用范圍。計(jì)算機(jī)的指令系統(tǒng)一般包括數(shù)據(jù)傳送指令、算術(shù)運(yùn)算指令、邏輯運(yùn)算指令、程序控制指令、輸入輸出指令、字符串處理指令、特權(quán)指令以及狀態(tài)寄存器置位、復(fù)位指令、測(cè)試指令、暫停指令,空操作指令等其他指令。從指令系統(tǒng)來講可以將計(jì)算機(jī)非為復(fù)雜指令系統(tǒng)計(jì)算機(jī)(CISC)和精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)(RISC)兩種,復(fù)雜指令系統(tǒng)的指令多達(dá)幾百條,大多數(shù)情況下只有20%的指令會(huì)經(jīng)常使用,而精簡(jiǎn)指令系統(tǒng)就是這20%的指令組成的。
指令,也稱機(jī)器指令或指令字,是計(jì)算機(jī)中一種控制元件執(zhí)行動(dòng)作的命令,其實(shí)質(zhì)是一種二進(jìn)制序列代碼,由操作碼字段和地址碼字段組成。其中操作碼字段表示指令的操作特性和功能,地址碼字段指定參與操作的操作數(shù)據(jù)的地址。
指令系統(tǒng)中的每一條指令都有一個(gè)操作碼,表示該指令應(yīng)該進(jìn)行什么性質(zhì)的操作,也就是說每一種指令對(duì)應(yīng)一種固定編碼的操作碼。操作碼的字段位數(shù)一般受到計(jì)算機(jī)指令系統(tǒng)的約束,一般8條指令的指令系統(tǒng),3位操作碼則足夠;32條指令的指令系統(tǒng),則需要5位操作碼。
每一條指令不僅包括操作碼,而且還操作地址碼,地址碼用于指定操作數(shù)的存儲(chǔ)位置。根據(jù)操作數(shù)的個(gè)數(shù)可以將指令分為若干個(gè)操作數(shù)指令或若干個(gè)地址指令;一般的指令都存儲(chǔ)被操作數(shù)、操作數(shù)和操作結(jié)果三種數(shù)據(jù),所以稱為三地址指令,當(dāng)然也存在二地址指令、一地址指令和零地址指令。
在計(jì)算機(jī)的指令系統(tǒng)中,一般指令的操作碼字段和地址碼字段的位數(shù)(長(zhǎng)度)是固定的,而指令的位數(shù)(指令字長(zhǎng)度)則分為固定和可變兩種。固定字長(zhǎng)指令系統(tǒng)中,各種指令字長(zhǎng)度都是相等的;可變字長(zhǎng)指令系統(tǒng)中,各種指令字長(zhǎng)度隨指功能而異。指令字長(zhǎng)和機(jī)器字長(zhǎng)大多會(huì)混為一談,指令字長(zhǎng)度表示一條指令中所包含的二進(jìn)制數(shù)碼位數(shù);機(jī)器字長(zhǎng)表示計(jì)算機(jī)一次直接處理二進(jìn)制數(shù)碼的位數(shù),其決定了計(jì)算機(jī)的運(yùn)算精度。
上面提到操作數(shù)地址,那么何為地址?來看下面的介紹。
操作數(shù)地址是指操作數(shù)存儲(chǔ)在存儲(chǔ)器存儲(chǔ)單元時(shí)存儲(chǔ)單元的編號(hào)(編碼,一種二進(jìn)制數(shù)碼);指令在存儲(chǔ)器中的地址則指指令存儲(chǔ)在存儲(chǔ)單元是該存儲(chǔ)單元的編號(hào)。在存儲(chǔ)器中,操作數(shù)或指令字寫入或讀取的方式有地址指定方式、相聯(lián)存儲(chǔ)方式和堆棧存儲(chǔ)方式三種形式。大多數(shù)的機(jī)器采用地址指定方式來表述操作數(shù)或指令的地址,這種方式稱為“尋址方式”,常說的尋址是指在內(nèi)存中進(jìn)行尋址。尋找方式分為指令尋址方式和數(shù)據(jù)尋址方式兩種。
指令尋址方式包括順序?qū)ぶ泛吞S尋址兩種形式,順序?qū)ぶ肪褪前闯绦蛑噶铐樞蛞粭l一條指令的執(zhí)行,首先執(zhí)行第一條,然后第二條,接著第三條……,通常情況下處理器中存儲(chǔ)一個(gè)程序技計(jì)數(shù)器(指令指針寄存器),用來標(biāo)識(shí)下一條指令的序號(hào)(模擬序號(hào)),根據(jù)這個(gè)序號(hào)可以指定執(zhí)行下一條指令的位置;當(dāng)程序指令轉(zhuǎn)移執(zhí)行時(shí)則需要使用跳躍尋址方式,此時(shí)當(dāng)前指令會(huì)給出下一條指令的序號(hào)(并不是由程序計(jì)算器給出,但是其指會(huì)改變),程序跳躍后,然后在按新的指令地址順序執(zhí)行。
指令中操作數(shù)的地址碼一般有形式地址和尋址方式特制位組合形成,也就是說,指令中的地址碼并不是操作數(shù)的真實(shí)有效地址,因此,操作數(shù)的尋址過程就是將操作數(shù)的形式地址轉(zhuǎn)換為操作數(shù)的有效地址的過程。操作數(shù)的有效地址是將操作數(shù)的形式地址使用指定的尋址方式進(jìn)行轉(zhuǎn)換得來的,其中操作數(shù)的形式地址是一種二進(jìn)制數(shù)碼,尋址方式包括隱含尋址、立即尋址、直接尋址、間接尋址、寄存器尋址、相對(duì)尋址、基址尋址、變址尋址、塊尋址和段尋址等多種方式。隱含尋址就是指令中不明顯的給出而是隱含這操作數(shù)的地址;立即尋址表示指令中的地址字段指定的是操作數(shù)本身,而不是其地址;直接尋址就是在指令的地址字段中直接之處操作數(shù)在內(nèi)存中的地址;間接尋址就是指令中的地址字段給出的是形式地址,而是操作數(shù)地址的指示器,然后由指示器指定其真是地址;寄存器尋找是指操作數(shù)存儲(chǔ)在CPU寄存器中,指令給出的是數(shù)據(jù)存儲(chǔ)的寄存器編號(hào),還衍生有寄存器間接尋址方式,其指令給出的是輸出存儲(chǔ)在內(nèi)存中的地址;相對(duì)尋址是相對(duì)當(dāng)前指令地址而言的,通過偏移量來尋找操作數(shù)地址;基址尋址是將CPU中基址寄存器的內(nèi)容加上指令格式中的形式地址而形成的操作數(shù)的有效地址的方式;變址尋找是把CPU中某個(gè)變址寄存器的內(nèi)容與偏移量相加來形成操作數(shù)有效地址的方式;塊尋址通常指定數(shù)據(jù)庫(kù)的起始地址和數(shù)據(jù)庫(kù)的長(zhǎng)度,然后尋找一個(gè)整體,常用于輸入輸出指令中;段尋址是將存儲(chǔ)器按指定大小劃分為多個(gè)段,然后采用基址尋址方式進(jìn)行尋址,常用在微型機(jī)中。(這里只是簡(jiǎn)單介紹一下,具體的過于復(fù)雜,所以不具體說明,可以自行查找資料理解)
通常CPU中還存在一種能夠存儲(chǔ)和讀取數(shù)據(jù)的暫時(shí)存儲(chǔ)單元——堆棧(或許你看到它并不陌生,是兩種數(shù)據(jù)結(jié)構(gòu))。堆棧是一種能存儲(chǔ)和取出數(shù)據(jù)的暫時(shí)存儲(chǔ)單元,分為串聯(lián)堆棧和存儲(chǔ)器堆棧兩種形式。很多計(jì)算機(jī)把存儲(chǔ)器的一部分用作堆棧,堆棧與其他形式存儲(chǔ)器的差別在于其對(duì)數(shù)據(jù)的存取方法和尋址方法,其堆棧的主要存儲(chǔ)特點(diǎn)是數(shù)據(jù)先進(jìn)后出。
從宏觀角度來將可以將當(dāng)下的程序設(shè)計(jì)語(yǔ)言劃分為低級(jí)語(yǔ)言和高級(jí)語(yǔ)言兩種,低級(jí)語(yǔ)言大多直接與硬件指令打交道,而高級(jí)語(yǔ)言則與硬件本身關(guān)聯(lián)并不緊密。
低級(jí)語(yǔ)言可分為機(jī)器語(yǔ)言(二進(jìn)制語(yǔ)言)和匯編語(yǔ)言(符號(hào)語(yǔ)言),這兩種語(yǔ)言是面向機(jī)器的語(yǔ)言,和具體機(jī)器的指令系統(tǒng)密切相關(guān),機(jī)器語(yǔ)言使用指令代碼編寫程序,而匯編語(yǔ)言使用指令助記符號(hào)來編寫程序。由于低級(jí)語(yǔ)言效率地下,而且多被機(jī)器限定,所以就誕生了高級(jí)語(yǔ)言。
相對(duì)低級(jí)語(yǔ)言而言,高級(jí)程序設(shè)計(jì)語(yǔ)言擺脫了對(duì)硬件設(shè)備機(jī)器指令的束縛,其自成體系,常見的有C、C++、Java等。但是由于計(jì)算機(jī)只能識(shí)別并執(zhí)行二進(jìn)制的機(jī)器指令,所以高級(jí)語(yǔ)言編寫的程序大多需要借助匯編程序或?qū)?yīng)的編譯程序?qū)⑵浔旧矸g成二進(jìn)制的機(jī)器指令。所以高級(jí)語(yǔ)言入門快、適用度高,但是其效率相對(duì)而低。
程序是一個(gè)指令序列,這個(gè)序列明確告訴計(jì)算機(jī)應(yīng)該執(zhí)行什么操作、應(yīng)該在什么地方找到用來操作的數(shù)據(jù),一旦把程序裝載入內(nèi)存中,就可以有計(jì)算機(jī)自動(dòng)完成取出指令和執(zhí)行指令的任務(wù),而用來完成這項(xiàng)工作的計(jì)算機(jī)部件稱為中央處理器,簡(jiǎn)稱為CPU。
CPU是計(jì)算機(jī)中最重要的部件之一,其必須有指令控制、操作控制、時(shí)間控制和數(shù)據(jù)加工處理四個(gè)級(jí)別功能。指令控制就是程序的順序控制;操作控制就是指一條指令的功能往往是由若干個(gè)操作信號(hào)組合來實(shí)現(xiàn)的;時(shí)間控制是對(duì)各種操作實(shí)施時(shí)間上的定時(shí);數(shù)據(jù)加工就是對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算或邏輯運(yùn)算。
CPU主要有運(yùn)算器、cache區(qū)和控制器三大部分組成。其中控制器由程序計(jì)數(shù)器、指令寄存器、指令譯碼器、時(shí)序產(chǎn)生器和操作控制器組成;是計(jì)算機(jī)的命令指揮中心,可以從內(nèi)存中取出一條指令并指出下一條指令的內(nèi)存地址,可以對(duì)指令進(jìn)行譯碼和測(cè)試并產(chǎn)生相應(yīng)的操作控制信號(hào)支配元件完成動(dòng)作,同時(shí)指揮和控制CPU、內(nèi)存和輸入/輸出設(shè)備之間數(shù)據(jù)流向。運(yùn)算器由算術(shù)邏輯單元(ALU)、累加寄存器、數(shù)據(jù)緩沖寄存器和狀態(tài)條件寄存器組成;是計(jì)算機(jī)正真執(zhí)行數(shù)據(jù)加工處理的部件,受控制器支配,可以執(zhí)行所有的算術(shù)運(yùn)算和邏輯運(yùn)算,并進(jìn)行邏輯測(cè)試等。下面是CPU結(jié)構(gòu)模擬圖:
從圖上可以看出CPU中有數(shù)據(jù)緩沖寄存器(DR)、指令寄存器(IR)、程序計(jì)數(shù)器(PC)、地址寄存器(AR)、累加寄存器(AC)和狀態(tài)條件寄存器(PSW)六類主要寄存器(寄存器就是臨時(shí)存取器,是一種臨時(shí)存儲(chǔ)數(shù)據(jù)的空間)。
數(shù)據(jù)緩沖寄存器(DR)
數(shù)據(jù)緩沖寄存器用來暫時(shí)存放從內(nèi)存儲(chǔ)器讀取的一條指令或一個(gè)數(shù)據(jù)字或向內(nèi)存存入一條指令或一個(gè)數(shù)據(jù)字。其作為CPU和內(nèi)存、外部設(shè)備之間信息傳送的中轉(zhuǎn)站,可以補(bǔ)償CPU和內(nèi)存、外圍設(shè)備之間在操作數(shù)度上的差別。有時(shí)也作為操作數(shù)寄存器使用。
指令寄存器(IR)
指令寄存器用于保存當(dāng)前正在執(zhí)行的一條指令數(shù)據(jù)。當(dāng)執(zhí)行一條指令時(shí),首先把其從內(nèi)存讀取到緩沖寄存器中,然后在送往指令寄存器,由指令譯碼器對(duì)指令的操作碼字段進(jìn)行譯碼和測(cè)試后,向操作控制器發(fā)出具體操作的特定信號(hào)。
程序計(jì)數(shù)器(PC)
程序計(jì)算器也稱為指令計(jì)算器,其主要用于記錄下一條指令的內(nèi)存地址。在程序開始執(zhí)行前,必須將它的起始地址即第一條指令所在的內(nèi)存單元地址送人程序計(jì)數(shù)器,當(dāng)執(zhí)行這條指令時(shí),CPU會(huì)自動(dòng)修改程序計(jì)數(shù)器的內(nèi)容為下一條指令的地址。由于大多數(shù)指令都是順序執(zhí)行的,所以修改過程通常只是簡(jiǎn)單的加1。
地址寄存器(AR)
地址寄存器用來保存當(dāng)前CPU所訪問的內(nèi)存單元的地址。由于內(nèi)存和CPU之間存儲(chǔ)操作數(shù)度上的差別,所以必須使用地址寄存器來暫時(shí)保存地址信息,直到內(nèi)存的讀/寫操作完成為止。當(dāng)CPU和內(nèi)存進(jìn)行信息交換,即CPU向內(nèi)存存/取數(shù)據(jù)或CPU從內(nèi)存中讀取指令時(shí),都要使用到地址寄存器和數(shù)據(jù)緩沖寄存器。
累加寄存器(AC)
累加寄存器簡(jiǎn)稱累加器,其是一個(gè)通用的寄存器。主要用于當(dāng)運(yùn)算器的算術(shù)邏輯單元執(zhí)行算術(shù)或邏輯運(yùn)算時(shí),為算術(shù)邏輯單元提供一個(gè)工作區(qū);其可以暫時(shí)存放算術(shù)邏輯單元的運(yùn)算結(jié)構(gòu)信息。
狀態(tài)條件寄存器(PSW)
狀態(tài)條件寄存器用于保存由算術(shù)指令和邏輯指令運(yùn)行或測(cè)試的結(jié)果對(duì)應(yīng)的各種條件碼內(nèi)容,例如運(yùn)算結(jié)果進(jìn)位標(biāo)志(C)、運(yùn)算結(jié)果溢出標(biāo)志(V)、運(yùn)算結(jié)果為零標(biāo)志(Z)、運(yùn)算結(jié)果為負(fù)標(biāo)志(N)等等。通常這些標(biāo)志分別由移位觸發(fā)器保存。同時(shí)狀態(tài)條件寄存器還保存中斷和系統(tǒng)工作狀態(tài)等信息,以便使CPU和系統(tǒng)能及時(shí)了解機(jī)器運(yùn)行狀態(tài)和程序運(yùn)行狀態(tài)。狀態(tài)條件寄存器是一個(gè)由各種狀態(tài)條件標(biāo)志拼湊而成的寄存器。
信息從什么地方開始,中間經(jīng)過哪個(gè)寄存器或多路開關(guān),最后傳送到哪個(gè)寄存器,都要加以控制。在各寄存器之間建立數(shù)據(jù)通路的任務(wù),是由稱為操作控制器的部件來完成的。操作控制器的功能,就是根據(jù)指令操作碼和時(shí)序信號(hào),產(chǎn)生各種操作控制信號(hào),以便正確地建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的控制。
計(jì)算機(jī)所以能夠自動(dòng)工作,是因?yàn)镃PU能從存放程序的內(nèi)存中取出一條指令并執(zhí)行這條指令;緊接著又是取指令,執(zhí)行指令……如此構(gòu)成一個(gè)封閉的循環(huán),當(dāng)遇到“停止”指令時(shí)停止工作并退出。
CPU的工作過程其實(shí)是程序的執(zhí)行過程,如今的計(jì)算機(jī)都是基于“程序存儲(chǔ)”的概念設(shè)計(jì)制造的,程序存儲(chǔ)就是將程序通過輸入設(shè)備傳送到存儲(chǔ)器保存起來的過程。而計(jì)算機(jī)只能識(shí)別二進(jìn)制數(shù)碼,CPU只能識(shí)別機(jī)器指令,所以我們通常編寫的程序或安裝的其他程序都是在特定環(huán)境或系統(tǒng)下編譯之后的程序,然而只有在其特定的執(zhí)行環(huán)境下才能被解析為指令加載到內(nèi)存中,所以說程序就是一個(gè)指令序列。
當(dāng)啟動(dòng)一個(gè)程序的時(shí)候,會(huì)將這個(gè)程序?qū)?yīng)的資源和本身指令序列輸入到內(nèi)存中,然后CPU從中檢索出入口指令,并有CPU解碼為指定的CPU控制信號(hào)并支配其他硬件設(shè)備完成,執(zhí)行過程也就是數(shù)據(jù)運(yùn)算的過程,邏輯運(yùn)算控制其執(zhí)行其他指令的順序,算術(shù)運(yùn)算計(jì)算執(zhí)行指令的結(jié)果,然后將運(yùn)算的結(jié)果寫回到內(nèi)存中以備繼續(xù)使用,依次循序工作,直到所有指令執(zhí)行完畢。上面的過程可以使用以下示意圖來表示:
上面的示意圖,用于描述計(jì)算機(jī)CPU執(zhí)行程序指令的基本過程。
計(jì)算機(jī)執(zhí)行程序的指令(指令由操作碼和地址碼組成,操作碼表示運(yùn)算性質(zhì),地址碼表示操作數(shù)在存儲(chǔ)器中的位置)序列是逐條執(zhí)行的,每執(zhí)行一條指令基本上可分為四個(gè)步驟:一、取出指令,從存儲(chǔ)器(主要指內(nèi)存)某個(gè)地址中取出要執(zhí)行的的指令送到CPU內(nèi)部的指令寄存器暫存;二、分析指令,把保存在指令寄存器中的指令送到指令譯碼器,譯出該指令對(duì)應(yīng)的微操作;三、執(zhí)行指令,根據(jù)指令譯碼,向各個(gè)部件發(fā)送相應(yīng)的控制信號(hào),完成指令規(guī)定的各種操作;四、為執(zhí)行系一條指令做好準(zhǔn)備,取出下一條指令地址循環(huán)上面步驟。
CPU字長(zhǎng)是衡量CPU性能的一個(gè)重要標(biāo)準(zhǔn),CPU字長(zhǎng)表示CPU一次能夠傳輸?shù)亩M(jìn)制數(shù)碼位數(shù),現(xiàn)今出現(xiàn)最多的有8位、16位、32位和64位的CPU,其位數(shù)越高則其運(yùn)算精度越高、運(yùn)算速度越快。8位CPU和16位CPU常用于微處理設(shè)備,例如手持設(shè)備等;32位和64位CPU常用于PC等。
或許會(huì)發(fā)現(xiàn)一個(gè)規(guī)律,CPU的字長(zhǎng)都是8的倍數(shù),可以用2的N次方表示,為什么?我們知道計(jì)算機(jī)中規(guī)定8位為一字節(jié),由于CPU出現(xiàn)了寄存器和緩沖區(qū),所以通常情況下以字節(jié)或更大的字作為信息處理的單位進(jìn)行傳輸。而一個(gè)字由多個(gè)字節(jié)組成,所以CPU的字長(zhǎng)通常為8的倍數(shù)。
數(shù)據(jù)或指令在內(nèi)存中通常使用內(nèi)存地址來描述,地址就是一種編號(hào),即其是有0和1兩位數(shù)碼組合而成的編號(hào)。對(duì)于一個(gè)N位的CPU來講,其每一條指令可以包含N位二進(jìn)制數(shù)碼,即N個(gè)0和1進(jìn)行組合而成的數(shù)碼,那么從排列組合的方式上看,其最多可以有2N個(gè)組合結(jié)果,也即是說一個(gè)n位的cpu最多可以在內(nèi)存中讀取2n個(gè)內(nèi)存地址。這種cpu對(duì)內(nèi)存尋址的能力稱為尋址空間,即對(duì)應(yīng)cpu來講內(nèi)存的實(shí)際使用問題。
對(duì)于一個(gè)32位的CPU來講,其最大的內(nèi)存尋址空間為232=4294967296個(gè),為了更準(zhǔn)確的描述其空間大小,使用byte(字節(jié))來表示其存儲(chǔ)空間大小。也就是說32位CPU的尋址空間為4294967296byte=4G,64位的CPU尋址空間可高達(dá)17TB,這個(gè)內(nèi)存空間稱為物理內(nèi)存,然后對(duì)實(shí)質(zhì)的操作系統(tǒng)而言,比如Windows XP系統(tǒng)支持的實(shí)際尋址空間為2.5G~3.5G之間。
上面也提到了操作系統(tǒng),或許你也會(huì)發(fā)現(xiàn),Windows Vista之后發(fā)布的操作系統(tǒng)都提供了32位和64位兩個(gè)版本,其主要是針對(duì)32位和64位CPU而定制的。32位的CPU一次能夠提取4個(gè)字節(jié)的數(shù)據(jù),64位的CPU一次能夠提取8個(gè)字節(jié)的數(shù)據(jù)。32位的操作系統(tǒng)或程序可以在32位的CPU中運(yùn)行,也可以在64位的CPU中運(yùn)行,但是效率不能達(dá)到最高;而64位的操作系統(tǒng)或程序只能在64位的CPU中運(yùn)行,其設(shè)計(jì)可以向下兼容。
通過上面的介紹,對(duì)計(jì)算機(jī)的基本工作原理應(yīng)該有一定的印象。計(jì)算機(jī)主要包括運(yùn)算器(CPU)、存儲(chǔ)器(內(nèi)存)、控制器(CPU)、輸入設(shè)備、輸出設(shè)備五個(gè)部分,因此計(jì)算機(jī)的工作離不開主板、CPU、內(nèi)存三個(gè)硬件環(huán)境,同時(shí)為了能夠見證計(jì)算機(jī)的工作效果也必須存在輸入/輸入設(shè)備。下面就這五個(gè)基本部分來看一下計(jì)算機(jī)的基本工作原理,如圖:
圖中“紅線”表示數(shù)據(jù)流向,“黑線”表示控制流向。CPU控制器控制輸入設(shè)備、輸出設(shè)備以及內(nèi)存使用,程序被輸入設(shè)備以指令序列的方式輸入到內(nèi)存中,CPU控制器從內(nèi)存中讀取一條條指令,并根據(jù)指令的譯碼發(fā)出一條條控制信號(hào)給運(yùn)算器和存儲(chǔ)器來完成規(guī)定的操作功能,然后CPU控制器控制其以適當(dāng)?shù)姆绞酵ㄟ^輸出設(shè)備輸出最終操作結(jié)果。我們可以通過下面一個(gè)模擬圖更清楚的理解這個(gè)過程,如圖:
至于CPU內(nèi)部的工作過程可以參考《2.2 CPU的工作過程》。
提示一個(gè)小常識(shí):計(jì)算機(jī)的主板上存在一個(gè)微弱電源維持BIOS芯片內(nèi)BIOS系統(tǒng)(包括系統(tǒng)時(shí)間、引導(dǎo)系統(tǒng)、內(nèi)存數(shù)據(jù)等)的正常運(yùn)作。當(dāng)主板接通外部電源的時(shí)候,BIOS系統(tǒng)會(huì)檢查所有硬件環(huán)境是否存在或正確安裝,如果通過則正常啟動(dòng)引導(dǎo)系統(tǒng),否則會(huì)作出相應(yīng)的警告提示。只有所有的硬件設(shè)備完善才能是計(jì)算機(jī)正常工作。
現(xiàn)下的計(jì)算機(jī)存儲(chǔ)系統(tǒng)包括磁盤、內(nèi)存、緩存區(qū)和寄存器等四大類型,當(dāng)然其緩存又可分為多個(gè)級(jí)別,例如一級(jí)緩存、二級(jí)緩存等。下面來看一下其如何協(xié)調(diào)工作的。
程序存儲(chǔ)在磁盤中,當(dāng)打開程序化,有操作系統(tǒng)平臺(tái)或?qū)?yīng)的執(zhí)行平臺(tái)將程序指令化,轉(zhuǎn)換為一系列指令序列并送往內(nèi)存中,如果程序過大則會(huì)借助虛擬內(nèi)存(虛擬存儲(chǔ)器)來暫時(shí)寄存部分指令,內(nèi)存加載部分指令;然后將入口指令送往CPU的寄存器,由CPU運(yùn)算器和控制器執(zhí)行指令,如果需要讀取數(shù)據(jù),則從內(nèi)存或緩存中取出數(shù)據(jù),如果需要一條指令,則從內(nèi)存或緩存總?cè)〕鲋噶?,在送往CPU進(jìn)行運(yùn)算或執(zhí)行;一條指令執(zhí)行完成后將結(jié)果暫時(shí)寫入到寄存器或CPU緩存或內(nèi)存中,接著執(zhí)行程序的下一條指令,從內(nèi)存或緩存中讀取下一條指令送往CPU中進(jìn)行指令,依次循環(huán),即可完成一個(gè)程序的執(zhí)行,當(dāng)遇到停止指令是則停止執(zhí)行并退出程序。
這篇文章或許講的比較亂,甚至有些東西我自己都還沒有搞清楚,一些名詞都是自己理解并給出釋義,或許并沒有給出明確的解釋,希望讀者見諒,本文大部分內(nèi)容來自互聯(lián)網(wǎng)資料的整理。雖然我們搞軟件的并不一定需要深入研究這些東西,但是了解一下總是有益無害,而且這些都是基礎(chǔ)理論知識(shí),對(duì)軟件的學(xué)習(xí)多多少少都有一定的幫助。
如果需要了解的更深入,則可以自行查閱資料,并整理分享給大家。
分享名稱:程序員應(yīng)該了解的計(jì)算機(jī)知識(shí)(一)——基礎(chǔ)理論
URL分享:http://www.rwnh.cn/article40/jdceeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、網(wǎng)站改版、網(wǎng)站設(shè)計(jì)、網(wǎng)站導(dǎo)航、手機(jī)網(wǎng)站建設(shè)、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)