ARM裸机全集之ARM体系结构(学习笔记)

ARM体系结构与汇编指令
1.2.1 可编程器件的编程原理
1.2.1.1 电子器件的发展方向
模拟器件-数字器件
ASIC-可编程器件

1.2.1.2.可编程期间的特点
CPU在固定频率的时钟控制下节奏运行
CPU可以通过总线读取外部存储设备中的二进制指令集,然后解码执行
这些可以被CPU解码执行的二进制指令集是CPU设计的时候确定的,是CPU的设计者(ARM公司)定义的
本质是一串由0和1组成的数字,这就是CPU的汇编指令集


1.2.2 指令集对CPU的意义
1.2.2.1 汇编语言与C等高级语言的差别
汇编难写,C好写
汇编无可移植性,C语言有一定可移植性,Java等更高级语言移植性更强。
汇编语言效率最高,C语言次之,Java等更高级语言效率更低。
汇编不适合完成大型复杂的项目,更高级语言更适合完成更大、更复杂的项目。

1.2.2.2 编程语言的发展过程
纯机器码编程
汇编语言编程
C语言编程
C++语言编程
Java C#等语言编程
脚本语言编程

1.2.2.3 汇编语言的本质
汇编的实质是机器指令(机器码)的助记符,是一种低级符号语言。
机器指令集是一款CPU的编程特征,是这款CPU的设计者制定的。
CPU的内部电路设计就是为了实现这些指令集的功能。机器指令集就好象CPU的API接口一样。


总结:

1.可移植性
CPU的机器码(机器指令集)在CPU的设计阶段就已经定死了,不同的CPU拥有不同的机器码。
而汇编语言的本质就是机器码的助记符,通过汇编器翻译成机器码,所以汇编没有可移植性。
C语言的可移植性是由编译器决定的,在不同的操作系统上用不同的编译器,就可以的到相同效果的汇编代码。
2.何为高级语言,何为低级语言
语言越高级,越接近人的思维;越低级,越接近机器的思维。
语言越低级,工作效率越高(机器),语言越高级,工作效率越低,但越接近应用层(方便程序员使用),
相当于要完成同样的机器动作,越高级的语言可以使用跟少的代码,大大减轻了程序员的劳动。


1.2.3 RISC和CISC的区别
1.2.3.1 什么是RISC、CISC
CISC(300条指令左右,Intel的奔腾)complex instruction computer复杂指令集计算机
最少的指令完成任务,一个功能一个指令,功耗高。
RISC(30条指令,ARM)Reduced Instruction-Set computer 精简指令集计算机最基本的功能指令集,功耗低,让软件来完成具体的任务。


1.2.3.2 CPU的发展与RISC和CISC的关系
早期简单CPU,指令和功能都很有限
CISC年代 —— CPU功能扩展依赖于指令集的扩展,实质是CPU内部组合逻辑电路的扩展。
RISC年代 —— CPU仅提供基础功能指令(譬如内存与寄存器通信指令,基本运算与判断指令等),功能扩展由使用CPU的人利用基础架构来灵活实现。
总结:
RISC和CISC慢慢的趋向大一统.



1.2.4 统一编址&独立编址&哈佛结构&冯诺依曼结构
1.2.4.1 IO(IO其实是CPU与外设的接口,可以习惯的认为就是外设)
何为内部或外部外设(本质就是有没有在芯片内部)
IO与内存统一编址方式(把外设寄存器当作一个内存地址来读写,以访问内存的方式访问外设)
IO与内存独立编址方式(通过CPU专用的指令来访问外设,这就是CISC为什么有这么多的指令了,每多一个外设,就要增加相应的指令。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值