恭喜词条创建成功 2022-04-26 20:33:35
cmp是由美国斯坦福大学提出的,英文名称是chip multiprocessors,翻译成中文就是单芯片多处理器,也指多核心其思想是将大规模并行处理器中的smp(对称多处理器)集成到同一芯片内,各个处理器并行执行不同的进程。与cmp比较, smt处理器结构的灵活性比较突出。
但是,当半导体工艺进入0.18微米以后,线延时已经超过了门延迟,要求微处理器的设计通过划分许多规模更小、局部性更好的基本单元结构来进行。相比之下,由于cmp结构已经被划分成多个处理器核来设计,每个核都比较简单,有利于优化设计,因此更有发展前途。目前,ibm 的power 4芯片和sun的 majc5200芯片都采用了cmp结构。多核处理器可以在处理器内部共享缓存,提高缓存利用率,同时简化多处理器系统设计的复杂度。
在微型计算机的汇编语言中,cmp(compare)是其中一条指令,叫做比较指令。cmp的功能相当于减法指令,只是对操作数之间运算比较,不保存结果。cmp指令执行后,将对标志寄存器产生影响。其他相关指令通过识别这些被影响的标志寄存器位来得知比较结果。使用例子如:cmp ax, bx
cmp opr1 , opr2.
(opr1)-(opr2)
该指令与sub指令一样执行减法的操作,但它并不保存运算结果,只是根据结果设置相关的条件标志位(sf、zf、cf、of)。cmp指令后往往跟着条件转移指令,实现根据比较的结果产生不同的程序分支的功能。
cmp是比较指令, cmp的功能相当于减法指令,只是不保存结果。cmp指令执行后,将对标志寄存器产生影响。其他相关指令通过识别这些被影响的 标志寄存器位来得知比较结果。
cmp(compare)指令进行比较两个操作数的大小
例: cmp oprd1,oprd2
为第一个操作减去第二个 操作数,但不影响第两个操作数的值它影响flag的cf,zf,of,af,pf
若执行指令zf=1 这个简单,则说明两个数相等,因为zero为1说明结果为0
当无符号时:
若cf=1 则说明了有进位或借位, cmp是进行的减操作,故可以看出为借位,所以,此时oprd1
cf=0 则说明了无借位,但此时要注意zf是否为0,若为0,则说明结果不为0,故此时oprd1>oprd2
当有符号时:
若sf=0,of=0 则说明了此时的值为正数,没有溢出,可以直观的看出,oprd1>oprd2
若sf=1,of=0 则说明了此时的值为负数,没有溢出,则为oprd1
若sf=0,of=1 则说明了此时的值为正数,有溢出,可以看出oprd1
若sf=1,of=1则说明了此时的值为负数,有溢出,可以看出oprd1>oprd2
最后两个可以作出这种判断的原因是,溢出的本质问题:
两数同为正,相加,值为负,则说明溢出
两数同为负,相加,值为正,则说明溢出
故有,正正得负则溢出,负负得正则溢出
在plc中cmp比较指令有三个操作数,两个源操作数[s1.]和[s2.],一个目标操作数[d.]。该指令将[s1.]和[s2.]进行比较,将结果送到[d.]中。
本站上发表的所有内容,均为原作者的观点,不代表百科网的立场,也不代表百科网的价值判断。百科的词条(含所附图片)来源互联网或网友上传,如果涉嫌侵权,请与客服联系,我们会立即进行处理。
尊龙人生就是博d88 copyright 2018-2028
baike.quwen5.cn所有