1.ARM的基礎知識

来源:http://www.cnblogs.com/ldhbetter/archive/2016/10/09/5943976.html
-Advertisement-
Play Games

ARM簡述 ARM公司既不生產晶元也不銷售晶元,它只出售晶元技術授權。ARM技術具有很高的性能和功效,因而容易被廠商接受。同時,合作伙伴的增多,可獲得更多的第三方工具、製造和軟體支持,這又會使整個系統成本降低,讓產品進入市場的時間加快,從而具有更大的競爭優勢。 一、ARM技術的應用領域及其特點 採用 ...


  

ARM簡述

  ARM公司既不生產晶元也不銷售晶元,它只出售晶元技術授權。ARM技術具有很高的性能和功效,因而容易被廠商接受。同時,合作伙伴的增多,可獲得更多的第三方工具、製造和軟體支持,這又會使整個系統成本降低,讓產品進入市場的時間加快,從而具有更大的競爭優勢。

一、ARM技術的應用領域及其特點

  採用ARM技術IP核的微處理器遍及汽車、消費電子、成像、工業控制、海量存儲、網路、安保和無線等各類產品市場。

1.什麼是IP核?

  IP核是指擁有知識產權的控制功能單元。(IP核是一段具有特定電路功能的硬體描述語言程式,該程式與集成電路工藝無關,可以移植到不同的半導體工藝中去生產集成電路晶元。利用IP核設計電子系統,引用方便,修改基本元件的功能容易。具有複雜功能和商業價值的IP核一般具有知識產權,儘管IP核的市場活動還不規範,但是仍有許多集成電路設計公司從事IP核的設計、開發和營銷工作。IP核有兩種,與工藝無關的VHDL程式稱為軟核;具有特定電路功能的集成電路版圖稱為硬核。)

 

2.ARM相關的各種版本號及命名

  ARM的三種版本號:ARM體系版本(內核版本號)、ARM處理器版本(SoC<System on Chip>版本號)、晶元型號。

  ARM體系版本(內核版本號):ARMv1    、...   、      ARMv4    、ARMv5     、ARMv6    、ARMv7

  ARM處理器版本:    .....       、    、    ARM7\ARM9    、ARM9+xScale 、ARM11    、Cortex-M\Cortex-A\Cortex-R 

  晶元型號:            .....        、S3C44B0\S3C2440 和2410、       、S3C6410   、...\S5PV210\...

*值得註意的是:在ARMv7版本開始,ARM處理器版本分成了Cortex-M\Cortex-A\Cortex-R這三個系列

  Cortex-M:M(microctroller)  主要用於單片機,比如STM32;

  Cortex-A:A(Application)   主要用於手機,平板等等;

  Cortex-R:R(Realtime)   主要用於工業,航天方面;

 

 二、一些需要知道的事兒

 

1.可編程器件

  可編程器件是由ASIC <Application Specific Integrated Circuit 特定用途集成電路> 發展而來的。CPU就屬於可編程器件(cpu內部電路對二進位文件解碼)

2.可編程器件的特點

  1).cpu在固定的始終頻率控制下節奏運行。

  2).cpu可以通過匯流排讀取外部存儲設備中的二進位指令集,然後解碼,cpu內部電路對二進位文件進行解碼。

  *** 這些可以被cpu解碼執行的二進位指令集是cpu設計時就確定了的,是cpu的設計者(ARM公司)定義的,本質上是一串0或1組成的數字,這就是cpu 的彙編指令集。

總結: 為什麼可編程器件可以編程?

  由於cpu是在固定的始終頻率控制下節奏運行,並且可以通過匯流排從外部存儲設備讀取二進位指令集,然後解碼執行,因為這些指令集是cpu的設計者通過的,所以我們可以通過提供的這些指令集去達到我們編程的目的。

 

3.指令集對cpu的意義

  彙編的實質是機器指令的助記符。機器指令(二進位)集是一款cpu的編程特征,是這款cpu的設計者制定的。cpu的內部電路就是為了實現這些指令集的功能。機器指令集就好像cpu的API介面一樣。不同的cpu機器指令集設計不同,因此彙編程式不能在不同cpu的機器互相移植。

 

4.RISC和CISC的區別

 * RISC<Reduced Instruction Set Computer>精簡指令集電腦

  RISC的設計理念:讓軟體來完成具體的任務,cpu本身僅提供基本的指令集,功能擴展有使用cpu的人利用基礎架構來靈活實現

 * CISC<Complex Instruction Set Computer>複雜指令集電腦

  CISC的設計理念:用最少的指令來完成任務,cpu的擴展依賴指令集的擴展。實質是cpu內部組合邏輯電路的擴展

 

5.cpu訪問各種外設的兩種方式:統一編址,獨立編址

***統一編址和獨立編址各自的優缺點

  統一編址:因為是像訪問記憶體一樣通過地址去訪問IO,所以訪問簡單,但是卻占用了cpu的地址空間,而cpu的地址空間是有限的資源。

  獨立編址:優點是不占用cpu的地址空間,缺點是cpu的設計就變複雜了。

  

6.什麼是記憶體?什麼是IO?

  記憶體是程式運行的場所。

  IO是輸入輸出介面,是cpu和其他外部設備之間的通道,一般IO就是指cpu的各種內部或外部設備

7.軟體控制硬體的關鍵-寄存器

  1.什麼是寄存器?

    寄存器是一個硬體模塊,寄存器有兩類:通用寄存器和特殊功能寄存器(SFR)

    通用寄存器(ARM中37個)是cpu的組成部分

    特殊功能寄存器:不在cpu中,存在於cpu的外設中,我們通過訪問外設的SFR來編程操控這個外設,這就是硬體編程式控制制的方法

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 表簇索引(cluster index) 對於表簇索引而言,必須使用表簇。 由於簇索引與索引表簇關聯緊密,無法單獨拿出來總結,因此一併進行總結。 1.1 表簇的定義 表簇是一組通過相同公共列(簇鍵),構成的表的集合。 如上圖,右側獨立的兩張表,employees員工表與departments部門表,通 ...
  • 在ORACLE資料庫中有物理讀(Physical Reads)、邏輯讀(Logical Reads)、一致性讀(Consistant Get)、當前模式讀(DB Block Gets)等諸多概念,如果不理解或混淆這些概念的話,對你深入理解一些知識無疑是一個障礙,但是這些概念確實挺讓讓人犯暈的。下麵我... ...
  • JDBC part1 JDBC概述 jdbc是一種用於執行SQL語句的Java API,通過這套API可以訪問各種關係資料庫,例如;Oracle,MySql,SQLServer等. JDBC驅動程式是各個資料庫廠家根據JDBC的W3C規範製作的JDBC實現類. oracle 驅動地址:F:\Orac ...
  • 【原文地址】https://docs.mongodb.com/manual/ 引言 MongoDB是一種開源文檔型資料庫,它具有高性能,高可用性,自動擴展性 1.文檔資料庫 MongoDB用一個文檔來表示一條記錄,文檔的數據結構由鍵值對組成。MongoDB文檔類似於JSON對象,欄位值可能是文檔,數 ...
  • 資料庫運維中盛傳一個小段子,我誤刪除了資料庫,改怎麼辦?有備份還原備份,沒有備份就準備簡歷!聽起來有趣但發生在誰身上,誰都笑不起來。接觸了很多的客戶發現90%客戶的運維策略都不是很完善。本篇就分享一些常規的運維腳本,本篇沒有涉及到的或不足的也請大家留言無私貢獻深藏多年的腳本,謝謝! 郵件 郵件主要用 ...
  • 1.是用軟體提供的字體 如果只想簡單的設置,可進行如下設置Tools->IDE Options->Editor->Colors and Fonts->Editor Font->Font但是這裡邊似乎也沒有什麼舒服的字體,在網上找了找,還真找到了一個比較不錯的字體,現呈現給大家 2.使用系統提供的字體 ...
  • 1、名詞解析 主機名: 無論是在區域網還是在INTERNET上,每台主機都有一個IP地址,用來區分當前是那一臺機器(其實底層是使用機器的物理地址),也就是說IP地址就是一個主機的門牌號,唯一的標示這一臺機子。 公網: IP地址不方便記憶,所以又有了功能變數名稱。功能變數名稱只是在公網(INTERNET)中存在,每個 ...
  • 1.SDRAM單管存儲單元 C記憶單元 T控制門管 Z字線 W位線 註:圖示為N溝道耗盡型MOS管 寫入:Z加高電平,MOS導通,W狀態決定了電容C的狀態 讀出:Z加高電平,MOS導通,可以從W狀態得知C的狀態 保持:Z加低電平,MOS關閉,電容保持原狀態 註意:單管讀出是破壞性讀出,因為讀出時電容 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...