(基于ARM的)微機(jī)原理與接口技術(shù)概論筆記
這個(gè)專欄就是在ARM架構(gòu)的樹莓派4B上完成的
關(guān)于這個(gè)課
1:你航儀光學(xué)院的這個(gè)課2011年就有了基于ARM的微機(jī)原理與接口技術(shù)這個(gè)課了,且在不斷的改革與更新.
2:學(xué)了《微機(jī)原理與接口技術(shù)》和修計(jì)算機(jī) 組裝便宜的計(jì)算機(jī) 挑選計(jì)算機(jī)沒有啥關(guān)系,但是可以學(xué)到計(jì)算機(jī)的基本組成和原理,如何工作,如何與外界交互(接口技術(shù)),assembler language.
3:如何學(xué)好這個(gè)課:和航類C語言程序設(shè)計(jì)一樣按時(shí)交作業(yè)和debug 實(shí)驗(yàn)做好記錄.
微型計(jì)算機(jī)概述
微型計(jì)算機(jī)應(yīng)用有空間站和無人駕駛等.
計(jì)算機(jī)的發(fā)展:電子管->晶體管->集成電路->大規(guī)模集成電路
1946 第一臺計(jì)算機(jī) ENIAC 手動接線編程 BUG這個(gè)詞從這里來的
1958 IBM公司第一臺晶體管計(jì)算機(jī) 32KB RAM 穿孔卡片編程
第1代 1971-1973: Intel 4004/8008 4位機(jī)/8位機(jī)
第2代 1974-1978 8080/8085 Z80 8位機(jī) 工業(yè)控制智能 儀器儀表
第3代 1978-1981 8086 80286 16位機(jī) 早期個(gè)人計(jì)算機(jī)
第4代 1984-1999 80386 80486 32位機(jī) 可以解決很多問題
第5代 1999-現(xiàn)在 Intel/AMD 多核 64位機(jī) (樹莓派有4個(gè)64位ARM核)
速度更快 容量更大 功能更強(qiáng)
如果換成128位 256位? 處理器時(shí)鐘有上限,發(fā)熱等問題不能解決.
Moore定律失效?
微型計(jì)算機(jī)分類
角度有很多 很難明確分類
從應(yīng)用角度說:服務(wù)器(server) 個(gè)人計(jì)算機(jī)(personal computer) 嵌入式(embedded,數(shù)量其實(shí)是最大的)
微型計(jì)算機(jī) 的基本結(jié)構(gòu)
硬件:
????微型計(jì)算機(jī):
????????微處理器(microcontroller):算術(shù)邏輯單元(ALU) 控制單元(CU) 寄存器陣列(RA)
????????內(nèi)存儲器:ROM(PROM EPROM EEPROM),RAM(SRAM DRAM)
????????輸入輸出接口(并行IO 串行IO)
????????總線(bus):(地址總線ABUS 數(shù)據(jù)總線DBUS 控制總線CBUS)
????外界設(shè)備:
????????外部設(shè)備:鍵盤 鼠標(biāo) 打印機(jī)等;外存儲器 硬盤
????????過程 控制IO通道
????????
馮諾依曼結(jié)構(gòu)(普林斯頓結(jié)構(gòu))
輸入設(shè)備 輸出設(shè)備 存儲器 運(yùn)算器 控制器
程序需準(zhǔn)備好,所有的用二進(jìn)制,程序和數(shù)據(jù)存放在相同的存儲器中的不同地址.
運(yùn)算器是核心 控制器從存儲器取指令,控制所有的其他部件.控制器和運(yùn)算器合起來(再加上指令譯碼器等)就是微處理器.寄存器(register)不是存儲器
處理器是核心.
ALU加工處理數(shù)據(jù)
CU組織內(nèi)部部件
????包括程序計(jì)數(shù)器 指令寄存器
RA包括通用寄存器和專用寄存器.
總線是實(shí)在的線 BUS("公共汽車") 就是要去SHARE的 64位機(jī)就有64根線 控制器來協(xié)調(diào)
地址總線用于尋址,通常是單向的,主設(shè)備發(fā)出.
控制總線的數(shù)據(jù)總線是雙向的.
指令集:
復(fù)雜指令集(CISC,complex instuction set computer)?
長度可變 硬件復(fù)雜
優(yōu)點(diǎn):指令豐富,一個(gè)指令可以做復(fù)雜的運(yùn)算 缺點(diǎn):隨發(fā)展執(zhí)行效率低,硬件利用低
簡單指令集(RISC,reduced instruction set computer)
長度固定 編譯器復(fù)雜
優(yōu)點(diǎn):指令集簡單 有限 規(guī)范 寄存器用的多 單周期指令 缺點(diǎn): 依賴編譯器優(yōu)化
計(jì)算機(jī)做的事情:
取指令,PC值加,如果不停機(jī)就繼續(xù)譯碼執(zhí)行
執(zhí)行1個(gè)指令的步驟:取指 譯碼 執(zhí)行
指令的流水線技術(shù) 不同指令的取指 譯碼 執(zhí)行可以并行執(zhí)行
ARM7TDMI有3級流水線