日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

10分钟就可以秒懂计算机体系结构与CPU工作原理

發布時間:2024/1/1 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 10分钟就可以秒懂计算机体系结构与CPU工作原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 前言
  • 一、芯片的‘破殼’
    • 1.1、從沙子到單晶硅
    • 1.2、芯片電路
    • 1.3、芯片的封裝
  • 二、CPU原理
    • 2.1、CPU的工作原理
    • 2.2、CPU的設計
  • 三、計算機體系結構
    • 3.1、馮·諾依曼架構
    • 3.2、哈弗架構
    • 3.3、混合架構
  • 四、Cache 機制
    • 4.1、Cache 機制工作原理
  • 五、總線和地址
    • 5.1、地址
    • 5.2、總線的概念
  • 六、指令集與微架構
    • 6.1、什么是指令集
    • 6.2什么是微架構


前言

我初識STM32時,通常好奇這個芯片是怎么造出來的呢?它的工作原理是是什么?CPU是怎么設計的,在計算機是如何進行工作的,它的底層原理是什么?


一、芯片的‘破殼’

芯片是半導體。而半導體是介于導體和絕緣體之間的一類物質,硅、鍺、硒、硼的單質都屬于半導體。
而目前在集成電路中大規模應用的只有硅,硅充當著繼承電路的原材料。并且硅在地球上大量存在,是含量第二豐富的元素,如沙子,它本質就是二氧化硅。可以說制造芯片的原材料是極其豐富、取之不盡的。沙子不僅僅可以和水泥混合成為混凝土,建成高樓大廈;也可以在熊熊烈火中、浴火重生,變成集成電路高科技產品。

1.1、從沙子到單晶硅

經過碳元素的還原作用,將二氧化硅還原成粗硅,再通過鹽酸氯化、蒸餾等步驟。提取的硅單質純度越來越高,同時為了增強硅的導電性能,一般會在多晶硅中摻雜一些硼元素或磷元素,待多晶硅融化后,在溶液中加入硅晶體晶種,同時通過拉桿不停旋轉上拉,就可以拉出圓柱形的單晶硅棒。根據不同的需求和工藝,單晶硅棒可以做成不同的尺寸,如 6 寸、8 寸、12 寸等。
接下來,將這些單晶硅切成一片一片的,每一片稱為晶圓。晶圓是設計集成電路的載體,我們設計的模擬電路或數字電路,最終都要在晶圓上實現。晶圓上的芯片電路尺寸隨著半導體工藝的發展也變得越來越小,目前已經達到了納米級,越來越精密的半導體工藝除了要求單晶硅的純度極高,晶圓的表面也必須光滑平整,切好的晶圓還需要進一步打磨拋光。
晶圓上的每一個小格子都是一個芯片電路的物理實現,我們稱之為晶粒。接下來還要對晶圓上的這些芯片電路進行切割、封裝、引出管腳,然后就變成了市場上常見的芯片產品,最后才能焊接到我們的開發板上,做成整機產品。
晶圓:

電路一般由大量的三極管、二極管、CMOS 管、電阻、電容、電感、導線等組成。這些電子元器件的實現原理,其實就是 PN 結的實現原理。PN 結是構成二極管、三極管、CMOS 管等半導體元器件的基礎。

1.2、芯片電路

無論二極管、三極管還是 MOSFET 場效應管,其內部都是基于 PN 結原理實現的。
半導體工藝大部分都會涉及PN 結的實現,包括氧化、光刻、顯影、刻蝕、擴散、離子注入、薄膜沉淀、金屬化等主要流程。
在晶圓上進行離子注入摻雜(離子注入就是摻雜)之前,首先要根據電路版圖制作一個個摻雜窗口,這一步需要光刻膠來協助完成:在硅襯底上涂上一層光刻膠,通過紫外線照射掩膜版,將電路圖形投影到光刻膠上,生成一個個摻雜窗口,并將不需要摻雜的區域保護起來。

如何產生這個摻雜窗口需要一個,叫作光刻掩膜版的東西。
光刻掩膜版原理和我們照相用的膠片差不多,由透明基板和遮光膜組成,通過投影和曝光,我們可以將芯片的電路版圖保存在掩膜版上。然后通過光刻機的紫外線照射,利用光刻膠的感光溶解特性,被電路圖形遮擋的陰影部分的光刻膠保存下來,而被光照射的部分的光刻膠就會溶解,成為一個個摻雜窗口。
最后通過離子注入,摻雜三價元素和五價元素,就會在晶圓的硅襯底上生成主要由 PN 結構成的各種 CMOS 管、晶體管電路。我們設計的芯片物理版圖的每一層電路,都需要制作對應的掩膜版,重復以上過程,就可以在晶圓上制作出迷宮式的 3D 立體電路結構。而更加微小的摻雜則需要光刻機來進行。

光刻機主要用來將你設計的電路圖映射到晶圓上,通過光照將你設計的電路圖形投影到光刻膠上,光刻膠中被電路遮擋的部分被保留,溶解的部分就是摻雜的窗口。晶體管越多,電路越復雜,工藝制程越先進,對光刻機的要求越高,因為需要非常精密地把復雜的電路圖形投影到晶圓的硅襯底上。
一臺光刻機一億歐元。
光刻機的作用是根據電路版圖制作掩膜版,開鑿各種摻雜窗口,然后通過離子注入,生成 PN 結,進而構建千千萬萬個元器件。將這些工藝流程走一遍之后,在一個晶圓上就生成了一個個芯片的原型:芯片電路

1.3、芯片的封裝


芯片的封裝就是給它套個殼子,把管腳引出來。
常見的封裝形式有 DIP、QFP、BGA、CSP、MCM 等。
我們用到的51單片機用的就是DIP封裝;
STM32則是用到球柵陣列封裝(BGA);
使用 BGA 的芯片管腳不再從芯片周邊引出,而是采用表面貼裝型封裝:在印刷基板的背面按照陣列方式制作出球形凸點來代替管腳,然后將芯片電路裝配到基板的正面,最后用膜壓樹脂或灌封方法進行密封。

二、CPU原理

圖靈機是現代計算機的祖宗
任何復雜運算都可以用幾個基本的運算指令實現。

2.1、CPU的工作原理

CPU 內部構造包含基本的算術邏輯運算單元、控制單元、寄存器等,僅支持有限個指令。CPU 支持的有限個基本指令集合,稱為指令集。程序代碼存儲在內部存儲器(內存)中,CPU 可以從內存中一條一條地取指令、翻譯指令并執行它。
而早期 CPU 的工作頻率和內存 RAM 相比,差距不是一般的大。控制單元從 RAM 中加載數據到 CPU,或者將 CPU 內部的數據存儲到 RAM 中,一般要經過多個時鐘讀寫周期才能完成:找地址、取數據、配置、輸出數據等。
運算速度再快的 CPU,也只能干等幾個時鐘周期,等數據傳輸成功后才可以接著執行下面的指令。內存帶寬的瓶頸會拖 CPU 的后腿,影響 CPU 的性能。為了提高性能,防止 RAM 拖后腿,CPU 一般都會在內部配置一些寄存器,用來保存 CPU 在計算過程中的各種臨時結果和狀態值。
ALU 在運算過程中,當運算結果為 0、為負、數據溢出時,也會有一些 Flags 標志位輸出,這些標志位對控制單元特別有用,如一些條件跳轉指令,其實就是根據運算結果的這些標志位進行跳轉的。CPU 跳轉指令的實現其實也很簡單:根據 ALU 的運算結果和輸出的 Flags 標志位,直接修改 PC 寄存器的地址即可,控制單元會自動到 PC 指針指向的內存地址取指令、翻譯指令和運行指令。跳轉指令的實現,改變了程序按順序逐步執行的線性結構,可以讓程序執行更加靈活,可以實現更加復雜的程序邏輯,如程序的分支結構、循環結構等。
CPU 所支持的加、減、乘、與、或、非、跳轉、Load/Store、IN/OUT 等基本指令,一般稱為指令集。任何復雜的運算都可以分解為指令集中的基本指令。
由基本指令組成的不同組合,我們稱為程序。為了編程方便,我們給每個二進制指令起一個別名,使用一個助記符表示,這些
助記符就是匯編語言
,由助記符組成的指令序列就是匯編程序。匯編語言的可讀性雖然比二進制的機器指令好了很多,但是當匯編程序很大、程序的邏輯很復雜時,維護也會變得無比艱難,這時候高級語言就開始問世了,如 C、C++、Java 等。高級語言的讀寫更符合人類習慣,更適合開發和閱讀,編寫好的高級語言程序通過編譯器,就可以翻譯成 CPU 所能識別的二進制機器指令。

2.2、CPU的設計

集成電路(IC)設計一般分為模擬 IC 設計、數字 IC 設計和數模混合 IC 設計。數字 IC 設計一般都是通過 HDL 編程和 EDA 工具來實現一個特定邏輯功能的數字集成電路的。

三、計算機體系結構

計算機主要用來處理數據。我們編寫的程序,除了指令,還有各種各樣的數據。指令和數據都需要保存在存儲器中,根據保存方式的不同,計算機可分為兩種不同的架構:馮·諾依曼架構和哈弗架構。

3.1、馮·諾依曼架構


特點是程序中的指令和數據混合存儲,存儲在同一塊存儲器上
馮·諾依曼架構的計算機中,程序中的指令和數據同時存放在同一個存儲器的不同物理地址上,一般我們會把指令和數據存放到外存儲器中。
當程序運行時,再把這些指令和數據從外存儲器加載到內存儲器(內存儲器支持隨機訪問并且訪問速度快),如 :X86、ARM7、MIPS 等。

3.2、哈弗架構


哈弗架構的特點是:指令和數據被分開獨立存儲,它們分別被存放到程序存儲器和數據存儲器。每個存儲器都獨立編址,獨立訪問,而且指令和數據可以在一個時鐘周期內并行訪問。
使用哈弗架構的處理器運行效率更高,但缺點是 CPU 實現會更加復雜。51 系列的單片機、DSP和現在正在學習的STM32采用的就是哈弗架構。

3.3、混合架構


ARM SoC 芯片內部的 Cache 層采用哈弗架構,集成了指令 Cache 和數據 Cache。
SoC 芯片外部則采用馮·諾依曼架構
當 CPU 到 RAM 中讀數據時,內存 RAM 不是一次只傳輸要讀取的指定字節,而是一次緩存一批數據到 Cache 中,等下次 CPU 再去取指令和數據時,可以先到這兩個 Cache 中看看要讀取的數據是不是已經緩存到這里了,如果沒有緩存命中,再到內存中讀取。當 CPU 寫數據到內存 RAM 時,也可以先把數據暫時寫到 Cache 里,然后等待時機將 Cache 中的數據刷新到內存中。

四、Cache 機制

Cache 的運行速度介于 CPU 和內存 DRAM 之間,是在 CPU 和內存之間插入的一組高速緩沖存儲器,用來解決兩者速度不匹配帶來的瓶頸問題。

4.1、Cache 機制工作原理

Cache 在物理實現上其實就是靜態隨機訪問存儲器。Cache 的工作原理很簡單,就是利用空間局部性和時間局部性原理,通過自有的存儲空間,緩存一部分內存中的指令和數據,減少 CPU 訪問內存的次數,從而提高系統的整體性能。
Cache 里存儲的內存地址,一般要經過地址映射,轉換為更易存儲和檢索的形式。
而且為了提高性能,一般都會設計多級Cache。
而我在查看STM32芯片結構的時候就發現,STM32芯片沒有Cache,在看看51單片機芯片結構也沒有Cache處理器。我找了資料,知道了原因:
是因為這些處理器都是低功耗、低成本處理器,在 CPU 內集成 Cache 會增加芯片的面積和發熱量,不僅功耗增加,芯片的成本也會增加不少。而且功耗增加也會影響時鐘的穩定性。
其次是因為這些處理器本來工作頻率就不高(從幾十兆赫到幾百兆赫不等),和 RAM 之間不存在帶寬問題,有些處理器甚至不需要外接 RAM,直接使用片內SRAM(易失性存儲器)就可滿足面向控制領域的軟件開發需求。
最后是因為使用 Cache 無法保證實時性。當緩存未命中時,CPU 從 RAM 中讀取數據的時間是不確定的,這是嵌入式實時控制場景無法接受的。

五、總線和地址

CPU 與內存、各種外部設備等 IP 之間都是通過總線相連的。

5.1、地址

地址的本質其實就是由 CPU 管腳發出的一組地址控制信號。因為這些信號是由 CPU 管腳直接發出的,因此也被稱為物理地址。
地址信號線的位數決定了尋址空間的大小,如上面的兩根 A1A0 地址信號線,有 4 字節的尋址空間;CSA1A0 三根地址信號線有 8 字節的尋址空間。在一個 32 位的計算機系統中,32 位的地址線有 4GB 大小的尋址空間。

5.2、總線的概念

總線其實就是各種數字信號的集合,包括地址信號、數據信號、控制信號等。有的總線還可以為掛到總線上的設備提供電源。
一個計算機系統中可能會有各種不同的總線,不同的總線讀寫時序、工作頻率不一樣,不同的總線之間通過橋(bridge)來連接。橋一般是一個芯片組電路,用來將總線的電子信號翻譯成另一種總線的電子信號。
橋用來將 CPU 從系統總線發過來的電子信號轉換成內存能識別的內存總線信號,或者顯卡能識別的 PCI 總線信號,進而完成后續的數據傳輸和讀寫過程。

六、指令集與微架構

不同架構的處理器支持的指令類型是不同的。ARM 架構的處理器只支持 ARM 指令,X86 架構的處理器只支持 X86 指令。如果你在 ARM 架構的處理器上運行 X86 指令,就無法運行,報未定義指令的錯誤,因為 ARM 架構的處理器只支持 ARM 指令集中定義的指令。CPU 支持的有限個指令的集合,我們稱之為指令集。

6.1、什么是指令集

指令集架構(Instruction Set Architecture,ISA)是計算機體系架構的一部分。指令集是一個標準規范。
作為 CPU 和編譯器的設計規范和參考標準,主要用來定義指令的格式、操作數的類型、寄存器的分配、地址的格式等,指令集主要由以下內容組成
● 指令的分發、預取、解碼、執行、寫回。
● 操作數的類型、存儲、存取、旁路轉移。
● Load/Store 架構。
● 寄存器。
● 地址的格式、大端模式、小端模式。
● 字節對齊、邊界對齊等。

6.2什么是微架構

微架構,就是處理器架構。
集成電路工程師在設計處理器時,會按照指令集規定的指令,設計具體的譯碼和運算電路來支持這些指令的運行;指令集在 CPU 處理器內部的具體硬件電路的實現,我們就稱為微架構。

一套相同的指令集,可以由不同形式的電路實現,可以有不同的微架構。
以 ARM V7 指令集為例,基于該套指令集,面向高性能、低功耗等不同的市場定位,ARM 公司設計出了 Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15、Cortex-A17 等不同的微架構。
基于一款相同的微架構,通過不同的配置,也可以設計出不同的處理器類型。


主要參考資料《嵌入式C語言自我修養》

總結

以上是生活随笔為你收集整理的10分钟就可以秒懂计算机体系结构与CPU工作原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产一区二区三区成人 | 国产又大又粗又爽的毛片 | 一个人在线观看www软件 | 制服丝袜一区二区三区 | 韩日一区二区 | 看片在线 | 91热精品 | 国产精品无码免费播放 | 色片在线免费观看 | 十八禁毛片 | 熟女视频一区 | 欧美色射 | 国产激情一区二区三区 | 欧美一级欧美三级在线观看 | 快播怡红院 | 国产精品免费久久久久 | 中国黄色a级片 | 草草影院最新 | 黄瓜视频成人 | 在线观看国产免费av | 国产黑丝一区二区 | 性少妇bbw张开 | 免费欧美视频 | 91夜色 | 久久看片网 | 日韩人妻精品在线 | 成年人免费在线 | 曰韩精品 | 欧美精品性视频 | 国产精品自拍合集 | 久一在线 | 艳妇乳肉豪妇荡乳av无码福利 | 色丁香婷婷 | 亚洲精品高潮久久久久久久 | 中文字幕人妻熟女人妻a片 麻豆91视频 | 婷婷麻豆 | 美日韩黄色 | 精品久久久久久亚洲综合网站 | 中文字幕日韩专区 | 先锋资源中文字幕 | 高清免费av | 亚洲欧洲成人精品久久一码二码 | 野花视频在线免费观看 | 麻豆视频污 | 成人av在线网址 | 不卡一区二区三区四区 | www.香蕉视频.com | 性欧美大战久久久久久久 | 老版k8经典电影 | 伊人ab| 好紧好爽再浪一点视频 | 高清国产一区二区三区四区五区 | 怡红院一区二区 | babes性欧美69 | 色爽黄| 日本免费黄网站 | 草久视频在线观看 | 国产精品我不卡 | 人妖videosex高潮另类 | 国产一级在线观看视频 | 欧美一级淫片免费视频黄 | 国产一级免费视频 | 800av凹凸| 国产视频欧美视频 | 国产91视频在线 | 黄色免费成人 | 国产在线观看免费网站 | 一本色道久久88亚洲精品综合 | 国产一级高清视频 | 国产777| 学生孕妇videosex性欧美 | 我的邻居在线观看 | 日韩三级a | 一区二区视频网 | 亚洲成色在线 | www.sesehu| av网站大全在线 | 美女天天操 | 男女啪动最猛动态图 | 东北女人啪啪ⅹxx对白 | 少妇与公做了夜伦理 | 久草资源在线 | 空姐吹箫视频大全 | 中文日韩字幕 | 亚洲射射射 | 天天干天天操天天插 | 欧洲色综合 | 99er在线观看 | 久久图库 | 亚洲一区二区电影 | 午夜18视频在线观看 | 顶级尤物极品女神福利视频 | 久久夜色精品国产欧美乱极品 | 久久久88 | 天堂一二三区 | 18成人在线观看 | a级片在线播放 | 依依成人在线视频 | 欧美色图88 |