怎样把电脑指令发到机器指令上

  本文说明的是单纯的一般的計算指令从储存设备中取出来之后运行时(取址,译码执行,回写 -- 这些操作)在CPU和我们的主存之间的执行过程

以下我们使用一条简单的指令进行引入,后续再添加其他的情况:

ADD R0,[6] //将主存地址为6的内容取出和寄存器R0的内容相加并回写入R0中

为了更加明确的了解后续的执行过程先普及一下基本的计算机结构(一个简单的模型机):

好的,现在可以进入正题了tips: 上面的都是说的模型机的结构,不代表现在的硬件的真實的结构

下面这个图是就是执行的环境

通过上面的图我们可以看出:R0中储存的是数值3,PC中储存的内容是0001

  • 控制器将指令的地址送往寄存器
  • 存储器按给定的地址读取处指令的内容送回控制器

PC中是记录的当前下一条需要执行的指令的地址,开始执行

情景参与角色:CPU_控制电路存储器_控制逻辑,存储器_MDRCPU_MDR,CPU_IR

----------此时CPU_MAR在cpu控制电路的指导下,将数据通过 地址总线发送给了存储器的MAR CPU_控制电路并告诉了存储器的控制逻辑呮是一个只读的

  • 控制器分析指令的操作性质
  • 控制器向有关部件发出指令所需的控制信号
  • 控制器从通用寄存器或存储器取出操作数
  • 控制器命囹运算器对操作数进行指令规定的运算

通过译码找到了加数的位置是内存中的第6个的位置,此时CPU_MAR中保存着这个数值0110CPu控制电路发送只读命囹,CPU_MAR将数据送入存储器_mar中,通过地址译码器找到第0110位置的内容将内容给存储器_MDR,此时控制逻辑发送Ready信号,CPU_MDR开始接收数据变为,然后MDR和R0通过內部总线将数据送入XY寄存器中,XY的内容作为AB输入进ALU中,然后将结果保存在Z寄存器中F寄存器中保存的是当前运算结果的状态。

  • 将运算結果写入通用寄存器或存储器(这个要看是代码是怎么写的,默认前面的存储空间就是回写的位置)

 声明:以上图片来自

这个过程就完成了寄存器和内存中的内容进行ADD操作并回写如寄存器中的步骤就是这样的

思考:如果是寄存器和寄存器中的内容进行相加呢?内存某位置内嫆和寄存器内容相加回写入内存某一个位置呢

}

TEC-8模型计算机中有一个简单的单级Φ断系统只支持单级中断、单个中断请求,有中断屏蔽功能旨在说明最基本的工作原理。 TEC-8模型计算机中有2条指令用于允许和屏蔽中断EI指令称作开中断指令,此条指令执行后TEC-8响应中断。DI指令称作关中断指令此条指令执行后,即使发生中断请求TEC-8也不响应中断请求。 按下PULSE按钮产生高电平有效的中断请求脉冲信号 TEC-8 北京邮电大学计算机学院实验中心系统结构实验室 * 为保存中断断点的地址,以便程序被中斷后能够返回到原来的地址继续执行设置了一个中断地址寄存器IAR,当信号LIAR为1时在T3的上升沿,将PC保存在IAR中当信号IABUS为1时,IABUS中保存的PC送数據总线DBUS指示灯显示出中断地址。 中断向量即中断服务程序的入口地址本实验系统中由数据开关SD7~SD0提供。 TEC-8 STP 暂停运行 1110 XX XX TEC-8 北京邮电大学计算机学院实验中心系统结构实验室 * TEC-8 北京邮电大学计算机学院实验中心系统结构实验室 * TEC-8 北京邮电大学计算机学院实验中心系统结构实验室 * 五、实验任务 1.了解中断每个信号的意义和变化条件将主程序和中断服务程序手工汇编成十六进制机器指令代码。此项任务在预习中完成 2.将TEC-8連接成一个完整的模型计算机。 3.将主程序和中断服务程序装入存储器执行3遍主程序和中断服务程序。列表记录中断有关信号的变化情況特别记录好断点和R0的值。 4.将存储器00H中的EI指令改为DI重新运行程序,记录发生的现象 TEC-8 北京邮电大学计算机学院实验中心系统结构实驗室 * 六、实验步骤 将控制器转换开关拨到微程序位置,将编程开关设置为正常位置 将信号IR4-I/O、IR5-I/O、IR6-I/O、IR7-I/O、C-I/O、 Z-I/O依次通过接线孔连接。使TEC-8模型计算機成为能够运行程序的整机系统 打开电源。 TEC-8 北京邮电大学计算机学院实验中心系统结构实验室 * 2.通过控制台写存储器操作将主程序和Φ断服务程序写入存储器。为了保证此程序能够循环执行应当将R1预先设置为01H。R0的初值设置为00H 3.执行3遍主程序和中断子程序 ⑴DP设置为连續运行方式(DP=0) ,使模型计算机复位按QD按钮,启动程序开始执行 ⑵按一次PULSE按钮,产生一个中断请求信号PULSE中断主程序的运行。记录断点PC、R0嘚值 TEC-8 北京邮电大学计算机学院实验中心系统结构实验室 * ⑶DP设置为单拍方式(DP=1),在数据开关上设置中断服务程序的入口地址45H按QD按钮,一步步执行中断服务程序直到返回到断点为止。 4.将存储器00H的指令改为DI按照步骤3,重做一遍记录发生的现象。 TEC-8 北京邮电大学计算机学院實验中心系统结构实验室 * 地址 指令 机器指令码 00H EI 01H INC R0 02H INC R0 03H INC R0 04H INC

}

供热通风与空气调节(HVAC)系统可鉯用作传输数据即便是隔离网络的电脑,黑客也可以利用空调系统向断网的电脑发送指令

这种攻击手法被研究人员命名为HVACKER,它需要定淛的恶意软件这种软件能够与计算机的热传感器进行交互读取温度变化,并将这些波动转换为0、1二进制代码

病毒安装到断网的计算机後,会读取HVAC造成的温度变化然后把收到的热传感信号转换成恶意操作。

以色列内盖夫本格里安大学网络安全研究中心的研究员想到了这種奇葩的攻击方式他们还开发了专门的PoC软件用来执行HVACKer攻击。

除此之外研究员们还创建了一个定制的信道编码协议,攻击者可以借此通過温度变化发送指令之所以要新建一个协议是因为原本传统的信道编码协议在将二进制代码转换成电压、热信号或者光学信号时太慢并苴不够准确,

要进行HVACKer入侵攻击者首先要选择目标,然后要找到一个联网的HVAC系统或者要进入同一内网中连接互联网的环境攻击者不一定偠找独立的HVAC系统,也可以找到个楼层自动化软件操作里面的HVAC组件。

攻击者找到目标后首先需要找到方法攻破系统,可以用旧的漏洞或鍺寻找新的exp攻击者需要进入HVAC系统,从而篡改温度设置

接下来攻击者就会使用前面提到的定制软件收集热信号。

然后攻击者就会进一步感染隔离网络中的计算机虽然听起来很难,因为我们知道既然已经隔离了网络,就证明安全性很高不过以往Stuxnet, Gauss和Flame的案例证明,通过U盘感染成功的可能性很大

攻击者发现病毒已经渗透入网络后,他便可以更改温度设置从而发送一些指令到断网的计算机

相比窃取数据,哽适合发送指令

利用楼层的HVAC系统温度波动信息可以向整栋楼广播。如果攻击感染了多台电脑攻击者也可以适当修改恶意软件加入同步組件,通过收集多台电脑的数据提高读取温度波动的效果

但这种攻击手法并不适用于窃取数据,因为温度传感器的精确度不足以采集那些细微到难以辨认的温度变化

不过要想不被发现,攻击最好在晚上进行如果没有人的话就不会察觉到温度的变化。

HVAC系统从来不安全

HVAC的應用可以说是非常广泛企业、政府机构、军队等都会用到,因此这类攻击非常危险

研究团队称,他们可以以40比特每秒的速度传输数据这个速度还算可以接受。

针对HVAC系统的攻击行为其实一直都有之前Target数据泄露的源头是HVAC系统。而其他的研究人员也通过HVAC系统攻破Google澳大利亚嘚网络

值得注意的是,这个研究团队其实有多项关于边信道攻击的研究成果:

LED-it-Go – 通过硬盘状态指示灯窃取数据

SPEAKE(a)R – 通过耳机录音并监听周圍用户

USBee – 用USB设备中的数据总线切取数据

AirHopper – 使用本地的显卡向周围手机发送电磁信号泄露数据

DiskFiltration – 控制硬盘读写操作通过声波窃取数据

xLED – 使用蕗由器或交换机的LED指示灯窃取数据

– 通过替换手机组件植入恶意软件

aIR-Jumper – 利用安保摄像头的红外功能窃取数据

*参考来源:本文作者:Sphinx,转載请注明来自FreeBuf.COM

}

我要回帖

更多关于 机器指令 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信