首頁>技術>

什麼是指令集架構?

指令集架構(Instruction Set Architecture,縮寫為ISA),又稱指令集或指令集體系,是計算機體系結構中與程式設計有關的部分,包含了基本資料型別,指令集,暫存器,定址模式,儲存體系,中斷,異常處理以及外部I/O。指令集架構包含一系列的opcode即操作碼(機器語言),以及由特定處理器執行的基本命令。

常見的指令集架構:

複雜指令集運算(Complex Instruction Set Computing,CISC),比如x86架構精簡指令集運算(Reduced Instruction Set Computing,RISC),比如ARM架構x86架構和ARM架構x86架構

學計算機組成原理的時候我們都學過,處理器由運算器、控制器、儲存器組成。其底層只是一些簡單的邏輯閘電路。我們先來了解一下intel 8086這款處理器。

Intel 8086處理器是由英特爾公司在1976年年初開始設計,1978年年中發表的Intel第一款16位微處理器。這款處理器所有的內部暫存器、內部及外部資料匯流排都是16位寬,因此是完全的16位微處理器。20位外部地址匯流排,因此物理定址空間為1MB (即2^20 = 1,048,576)。由於8086內部的地址暫存器是16位寬,因而最大線性定址空間為64KB,什麼是線性定址空間,我們將稍後給出解釋。使用超過64KB記憶體空間時,需要調整段暫存器(segment registers)。直到32位的80386出現之前,8086的這種段定址相當不便。這種分段定址模式,也就是我們後面要說的 真實模式

x86架構即屬於上面說的複雜指令集,泛指一系列基於Intel 8086且向後相容的中央處理器指令集架構。指令集架構就相當於建造房屋的圖紙,指令集就是機器的語言。8086在三年後為IBM PC所選用,之後x86便成為了個人計算機的標準平臺,成為了歷來最成功的CPU架構。

後面我們也會看到Intel為了向前相容所做的努力,可能也正是這種努力才成就了英特爾,透過向前相容從而節省了龐大的人力和物力。如果不能保障向前相容,英特爾每釋出一款處理器,軟體開發人員早晚得累死在電腦前。同時,也正因為向前相容,阻礙了英特爾現在的發展, 某些方面才會被蘋果的M1吊打。

ARM架構

ARM架構,稱作高階精簡指令集機器(Advanced RISC Machine),屬於上面說的精簡指令集架構,由安謀控股(ARM Holdings)開發,廣泛地使用在許多嵌入式系統設計中。ARM處理器非常適用於行動通訊領域,符合其主要設計目標為低成本、高效能、低耗電的特性。ARM處理器被廣泛使用在消費性電子產品。

ARM架構版本從ARMv3到ARMv7支援32位空間和32位算數運算,2011年釋出的ARMv8-A架構添加了對64位空間和64位算術運算的支援。ARM架構的蘋果M1晶片近期更是喧囂塵上,各種吊打Intel i9。

架構

處理器家族

ARMv1

ARM1

ARMv2

ARM2、ARM3

ARMv3

ARM6、ARM7

ARMv4

StrongARM、ARM7TDMI、ARM9TDMI

ARMv5

ARM7EJ、ARM9E、ARM10E、XScale

ARMv6

ARM11、ARM Cortex-M

ARMv7

ARM Cortex-A、ARM Cortex-M、ARM Cortex-R

ARMv8

Cortex-A35、Cortex-A50系列[14]、Cortex-A72、Cortex-A73

樹莓派是什麼?

樹莓派就是一款基於ARM架構的微控制器電腦,樹莓派出生時即被寄予厚望:以低價硬體和自由軟體促進學校的基本計算機科學教育。你可以把它看作一塊移除了所有外設的主機板,區別是樹莓派提供了GPIO針腳,可以和各種感測器進行互動,具備操作硬體的能力。

基本硬體和佈局

以樹莓派4B為例

樹莓派4b

CPU: 博通 Broadcom BCM2711,ARMv8架構 Cortex-A72核心 1.5GHz 四核心

記憶體: LPDDR4 1G/2G/4G/8G

GPIO

GPIO(General-purpose input/output)通用型輸入輸出,透過此介面,樹莓派可以和豐富的硬體進行互動。

GPIO針腳佈局

樹莓派能做什麼

如果樹莓派沒有GPIO介面,那它就只是一個普通的ARM架構的微型電腦。有了GPIO介面,那麼只有你想不到的,沒有它做不到的:最基本的作為伺服器、製作家庭影院、電視盒子等各種智慧裝置咱就不說了,接上各種各樣的感測器實現自動控制,DIY機器人、無人機、智慧小車等等。Golang和樹莓派究竟能碰撞出什麼火花,敬請持續關注。

24
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • go基礎程式設計(三):型別