【大端(Big Endian)与小端(Little Endian)简介】 Byte Endian是指字节在内存中的组织,所以也称它为Byte Ordering,或Byte Order。 对于数据中跨越多个字节的对象, 我们必须为它建立这样的约定: (1) 它的地址是多少? (2) 它的字节在内存中是如何组织的? 针对第一个问题,有这样的解释: 对于跨越多个字节的对象,一般它所占的字节都是连续的,它的地址等于它所占字节最低地址。(链表可能是个例外, 但链表的地址可看作链表头的地址)。 比如: int x, 它的地址为0×100。 那么它占据了内存中的Ox100, 0×101, 0×102, 0×103这四个字节(32位系统,所以int占用4个字节)。 上面只是内存字节组织的一种情况: 多字节对象在内存中的组织有一般有两种约定。 考虑一个W位的整数。 它的各位表达如下:[Xw-1, Xw-2, ... , X1, X0],它的 MSB (Most Significant Byte, 最高有效字节)为 [Xw-1, Xw-2, ... Xw-8]; LSB (Least Significant Byte, 最低有效字节)为 ...Read More
DMA的英文拼写是“Direct Memory Access”,汉语的意思就是直接内存访问,是一种不经过CPU而直接从内存存取数据的数据交换模式。在DMA模式下,CPU只须向DMA控制器下达指 令,让DMA控制器来处理数据的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU资源占有率,可以大大节省系统资源。DMA模式又 可以分为Single-Word DMA(单字节DMA)和Multi-Word DMA(多字节DMA)两种,其中所能达到的最大传输速率也只有16.6MB/s。 概念 直接存储器存取方式,主要用于快速设备和主存储器成批交换数据的场合。在这种应用中,处理问题的出发点集中到两点:一是不能丢失快速设备提供出来的数 据,二是进一步减少快速设备入出操作过程中对CPU的打扰。这可以通过把这批数据的传输过程交由一块专用的接口卡(DMA接口)来控制,让DMA卡代替 CPU控制在快速设备与主存储器之间直接传输数据,此时每传输一个数据只需一个总线周期即可。从共同使用总线的角度看,DMA和CPU成为竞争对手关系。 当完成一批数据传输之后,快速设备还是要向CPU发一次中断请求,报告本次传输结束的同时,”请示”下一步的操作要求。 特点 PIO模式下硬盘和内存之间的数据传输是由CPU来控制的;而在DMA模式下,CPU只须向DMA控制器下达指令,让DMA控制器来处理数据的传送, 数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU资源占有率。DMA模式与PIO模式的区别就在于,DMA模式不过分依赖CPU,可以大 大节省系统资源,二者在传输速度上的差异并不十分明显。DMA模式又可以分为Single-Word DMA(单字节DMA)和Multi-Word DMA(多字节DMA)两种,其中所能达到的最大传输速率也只有16.6MB/s。 DMA 传送方式的优先级高于程序中断,两者的区别主要表现在对CPU的干扰程度不同。中断请求不但使CPU停下来,而且要CPU执行中断服务程序为中断请求服 务,这个请求包括了对断点和现场的处理以及CPU与外设的传送,所以CPU付出了很多的代价;DMA请求仅仅使CPU暂停一下,不需要对断点和现场的处 理,并且是由DMA控制外设与主存之间的数据传送,无需CPU的干预,DMA只是借用了一点CPU的时间而已。还有一个区别就是,CPU对这两个请求的响 应时间不同,对中断请求一般都在执行完一条指令的时钟周期末尾响应,而对DMA的请求,由于考虑它的高效性,CPU在每条指令执行的各个阶段之中都可以让 给DMA使用,是立即响应。 DMA主要由硬件来实现,此时高速外设和内存之间进行数据交换不通过CPU的控制,而是利用系统总线。DMA方式是I/O系 统与主机交换数据的主要方式之一,另外还有程序查询方式和中断方式。 DMA工作原理 DMA 是所有现代电脑的重要特色,他允许不同速度的硬件装置来沟通,而不需要依于 CPU 的大量 中断 负载。否则,CPU 需要从 来源 把每一片段的资料复制到 暂存器,然后把他们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。 DMA 传输重要地将一个内存区从一个装置复制到另外一个。当 CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器 来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存去。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工 作。DMA 传输对于高效能 嵌入式系统 算法和网络是很重要的。 示例 举个例子,PC ISA DMA ...Read More
1、sudo apt-get install gconf-editor 2、控制台输入“gconf-editor”命令,选择“desktop –> gnome –> shell –>window ”,然后改变“button_layout”的值为 :minimize,maximize,close【前有冒号】
二次贝塞尔曲线通常以如下方式构建,给定二维平面上的固定点P0,P1,P2,用B(t)表示该条曲线 用一个动画来演示,可以更加清楚的表明这条曲线的构建过程 如果t变量本身线形变化的话,这条贝塞尔曲线本身的生成过程是并不是匀速的,通常都是两头快中间慢。 如何想要得到匀速的贝塞尔曲线运动呢?比如我们在某款游戏中设计了一条贝塞尔曲线的路径,如何实现玩家匀速在这条路径上运动呢? 首先需要求得B(t)相对于t的速度公式s(t) 为了简化公式,我们定义如下变量 计算出的s(t)可以表达为 其中A,B,C是根据P0,P1,P2计算出的常数 根据这个公式,求得贝塞尔曲线的长度公式L(t) 设t`就是能够使L实现匀速运动的自变量,那么显然L(t`)=L(1.0)*t,即 由于L(t)函数非常复杂,直接求逆函数的表达式几乎不可能,还好我们可以知道它的导数为s(t),在实际使用中,可以使用牛顿切线法求出近似解。其迭代算法可以表达为 我写了一个测试程序用于验证该算法,运算结果如下,可以看到,这条曲线已经是以匀速方式生成的了 完整的示例源代码附载下面: #include <stdio.h> #include <math.h> #include <windows.h> //三个控制点 POINT P0={50,50},P1={500,600},P2={800,200}; int ax = P0.x-2*P1.x+P2.x; int ay = P0.y-2*P1.y+P2.y; int bx = 2*P1.x-2*P0.x; int by = 2*P1.y-2*P0.y; double A = 4*(ax*ax+ay*ay); double B = 4*(ax*bx+ay*by); double C = bx*bx+by*by; //曲线总长度 double total_length = 0.0; ...Read More
题目:请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1。 解答: int checkCPU() { union w { int a; char b; } c; c.a = 1; return (c.b == 1); } 剖析: 嵌入式系统开发者应该对Little-endian和Big-endian模式非常了解。采用Little-endian模式的CPU对操作数的存放方式是从低字节到高字节,而Big-endian模式对操作数的存放方式是从高字节到低字节。例如,16bit宽的数0×1234在Little-endian模式CPU内存中的存放方式(假设从地址0×4000开始存放)为: 内存地址 0×4000 0×4001 存放内容 0×34 0×12 而在Big-endian模式CPU内存中的存放方式则为: 内存地址 0×4000 0×4001 存放内容 0×12 0×34 32bit宽的数0×12345678在Little-endian模式CPU内存中的存放方式(假设从地址0×4000开始存放)为: 内存地址 0×4000 0×4001 0×4002 0×4003 ...Read More
——《第一封》—— 我的幸福,就是和你温暖的过一辈子。 ——《第二封》—— 每天早上看到你和阳光都在就是我想要的未来。 —— 《第三封》—— 多希望你能明白我,即使我什么也不说。 ——《第四封》—— 这是我的爱,收下吧,这是我的心,别打碎了,这是我的手,握住了,我们一起开向永远站。 ——《第五封》—— 一想到跟你说话,我会笑得跟白痴一个样。 ——《第六封》—— 如果有人问我为什么爱你,我觉得我只能如此回答:因为是你,因为是我。 ——《第七封》—— 其实,我一直都在你身后,就差你一个回头。 ——《第八封》—— 你是我晚上睡觉前最想聊天的人,我爱这种感觉。 ——《第九封》—— 我很傻,我很笨,我有爱我的你。 ——《第十封》—— 其实我不敢想象,没有你,生活会怎样。 ——《第十一封》—— 那天我背你,你问我重吗?我笑着回答:整个世界都在我身上,重死咯。 ——《第十二封》—— 你看,这么多人,这么大的世界,我遇到了你,你也遇到了我,真好。 ——《第十三封》—— 如果下雪了,我们不撑伞,一路走下去,是不是就可以一路到白头。 ——《第十四封》—— 我们要做的,就是拉着彼此的手走到最后,其他的,交给命运。 ——《第十五封》—— 世界上最温暖的两个字是从你口中说出的晚安。 ——《第十六封》—— 很多时候,我只是想能有个你,紧紧抱着我不放,直到我的心情真的好起来。 ——《第十七封》—— 再累,再苦,再疼,也只是为了你能喜欢我而已。 ——《第十八封》—— 假如你是一棵仙人掌,我也愿意忍受所有的疼痛来抱着你。 —— 《第十九封》—— 你就像一碗汤,让我的心永远不会凉。 —— 《第二十封》—— 我只希望这个世界可以狠小狠小,小到我一转身便可看见你。 ——《第二十一封》—— 我爱你,胜过爱自己。 ——《第二十二封》—— 幸福其实真的狠简单,有你有事做, 有所期待。 ——《第二十三封》—— 人生最大的幸福,是发现自己爱的人正好也爱自己。 ——《第二十四封》—— 我们彼此相爱着就是幸福,如此简单,如此难。 ——《第二十五封》—— 我之所以感到孤独,并不是没有人关心我,而是我在乎的那个你没有关心你。 ——《第二十六封》—— ...Read More
SFP (Small Form-factor Pluggables)可以简单的理解为GBIC的升级版本。SFP模块(体积比GBIC模块减少一半,可以在相同面板上配置多出一倍以上的端口数量。由于SFP模块在功能上与GBIC基本一致,因此,也被有些交换机厂商称为小型化GBIC(Mini-GBIC)。 SFP模块则通过将CDR和电色散补偿放在了模块外面,而更加压缩了尺寸和功耗。 Google目前正在大量购进SFP+模块以设计和生产自己的万兆以太网络交换机以满足其数据中心数据库系统的运行需求。 SFP 标准化 SFP收发器由一个竞争厂商之间的多边协议(MSA)进行规范。SFP根据GBIC接口进行设计,允许比GBIC更大的端口密度(主板边上每英寸的收发器 数目),因此SFP也被称作“mini-GBIC”。与此相关的小封装收发器(SFF transceiver)在尺寸上比SFP要小,但SFF是作为一种针脚(as a pin through-hole device)焊接到主机板上,而不是插到边卡插槽上。 SFP类型 SFP收发器有多种不同的发送和接收类型,用户可以为每个链接选择合适的收发器,以提供基于可用的光纤类型(如多模光纤或单模光纤)能达到的”光学性能”。可用的光学SFP模块一般分为如下类别:850纳米波长/550米距离的 MMF (SX)、1310纳米波长/10公里距离的 SMF (LX)、1550 纳米波长/40公里距离的XD、80公里距离的ZX、120公里距离的EX或EZX,以及DWDM。SFP收发器也提供铜缆接口,使得主要为光纤通信设计的主机设备也能够通过UTP网络线缆通信。也存在波分复用(CWDM)以及单光纤”双向”(1310/1490纳米波长上行/下行)的SFP。 商用SFP收发器能够提供速率达到4.25 G bps。10 Gbps 收发器的几种封装形式为XFP,以及与SFP封装基本一致的新的变种”SFP+”。
基带:Baseband 信源(信息源,也称发终端)发出的没有经过调制(进行频谱搬移和变换)的原始电信号所固有的频带(频率带宽),称为基本频带, 简称基带。基带和频带相对应,频带:对基带信号调制后所占用的频率带宽(一个信号所占有的从最低的频率到最高的频率之差) 基带信号(Baseband Signal) 信源(信息源,也称发终端)发出的没有经过调制(进行频谱搬移和变换)的原始电信号,其特点是频率较低,信号频谱从零频附近开始,具有低通形式。根据原始 电信号的特征,基带信号可分为数字基带信号和模拟基带信号(相应地,信源也分为数字信源和模拟信源。)其由信源决定。说的通俗一点,基带信号就是发出的直 接表达了要传输的信息的信号,比如我们说话的声波就是基带信号。(如果一个信号包含了频率达到无穷大的交流成份和可能的直流成份,则这个信号就是基带信 号。) 由于在近距离范围内基带信号的衰减不大,从而信号内容不会发生变化。因此在传输距离较近时,计算机网络都采用基带传输方式。如从计算机到监视器、打印机等 外设的信号就是基带传输的。大多数的局域网使用基带传输,如以太网、令牌环网。常见的网络设计标准10BaseT使用的就是基带信号。 频带信号(通带信号) 在通信中,由于基带信号具有频率很低的频谱分量,出于抗干扰和提高传输率考虑一般不宜直接传输,需要把基带信号变换成其频带适合在信道中传输的信号,变换 后的信号就是频带信号(如果一个信号只包含了一种频率的交流成份或者有限几种频率的交流成份,我们就称这种信号叫做频带信号)其主要用于网络电视和有线电 视的视频广播。 基带传输: 在信道中直接传送基带信号时,称为基带传输。进行基带传输的系统称为基带传输系统。传输介质的整个信道被一个基带信号占用.基带传输不需要调制解调器,设 备花费小,具有速率高和误码率低等优点,.适合短距离的数据输,传输距离在100米内,在音频市话、计算机网络通信中被广泛采用。如从计算机到监视器、打 印机等外设的信号就是基带传输的。大多数的局域网使用基带传输,如以太网、令牌环网。在有线信道中,直接用电传打字机进行通信时传输的信号就是基带信号。 一个企业、工厂,就可以采用这种方式将大量终端连接到主计算机。基带数据传输速率为0~10 Mb/s,更典型的是1Mb/s~2.5Mb/s,通常用于传输数字信息。 频带传输: 在信道中直接传送频带信号时,称为频带传输。可以远距离传输.它的缺点是速率低,误码率高. 一般说的频带传输是数字基带信号经调制变换,成为能在公用电话线上传输的模拟信号,模拟信号经模拟传输媒体传送到接收端后,再还原成原来信号的传输。这种 频带传输不仅克服了目前许多长途电话线路不能直接传输基带信号的缺点,而且能够实现多路复用,从而提高了通信线路的利用率。但是频带传输在发送端和接收端 都要设置调制解调器,将基带信号变换为通带信号再传输。频带传输的优点是可以利于现有的大量模拟信道(如模拟电话交换网)通信.价格便宜,容易实现.家庭 用户拨号上网就属于这一类通信. 宽带传输Broadband 是相对一般说的频带传输而言的宽频带传输。宽带是指比音频带宽更宽的 频带,它包括大部分电磁波频谱。使用这种宽频带传输的系统,称为宽带传输系统.其通过借助频带传输,可以将链路容量分解成两个或更多的信道,每个信道可以 携带不同的信号,这就是宽带传输。宽带传输中的所有信道都可以同时发送信号。如CATV、ISDN等。传输的频带很宽在>=128kbps宽带是传 输模拟信号,数据传输速率范围为0~400Mb/s,而通常使用的传输速率是5Mb/s~10 Mb/s。它可以容纳全部广播,并可进行高速数据传输。宽带传输系统多是模拟信号传输系统。 一般说,宽带传输与基带传输相比有以下优点: (1)能在一个信道中传输声音、图像和数据信息,使系统具有多种用途; (2)一条宽带信道能划分为多条逻辑基带信道,实现多路复用,因此信道的容量大大增加; (3)宽带传输的距离比基带远,因数字基带直接传送数字,传输的速率愈高,传输的距离愈短。
近期评论