举例子解读一下如何一步步从C语言指令变成硬件电路中高低电平。
1.C语言指令经过汇编后变成汇编语句,if语句通过XRL异或运算和JNZ(判断累加器A是否为零)跳转语句实现。
2.汇编语句一一对应转换为机械码
汇编语句是机械码的助记符表示,所以每一天汇编都有一条机械码一一对应,直接转换就行,不需要编程。
具体内容可以看百度文库https://wenku.baidu.com/view/85451cec4afe04a1b071de0f.html
3.CPU的设计是将每条机械码对应一组微程序,每组微程序有几条微指令组成。
微指令的指令格式:控制字段+判断测试字段+下地址字段。
ARM下微指令由32位组成,每一位控制一个电路上的通断开关,决定这个电路是通电1,还是断电0;
控制字段就是微指令的功能表示,比如有80条微指令,使用编码控制就需要控制字段是7位的,可以解析成具体的微指令执行。判断测试字段是几个判别标志位;下地址字段是下一个微指令的地址。
https://wenku.baidu.com/view/83aec004de80d4d8d05a4f01.html
4.微指令的每一位数字都会变成电路中一个高/低电平信号,控制着电路的通断,加上时钟产生的时序,便实现了一个个功能。
本文详细阐述了C语言指令如何通过汇编、机械码,最终转化为CPU中的微程序和微指令,影响电路的高低电平,实现计算机功能。通过XRL和JNZ等操作实现条件判断,汇编语句直接转换为机械码,微指令由32位组成,控制电路的通断,完成计算任务。
1235

被折叠的 条评论
为什么被折叠?



