⑴ 微程序的控制方法
微程序控制方法由于规整性好,灵活方便,通用性强,因此在包括计算机在内的各种复杂数字系统控制器的设计中得到了广泛应用,成为控制器的主流设计方法之一。
程序控制的基本思想,就是仿照通常的解题程序的方法,把所有的控制命令信号汇集在一起编码成所谓的微指令,存放在一个EPROM里。系统运行时,一条又一条地读出这些微指令,从而产生执行部件所需要的各种控制信号,以控制各逻辑部件执行所规定的操作。
一个数字系统基本上可以划分成两大部分——控制部件和执行部件,如图6.26所示。控制器就是控制部件。而ALU、寄存器组、存储器RAM等,相对控制器来讲,就是执行部件。那么两者之间是如何进行联系的呢?
控制部件与执行部件的联系之一,是通过控制线。控制部件通过控制线向执行部件发出各种控制命令,我们把这种控制命令称为微命令,而执行部件接受微命令所执行的操作叫作微操作。
控制部件与执行部件之间的另一联系是反馈信息。例如由于运算处理中正在处理的数据因其结果特征(正、负、进位、溢出等)而影响下一个操作的执行,因此就需要规定条件测试或状态测试。执行部件通过反馈线向控制部件反映当前操作的结果情况,以便使控制部件根据执行部件的“状态”标志下达新的微命令。
在系统的一个基本周期(又称机器周期,一般由几个时钟周期组成)中,一组实现一定操作功能的微命令的组合,构成一条微指令。
这里要强调两点:
第一,一条微指令的有效持续时间为一个系统基本周期,它表示从R0M中读出微指令与执行这条微指令的时间总和。当从ROM中读出下一条微指令后,当前的这条微指令即失效。
第二,一条微指令中包含若干个微命令,它们分头并行地控制执行部件进行相应的微操作。
微指令除给出微命令信息外,还应给出测试判别信息。一旦出现此信息,执行这条微指令时要对系统的有关“状态标志”进行测试,从而实现控制算法流程图的条件分支。微指令中还包含一个下址字段,该字段将指明ROM中下一条微指令的地址。
图6.27示出了微指令的典型结构,长条框内的符号X表示一个二进制位(bit)。其中微命令字段给出执行部件的控制信号:X编码为1,表示有微命令,X编码为0表示无微命令。测试判别字段和下一地址字段一起实现顺序控制:当测试判别字段无效时(X编码为0),下址字段信息即是下条微指令的地址;当判别测试字段有效时(其中一个X编码为1),根据执行部件反馈线上的标志信息对下址字段信息进行修改,修改好的地址即为下条微指令的地址。
微程序是由若干条微指令组成的序列。在计算机中,一条机器指令的功能可由若干条微指令组成的序列来解释和执行,因此机器执行一条指令的过程,也就是执行一个相应的微程序的过程。就一般数字系统而言,按照我们在第6.5节中使用的概念,微程序实质上就是将控制算法流程图用EPROM等来实现。
微程序概念的引入使大型复杂数字系统控制器的设计发生了革命性的变化。因为微程序技术可代替硬件布线的控制技术,即由门电路和触发器等组成的硬件网络可被存有控制代码的EPROM存储器所取代 。
⑵ 举例说明我们对信息进行编码的三种主要方式,编码对培养学生应用知识和学习知识有何启示
深度加工材料,有效运用记忆术,进行组块化编码。
c++通常使用的是三种编码方式,分别是SBCS,MBCS,和Unicode字符集。
SBCS是一个字节一个字符,MBCS是几个字节一个字符,可能是一个,两个,三个不等,但是实际上,绝大多数时候使用两个字节的,所以有时候看到DBCS(double-byte character set)代替MBCS也不奇怪。
Unicode一律是两个字节编码。在windows nt内核中,API一律使用的是unicode编码,所以如果在编喊橡皮写软件过程中使用非unicode编码方式,系统也会自动转换成unicode执行,然后郑差返回的结构再转换为使用的类型。
(2)如何通过编码方式控制程序资源扩展阅读:
注意事项:
1、在具体编写代码时,是否考虑该模块的参数和返回值,好的参数,便于调用,返回值明确,直指error,如设计一套Error Code。
2、编写代码时,定义的变量,是否有初始化,最好都初始化,特别是数组、指针和控制变量,有时候一些莫名其妙的结果都是因为没有初始化引起的,而有些控制变量则可能导致该模块的执行出现异常。
3、是否有参数出错判断,对哪些参数需要如冲进行出错判断。
4、申请空间后,是否用了memset初始化。
⑶ 程序文件的编号
质量手册:QM-XX,XX是公司的一号文件如01;
程序文件:OP-XX-00,XX是部门的代号(如品质控制部门QM),OO是文件在整个程序文件中的序号,如01、02
作业指导书:WI-XX-00,XX是部门的代号,OO是各部门编制作业指导书的序号,按部门排序。
供参考!
如有不明白,可以把你的QQ号码留下,把详细的资料传给你!
⑷ 信息编码方式有哪些
编码方式有哪些_简述常用的编码方式
1、ASCII码
学过计算机的人都知道ASCII码,总共有128个,用一个字节的低7位表示,0~31是控制字符如换行回车删除等;32~126是打印字符,可以通过键盘输入并且能够显示出来。
2、ISO-8859-1
128个字符显然是不够用的,于是ISO组织在ASCII码基础上又制定了一些列标准用来扩展ASCII编码,它们是ISO-8859-1~ISO-8859-15,其中ISO-8859-1涵盖了大多数西欧语言字符,所有应用的最广泛。ISO-8859-1仍然是单字节编码,它总共能表示256个字符。
3、GB2312
它的全称是《信息交换用汉字编码字符集基本集》,它是双字节编码,总的编码范围是A1-F7,其中从A1-A9是符号区,总共包含682个符号,从B0-F7是汉字区,包含6763个汉字。
4、GBK
全称叫《汉字内码扩展规范》,是国家技术监督局为windows95所制定的新的汉字内码规范,它的出现是为了扩展GB2312,加入更多的汉字,它的编码范围是8140~FEFE(去掉XX7F)总共有23940个码位,它能表示21003个汉字,它的编码是和GB2312兼容的,也就是说用GB2312编码的汉字可以用GBK来解码,并且不会有乱码。
5、GB18030
全称是《信息交换用汉字编码字符集》,是我国的强制标准,它可能是单字节、双字节或者四字节编码,它的编码与GB2312编码兼容,这个虽然是国家标准,但是实际应用系统中使用的并不广泛。
6、UTF-16
说到UTF必须要提到Unicode(UniversalCode统一码),ISO试图想创建一个全新的超语言字典,世界上所有的语言都可以通过这本字典来相互翻译。可想而知这个字典是多么的复杂,关于Unicode的详细规范可以参考相应文档。Unicode是Java和XML的基础,下面详细介绍Unicode在计算机中的存储形式。
UTF-16具体定义了Unicode字符在计算机中存取方法。UTF-16用两个字节来表示Unicode转化格式,这个是定长的表示方法,不论什么字符都可以用两个字节表示,两个字节是16个bit,所以叫UTF-16。UTF-16表示字符非常方便,每两个字节表示一个字符,这个在字符串操作时就大大简化了操作,这也是Java以UTF-16作为内存的字符存储格式的一个很重要的原因。
7、UTF-8
UTF-16统一采用两个字节表示一个字符,虽然在表示上非常简单方便,但是也有其缺点,有很大一部分字符用一个字节就可以表示的现在要两个字节表示,存储空间放大了一倍,在现在的网络带宽还非常有限的今天,这样会增大网络传输的流量,而且也没必要。而UTF-8采用了一种变长技术,每个编码区域有不同的字码长度。不同类型的字符可以是由1~6个字节组成。
UTF-8有以下编码规则:
如果一个字节,最高位(第8位)为0,表示这是一个ASCII字符(00-7F)。可见,所有ASCII编码已经是UTF-8了。
如果一个字节,以11开头,连续的1的个数暗示这个字符的字节数,例如:110xxxxx代表它是双字节UTF-8字符的首字节。
如果一个字节,以10开始,表示它不是首字节,需要向前查找才能得到当前字符的首字节。