绪论
最近在看B站微机原理视频,习惯看视频的时候记录一下笔记,方便复习,记录在博客中(视频连接:https://www.bilibili.com/video/BV1ZJ411b7Na/?spm_id_from=333.337.search-card.all.click&vd_source=96e5e43be309416df48eb06a75ad2f96)
1.课程内容安排
- 1-4章 - 软件部分,要求有编程基础
- 5-10章 - 硬件部分,需要有数字电路与逻辑设计知识
2.学习目的
- 电子信息系统:目前都为智能电子信息系统,系统硬件设计中含有CPU,以CPU为核心设计控制系统,由CPU控制系统的运行
- 信息系统处理的量都是外界提供的物理量(压力\温度\速度),如果想要CPU处理这些外界输入的物理量进行处理,需要通过传感器将这些物理量转变为电量,转变完成之后的电量一般是毫伏级(mv)的,通过放大器放大到伏特级,然后在经过滤波器(前端调理电路)之后,模拟信号经过A/D转换之后转变为数字信号
- 放大电路和滤波电路都称为前端调理电路,前端调理电路输出的信号需要进行测试,所以在实验阶段,需要流出测试点
- 前端调理后的信号,仍然为模拟信号,CPU只能处理数字信号,所以需要通过A/D变换(模数转换)转变为数字量,转变完成之后的数字量根据A/D变换器芯片的精度不同,有些芯片转换完成之后的信号是8bit/16bit等
- A/D转换器转换速度:从信号开始转换到信号转换结束所需的时间
- A/D转换器的转换根据速度和精度选择
- 由CPU控制A/D变换器,由CPU发送命令告诉A/D变换器什么时候进行采样模拟信号进行转换;由于前端调理模块的输入不同,还有A/D变换器的输入(前端调理模块的输出)电压有范围要求(量场),所以要求前端调理模块的放大倍数不同,放大倍数也是由CPU控制的,程控增益放大器
- CPU接收到A/D的数字量,存储到存储器中,CPU对存储器中的数据通过某些算法进行处理,处理之后的结果一部分存储到存储器中,一部分输出到外界
- 信号从CPU输出到外界,需要通过D/A转换转换为模拟量,再经过后端调理电路输出到外界
- 由于设备的种类不同,有些设备需要接收模拟量信息,有些设备需要接收数字量信息,有些接收串行数据,有些接收并行数据;设备和CPU之间往往不是直连的,而是通过接口电路,实现CPU与设备的互联
3.微型计算机系统组成
微型计算机是由硬件子系统和软件子系统过组成
3.1 早期计算机硬件组成
- ALU - 算数逻辑运算电路单元
- 控制器 - 控制ALU进行运算和如何进行运算,控制存储器中的数据输出到ALU中进行运算,还可以控制将运算之后的数据存储到存储器中
- 存储器 - 存储运算的数据以及存储运算之后的结果
- 输入设备 - 运算的数据还可以来自于输入设备
- 输出设备 - 显示运算之后的数据
3.2 CPU产生
- 早期的计算机硬件庞大,随着半导体技术发展,集成电路问世,半导体公司将ALU和控制器集成为中央处理器(CPU),因为中央处理器的体积非常小,也称之为微处理器
- 部件与部件之间会传送信息:数据信息\控制信息\地址信息
- 从存储器中读数据和写数据,读取数据和写数据需要有存储器地址
- 将传送数据信息\控制信息\地址信息称之为总线,总线就是用于传输信息的通道,不同的信息需要走不同的通道,所以分为数据总线(传输数据DB),地址总线(传送地址,AB),控制总线(传送控制信号,CB)
3.3 现代微型计算机硬件组成
- 以CPU为核心,采用三总线的形式组成的,系统中需要的部件都挂接在总线上
- CPU的型号根据需求选择
- CPU上有很多引脚,CPU通过引脚与外部进行通信,通信的信息有三种,所以按照传送信息的种类分为数据引脚\控制引脚\地址引脚
- 8位CPU数据引脚有8个/16位CPU数据引脚有16个/32位CPU数据引脚有32个
- CPU通过地址码找到存储器中存储数据的单元,地址码位数越多,管理的存储空间越大
- CPU上有很多引脚,如果都需要从CPU上引出,CPU体积增加,为了减小CPU体积,所以要复用引脚;因为不同的信息要走不同的通道,部分数据和地址引脚复用之后,需要设置一部分电路,将复用引脚上的复用信息,使数据信息走专用的数据总线DB,CPU可以通过数据总线发送数据,数据总线是双向的;地址通过地址总线发送地址
- 地址:存储器地址和IO地址,都是从CPU发送出来,寻找要操作的IO或者是存储单元,所以地址总线是单向的
- CPU要给存储器或者某IO写数据,要通过控制器通过控制总线,发送读控制命令,命令信息沿地址总线传送,控制总线上的命令是CPU发送出来的称为命令信息,还有设备反馈给CPU的信息称之为状态信息,命令信息和状态信息统称为控制信息
- 系统总线形成电路,要通过引脚功能及信号时序设计电路
- 微处理器引脚也是总线,将微处理器引脚称之为微处理器级总线
- 微处理器部分引脚采用了复用引脚,并且每个引脚驱动负载能力比较弱,信号通过引脚输出的时候不会通过一个放大电路再输出
- DB\AB\CB - 系统总线(系统级总线)
- 微型计算机系统中,任何与CPU通信的部件,都是挂接在系统总线上与CPU进行通信的,挂接在总线上的任何器件对于总线而言都是负载,微处理器级总线驱动能力弱,只驱动系统级总线形成电路,大量的设备是通过系统级总线进行驱动的
- 系统级总线形成电路不仅解决了引脚复用的问题还解决了微处理器级总线驱动能力弱的问题
- 挂接在总线上的存储器:ROM和RAM
- ROM掉电之后不丢失,其中包含系统管理程序(bios),计算机上电之后,CPU中先从bios中取程序代码执行,执行的任务:1.对内存(RAM)进行自检;检查每个RAM的存储的单元的每个bit位能读能写;2.对主板上的IO接口电路进行初始化;3.从外部设备(磁盘)上读取操作操作系统到内存(RAM)
- bios就是操作系统的管理程序,存放在ROM中
- ROM程序存储器和RAM数据存储器
- 有些CPU内部含有程序存储器和数据存储器,如果内部存储空间不够,需要与外部存储进行扩展设计
- 8086 CPU中没有内置的ROM和RAM,需要通过总线进行扩展设计
- ROM中的程序是烧录进入的
- CPU对于存储单元进行操作,是根据CPU的指令进行操作的
- 指令:是一组二进制代码,不管使用任何语言编写的程序都需要将程序转变为二进制代码,程序才能执行,并不是所有的二进制代码都是指令,只有能够告诉cpu做什么怎么做的二进制代码才叫做指令
- 实际上使用二进制代码(指令),可以直接编写程序,这就是机器语言,机器语言记忆非常困难;将能代表一条指令的二进制代码用符号描述,就是汇编语言
- 任何IO设备和CPU之间的通信都不能直接通信,设备要与CPU进行通信,必须设计设备与总线之间的IO接口电路,比如:显示器与CPU通过显卡通信,影响与CPU通过声卡通信
- CPU对于IO读写电路的操作,就是对于IO读写地址(给IO读写电路分配的地址)
- CPU对于存储器的操作也是通过存储单元的地址实现的
- 同一组地址线既给IO设备地址又给存储器地址,如何进行区分的?CPU执行的指令不同,的指令是操作存储设备的,有的指令是操作IO设备的,CPU通过控制引脚输出不同的控制信号
- 对于8086而言,对于IO设备地址,有16根地址线,对于存储器地址有20根地址线,对于IO设备,只有一个地址控制引脚,需要将CPU地址线上的地址转变为一个地址命令
- 控制线上的控制命令也要参加译码,用于区分是IO设备操作地址还是存储设备操作地址
4.存储器
{{uploading-image-750680.png(uploading...)}}