1 微型计算机基础概论
1.1 微型计算机系统
Content:
- 微机的一般工作过程以及微机系统的组成3个方面
- 建立整个系统的简单框架
1.1.1 微型计算机的发展
略
1.1.2 微型计算机的工作过程
1 - 冯.诺依曼 计算机
计算机的工作过程就是执行程序的过程,而程序则是指令序列的集合
每台计算机都拥有各种类型的机器指令,这些指令按照一定的规则存放在存储器中,在中央控制系统的统一控制下,按照一定顺序一次依次执行
存储程序:把程序和数据送到具有记忆功能的存储器中保存起来

主要特点:
- 将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器中保存
- 程序中的指令和数据必须采用二进制编码,且能够被执行该程序的计算机识别
- 指令按其在存储器中存放的顺序执行,存储器的字长固定并按顺序线性编址
- 控制器控制->整个程序和数据的存取and程序的执行
- 以运算器为核心,所有的执行都经过运算器
2 - 微型计算机的工作过程
微机的工作过程就是执行程序的过程–执行每条指令序列的过程
=>不断的 取指令 和 执行指令 的过程。
执行该过程的示意图:

指令周期:
--(取指令阶段)--
-
首先将第一条指令由内存中取出(这是个)
-
将去除的指令送入指令译码器译码,以确定要进行的操作
–(执行指令阶段)–
-
读取相应的操作数(执行的对象)
-
执行指令
-
存放执行结果
-
指令执行完毕,转入下一条指令的取指令阶段,不断重复直到meet暂停指令而停止
取指令阶段:一系列相同的操作组成。取指令阶段的时间总是相同的,称为公共操作。
执行阶段:由不同的事件顺序组成,具体取决于被执行指令的类型。指令不同,执行阶段耗时也各不相同。
一个简单实例中读取第一条指令的工作过程示意图:

10110000 00000101 MOV A,5 ;第一个操作数(5)送到累加器
00000100 00001000 ADD A,8 ;5与第2个数(8)相加,结果(13)送到累加器
11110100 HLT ;停机
取第一条指令过程如下(内存储器中已经事先存储好了如上所示的程序):
- 指令所在地址(00H)赋给程序计数器PC并送到地址寄存器AR
- PC自动+1(00H -> 01H),AR的内容不变
- 将地址寄存器AR的内容(00H)放到地址总线AB上,并送至内存储器,经地址译码器译码,选中相应的00H单元的指令
- CPU的控制器发出读命令
- 在读 命令控制下,将所选中的00H单元中的内容(即第一条指令的操作码10110000)读到数据总线DB上
- 将读出的内容10110000经数据总线DB送到数据寄存器DR上
- 去指令阶段最后一步是指令译码。因为取出的是指令的操作码,数据存储器DR将它送到指令寄存器IR,然后再送到指令译码器ID。
哒哒,这样就完成了第1条指令的读取!
第2条以及后续指令的读取过程与第1条指令是一样滴,而由于指令不同,每次译码后指令译码器ID中的内容也会不同
1.1.3 微机系统的组成
tips:微机系统、微型机和微处理器是3个不同的概念。
微机系统的组成框图:

总线BUS:具体实现上,微机的各组成部分之间通过总线连接,总线是部件之间信息传递的公共通道。
其中,
- AB - Address Bus : 地址总线,单向,三态,传送 读/写存储器(RAM或ROM)或输入输出接口(I/O接口) 的地址信息
- DB - Data Bus : 数据总线,双向,三态,传送要操作的数据
- CB - Control Bus : 控制总线,都有,取决于控制什么,传送控制信息
微机的系统结构框图:

1 - 硬件系统
1) 微处理器/中央处理器/CPU
CPU是微机的核心芯片,是整个系统的运算和指挥控制中心。
无论那种CPU,其内部基本组成都大同小异,主要部分为:控制器、运算器和寄存器组
CPU典型结构示意图:

-
运算器 - AU / Arithmetic Unit:核心为算术逻辑单元(ALU,Arithmmetic and Logic Unit),它是以**加法器(ADDer)为基础,辅以移位寄存器(Shifting Register)**及相应的控制逻辑组合而成的电路。可以完成加减乘除四则运算和各种逻辑运算,包括浮点运算。
-
控制器 - CU / Control Unit : 由指令寄存器IR / 指令译码器ID和操作控制电路组成. CU从存储器中依次取出程序的各条指令,并根据指令要求,香微机各个部件发出相应的控制信号,使各部件协调有序工作.
-
寄存器组 - RS / Registers Set: 实质上是CPU内部的若干个存储单元, 在ASM语言中通常是按照名字来访问它们. 寄存器可分为专用寄存器和通用寄存器.
专用寄存器 - 作用固定, 如堆栈指针SP, 程序计数器PC, 标志寄存器FR
通用寄存器 - 由程序员自行分配规定用途.
2 - 存储器(Memory)
主机系统中的存储器又叫内存or主存 -> 微机的存储和记忆部件
用以存放数据(including 原始数据, 中间结果 和 最终结果)和当前执行的程序
- 内存单元的地址和内容 : 内存由需多单元组成, 在微机中, 每个单元规定存放8位bin码, 即一组bin码, 单位为字节Byte.
为了区分各个不同的内存单元, 需要给每个存储单元编上不同的号码 -> 内存地址(Memory Address)
8088/8086中, CPU的内存地址编码为00000H, 00001H, …, FFFFFH, 共 2 20 2^{20} 220个存储单元. 每个存储单元地址唯一, 所以CPU就可以通过指定地址来正确访问某个特定的内存单元.
内存单元中存放的信息称为内存单元的内容. 内存单元的内容与地址在表现形式上虽然都是bin, 但本质上它们是两个完全不一样的概念
内存
单元的内容与地址示意图:
- 内存的操作 : CPU对内存的操作有读read / 写write两种.
-
读操作 Read - CPU 将内存单元的内容取到CPU内部…
-
写操作 Write - CPU 将其内部信息传送到内存的单元保存起来
假定有256个存储单元,地址00H~FFH, 字长为8位:
存储器读写操作示意图 :

从存储器读出信息的操作过程. 现在CPU要把数据00100110B(26H)写入地址位08H的存储单元, 步骤如下:
- CPU 将存储单元地址08H放到地址总线AB上, 经地址译码器AD选中08H.
- CPU 将要写入到内容26H放到数据总线DB上.
- CPU 向存储器发送"写"控制信号, 在该信号的控制下, 将数据26H写入存储器的08H单元.
- 内存的分类 - 按工作方式不同, 内存可分为两大类 :
-
随机存储器 - RAM / Random Access Memory : 可被CPU随机地读和写, name as 读写存储器. 用于存放用户装入的程序数据及部分系统信息 . 断电后丢失 .
-
只读存储器 - ROM / Read Only Memory : 只能被CPU随机读取,而不能由CPU写入. 断电后不丢失. 主要用来存放*监控程序和基本输入输出程序,以及各种常用数据与表格.
ROM中的内容一般由厂商在出场的时候写入.
3 - 输入输出接口和输入输出设备(I/O)
IO接口和IO设备是I/O系统的硬件组成.
IO设备中, 常用的输入设备Input Device 有键盘, 鼠标, 扫描仪, etc.
与CPU相比, IO设备的工作速度较低, 处理的信息从数据格式到逻辑时序一般都无法与CPU直接兼容 -> 微机与IO设备间的连接与信息交换不能直接进行, 而必须通过一个中间部件作为两者之间的桥梁
=> IO接口(I/O Interface), name as IO适配器(I/O Adapter)
详见Chapter 6.
4 - 总线(Bus)
由一组导线和相关控制电路组成, 是各种公共信号线的集合, 用于微机系统个部件之间的信息传递.
将用于主机系统内部信息传递的总线称为内部总线 Internal Bus, 将连接主机和外部设备之间的总线称为外部总线 External Bus.
- 数据总线 - DB / Data Bus : DB用来传输数据信息, 双向总线,三态,
- 地址总线 - AB / Address Bus : AB用于传送CPU发出的地址信息, 单向总线,三态.
- 控制总线 - CB / Control Bus : CB 用来传送控制信号, 时序信号和状态信息等等. CB中每一根线的方向是一定的, 单向的, 但CB作为一个整体是双向的.
从传送信息的类型上, 内部总线 和 外部总线 都有 DB, AB, CB.
详见Chapter 2.
2 - 软件系统
软件(Software) 包括 系统软件 和 应用软件 两大类.
系统软件 - System Software : 主要包括操作系统 OS(管理计算机资源, 任务调度, 文件管理, 人机接口等)和系统实用程序 System Utilities(编译器, 汇编器, 数据库, 文本编辑器, 诊断和调试程序等).
程序设计语言分三个级别 - 机器语言machine language, 汇编语言assembly language, 高级语言high-level language.
略.
1.2 计算机中的数制与编码
计算机中的数制与编码主要是关注微机中如何表述小数, 即定点数浮点数的部分。这一部分其他的内容具体的可以参照我之前写过的这篇文章:
数电学习笔记Ⅰ——数制、运算与编码
在这就不赘述了
1.2.1 常用记数制
1 - 十进制数(Decimal - Dec)

2 - 二进制数(Binary - Bin)

3 - 十六进制数(Hexadecimal - Hex)

bin数与hex数间转换很方便, 习惯用hex数来简化bin数的表达.
1.2.2 各种数制间的转换
1 - 非十进制 -> 十进制
Easy, 按相应的权表达式展开, 再按十进制运算规则求和, bingo!
E.g. 将1101.101B转成十进制数
( 1101.101 ) B = 1 × 2 3 + 1 × 2 2 + 0 × 2 1 + 1 × 2 0 + 1 × 2 − 1 + 1 × 2 − 2 + 1 × 2 − 3 = ( 13.625 ) D \begin{aligned} (1101.101)_B \\ & = 1 \times 2^3 + 1 \times 2^2 + 0 \times 2^1 + 1 \times 2^0 + 1 \times 2^{-1} + 1 \times 2^{-2} + 1 \times 2^{-3} \\ & = (13.625)_D \end{aligned} (1101.101)B=1×23+1×22+0×21+1×20

最低0.47元/天 解锁文章
2421

被折叠的 条评论
为什么被折叠?



