IR,(IR) = 000001 0000000101,将当前要执行的指令给到IR。#6:Ad(IR)->(MAR),MAR = 0000000101 = 5 ,到5去取data。#1:(PC)->MAR (PC告诉MAR我要取0号地址) (MAR) = 0。">
赞
踩
了解即可
dis 主存 vs 辅存。
主存就是内存,辅存指硬盘,so辅存不存在于主机内
以运算器为核心,首次提出"存储程序"思想
以存储器为中心,cpu = 运算器+控制器
三、各部分硬件 4
存储体、MAR、MDR
ALU、X、ACC、MQ
CU、IR、PC
eg:int a = 2 b = 3 c = 1 y = 0
mian{ y = a * b + c;}
对应底层计算机的各步骤
逐步解析:
step1:
初始的时候PC = 0
#1:(PC)->MAR (PC告诉MAR我要取0号地址) (MAR) = 0
ATTN:此时PC++ ,PC= 1
#3:M(MAR)->MDR ,MDR = 000001 0000000101(取指令)
#4:(MDR)->IR,(IR) = 000001 0000000101,将当前要执行的指令给到IR
#5:OP(IR)->(CU),CU = 000001(操作码),CU分析操作码是要进行"取数"操作
#6:Ad(IR)->(MAR),MAR = 0000000101 = 5 ,到5去取data
#8:M(MAR)->(MDR) = 2 (a)
#9:M(MDR) ->ACC = 2 (ACC) = 2
[Summary]#1~#4取指令,#5分析指令,#6~#9取数操作(执行指令)
step2: 初始PC = 1,ACC =2
#1~#4相同,都是取指令
#5:CU分析是"乘法"指令
#8:M(MAR) -> MDR = b = 3
#9:M(MDR)->(MQ ) = b = 3
#10: (ACC)->(X) = a = 2
#11 : CU ->ALU 告诉ALU进行乘法,并存到ACC中
[Summary]
step3:初始PC = 2,ACC = 6
#1~#4相同
#5:CU分析是"加法"操作
#6~#8取c = 1
#9:(MDR) -> (X ) = c = 1
#10:CU->ALU 告诉ALU执行加法操作,ALU将X与ACC相加并放入ACC中
step4:PC =3,ACC = 7
#1~#4相同,取指令
#5 CU分析,是写操作
#8 :(IR)->MAR = 8 告诉MAR要进行操作的地址
#7: (ACC)->MDR = 7 将ACC中的值移动到MDR中
#8: MAR告诉主存我要对8号地址值进行修改
#9:MDR写入8号主存 y =7
step5:初始:PC = 4
#1~#4相同
#5: CU分析是"停机"操作 ,接下来就是OS的事了,OS进行中断or系统调用进行停机
系统软件+应用软件
高级语言、汇编语言、机器语言
dis:翻译 vs 解释
解释是一条一条指令进行机器语言转换,且边编译边执行,速度慢
翻译是把整个文件全部编译为二进制文件
同一个功能既能用硬件完成,也能用软件完成,在逻辑上完成的功能相同
因为硬件软件完成各有利弊,ISA总结了什么用硬件完成,什么用软件完成最优,且包含实现功能的步骤以及实现的功能
在程序运行之前,将全部指令的data放入主存
预处理、编译、汇编、链接
eg:看前面的eg
目录
(5)IPS(Instruction Per Second)
(1)存储单位:kMGTPEZ = (10^3)^i i表示第几位
(2)速度、频率:KMGT = (2^10)^i i表示第几位
MAR的位数反应存储单位的数量
MDR反应存储单元的大小
存储容量 = (2^MDR )* MAR bit
指令执行的min单位,所有指令执行时间都是时钟周期的整数倍
单位时间内有多少个时钟周期
主频 = 1 / 时钟周期
1条指令需要多少个时钟周期
n * CPI * 时钟周期(n表示指令条数)
每秒执行多少条指令
IPS = 主频 / CPI
推导:
1 / 1条指令执行的时间 = 1/ CPI * 周期
单位时间执行浮点数运算的次数
数据总线一次传输data的位数
单位时间响应的次数
从发出请求到回应花费的时间
测试计算机计算性能的app or 程序
1kb = 10^3b 1Mb = 10^6b ```
1Kb/s = 2^10b/s 1Mb/s = 2^20b/s
dis : 字节 1B (Byte) = 8b(bit) 比特
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。