微机基础概念及其内容

目录

前言

一、二进制

1、数制转换

2、数码表示

3、算数运算

4、逻辑运算

二、常用单位及术语

1、位(bit)

2、字节(Byte)

3、字(word)

4、字长

5、单位转换

6、地址

7、总线

8、访问

9、时钟主频

10、运算速度

11、高速缓冲存储器Cache

12、流水线技术

......

三、微机基本构成

1、微处理器

2、存储器

3、I/O接口

4、系统总线

5、外部设备

五、微机工作过程

完结


前言

微机是微型计算机的简称,如单片机就是微机的一种。在学习单片机等相关知识时,往往需要知道一定的基础概念及相关内容,如CPU、存储器、I/O单元、数制运算、数制转换等等,同时在了解微机的运行过程和运行原理时,需要更好的掌握相关内容,把握基本框架。


一、二进制

我们都知道计算机所采用的计数制是二进制,只有0、1两个不同的基数,逢二进一,用B表示因为计算机用晶体管截止、饱和两个状态下的输出电平1、0表示数字。

当然还有一种常用的数制,十六进制用0~9、A、B、C、D、E、F十六个不同的基数逢十六进一 ,用H表示。常用十六进制数表示多位二进制数,因为当二进制数位数较多时,读写不方便。而使用十六进制表示简明。

而人们习惯采用的计数制是十进制,0~9 十个不同的基数,逢十进一,用D表示或省略

1、数制转换

十进制-->二进制

整数部分转换方法:除以2取余,直到商为0为止。最后将所有余数倒序排列,得到转换结果。
小数部分转换方法:乘以2取整,直到满足精度要求为止。

如下:

8a69c177427b41d2b4cbeb2a9eb829b3.png

二进制-->十进制

按权展开相加即可。如:

2ffb165aa3fa471dbebe2a41d04506e5.png

二进制与十六进制
四位二进制数对应一位十六进制,所以二进制整数转换为16进制时,从最低位开始,每四位一组(不足四位时高位补0)转换成一位十六进制数据即可。
例如:1011 0110B=B6H。

1fa47c3015474db2b7cc64486bf40aac.png

所以,十六进制与十进制转换时,可以利用二进制为中间桥梁进行转换。

2、数码表示

在计算机中,数据分无符号数和带符号数。无符号数用整个机器字长的全部二进制位表示数值位,无符号位;带符号数用最高位表示该数的符号位。带符号数又有原码、补码和反码三种形式。

无符号数:没有符号位的数,称为无符号数。无符号数的最大值比有符号数大一倍。

原码表示法:一个数连同它的符号在机器中使用0、1进行编码。

由于计算机中只能有0、1两种数,不仅数的数值部分在计算机中用0、1编码的形式表示,正、负号也只能用0、1编码表示,0为正,1为负。一般用数的最高位(Most Significant Bit,MSB)表示数的正、负符号。MSB=0表示正数,如+1011B表示为01011B;MSB=1表示负数,如-1011B表示为11011B。同时把一个数在机器内的二进制形式称为机器数,把这个数本身称为该机器数的真值。上例的“01011B”和“11011B”就是两个机器数。它们的真值分别为+1011B和-1011B。原码表示中,真值0有两种不同的表示形式:[+0]原=00000,[-0]原=10000。

反码表示法:

对正数来说,其反码和原码相同。即[X]原=[X]反。对负数来说,反码为其原码的符号位不变,数值部分的各位取反。符号位可与数值位一样参加运算。符号位运算后如有进位产生,则把这个进位送回到最低位去相加,这叫循环进位。反码运算具有性质:[X]反+[Y]反=[X+Y]反。在反码表示中,真值0也有两种不同的表示形式: [+0]反=00000B,[-0]反=11111B。

补码表示法:

同余:两整数A和B除以同一正整数M,所得余数相同,则称A和B对M同余。可写成:A=B(mod M)例如:对钟表来说,其模M=12,故4点和16点、5点和17点…均是同余的。4=16(mod 12),5=17(mod 12),钟表按照12小时循环计数,一旦加到大于12小时时,就会将12舍弃,计为0点。这种按照周期循环的数的周期叫做模,这里模是12,数一旦大于或等于其模,就会被自动舍弃。 所以,5+10-12=3,而5-2=5+10-12=5+(10-12),10可看作-2的补码。即以12为模时,-2和10同余。同余的两个数具有互补关系, -2与10对模12互补,即-2的补码是10。可见,只要确定了“模”,就可找到一个与负数等价的正数( 该正数是负数的补码 )来代替此负数,这个正数可用模加上负数本身求得,这样就可把减法运算用加法实现了。知道模的大小,求某个负数的补码时,只要将该负数加上其模,就得到它的补码。               

求法:正数时,补码和原码的形式相同,即[X]原=[X]补;负数时,补码为其反码(数值部分各位取反)加1。[0]补=00000000B,用补码表示时,才是唯一的。

4ba83adb201f4c5f8328faff0dca5d46.png


由于直接用0、1表示正、负,运算时带来的问题:有符号数和无符号数的表示形式并没有任何区别,CPU在进行运算时,并不知道参与运算的数是有符号数还是无符号数,在进行有符号数的运算
时,会将符号也当作是数值进行运算,因而有时会出现错误的结果,所以为解决机器内有符号数的符号位参加运算的问题,才引入了反码和补码。

采用了补码以后,符号运算后如出现进位,则把这个进位舍去不要,不影响运算结果,运算后的符号就是结果的符号。补码运算的性质:
[X]补+[Y]补=[X+Y]补
[X]补-[Y]补=[X-Y]补

以上运算性质,与数的位数无关。

0dcbaebbc6b14ccea7ff8e147d745e40.png

在微机中通过加法器就能完成所有的算术运算,加法算减法:因为减去一个正数的减法运算可以看作是加上一个负数的加法运算,所以在计算机中,求得补码之后,就把减一个正数的运算转变为加上该负数的补码的加法运算。加法算乘法:可以采用移位相加的方法完成。加法算除法:采用移位相减的方法完成,这样只用加法器就能完成所有的算术运算。

3、算数运算

0+0=0;1+0=1;0+1=1;1+1=0(进位)。

0-0=0; 1-0=1; 1-1=0; 0-1=1(借位)。

4、逻辑运算

逻辑

异或

(同或与之相反)

运算结果

1与1为1

1与0为0

0与0为0

1或1为1

1或0为1

0或0为0

1的非为0

0的非为1

1异或1为0

1异或0为1

0异或0为0

特点有0为0有1为1直接取反

相同为0

不同为1

二、常用单位及术语

1、位(bit)

计算机所能表示的最小的数字单位,即,二进制数的位。每位只有两种状态0、1。

2、字节(Byte)

8位(bit)为一个字节,是内存的基本单位,常用B表示。

3、字(word)

16位二进制数称为一个字,一个字等于两个字节。

4、字长

字长即字的长度:是一次可以并行处理的数据的位数即数据线的条数。常与CPU内部的寄存器、运算装置、总线宽度一致。是微处理器一次可以直接处理的二进制数码的位数,它通常取决于微处理器内部通用寄存器的位数和数据总线的宽度。微处理器的字长有4位、8位、16和32位的等等。

如8088称为准16位微处理器,51单片机为8位微处理器,STM32单片机为32位微处理器等。

5、单位转换

K  千 的符号,1K=1024,如1KB表示1024个字节 
M  兆 的符号, 1M=1K×1K
G  吉 的符号, 1G=1K×1M
T  太  的符号, 1T=1M×1M

6、地址

地址是微型计算机存储单元的编号,通常8bit为一个单元,每个单元有独立的编号 存储器地址的最大编号(容量)有限,由地址线的条数决定。

如:16条地址线的容量为64KB(0000H~FFFFH);20条地址线的容量1MB(00000H~FFFFFH)。

7、总线

CPU是微型计算机的核心。微型计算机利用三总线将CPU与系统的其他部件如存储器、  I/O接口等联系起来的。总线是具有同类性质的一组信号线。三总线分别是地址总线AB(Address Bus)、数据总线DB(Data Bus)和控制总线CB(Control  Bus)。在连接系统总线的设备中,某时刻只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获取信号。

总线连接示意图

地址总线AB:(单向)输出CPU的地址信号,输出将要访问的内存单元或I/O端口的地址,地址线的多少决定了系统直接寻址存储器的范围。例,Intel 8086 CPU共有20条地址线,分别用A19~A0表示,其中A0为最低位。20位地址线可以确定220=10241024个不同的地址(称为1MB内存单元)。
20位地址用16进制数表示时,范围为:00000H~FFFFFH。

数据总线DB:(双向) 数据在CPU与存储器(或I/O接口)间的传送 。CPU读操作时,外部数据通过数据总线到CPU,CPU写操作时,CPU数据通过数据总线到外部。数据线的多少决定了一次能够传送数据的位数,CPU通过不同的地址与存储器(或I/O接口)进行数据传输。

控制总线CB:(双向 )CPU对存储器、I/O接口进行控制和联络。输出控制信号:CPU发给存储器或I/O接口的控制信号。如,微处理器的读信号RD、写信号WR等。输入控制信号:CPU通过接口接受的外设发来的信号。如,外部中断请求信号INTR、非屏蔽中断请求输入信号NMI等。 控制信号间相互独立,表示方法采用能表明含义的缩写英文字母符号。按照一般惯例,若符号上有一横线,则表示该信号为低电平有效,否则为高电平有效。 

8、访问

CPU对寄存器、存储器或I/O接口电路的操作通常分为两类:把数据存入寄存器、存储器或I/O接口电路的操作称为“写入”或写操作;把数据从寄存器、存储器或I/O接口电路取到CPU的操作称为“
读出”或读操作。这两种操作过程通常统称为“访问”。

9、时钟主频

时钟主频是指CPU的时钟频率的高低它的高低在一定程度上决定了计算机速度。主频以兆赫兹(MHz)为单位,一般来说,主频越高,速度就越快。由于微处理器发展迅速,微机的主频也在不断提高 。

10、运算速度

计算机的运算速度通常是指每秒钟所能执行指令的数目,常用百万次/秒(MIPS,MillionInstructions Per Second)来表示。这个指标更能直观地反映机器的速度

11、高速缓冲存储器Cache

为了解决微处理器运行速度快,存储器存取速度慢的矛盾,在两者之间加一级高速缓冲器Cache。Cache采用与制作CPU相同的半导体工艺,速度与CPU匹配,其容量约占主存的1%左右。

Cache的作用:当CPU要从主存储器(在个人计算机中称为内存)中读取一个数据时,先在Cache中查找是否有该数据;
1、若有,则立即从Cache中读取到CPU;
2、否则用一个主存储器访问时间从主存储器中读取这个数据送CPU,与此同时将包含这个数据字的整个数据块送到Cache中;

由于存储器访问具有局部性(程序执行局部性原理),在这以后的若干次存储器访问中要读取的数据就位于刚才取到Cache中的数据块中的可能性很大,只要替换算法与写入策略得当,Cache的命中率可达99%以上,它有效地减少CPU访问低速内存的次数,从而提高读取数据的速度和整机的性能。

12、流水线技术

流水线(Pipeline)技术是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。

流水线的工作方式:就象工业生产中的装配流水线。在工业制造中采用流水线可以提高单位时间的生产量;同样在CPU中采用流水线设计也有助于提高CPU的效率。

流水线技术可以使用时空图来说明。时空图从时间和空间两个方面描述了流水线的工作过程。时空图中,横坐标代表时间,纵坐标代表流水线的各个段。4段指令流水线的时空图如图所示。

c0fb347b7c5d415cb37efb8e7fcde314.png

 指令流水线,可以参考这篇博客。

......

三、微机基本构成

1、微处理器(CPU)
2、存储器
3、输入/输出接口(I/O接口)
4、外部设备
5、系统总线

bddfeb697fc4425c8557bdfef42716df.png

1、微处理器

简称MP(Micro Processor),也称μP,是微型机的核心部件。通常称为中央处理单元CPU(Central Processing Unit),包括:运算器ALU(Arithmetic Logic Unit)控制器CU(Control Unit)寄存器R(Registers)内部总线及缓冲器等电路集成在一片硅片上。

cpu内部一般如下:

744c3230f89a465f8de3a0a424f2c73e.png
CPU内部结构示意图

几个概念需要注意区分:    
(1)微处理器即CPU —— 计算机的核心部件将运算器、控制器集成在一片芯片上。其功能如下:对指令译码并执行规定动作;能与存储器及外设交换数据;可响应其它部件的中断请求;提供系统所需的定时和控制。
(2)微型计算机在CPU的基础上配置存储器、I/O接口电路、系统总线。
(3)微型计算机系统以微机为主体,配置系统软件和外设。软件部分包括系统软件(如操作系统)和应用软件(如字处理软件)。

68692e720b66471ba6ed15a1bcec0822.png

(4)微控制器MCU一个集成在一块芯片上的完整计算机系统,具有一个完整计算机所需要的大部分部件:中央处理单元(CPU)、存储器、内部和外部总线系统。同时,集成诸如通信接口、定时器、实时时钟等外围设备(简称外设)。
(5)嵌入式系统
嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2、存储器

分为程序存储器和数据存储器两类程序包括系统程序和用户程序。每个存储器单元具有一
个地址,单元中存储一个字节(8个二进制位)内容。

d17a19a4231e4d26a4d24d811dd3dcdb.png
存储器工作示意图

程序存储器:也称为指令存储器,主要用于存储计算机执行程序所需的指令代码。在程序存储器内,指令以二进制形式存储,并通过指向下一个指令的地址来决定程序的执行顺序。程序存储器通常具有较快的读取速度和大容量的存储空间。单片机的应用中常常将开发调试成功后的应用程序存储在程序存储器中,因为不再改变,所以这种存储器都采用只读存储器ROM的形式。单片机内部的程序寄存器一般为1K~64K字节,通常是只读存储器。

数据存储器:主要用于存储计算机运行过程中产生和使用的各种数据,例如变量、数组等。与程序存储器不同,数据存储器中存储的是实际的数据而非指令代码。数据存储器也通常具有较快的读写速度和大容量的存储空间。在单片机中,用随机存取的存储器(RAM)来存储数据,暂存运行期间的数据、中间结果、缓冲和标志位等,所以称之为数据存储器。一般在单片机内部设置一定容量(64B~256B)的RAM,并以高速RAM的形式集成在单片机内,以加快单片机的运行速度。同时,单片机内还把专用的寄存器和通用的寄存器放在同一片内RAM统一编址,以利于运行速度的提高。对于某些应用系统,还可以外部扩展数据存储器。

下面来看看ROM、RAM以及FLASH:

ROM :ROM全称Read Only Memory,顾名思义,它是一种只能读出事先所存的数据的固态半导体存储器。ROM中所存数据稳定,具有非易失性,断电后所存数据也不会消失。其结构简单,因而常用于存储各种固化程序和数据。在单片机中用来存储程序数据及常量数据或变量数据,凡是c文件及h文件中所有代码、全局变量、局部变量、‘const’限定符定义的常量数据、startup.asm文件中的代码类似ARM中的bootloader或者X86中的BIOS,一些低端的单片机是没有这个的)通通都存储在ROM中。进一步发展出了可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)。后又出现了电可擦除可编程只读存储器(EEPROM),它克服了EPROM的不足,但是集成度不高、价格较贵。于是又发展出了一种新型的存储单元结构同EPROM类似的快闪存储器(FLASH MEMORY)。

RAM :RAM随机访问存储器,又称随机存取存储器,存储单元的内容可按照需要随机取出或存入,且存取的速度与存储单元的位置无关。具有易失性,断电时将丢失其存储内容,所以主要用于存储短时间使用的程序。它主要用来存储程序中用到的变量,凡是整个程序中,所用到的需要被改写的量(包括全局变量、局部变量、堆栈段等),都存储在RAM中。

FLASH :Flash 存储器(FLASH EEPROM)又称闪存,快闪是EEPROM的一种。它结合了ROM和RAM的长处,具备电子可擦除可编辑(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据。它于EEPROM的最大区别是,FLASH按扇区(block)操作,而EEPROM按照字节操作。FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,适合用于做程序存储器。FLASH集成度高、功耗低、体积小,又能在线快速擦除,因而获得了快速发展。

ROM, FLASH和RAM的区别:RAM 、ROM都是数据存储器。RAM 是随机存取存储器,它的特点是易挥发性,即掉电失忆。ROM 通常指固化存储器(一次写入,反复读取),它的特点与RAM 相反。ROM又分一次性固化、光擦除和电擦除重写两种类型。在应用中,常规上ROM是用来存储固化程序的,RAM是用来存放数据的由于FLASH ROM比普通的ROM读写速度快,擦写方便,一般用来存储用户程序和需要永久保存的数据比如,现在家用的电子式电度表,它的内核是一款单片机,该单片机的程序就是存放在ROM里的。电度表在工作过程中,是要运算数据的,要采集电压和电流,并根据电压和电流计算出电度来。电压和电流时一个适时的数据,用户不关心,它只是用来计算电度用,计算完后该次采集的数据就用完了,然后再采集下一次,因此这些值就没必要永久存储,就把它放在RAM里边。然而计算完的电度,是需要永久保存的,单片机会定时或者在停电的瞬间将电度数存入到FLASH里。

3、I/O接口

主要用于CPU和外部设备之间交换数据。
(1)并行口
(2)串行口
(3)USB口等

I/O 接口的主要功能如下:
1)实现主机和外设的通信联络控制。主要是时序配合、工作速度上的协调,确保信息的正确传输,从而保证计算机系统统一、协调地工作。
2)进行地址译码和设备选择。接口负责通过 CPU 送来地外设地址进行译码产生设备选择信息,从而确定目标外设。
3)实现数据缓冲。主要是针对 CPU 速度与外设的相差很大,因此接口必须设置数据缓冲寄存器(一般是寄存器等)进行暂存数据,避免 CPU 送来的大量数据而外设处理不过来导致外设奔溃,或者造成数据的丢失。
4)信号格式转换。主要是对电平、数据格式等进行转换,接口需要提供计算机和外设之间的信号格式的转换功能,如电平转换、并/串或串/并转换、模/数或数/模转换等。
5)传送控制命令和状态信息。控制命令指接口根据 CPU 的请求对指定的外设进行开启、关闭等控制;状态信息就是指接口将指定外设“准备好”等表示外设状态的信息反馈给 CPU,以及 CPU 提出中断时发送给指定外设的相关响应信号。

4、系统总线

系统总线包括:地址总线、数据总线和控制总线某时刻只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获取信号。

地址总线:单向

数据总线:双向

控制总线:双向

具体内容,在第二部分的第七点中有介绍:二、常用单位及术语7、总线

5、外部设备

主要有输入输出设备

在计算机中输入设备中有键盘、鼠标器、扫描仪、数码相机和语音输入系统、手写输入系统、IC卡输入系统等;输出设备有显示系统、各种打印机、硬盘存储器、外存储设备,多媒体设备中的光盘驱动器、声卡、音箱、视频卡、电视接收卡、SCSI卡及摄像头等多媒体适配器等。

单片机等微型计算机中,主要有定时器,计数器,串口,IIC,SPI,看门狗等等。

五、微机工作过程

微机的工作过程就是执行程序的过程,而程序由指令序列组成,因此执行程序的过程就是执行指令序列的过程,即逐条的从存储器中取出指令并完成指令所指定的操作。由于执行每一条指令都包括取指、译码、执行三个基本步骤,所以,微机的工作过程也就是不断地取指令、译码和执行的过程,直到遇到停机指令时才结束机器的与运行。

9f07a7b3bb8d4c108da77035d17b7f50.png

基本工作过程:
(1)先将程序和原始数据由输入设备通过输入接口输入存储器中保存;
(2)启动程序,将指令从存储器某个地址单元中取出送到CPU内部的指令寄存器暂存;
(3)控制器中的译码部件进行指令译码,并根据指令功能,向各个部件发出相应的命令,完成取操作数、运算、输出结果等规定的操作;
(4)运算结果可以直接通过输出接口传送给输出设备(如显示器或打印机),也可以先将结果存入存储器中,然后再输出。


完结

补充内容:

冯诺依曼结构和哈佛结构

机器语言、汇编语言、高级语言

什么是中断

有误之处望指正。

  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值