计算机硬件唯一识别的数据 0/1,用高电平和低电平来区分0和1
问题:
数字、文字、图像如何用二进制表示?
CPU如何对二进制进行加减乘除
如何存储这些二进制数据?
如何从内存中取出想要的数据?
CPU如何识别和执行我们的程序?
计算机组成原理
1.计算机的发展
计算机系统=硬件+软件
硬件:物理基础,计算机性能的天花板
软件: 性能 系统软件(OS、DBMS、标准程序库、网络软件、预言处理程序、汇编程序)和应用软件
硬件的发展历程:
发展阶段 逻辑元件 代表作 速度 内存 外存 编程语言 特点 备注
Gen1:电子管时代 电子管 ENIAC 慢 机器语言 体积大、耗电高、计算速度慢 计算机纸带上有虫子:bug
Gen2: 晶体管 比电子管体积小 出现操作系统FORTRAN
Gen3:中小规模集成电路 半导体存储器
Gen4:大规模集成电路 半导体存储器 微处理器 PC 微型计算机
摩尔定律:
集成电路上可容纳的晶体管数目大约每18月增加一倍,换言之,处理器的性能每两年翻一倍。
软件的发展:
机器语言
汇编语言
高级语言
发展趋势:微型化 网络化 高性能 多用途 智能化 超高速
2.计算机硬件的基本组成
冯诺依曼结构:
EDVAC
以运算器为核心
五大部件:输入设备、输出设备、 存储器、运算器、控制器
指令和数据以同等地位存储于存储器,可按地址寻访
指令和数据都是二进制来存储的
指令由操作码和地址码组成 操作码:+-*/ 地址码:数据所在的地址
存储程序
现代计算机结构:
以存储器为核心
CPU = 运算器+控制器 四大部件:主机(CPU+主存)+I/O (辅助存储+IO)
3.主存储器的基本组成
主存储器=存储体+MAR+MDR
菜鸟驿站=货架+店员+柜台
二者一一对应。
存储单元:每个存储单元存放一串二进制代码。 MAR=4位,则存储单元的个数=2的4次方
存储字:存储单元中二进制代码的组合。
存储字长:存储单元中二进制代码的位数。 MDR=16位,则存储字长 word=16bit
存储元:每个存储元可存1个bit
B:Byte b:bit 1B=8bit 100M的宽带:是100Mbps的宽带。下载器是B为下载单位,所以下载速度大概是100Mb/8=12MB
4.运算器的基本组成
用于实现算术运算、逻辑运算的部件
ACC:累加器 存储操作数和结果
MQ:乘商计算器 存储操作数和结果
X:通用计算器
ALU:算术逻辑单元,核心部件。实现算术运算和逻辑运算。
5.控制器:
CU:控制单元,分析指令,给出控制信号。Control Unit
IR:指令寄存器,存放当前执行的指令。Instruction Register
PC:程序计数器,存放下一条指令的地址,自动+1的功能 Program Counter
完成一条指令:取指令,分析指令,执行指令。取指阶段,执行阶段。
6.计算机工作过程:
前提:
1.高级语言 经过编译 装入主存。
2.指令:操作码+地址码
开始执行:
初:(PC)=0,指向第一条指令的存储地址。
#1:(PC)->MAR,导致(MAR)=0
#3:M(MAR)->MDR,导致(MDR)=000001 000000101
#4: 通过数据总线,(MDR)-> IR,导致(IR)= 000001 000000101
#5:指令的操作码送到CU,CU得知后是取数的指令,然后去取数放入MDR
MDR再放入ACC,完成后PC=+1
其他步骤类似。