电子器件的发展方向
模拟器件 =》数字器件
ASIC =》可编程器件
可编程器件的特点
CPU 在固定频率的时钟控制下节奏运行
CPU 可以通过总线读取外部存储设备中的二进制指令集,然后解码执行。
这些可以被CPU 解码执行的二进制指令集是CPU设计的是时候确定的,是CPU的设计者(ARM)定义的,本质上是一串由1和0组成的数字。
指令集对CPU的意义
汇编语言的本质
汇编的实质是机器指令(机器码)的助记符号,是一种低级符号语言。
机器指令集是一款CPU的编程特征,是这款CPU设计者制定的。CPU内部电路设计就是为了实现这些指令集的功能。
不同CPU的指令集设计不同,因此汇编程序不能在不同CPU间互相移植。
使用汇编编程可以充分发挥CPU的设计特点,所以汇编编程效率最高,因此在操作系统内核中效率极其重要处使用汇编处理。
RISC和CISC的区别
CISC(Complex Instruction Set Computer)复杂指令集CPU
CISC 体系的设计理念是用最少的指令来完成任务。
Intel公司的X86系列CPU是典型的CISC体系的结构,从最初的8086到后来的Pentium系列,每出一代新的CPU,都会有自己新的指令,而为了兼容以前的CPU平台上的软件,旧的CPU的指令集又必须保留,这就使指令的解码系统越来越复杂。
CISC的CPU本身设计复杂、工艺复杂,但好处是编译器好设计。CISC出现较早,至今Intel还一直采用CISC设计。
RISC(Reduced Instruction Set Computer)精简指令集CPU
RISC的设计理念是让软件来完成具体的任务,CPU本身仅提供基本功能指令集。因此RISC CPU 的指令集中只有很少的指令。这种设计相对于CISC,CPU的设计和工艺简单了,但是编译器的设计变难了。
统一编址&独立编址&哈佛结构&冯诺伊曼结构
什么是内存?
内存是程序的运行场所,内存和CPU之间通过总线连接,CPU通过一定的地址访问内存单元。
什么是IO?
IO (input an output)是输入输出接口,是CPU和其他外部设备(如串口/LCD/触摸屏/LED等)之间的通信道路。一般的,IO就是指CPU的各种内部或外部外设。
内存的访问方式
- 内存通过CPU的地址总线寻址定位,然后通过CPU数据总线来读写。
- CPU的地址总线的位数是CPU设计时确定的,因此一款CPU所能寻址的范围是一定的,而内存需要占用CPU 的地址空间。
- 内存与CPU总线式连接是直接相连,优点是效率高访问快,缺点是资源有限,扩展性差。
CPU访问各种外设有两种方式:
- 类似访问内存的方式,把外设的寄存器当作一个内存地址来读写,从而以访问内存的方式来操作外设,叫IO与内存统一编址方式;O与内存统一编址方式,优势是IO当作内存访问,编程简单;缺点是IO也需要占用一定的CPU地址空间
- 使用专用的CPU指令来访问某种特定外设,叫IO与内存独立编址。优势是不占用CPU地址空间,缺点是CPU设计变复杂。
冯诺伊曼结构与哈佛结构
程序运行时的两大核心元素:程序 + 数据。 程序是源代码经过编译、汇编之后得到的机器码。程序是只读的。
数据是程序运行过程中定义和产生的变量,是可以读写的。