目录

前言

一、计算机组成

1.1、存储器种类

1.2、CPU

1.3、存储器和CPU之间的关系

1.4、CPU执行指令过程

1.5、计算机架构

1.6、冯洛伊曼架构功能

2、ARM体系结构

2.1、ARM是什么?

2.2、ARM内核

2..3、CPU如何运行程序?

2.4、ARM系列产品

2.5、ARM架构工作模式

2.5.1、特权、非特权和异常模式


前言

在ARM学习之路中,我们需要掌握C语言,C语言是语言中的基石,在ARM学习中会用到C语言的知识。在学习ARM的过程中会显得困难,需要一步步夯实,为了今后的工作,学习之路不可懈怠,希望与大家一起在ARM学习之路上越来越顺利。

        以下是学习整理的资料,与君共勉!

一、计算机组成

计算器主要组成:输入设备、输出设备、存储设备、运算器和控制器。

计算机=软件+硬件

  • 输入设备:将计算机能够识别的信号,也就是程序和数据存储到计算机中(设备:键盘、鼠标)
  • 输出设备:把计算机处理的结果以人能理解的方式传输出去(设备:显示器、喇叭)
  • 存储器:用以存储程序和数据,内有代码段和数据段这样的进程数据(设备:硬盘)

1.1、存储器种类

  • Cache:为高速缓冲存储器,CPU可以直接访问,用以存放当前正在执行的程序的活跃部分。

  • RAM(内存):为主存储器,CPU可以直接访问,用以存储当前正在执行的程序。

  • ROM(硬盘):为辅助存储器,CPU不可以直接访问,用以存储当前不参与执行的程序和数据,需要时再送入主存储器。

1.2、CPU

CPU中可分为运算器(运算单元)和控制器。

  • 运算器的作用:是进行算数运算(加减乘除)和逻辑运算(位移、逻辑关系),也就是算数逻辑单元(ALU),其中包括寄存器(累加寄存器、暂停器),运算器是由控制器进行控制执行。
  • 控制器作用:是用于控制CPU进行操作,以控制其他基本部件,是CPU的命令中心。通过程序计数器(指令计数器)寻找存储器数据地址,然后将数据存储到指令寄存器进行存储,再通过指令译码器解析指令内容,最后由操作控制器进行操作。

1.3、存储器和CPU之间的关系

图解:在控制单元的时钟脉冲下,将指令计数器(程序计数器)所指向的指令地址(在内存中的地址)送到地址总线上,CPU将这个地址的指令读取指令寄存器存储,交给指令译码器解析译码,由操作控制器根据译码结果完成控制。对于执行指令过程中需要用到的数据,会将数据地址送到地址总线,然后由CPU读取数据到CPU的内部存储单元暂存起来,最有由命令运算单元进行加工处理。

1.4、CPU执行指令过程

  • 1、取指令

  • 2、指令译码

  • 3、执行指令

  • 4、修改指令计数器(程序计数器),执行下一条指令

总线结构:就是将各大基本部件,按照某种特定的方式连接形成主干线,各个部件之间能够进行传输,系统总线包含三种不同功能的总线,有地址总线(Address Bus)、数据总线(Data Bus)和控制总线。

1.5、计算机架构

冯洛伊曼架构(存储数据,顺序执行):冯洛伊曼架构把数据和指令都统一的存储到存储器中,进行执行。

哈弗架构:数据和程序分开编址

1.6、冯洛伊曼架构功能

  • 1、把需要的程序和数据送入到计算机中

  • 2、必须有能够长期存储程序、数据、中间结果和最终结果的能力

  • 3、能够完成各种运算、完成教据加工处理

  • 4、能够根据程序走向,有指令控制机器各部件协调工作

  • 5、能够处理结果传输给用户

2、ARM体系结构

2.1、ARM是什么?

ARM即可以是一家芯片设计厂商名字(Advance RISC Machine),也代表一类微处理器的通称,也是一种技术名称。

ARM公司设计架构、图纸方案,以授权给其他厂商。

芯片厂商:三星(Samsung)、德州仪器(TI)、意法半导体(ST)、高通等。

芯片代工制造厂商:台积电、中芯国际、三星等。

2.2、ARM内核

ARM体系/ARM架构:由ARM公司设计的ARM内核的结构,内核中的部件如何协调工作,执行程序。即arm内核的设计方式就叫做架构。

ARM内核包括寄存器组、指令集、总线、存储映射规则、中断规则和调试组件等

外设:定时器、iic、uart等,由芯片制造厂商设计与ARM外设衔接。

2..3、CPU如何运行程序?

arm指令集架构

指令集是arm体系结构(处理器结构设计)中最重要的一部分,对于32位处理器CPU,CPU获取到32位的内容,这32位的01代表什么作用,有什么意义,即32位不同的01序列,不同的值代表不同的机器指令(机器要执行什么),如果再ARM体系架构中有指令集,在CPU内部知道每串01代表什么,CPU硬件能够完美解析并执行指令,如寻址、异常处指令(机器指令)。

ARM指令:由ARM公司针对ARM体系架构设计的指令

RISC----精简指令集,ARM架构使用精简指令集

CISC----复杂指令集

2.4、ARM系列产品

ARMV1、V2--------V7、V8、V9架构。

架构 处理器
ARMV1 ARM1
ARMV2 ARM2、ARM3
ARMV3 ARM6、ARM600、ARM610、ARM7、ARM700、ARM710
ARMV4 strongARM、ARM8、ARM810、ARM9
ARMV5 ARM9E、ARM10E
ARMV6 ARM11
ARMV7(以此开始A、R、M三个系列:Cortex-A (Application)、Cortex-R (Real-time)、Cortex-M、Cortex-SC) Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9
ARMV8 Cortex-A53、Cortex-A73、Cortex-A78
  • Cortex-A(高性能处理器):在智能业务高端运用,如智能手机

  • Cortex-R(实时性的需求):运用于汽车系统上面

  • Cortex-M:运用于单片机(微处理器)这样的市场

2.5、ARM架构工作模式

  • Cortex系列之前:七种工作模式

  • Cortex系列之后:八种工作模式

(1)用户模式(user)

用户程序的工作模式,运行系统的用户态,不能操作其他硬件资源,只能执行处理自己的数据,也不能切换其他的模式,如需切换其他模式,智能产生中断或其他异常。

(2)系统模式(system)

系统模式为特权模式,不受用户模式限制。使用于同一套寄存器,操作系统可以让用户访问受限资源。

(3)中断模式(IRQ)

用于处理一般的中断请求,硬件产生中断信号后会自动访问硬件资源,进入该模式。

(4) 快速中断模式(FIQ)

用于处理比较紧急的中断请求,在高速数据传输通道中使用。

(5)管理模式(super visor)

一般CPU上电之后自动进入该模式,以完成系统的初始化。软中断也会进入该模式,如果在用户模式下,可以通过软中断进入该模式,请求访问该硬件资源。

(6)未定义模式(underfined)

未定义指令终止。CPU在指令阶段不能识别该指令操作时,就会进入该模式。

 (7) 终止模式非法访问(abort)

当用户非法访问内存,没有权限读写内存地址时,会进入该模式.

(8)安全模式(monitor)  

为了安全而扩展出的用于执行安全监控代码的模式。

2.5.1、特权、非特权和异常模式

  • 非特权模式:用户模式
  • 特权模式:系统、一般中断、快速中断、管理、未定义、终止、安全模式
  • 异常模式:一般中断、快速中断、管理、未定义、终止、安全模式

--------------------------------------此篇到这就结束了!----------------------------------------

【ARM】ARM体系与计算机组成——第一篇相关推荐

  1. 林大计算机学子第一篇博客

    林大计算机学子第一篇博客 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下 ...

  2. Linux——Linux驱动之基本理论常识总结(什么是Linux驱动?Linux驱动需要掌握哪些?ARM处理体系架构及前世今生)

     [系列专栏]:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! <QT开发实战> <嵌入式通用开发实战> <从0到1学习嵌入式Linux开发> 目录 0 ...

  3. 聊聊后端程序员的知识体系-第一篇

    聊聊后端程序员的知识体系-第一篇 原文链接:https://www.fpthinker.com/backend_knowledge_architecture/knowledge.htmll 亲爱的读者 ...

  4. IOS开发高手课第一篇 构建自己的IOS开发知识体系

    开篇词 | IOS开发锚定一个点,然后在这个点上深耕 你好,我是戴铭,欢迎你加入我的 iOS 开发专栏. 说起 iOS 开发,自然是绕不开 iPhone 和 App Store 这两个词.多少年过去了 ...

  5. 高速计算机的应用领域概括,[其它课程]计算机基础教案第一篇第一、二章.doc

    [其它课程]计算机基础教案第一篇第一.二章 盐城技师学校教案首页 授课日期班 级课题: 第一章 计算机基础知识 §1.1计算机概述 教学目的.要求:1.熟练掌握计算机的概念及特征: 2.掌握计算机的发 ...

  6. 计算机组成原理-哈工大刘宏伟(第一篇)

    文章目录 计算机系统简介 课程概貌 讲述内容 特色 第一篇 概论 第一章 计算机系统概论 1.1计算机系统简介 一.计算机的软硬件概念 二.计算机系统的层次结构 三.计算机体系结构和计算机组成 1.2 ...

  7. 多平台多渠道账号体系绑定第一篇-微信小程序篇

    先奉上本篇实现效果 多平台多渠道账号体系绑定第一篇-微信小程序篇 近来,在对接三方平台时,欲将多方开放平台统一整合入笔者的框架内. 如下为大致思路设计图 由于需对接多方平台关联账号体系,思来之后,将设 ...

  8. 计算机科学与探索 sci,第一篇SCI论文投稿经历(计算机专业)

    上周获悉投往 The computer journal 的SCIE检索论文终于接收,历时半年.人生第一篇SCI,内心极度喜悦,感慨良多.这几年本人一直在小木虫论坛逛,前辈们的投稿经历给本人极大信息和启 ...

  9. 《考取HCIA证书,看我就够了》第一篇:华为职业认证体系及HCIA介绍

    系列文章目录 <考取HCIA证书,看我就够了> 1.华为职业认证体系及HCIA介绍 2.[HCIA-IoT]物联网起源与发展 3.[HCIA-IoT]物联网技术之网络层技术概览 4.[HC ...

最新文章

  1. 量子科技概念大火,国内现状如何?
  2. 菜鸟的 Sass 学习笔记
  3. Restful与webService区别
  4. 【直播资料下载】Python 系列直播——深入Python与日志服务,玩转大规模数据分析处理实战第二讲...
  5. Linux集群架构(下)——DR模式、keepalived+LVS
  6. WPF最大化避免覆盖任务栏
  7. 见过世面的人到底有什么区别
  8. uni-app打包h5
  9. Python中的a+=a和a=a+a的区别(认真看完后,我相信你一定会回来感谢我的)
  10. EasyJoyStick使用以及两种操作杆 EasyJoyStick的使用方法,简单的不能再简单 Hedgehog Team-》Easy Touch -》Add Easy Touch For C#
  11. php mysql扩展 5.4_编译php5.4及安装后添加扩展
  12. node中exports和module.exports的关系及使用
  13. WebService 入门教程(Java)
  14. 基于Simulink的机械式飞行操纵系统建模与仿真
  15. h5页面如何切图_切图与CSS入门
  16. python 解积分方程
  17. 时间复杂度和空间复杂度详解
  18. python爬虫得到谷歌学术搜索结果
  19. 【opencv3】滑动条调节RGB颜色阈值并输出滑动条的值
  20. 关于线性代数:方程组同解

热门文章

  1. 计算机基础题精选(一)
  2. c语言 substr,如何在C语言实现substr()
  3. uni-app里的拓展组件uni ui与UI框架uView UI的Popup 弹出层的区别!
  4. Java Web视频(2013)
  5. SQL SERVER 2000 企业管理器免安装方法
  6. mac BigSur修改系统文件方法
  7. 定时任务:创建静态定时任务、动态定时任务
  8. x10ti怎么禁用核显_4800h和10875h强者对决,英特尔这回给力了
  9. 名编辑电子杂志大师教程 | 名编辑电子杂志大师如何编辑文本文字?
  10. 如何生成token,是使用token