成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

CPU-如何開始在新的CPU上編程

商務辦公
新在哪里?從未接觸過。比如之前一直在x86、ARM上寫程序,C比較多,匯編也調(diào)過。MIPS可能零零星星也看過幾篇資料。然后來了個用PowerPC的項目,或者RISC-V的項目,茫茫然無可奈何不知所措。

 新在哪里?從未接觸過。比如之前一直在x86、ARM上寫程序,C比較多,匯編也調(diào)過。MIPS可能零零星星也看過幾篇資料。然后來了個用PowerPC的項目,或者RISC-V的項目,茫茫然無可奈何不知所措。

這里介紹CPU相關的概念,需要哪些資料,可以沒有概念上的缺口,踏踏實實的開始為一個于己而言全新的CPU編寫代碼。

[[252410]]

一. CPU

CPU即中央處理器,執(zhí)行一系列指令,完成處理任務。CPU即是指令執(zhí)行器,包含了為執(zhí)行各種指令所需要的模塊,如數(shù)學運算單元ALU、指令編譯碼器、寄存器、移位寄存器、計數(shù)器等基礎組成部分,還有L1/L2 Cache, MMU等現(xiàn)代CPU而言也算基礎的單元。

二. SoC

System on Chip: 片上系統(tǒng),為了提升集成度,降低PCB電路板上的芯片器件數(shù)量,把相當一部分芯片和CPU封裝到一起,即成為SoC。被封裝的器件成為SoC的模塊,如USB, Eth MAC/PHY, WIFI(802.11), NFC, Bluetooth, GPS模塊, 除了片上內(nèi)存之外,F(xiàn)lash也可以集成進去,等等。

三. ISA

Instruction Set Architecture:指令集架構。規(guī)定了每條指令的格式和作用等。基本上,每個指令集都包含數(shù)學運算、移位、跳轉(zhuǎn)、內(nèi)存訪問等指令,有一些還包含多媒體處理、壓縮解壓縮等領域能力增強指令。

ISA由以下幾個模型組成:

1.Register Model

指令必然用到寄存器,寄存器有多少、如何組織等,屬于寄存器模型的內(nèi)容。

2.Intstruction Model

指令的種類、格式、作用等。根據(jù)指令格式是否固定,可以分為復雜指令集和精簡指令集,即CISC和RISC。

3.Interrupt Model

如何響應外部世界變化?有主動和被動兩種方式。具體到CPU而言:

a. 主動輪詢是否存在外部事件需要響應;

b. 被外部事件中斷;

細細思量之下,中斷即使在一條指令未執(zhí)行完成時發(fā)生,也無法立即得到響應,而是需要在當前指令執(zhí)行完畢之后,去查看是否有中斷發(fā)生,如果有則進行響應。所以中斷其實也是輪詢,只不過輪詢的周期為每執(zhí)行一條指令輪詢一次。外因通過內(nèi)因起作用,也可以理解。

中斷模型定義:

a. 要處理的內(nèi)部錯誤和外部中斷的種類;

b. 處理方式是否分為常規(guī)和快速處理模式;

c. 中斷是否有優(yōu)先級,是否能夠打斷,是否能夠嵌套等;

與CPU的關系

常見的ISA有x86, ARM, MIPS, PowerPC等,其他早期的有Alpha,新生的有RISC-V等。

一般而言,每種CPU只基于某一種特定的ISA,而ISA可以有很多CPU實現(xiàn)。如i386/i586, Core i3/i5/i7都基于x86,AMD的CPU也基于x86。

當然也有例外,比如龍心Loongson主要基于MIPS,同時也實現(xiàn)了x86指令的譯碼(揣測,未確認)。

四. ABI

Application Binary Interface 應用二進制接口。區(qū)別于Application Programming Interface(API),ABI規(guī)定了如何使用ISA規(guī)定的指令集和寄存器進行編程,如哪一個寄存器用作棧指針,哪一個傳遞函數(shù)返回值,哪幾個傳遞函數(shù)入?yún)⒌取?/p>

可見,ABI與ISA對應,而非CPU。

五. 開始編程

需要資料如下:

1.SoC文檔:內(nèi)存地址空間劃分,初始化流程,各個模塊的寄存器定義;

2.CPU文檔:包含哪些模塊以及如何配置使用:MMU如何配置,Cache怎么刷等;

3.ISA文檔:寄存器模型、指令的作用等;

4.ISA對應的ABI規(guī)范:使用寄存器時有哪些注意事項;如PPCEABI,System V ABI,System V Application Binary Interface - Intel386 Architecture Processor Supplement,System V Application Binary Interface - PowerPC Processor Supplement。

5.編譯工具鏈資料:匯編器、編譯器、鏈接器。

責任編輯:武曉燕 來源: 故事v歷史
相關推薦

2019-06-03 20:00:09

LinuxCPU溫度GPU溫度

2023-04-12 15:37:31

Linux系統(tǒng)CPU

2023-07-10 13:46:58

PythonLlama.cppLLM

2010-03-18 16:02:09

python 多線程

2021-05-10 08:20:32

CPU 符號整數(shù)

2022-09-15 08:38:39

WebCPU數(shù)量

2013-12-18 11:04:57

CPU雙核

2019-07-10 05:08:05

CPU內(nèi)存分頁管理

2018-12-06 12:58:50

CPU內(nèi)存模塊

2023-06-06 16:10:11

2021-04-08 09:32:17

鴻蒙HarmonyOS應用

2011-03-30 14:49:00

Visual C++CPU

2024-11-20 17:28:00

C#CPU代碼

2012-05-16 11:03:50

微軟IIS

2022-06-20 05:18:29

服務器CPU

2022-05-05 12:01:16

壓力測試Linux

2022-05-05 05:55:44

Linux 系統(tǒng)壓力測試

2010-04-06 09:22:23

CentOS系統(tǒng)

2011-04-15 09:47:10

CentOSCPU
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产一区二区国模嫣然 | 草久在线视频 | 久久久久久国产精品免费免费狐狸 | 久久大陆| 欧美 中文字幕 | 久草欧美视频 | 国产精品久久久亚洲 | 久久这里有精品 | 亚洲三区在线观看 | 成人午夜激情 | 亚洲国产成人精品女人久久久野战 | 天堂在线91| 日韩精品中文字幕一区二区三区 | 欧美91 | 免费看爱爱视频 | 亚洲97| 久久国产激情视频 | 亚洲精品久久久一区二区三区 | 成人av观看 | 午夜在线影院 | 欧美性区| 亚洲精品久久久久国产 | 91av在线电影 | 久久福利电影 | 在线免费观看亚洲 | 久久久久久久一区二区三区 | 一级黄色播放 | www.一区二区三区.com | 一区二区视频在线 | 国产激情91久久精品导航 | 成人污污视频 | 国产一级久久久久 | 好姑娘高清在线观看电影 | 91在线中文字幕 | 亚洲人人舔人人 | 国产精品久久av | 欧美日韩精品一区二区三区四区 | 国产网站在线播放 | 9999国产精品欧美久久久久久 | 亚洲国产成人精品女人久久久 | 精品欧美一区二区精品久久 |