欢迎来到皮皮网网首页

【nb公众号源码】【阳光打车系统源码】【php邮箱出售源码】定点用源码_定点源码整数表示

来源:github下载项目源码 时间:2024-11-25 05:45:34

1.计算机原码是定点点源什么?
2.MCU的主要区别
3.原码,反码,补码,移码

定点用源码_定点源码整数表示

计算机原码是什么?

       计算机原码:是一种计算机中对数字的二进制定点表示方法。

       特点:原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,用源负数该位为1(0有两种表示:+0和-0),码定码整nb公众号源码其余位表示数值的数表示大小。

       举例说明应用场景:我们用8位二进制表示一个数,定点点源阳光打车系统源码+的用源php邮箱出售源码原码为,-的码定码整原码就是

       源码的缺点:原码不能直接参加运算,可能会出错。数表示

       例如:数学上,定点点源1+(-1)=0,用源而在二进制中原码+=,码定码整换算成十进制为-2。数表示显然出错了

定点点源rsi指标源码编写

定点点源rsi指标源码编写

MCU的主要区别

定点点源rsi指标源码编写       åœ¨ä¸–纪最值得人们称道的成就中,就有集成电路和电子计算机的发展。世纪年代出现的微型计算机,在科学技术界引起了影响深远的变革。在年代中期,微型计算机家族中又分裂出一个小小的派系--单片机。随着4位单片机出现之后,又推出了8位的单片机。MCS系列,特别是MCS系列单片机的出现,确立了单片机作为微控制器(MCU)的地位,引起了微型计算机领域新的变革。在当今世界上,微处理器(MPU)和微控制器(MCU)形成了各具特色的两个分支。它们互相区别,但又互相融合、互相促进。与微处理器(MPU)以运算性能和速度为特征的飞速发展不同,微控制器(MCU)则是以其控制功能的不断完善为发展标志的。

定点点源rsi指标源码编写

       CPU(Central Processing Unit,中央处理器)发展出来三个分枝,一个是DSP(Digital Signal Processing/Processor,数字信号处理),另外两个是MCU(Micro Control Unit,微控制器单元)和MPU(Micro Processor Unit,微处理器单元)。

定点点源rsi指标源码编写

       MCU集成了片上外围器件;MPU不带外围器件(例如存储器阵列),是高度集成的通用结构的处理器,是去除了集成外设的MCU;DSP运算能力强,擅长很多的重复数据运算,而MCU则适合不同信息源的多种数据的处理诊断和运算,侧重于控制,速度并不如DSP。MCU区别于DSP的最大特点在于它的通用性,反应在指令集和寻址模式中。DSP与MCU的结合是DSC,它终将取代这两种芯片。

定点点源rsi指标源码编写

       1.对密集的乘法运算的支持

定点点源rsi指标源码编写

       GPP不是设计来做密集乘法任务的,即使是一些现代的GPP,也要求多个指令周期来做一次乘法。而DSP处理器使用专门的硬件来实现单周期乘 法。DSP处理器还增加了累加器寄存器来处理多个乘积的和。累加器寄存器通常比其他寄存器宽,增加称为结果bits的额外bits来避免溢出。同时,为了 充分体现专门的乘法-累加硬件的好处,几乎所有的DSP的指令集都包含有显式的MAC指令。

定点点源rsi指标源码编写

       2. 存储器结构

定点点源rsi指标源码编写

       ä¼ ç»Ÿä¸Šï¼ŒGPP使用冯.诺依曼存储器结构。这种结构中,只有一个存储器空间通过一组总线(一个地址总线和一个数据总线)连接到处理器核。通常,做一次乘法会发生4次存储器访问,用掉至少四个指令周期。

定点点源rsi指标源码编写

       å¤§å¤šæ•°DSP采用了哈佛结构,将存储器空间划分成两个,分别存储程序和数据。它们有两组总线连接到处理器核,允许同时对它们进行访问。这种安排将处理器存储器的带宽加倍,更重要的是同时为处理器核提供数据与指令。在这种布局下,DSP得以实现单周期的MAC指令。

定点点源rsi指标源码编写

       å…¸åž‹çš„高性能GPP实际上已包含两个片内高速缓存,一个是数据,一个是指令,它们直接连接到处理器核,以加快运行时的访问速度。从物理上说,这种片内的双存储器和总线的结构几乎与哈佛结构的一样了。然而从逻辑上说,两者还是有重要的区别。

定点点源rsi指标源码编写

       GPP使用控制逻辑来决定哪些数据和指令字存储在片内的高速缓存里,其程序员并不加以指定(也可能根本不知道)。与此相反,DSP使用多个片内 存储器和多组总线来保证每个指令周期内存储器的多次访问。在使用DSP时,程序员要明确地控制哪些数据和指令要存储在片内存储器中。程序员在写程序时,必 须保证处理器能够有效地使用其双总线。

定点点源rsi指标源码编写

       æ­¤å¤–,DSP处理器几乎都不具备数据高速缓存。这是因为DSP的典型数据是数据流。也就是说,DSP处理器对每个数据样本做计算后,就丢弃了,几乎不再重复使用。

定点点源rsi指标源码编写

       3.零开销循环

定点点源rsi指标源码编写

       å¦‚果了解到DSP算法的一个共同的特点,即大多数的处理时间是花在执行较小的循环上,也就容易理解,为什么大多数的DSP都有专门的硬件,用于 零开销循环。所谓零开销循环是指处理器在执行循环时,不用花时间去检查循环计数器的值、条件转移到循环的顶部、将循环计数器减1。

定点点源rsi指标源码编写

       ä¸Žæ­¤ç›¸åï¼ŒGPP的循环使用软件来实现。某些高性能的GPP使用转移预报硬件,几乎达到与硬件支持的零开销循环同样的效果。

定点点源rsi指标源码编写

       4.定点计算

定点点源rsi指标源码编写

       å¤§å¤šæ•°DSP使用定点计算,而不是使用浮点。虽然DSP的应用必须十分注意数字的精确,用浮点来做应该容易的多,但是对DSP来说,廉价也是非 常重要的。定点机器比起相应的浮点机器来要便宜(而且更快)。为了不使用浮点机器而又保证数字的准确,DSP处理器在指令集和硬件方面都支持饱和计算、舍 入和移位。

定点点源rsi指标源码编写

       5.专门的寻址方式

定点点源rsi指标源码编写

       DSP处理器往往都支持专门的寻址模式,它们对通常的信号处理操作和算法是很有用的。例如,模块(循环)寻址(对实现数字滤波器延时线很有用)、位倒序寻址(对FFT很有用)。这些非常专门的寻址模式在GPP中是不常使用的,只有用软件来实现。

定点点源rsi指标源码编写

       6.执行时间的预测

定点点源rsi指标源码编写

       å¤§å¤šæ•°çš„DSP应用(如蜂窝电话和调制解调器)都是严格的实时应用,所有的处理必须在指定的时间内完成。这就要求程序员准确地确定每个样本需要多少处理时间,或者,至少要知道,在最坏的情况下,需要多少时间。如果打算用低成本的GPP去完成实时信号处理的任务,执行时间的预测大概不会成为什么问题,应为低成本GPP具有相对直接的结构,比较容易预测执行时间。然而,大多数实时DSP应用所要求的处理能力是低成本GPP所不能提供的。 这时候,DSP对高性能GPP的优势在于,即便是使用了高速缓存的DSP,哪些指令会放进去也是由程序员(而不是处理器)来决定的,因此很容易判断指令是从高速缓存还是从存储器中读取。DSP一般不使用动态特性,如转移预测和推理执行等。因此,由一段给定的代码来预测所要求的执行时间是完全直截了当的。从而使程序员得以确定芯片的性能限制。

定点点源rsi指标源码编写

       7.定点DSP指令集

定点点源rsi指标源码编写

       å®šç‚¹DSP指令集是按两个目标来设计的:使处理器能够在每个指令周期内完成多个操作,从而提高每个指令周期的计算效率。将存贮DSP程序的存储器空间减到最小(由于存储器对整个系统的成本影响甚大,该问题在对成本敏感的DSP应用中尤为重要)。为了实现这些目标,DSP处理器的指令集通常都允许程序员在一个指令内说明若干个并行的操作。例如,在一条指令包含了MAC操作,即同时的一个或两个数据移动。在典型的例子里,一条指令就包含了计算FIR滤波器的一节所需要的所有操作。这种高效率付出的代价是,其指令集既不直观,也不容易使用(与GPP的指令集相比)。 GPP的程序通常并不在意处理器的指令集是否容易使用,因为他们一般使用象C或C++等高级语言。而对于DSP的程序员来说,不幸的是主要的DSP应用程序都是用汇编语言写的(至少部分是汇编语言优化的)。这里有两个理由:首先,大多数广泛使用的高级语言,例如C,并不适合于描述典型的DSP算法。其次, DSP结构的复杂性,如多存储器空间、多总线、不规则的指令集、高度专门化的硬件等,使得难于为其编写高效率的编译器。 即便用编译器将C源代码编译成为DSP的汇编代码,优化的任务仍然很重。典型的DSP应用都具有大量计算的要求,并有严格的开销限制,使得程序的优化必不可少(至少是对程序的最关键部分)。因此,考虑选用DSP的一个关键因素是,是否存在足够的能够较好地适应DSP处理器指令集的程序员。

定点点源rsi指标源码编写

       8.开发工具的要求

定点点源rsi指标源码编写

       å› ä¸ºDSP应用要求高度优化的代码,大多数DSP厂商都提供一些开发工具,以帮助程序员完成其优化工作。例如,大多数厂商都提供处理器的仿真工具,以准确地仿真每个指令周期内处理器的活动。无论对于确保实时操作还是代码的优化,这些都是很有用的工具。 GPP厂商通常并不提供这样的工具,主要是因为GPP程序员通常并不需要详细到这一层的信息。GPP缺乏精确到指令周期的仿真工具,是DSP应用开发者所面临的的大问题:由于几乎不可能预测高性能GPP对于给定任务所需要的周期数,从而无法说明如何去改善代码的性能。

定点点源rsi指标源码编写

定点点源rsi指标源码编写

原码,反码,补码,移码

定点点源rsi指标源码编写        写在前面:该文章为本人学习中写的一些笔记和心得,发表出来主要是为了记录自己的学习过程。本人才疏学浅,笔记难免存在不足甚至纰漏,但会不定期更新。

定点点源rsi指标源码编写

        基本知识:假设有一个n位的二进制数

定点点源rsi指标源码编写

        则这个二进制数共有 种状态,这个数最大为

定点点源rsi指标源码编写

        反过来 ,写成二进制为 ,一共有8位,1后面7个小数

定点点源rsi指标源码编写

        以下举例均为n位数,实例为8位数

定点点源rsi指标源码编写

        原码

定点点源rsi指标源码编写

        简单直接的二进制,以下以定点数为例。

定点点源rsi指标源码编写

        定点纯小数: 0 首位为符号位,0为正1为负,这里表示0.1()

定点点源rsi指标源码编写

        定点纯整数: 0 这里表示1()

定点点源rsi指标源码编写

        因为有符号位,所以有正负零之分 0 和 1

定点点源rsi指标源码编写

        数据范围:-~(后面7位全为1)//公式表达为

定点点源rsi指标源码编写

        特点:原码不适合加减,但适合乘除

定点点源rsi指标源码编写

        反码

定点点源rsi指标源码编写

        正数的反码与其原码相同;负数的反码是对其符号位后的原码逐位取反,符号位不变(为1)

定点点源rsi指标源码编写

        反码能表达的数据范围:与源码一样

定点点源rsi指标源码编写

        补码

定点点源rsi指标源码编写

        目的:方便计算机进行加减

定点点源rsi指标源码编写

        特点:在机器中适合加减的数字表示方式

定点点源rsi指标源码编写

        补码能实现计算机"加上负数"的本质原理是模运算,也就是A减去B等于A加上B相对于A的补数再求模。就好像时钟顺时针拨动3h和逆时针拨动9h得到的结果一样。

定点点源rsi指标源码编写

        二进制求补码:

定点点源rsi指标源码编写

        补数=(原数+模)(mod 模),很明显,若原码是正,则补码是它本身,对于正数完全不用考虑求补码。

定点点源rsi指标源码编写

        对于计算机,因为两个相加的数的位数相同(n),且和不能超过n+1位,因此应该取的模是...(n个0)。

定点点源rsi指标源码编写

        因此对于n位纯小数,它的模(十进制)为2 ,对于n位纯整数,它的模为2 n

定点点源rsi指标源码编写

        模 : (1 0 )

定点点源rsi指标源码编写

        原码: ( 0 )

定点点源rsi指标源码编写

        注意到,尽管符号位没有任何数值信息,这里取模依然把符号位考虑进去了,原因是我们可以通过定义补码,来使第一个符号位参与计算机计算,从而得到想要的结果。

定点点源rsi指标源码编写

        (同时,把符号位算进去可以让我们在用数学公式法求二进制补数时,直接从结果得到补码

定点点源rsi指标源码编写

        例: x= -0.

定点点源rsi指标源码编写

        [x]è¡¥=+x=.-0.=1.

定点点源rsi指标源码编写

        原来是要取模得补数为0.(2),但正好首位的1可以表示原数的负号,因此可直接读出补码为1

定点点源rsi指标源码编写

        )

定点点源rsi指标源码编写

        因此对于补码,符号位既起指示正负号的作用,又参与运算。

定点点源rsi指标源码编写

        另外,区别于原码有两个0(正负0),在补码的规定中,只有一个0(...的正0,因为原码也全是0),而1 ...可以表示-1(补码纯小数)或-2 n-1 (补码纯整数)

定点点源rsi指标源码编写

        //可以这么记(以纯整数为例):因为后面n-1个0取反后为n-1个1,加1后为2 n-1 (),前面一个1表示负数,因此补码能表示-2 n-1

定点点源rsi指标源码编写

        补码怎么来:原码为正,补码与原码相同;原码为负,后面的位数为原码取反加1

定点点源rsi指标源码编写

        移码

定点点源rsi指标源码编写

        目的:为了方便计算机比大小,消除符号位对计算机的干扰

定点点源rsi指标源码编写

        原理是把负数部分全部移到非负数方向,也就是说要把第一位符号位的意义给消除掉。消除方法为:对于补码的正数,符号位由0变为1,增大;对于补码的负数,符号位概念消除,在计算机中被定义为正数,又为了确保原负数小于原正数,符号位由1变为0。

定点点源rsi指标源码编写

        为了保证每个数之间大小关系不变,要用补码来转换成移码,用原码来转换的话,负数之间的大小关系会反转。

定点点源rsi指标源码编写

        数学公式:

定点点源rsi指标源码编写

        宏观上来看是把居中的整个数轴平移到了非负半轴上,每个数之间的大小关系不变。

定点点源rsi指标源码编写

        纯小数[X] 移 =1+X

定点点源rsi指标源码编写

        纯整数 [X] 移 = (一般标准)

定点点源rsi指标源码编写

        移码怎么来:移码和补码尾数相同,符号位相反(也就是补码 首位的1->0 ;0->1)

定点点源rsi指标源码编写

        因为移码从补码那里来,所以也能额外多表示一个数

定点点源rsi指标源码编写

定点点源rsi指标源码编写