Skip to main content

1 微型计算机基础

微型计算机是由大规模集成电路组成的、体积较小的电子计算机。按结构,从小到大可以分别分为三个层次:

  • 中央处理器CPU、计算机、计算机系统
  • 微处理器、微型计算机、微型计算机系统

电子计算机#

百度百科:计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。

电子计算机的历史#

1946年2月14日,由美国军方定制的世界上第一台电子计算机“电子数字积分计算机”(ENIAC Electronic Numerical And Calculator)在美国宾夕法尼亚大学问世。

  1. 第一代电子管Vacuum-tube计算机
  2. 第二代晶体管transistor计算机
  3. 第三代集成电路计算机
  4. 第四代大规模集成电路LSI计算机和超大规模集成电路VLSI计算机

计算机系统的基本组成#

计算机系统通常可以分为硬件和软件两部分,大致可以进行如下划分:

  • 硬件:泛指设备而言
    • 中央处理器(CPU,Central Processing Unit): 即微处理器,是超大规模集成电路,内部集成了运算器、控制器、存储器管理部件
      • 控制器(control unit)
      • 运算器(ALU, Arithmetic logic unit )
      • 寄存器(registers)
    • 存储器(Memory): 指系统的主存储器,简称为内存。用来存放程序、数据
    • I/O接口(Input/Output Circuit): 是CPU和外部设备交换信息的“中转站”
    • I/O设备(Input/Outpt Device): 如键盘、显示器、打印机(注意:硬盘(外存储器)也是I/O设备!)
    • 电源系统等
  • 软件:泛指程序而言
    • 系统软件,如操作系统
    • 应用软件:按任务需要编制成的各种程序

img

计算机的总线#

微型计算机以CPU为核心通过3条总线连接存储器、I/O接口

  • 总线:总线是CPU与存储器、I/O接口交换信息的公共通道。
    • AB地址总线: 传输CPU访问存储器,访问I/O端口的地址信号。
    • DB数据总线:传输CPU读/写内存,读写I/O端口时的数据。
    • CB控制总线:CPU发出的控制命令, 或外部向CPU提出的请求。

地址总线通常是单向总线,数据总线通常是双向总线, 大部分控制线是单向,少数是双向。

计算机体系结构#

计算机体系结构(一) 三大体系结构浅析 | 凯哥 (kaige86.com)

冯诺依曼体系结构#

冯·诺依曼结构,又称为普林斯顿体系结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。

取指令和取操作数都在同一总线上,通过分时复用的方式进行; 缺点是在高速运行时,不能达到同时取指令和取操作数,从而形成了传输过程的瓶颈。 由于程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。

英特尔80x86系列处理器为冯诺依曼体系结构

哈佛结构#

哈佛结构是一种将程序指令存储和数据存储分开的存储器结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问,目的是为了减轻程序运行时的访存瓶颈。

常见如80c51系列

微型计算机#

微型计算机的定义#

字面上看,微型计算机是体积较小的电子计算机。早期的计算机规模庞大,随着集成电路等相关技术的发展,计算机开始小型化。

百度百科: 微型计算机简称“微型机”、“微机”,由于其具备人脑的某些功能,所以也称其为“微电脑”。微型计算机是由大规模集成电路组成的、体积较小的电子计算机。它是以微处理器为基础,配以内存储器及输入输出(I/0)接口电路和相应的辅助电路而构成的裸机

Wikipedia: A microcomputer is a small, relatively inexpensive computer with a microprocessor as its central processing unit (CPU).[2] It includes a microprocessor, memory and minimal input/output (I/O) circuitry mounted on a single printed circuit board (PCB)

微型计算机的分类#

按照处理的位数可以分为1位,4位,8位,16位,32位和64位

按照组装方式可以分为:

  • 单板机(Single-board Computer)

  • 多板机: 在单板机的基础上,增加拓展版

  • 个人计算机(Personal Computer, PC)

  • 嵌入式计算机(Embedded System)

嵌入式计算机#

嵌入式计算机即嵌入式系统,是一种应用为中心,以微处理器为基础,软硬件可裁剪的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统

嵌入式系统的核心部件是嵌入式处理器,可以分为四类专用处理器

  1. 嵌入式微控制器(MCU, Micro Controller Unit)
  2. 嵌入式微处理器(MPU, Micro Processor Unit)
  3. 嵌入式数字信号处理器(DSP, Digital Signal Processor)
  4. 嵌入式片上系统(SoC, System on Chip)

微型计算机的历史#

时间代表型号
1971第一代微处理器(4、8位)Intel的4004(1971)、4040(4位)、8008(8位)
1973-1977第二代微处理器Intel的8080/8085、Zilog的Z80、Motorola的6800/6802和Rockwell的6502
1977年左右超大规模规模集成电路为处理器(16位)Intel的8086/8088、Zilog的Z8000、Motorola的M680000
1980年以后16位Intel 80286、Motorola 65010
1983年以后32位处理器Intel 80386、Motorola 68020
1989-1995Intel 80486、Pentium...
2001首个64位处理器Itanium...

计算机中的信息表示、编码与运算#

进位计数制(数制)#

数制由基数R和各数位的权W两大要素组成。

计算机系统中一般采用二进制数。

4位二进制数等值十六进制数4位二进制数等值十六进制数
0000010008
0001110019
001021010A
001131011B
010041100C
010151101D
011061110E
011171111F

进制转换#

十进制转二进制:(整数)除二取余,(小数)乘二取整

十进制小数转化为二进制小数 | 菜鸟教程 (runoob.com)

数值编码#

数值在计算机中的表示#

  1. 真值:一个数的数值。
  2. 字长:包括符号位在内,一个二进制数占有的位数如:字长n=8的二进制数,除了符号位,数值部分为7位
  3. 模的概念:一个计量器的最大容量称为该计量器的“模”
n位计量器存储数据范围
0000~111124=162^{4}=16
0000,0000~1111,111128=2562^{8}=256
十六216=655362^{16}=65536

机器数:把符号数值化,用0表示“+”,用1表示“-”,这样,连同符号位在一起作为一个数,称为机器数。

  1. 原码:表示的有符号数,最高位为符号位,数值位部分就是该数的绝对值
  2. 反码:表示的有符号数,也是把最高位规定为符号位,但数值部分对于正数是其绝对值,而对于负数则是其绝对值按位取反(即1变0,0变1)
  3. 补码:表示的有符号数,对于正数来说同原码、反码一样,但负数的数值位部分为其绝对值按位取反后末位加1所得

Tip1:

  • 正数的原码、反码、补码是一样的
  • 负数的反码为原码取反 补码是取反加一

补码扩充了机器数的数值范围#

设机器数字长为n位,用来表示整数,则n位补码数,其真值范围为 2n1+2n11-2^{n-1} \sim +2^{n-1} - 1,共2n2^n个数

以模8为例,假如是有符号数,假如使用原码表示,如下图,真值零有两种编码来表示,使用补码相当于先把真值为零或负值的部分编码颠倒再向下扩充了一位,其可以表示的真值范围为 27271-2^7\sim 2^7-1

真值原码反码补码
1270 111 11110 111 11110 111 1111
...
10 000 00010 000 00010 000 0001
00 000 0000或
1 000 0000
0 000 0000
1 111 1111
0 000 0000
-11 000 00011 111 11101 111 1111
...
-1261 111 11101 000 00011 000 0010
-1271 111 11111 000 00001 000 0001
-128无法表示无法表示1 000 0000

整数补码的加减运算#

[x+y]=[x]+[y][xy]=[x]+[y]\begin{aligned} [ x+y ]_\text{补} &= [x]_\text{补}+[y]_\text{补} \\ [ x-y ]_\text{补} &= [x]_\text{补}+[-y]_\text{补} \end{aligned}

补码加减运算的条件:

  1. 符号位参加运算
  2. 2n2^n为模(n为字长)
  3. 当真值满足 2n1x,y,x±y<+2n1-2^{n-1}\leq x, y, x\pm y < +2^{n-1} 时,结果是正确的,否则结果错误,可以通过标志位信息判断是否正确

溢出与进位的概念#

  • 进位:运算后,最高位向更高位的进位值。
  • 溢出:运算结果超出了运算器所能表示的范围。

判断运算结果是否正确#

  1. 运算器对有符号数和无符号数同样对待
  2. 最高位的进位值保存在“进位标志寄存器”中
  3. 加数与被加数的最高位相同,却与结果的最高位相异,则将溢出标志置为1

判断规则:

  • 如果参与运算的数是无符号数,则判进位标志CF,进位标志=1,表示溢出错。
  • 如果参与运算的数是有符号数,则判溢出标志OF,溢出标志=1,表示溢出错。

字符编码表示#

计算机中主要通过BCD码来存储数字,使用ASCII码来存储字符(ASCII码有7位,通常使用一个字节(八位)表示)。对于各种语言支持的编码目前比较流行UTF-8_百度百科 (baidu.com)

常见字符十进制ASCII码十六进制ASCII码常见字符十进制ASCII码十六进制ASCII码
'\r'130DH'\n'100AH
'0'4830H'9'5739H
'A'6541H'Z'905AH
'a'9761H'z'1227AH

img


  1. 电子管,是一种最早期的电信号放大器件。电子管:电子时代的到来 - 知乎 (zhihu.com), Vacuum tube - Wikipedia
  2. 晶体管(transistor)是一种固体半导体器件。晶体管(电子元件)_百度百科 (baidu.com), Transistor - Wikipedia
  3. Very large-scale integration
  4. Very large-scale integration