1. 程式人生 > >朱老師ARM裸機學習筆記(一):計算機基礎知識

朱老師ARM裸機學習筆記(一):計算機基礎知識

RISC和CISC的區別

CISC(complex instruction-set computer)複雜指令集
特點:
指令較多,較豐富,CISC的CPU 較難設計,Intel是典型的CISC體系CPU。

RISC(reduce instruction-set computer) 精簡指令集
特點:
指令較少,只提供最基本的指令集,其他功能指令都由程式設計師根據這些基本指令組合編寫完成,指令集中並不提供。RISC指令集較為靈活,RISC指令集的CPU一般都是低功耗CPU。ARM是典型的RISC體系CPU

CPU的發展方向,RISC和CISC 結合,互相取長補短。

統一編址和獨立編址

CPU訪問記憶體的方式:直接訪問(CPU匯流排)
CPU訪問外設的方式有兩種
一種是,把外設的暫存器當作是一個記憶體地址,直接像訪問記憶體那樣訪問外設。(I/O與記憶體統一編址)
一種是,使用專用的CPU指令來訪問某種特定外設。(I/O與記憶體獨立編址)

馮諾依曼結構和哈佛結構

馮諾依曼結構:程式和資料都放在記憶體中,彼此不分離。
優點:CPU處理起來比較簡單,取到指令的同時也取到了資料。
缺點:指令在記憶體中,不是隻讀的,可能會意外修改指令,造成程式穩定性和安全性(記憶體病毒)問題。
桌面計算機,伺服器等多是馮諾依曼結構

哈佛結構:程式一般放在ROM,FLASH中,資料放在RAM中。
程式和資料都要通過匯流排讀取,且程式段只讀。
微控制器,嵌入式處理器多是哈佛結構。

軟體程式設計控制硬體的關鍵—暫存器

暫存器就是一些有特殊功能的記憶體位。
特殊功能指,更改這些位的數值可以改變外設的工作狀態(引腳電平等等)。

SOC中的兩類暫存器
一類是通用暫存器,存在於CPU內部。
一類是特殊功能暫存器(SFR(special function register)),這類暫存器,往往扮演CPU操作外設的介面的角色。

ARM體系結構要點總結

ARM處理器多是哈佛結構(ARM7除外),RISC指令集架構,低功耗CPU,非常適用於微控制器,嵌入式領域;
常用的指令只有二三十條;
ARM是統一編址的,32位ARM CPU支援的記憶體往往少於4個G(I/O和外設佔用一部分地址空間)。

哈佛結構決定了ARM裸機程式的連結比較麻煩,必須使用複雜的連結指令碼告訴連結器如何組織程式。

總結

此部分主要講解計算機CPU的一些基礎知識。

相關推薦

老師ARM裸機學習筆記計算機基礎知識

RISC和CISC的區別 CISC(complex instruction-set computer)複雜指令集 特點: 指令較多,較豐富,CISC的CPU 較難設計,Intel是典型的CISC體系CPU。 RISC(reduce instruction

老師ARM裸機學習筆記S5PV210啟動過程詳解

常用器件特性 記憶體: SRAM 靜態記憶體 特點就是容量小、價格高,優點是不需要軟體初始化直接上電就能用 DRAM 動態記憶體 特點就是容量大、價格低,缺點就是上電後不能直接使用,需要軟體初始化後才可以使用。 微

老師ARM裸機學習筆記CPU和與外部儲存器的介面

記憶體和外存的概念 記憶體 記憶體指 內部儲存器,執行程式的地方 RAM 外存 外存指 外部儲存器, 儲存資料或者檔案的地方 ROM CPU連線記憶體和外存的方式 記憶體通過資料匯流排和地址匯流排直接和CPU 相連線。 好處 : 訪問速度快,

Ubuntu16.04CUDA學習筆記GPU背景知識

host:CPU,記憶體 device:GPU,視訊記憶體 我是純粹小白,裡面的一些圖是根據我自己的理解畫的,可能並不一定對 一,GPU和CPU執行程式的區別 (圖片來源:CUDA_C_Programming-Guide) 可以看到GPU有跟多的cores,你可以先把cores理

CUDA學習筆記GPU背景知識

host:CPU,記憶體 device:GPU,視訊記憶體 我是純粹小白,裡面的一些圖是根據我自己的理解畫的,可能並不一定對 GPU的背景知識 GPU的每一個core(計算核心)都有兩個計算單元 輸

openstack學習筆記-openstack的基礎知識

一、openstack的基礎知識 OpenStack是一個由NASA(美國國家航空航天局)和Rackspace合作研發併發起的,以Apache2.0許可證(相容GPLv3以及DFSG)授權的自

linux學習筆記1linux基礎知識

1.linux是什麼? Linux這個詞本身只表示Linux核心,但實際上人們已經習慣了用Linux來形容整個基於Linux核心,並且使用GNU 工程各種工具和資料庫的作業系統。 2. 什麼是shell 保護系統核心並對外提供操作介面的軟體 在linux中預設的

Spring AOP學習筆記1AOP基礎知識

一、 使用AOP前的經驗 在接觸AOP這種程式設計思想之前,我也有好多的編碼經歷,將業務邏輯和日誌、測試和驗證等其他需求放在一起的,這簡直是痛苦死了,每寫一個方法都得重複好多程式碼,而且這些程式碼有好多是類似的,但是不得不重寫,因為當時還是菜鳥(現在也是菜鳥),比如之前同組

Scala學習筆記編程基礎

大數據 上一個 extends 移除 condition api arr 調用方法 tab 強烈推薦參考該課程:http://www.runoob.com/scala/scala-tutorial.html 1. Scala概述 1.1. 什麽是Scala Scala

HLSL學習筆記基礎

pad ddx 做了 cto har 分割 with 圖形 content http://www.cnblogs.com/rainstorm/archive/2013/05/04/3057444.html 前言 五一在家無事,於是學習了一下HLSL,基於XAN4.0的。學習

EF6 學習筆記Code First 方式生成數據庫及初始化數據庫實際操作

view sqlserver 4.5 xpl 安裝 右鍵 ef6 字符串 ref 參考原文地址: https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/getting-started-wit

Servlet學習筆記生命周期

磁盤 停止 生命 第一個 每一個 clas 瀏覽器 doget des 一、Servlet 生命周期:   Servlet 生命周期可被定義為從創建直到毀滅的整個過程。以下是 Servlet 遵循的過程:初始化——響應請求——終止——回收 Servlet 通過調用 in

JSP學習筆記JSP語法和指令

沒有 文件的 encoding 引入 2.0 .cn name blog .get 一、語法 1、腳本程序的語法格式:   腳本程序可以包含任意量的Java語句、變量、方法或表達式,只要它們在腳本語言中是有效的。 <% 代碼片段 %> 2、中文編碼問題   

C#可擴展編程之MEF學習筆記MEF簡介及簡單的Demo

com ring this exec hosting code .cn 引用 展開 在文章開始之前,首先簡單介紹一下什麽是MEF,MEF,全稱Managed Extensibility Framework(托管可擴展框架)。單從名字我們不難發現:MEF是專門致力於解決擴展性

《機器學習學習筆記線性回歸、邏輯回歸

ros XA andrew ID learn 給定 編程練習 size func 《機器學習》學習筆記(一):線性回歸、邏輯回歸 本筆記主要記錄學習《機器學習》的總結體會。如有理解不到位的地方,歡迎大家指出,我會努力改正。 在學習《機器學習》時,我主要是

算法學習筆記插入排序和線性查找

插入排序 算法學習 AS 獲取 ear array import 右移 創建 (一)插入排序 看下面這張圖片:把打牌時手上的牌抽象為一個列表A,j表示當前最新抓的牌的索引(先放到手上最右邊) 索引 j =0 時 A[j] = 3 j >= 1時, 1、我們拿到

Django學習筆記環境安裝與簡單實例

rom dex ftime not host 名稱 本機 turn perl Django學習筆記(一):環境安裝與簡單實例 通過本文章實現: Django在Windows中的環境安裝 Django項目的建立並編寫簡單的網頁,顯示歡迎語與當前時間 一、環境安裝 結合版

深度學習學習筆記logistic regression與Gradient descent 2018.9.16

寫在開頭:這是本人學習吳恩達在網易雲課堂上的深度學習系列課程的學習筆記,僅供參考,歡迎交流學習! 一,先介紹了logistic regression,邏輯迴歸就是根據輸入預測一個值,這個值可能是0或者1,其影象是一條s形曲線,由預測值與真實值的差距計算出loss function損失函式和cos

Javaweb學習筆記Servlet常見問題

1. 在server.xml中設定context路徑,如果Path值為“”,則可以訪問自己的頁面,無法訪問Tomcat主頁 2. 同樣的context路徑,path為空,卻啟動toncat失敗     解決:原因是有兩個相同的path路徑,空字元算相同的路徑 path=“”

Python自動化學習筆記——介面測試基礎

1.1 介面基礎知識  1.1.1    Get&post請求 GET和POST請求:       GET提交的資料會放在URL之後,以?分割URL和傳輸資料,引數之間以&相連,如EditPosts.aspx?name