e******r 发帖数: 623 | 1 【 以下文字转载自 Programming 讨论区 】
发信人: explorer (球风华丽作风硬朗,唯一缺点:太像梅西!), 信区: Programming
标 题: 问几句汇编指令(assembly language)
发信站: BBS 未名空间站 (Tue Apr 20 23:46:32 2010, 美东)
在看一个callout的程序,有几句实在看不懂,请高人指点一下:
1. mov ip, #0x000000FF
orr ip, ip, #0x0000FF00
orr ip, ip, #0x00FF0000
orr ip, ip, #0xFF000000
这几句是在做什么?是把"0xFFFFFFFF"赋值给ip吗?为什么不能直接写成 mov ip, #
0xFFFFFFFF?
2. tst r1, r2, lsl r4
r1, r2和r4是寄存器,但是tst怎么有三个operands?
3. mov r2, r2, lsl r4
基本同上,怎么mov会有三个operands?这句指令是什么意思?
谢谢了,能提供答案的我会发包子 |
|
s****d 发帖数: 4 | 2 嵌入式方向编程只是其中一项技能。俺和同事瞎聊时总结这个方向找工作前必读的四本
书:C/C++, 数据结构,实时操作系统,简单的DEBUG工具手册(知道断点,看寄存器,
DUMP物理地址,看CALLSTACK,等等)
嵌入式应用领域广泛,有通讯,芯片,汽车,航天,国防,消费电子,医疗器械,工业
控制,仪器仪表, 等等等等。经济不好时会有国防,医疗等行业相对较好,经济好时
通讯,芯片行业薪水较高。
你要有时间就学点LINUX,ANDROID刚刚起来,有不少机会。
Quaker说的很对,你要想清楚你对底层还是应用感兴趣。底层的工程师从事BOOT
LOADER, DRIVER, 等方面。你要对CPU及外设的概念很清楚,知道CPU上电后的一系列东
西。做应用就比较重视OO编程。Android用JAVA,IPHONE APP 用OBJECTIVE C, etc.
希望对你有帮助。 |
|
a*****u 发帖数: 157 | 3 CACHE比本身就是SRAM做的,不过加了TAG,FSM等控制逻辑。说CACHE比RAM快这个不准
确。
在CACHE命中的情况下,是可以在一个CYCLE里面返回数据的,所以P&H那本书上的5级流
水线是可以用的。只不过要把里面那个简单的RAM换成一个比较复杂些的CACHE。
在CACHE不命中的情况下,简单的流水线就需要停止,CACHE BLOCK从下一级存储及中获
得数据。多线程处理器会在这时候暂停当前线程,切换到另一个准备执行的线程上,然
后FLUSH 流水线寄存器。这里FLUSH PIPELINE REG所造成的CYCLE损失就是这种BLOCK
MULTITHREADING的缺点。
和CACHE对应的概念叫做SCRATCH PAD MEMORY。书上简单的SRAM可以看成是SPM。CACHE
于下一级存储器的交互是由硬件管理的,而SPM和下一级存储器的交互是有软件显式操
作的。 |
|
p*f 发帖数: 982 | 4 1)应该是一个FIFO,32入,16出,如果你的数据一直有效的话,出口的时钟应该加倍。
2)采样电路应该用一个时钟(最快的那个),然后用不同频率的Clock Enable信号。
只有Clock Enable有效的时候才采样。
3)设一个采样计数器和一个采样长度寄存器,计数器对采样时钟计数,并于采样长度
计数器比较。相等时停止采样。 |
|
s****n 发帖数: 786 | 5 1 大多数数据操作都在寄存器中完成
2 寻址简单灵活,效率高
3 指令长度固定
这三条就可以把功耗降很多
还有一些其他特别的技术,比如所有指令可以根据前面的执行结果决定是否被执行。 |
|
m***9 发帖数: 298 | 6 各种触发器,为什么clk频率过低的话就会出错?比如一个串入并出的移位寄存器,clk
为1MHz时可以正常工作,clk为1kHz时就会有错,请问是什么原因造成的?多谢! |
|
t******0 发帖数: 629 | 7 半路出家进了一个VLSI的组。目前做的项目就是把某算法实现到数字电路。
目前用verilog写了一些代码,simulation是可以通过的,功能正确。
听了一些高手的建议,我没有用initial,没有用delay,排除那些不可综合的语句。
因为是时序电路,我把所有阻塞赋值语句,全部改成非阻塞赋值语句,使硬件时序更清
晰。但是“寄存器数组”始终是无法摆脱的。(大家都说是不可综合的)
今天老板让我开始用什么cell什么library(我是个半吊子,听全了也不懂)综合一下,
然后评估一下片上storage占的面积和逻辑电路占的面积。
我是新人,基础课都没上过, 以上Verilog堆码全靠突击。。。。
请大侠科普一下:
Verilog综合的过程和结果都是什么样的呢?尤其是关于storage(请尽量结合具体工具
和一般流程,实在
万分感谢!)有没有什么经典材料可以看一看呢? |
|
c****p 发帖数: 6474 | 8 寄存器数组一般要调用专用的reg file或者RAM才能综合。
有不明白的东西可以组里明白的人,
刚进公司,这些应该都算training的,没人教你才比较奇怪。 |
|
a********r 发帖数: 13 | 9 如果一个输入信号不对任何一个输出信号产生影响的话, 那这个输入信号就是无效的。
程序中, 这两个信号没有输出也不驱动任何其他信号, 所以将被综合掉,
reg [23:0] cc2420Reg0;
reg [23:0] RegTmp;
而驱动RegTmp的MOSI也就没用了, 也被综合掉了。
看你程序的意思,cc2420Reg0是个内部寄存器, 如果该设置为输出信号,MOSI不会被
综合掉了。 |
|
i*****t 发帖数: 24265 | 10 看什么样的firmware硬件了,例如是个很简单的单片机芯片,处理速度有限
那么要对代码进行优化,例如应该考虑
1 执行速度
2 效率
3 寄存器
4 内存
这样平时用的多字节int要变2字节或1字节,double浮点等都不要用了,充分利用逻辑
和移位,来替代数学运算
firmware |
|
|
b******d 发帖数: 2495 | 12 这有啥可指导的,我每天在公司看的就是这些东西,看的多了。都差不多啊。另外寄存
器这些东西,计算机里面不都有吗?EE的寄存器比计算机里面的简单多了吧。
看多了就熟了。我也不懂JAVA。问cS的人也没法问啊。 |
|
n******e 发帖数: 1046 | 13 嵌入式软件主要就是时序控制,控制寄存器,地址空间映射,多看看芯片timing就会好
很多.芯片内部也都是一个个core块搭起来的,就是时序和逻辑来相互控制的。跟你们
CS的条件语句和运算也差不多。 |
|
n******e 发帖数: 1046 | 14 就是时序啊,芯片工作都是有严格时序要求的啊,各种接口都有clk,各种读写,清零,
各种控制线,再来个同步异步,各种寄存器和memory,再加点什么 PHY,够你折腾好久
了你拿你们公司一个主芯片,先看datasheet,就能明白很多东西了。
现在知道EE的痛苦了吧 |
|
d*****l 发帖数: 8441 | 15 主要是片子的结构和接口不熟悉吧,这个没有办法,要硬啃接口、芯片管脚(包括时序)
和芯片内部构架的手册,搞熟悉了就容易了。好多寄存器字节的含义需要查手册才知道,
没办法。比Java蠢多了。 |
|
|
d***a 发帖数: 13752 | 17 "量子计算机靠谱吗?": 如果量子力学靠谱,量子计算机就靠谱。
"比电子计算机好在什么地方?": 有一些特殊的计算问题可以很快地解决,实用意义最
大的大概是解密算法,量子计算机出来后,现在的常见加密算法都不能用了。已经有些
学者在研究针对量子计算机来说安全的加密算法了。
"为什么用qubit": 理论上说,常规计算机就是一个大的DFA(确定性有限自动机)。用
qubit的量子计算机可以看成是一种概率性的NFA(非确实性有限自动机),简单地说就
是可以同时走多个path来计算。有一些常规计算机要做2^n步的事情,量子计算机可以
一步做完。
"否需要根本改变大规模集成电路的结构才有可能?": 在量子计算机里,晶体管,VLSI
,架构,寄存器,算术单位,流水线,SRAM,DRAM等概念和技术,都可以扔掉了...不
过呢,就算量子计算机实用了,很多计算还是要常规计算机来做,所以以上那些技术还
是很有用的。 |
|
b***i 发帖数: 3043 | 18 是的,楼主就是需要8个移位的寄存器,其实可以很快,估计800MHz都没问题。 |
|
s***d 发帖数: 15421 | 19 【 以下文字转载自 Military 讨论区 】
发信人: bingya (bing), 信区: Military
标 题: “国家千人计划特聘专家”李云初剽窃ADI原版技术,一步步复制“汉芯”骗局
发信站: BBS 未名空间站 (Sat Aug 31 18:16:39 2013, 美东)
“人生如戏,全靠演技”,自称掌握国家“高端芯片”技术的云芯公司董事长李
云初正在一步步复制7年前陈进“汉芯”的超级骗局。
李云初的A面:美国德克萨斯农工大学(TAMU)电子博士、ADI等从事高性能
模拟电路产品设计超过10年、国家千人计划特聘专家、江苏省高层次创新创业人才、国
家级集成电路设计企业创始人、拥有被美国列入禁运名单的高端数据转换器芯片自主研
发技术。
李云初的B面:这一切荣誉都来自对ADI产品原版的剽窃。在删掉 ADI相关LOGO
后,李云初把相同的申报材料一遍一遍复制后,走马灯似得与政府、军方甚至中兴、华
为开始了合作。不幸的是:这位领军人物没有为合作伙伴生产出一颗真正能够产品化的
芯片。
2009年,李云初入选“国家千人计划特聘专家”,这是一个光鲜的开始。
李云初的简历中自称:拥有... 阅读全帖 |
|
g****t 发帖数: 31659 | 20 【 以下文字转载自 Programming 讨论区 】
发信人: guvest (我爱你老婆Anna), 信区: Programming
标 题: 大家都用什么visualization工具看图?
发信站: BBS 未名空间站 (Thu Feb 6 22:12:06 2014, 美东)
我经常要看几十兆的数据,各寄存器值,各RAM值 vs 时间的图。
请问大家看这种图,一般用什么工具?
谁能推荐个能看图,能支持行列计算的简便工具?
现在都大数据时代了。看图工具的最前沿是哪家公司?
thx a lot |
|
i*****t 发帖数: 24265 | 21 举个例子,你做bus,拉住绳子表示下车或特殊服务request,假设拉住绳子期间会有
1khz或2khz信号声音提醒司机,信号频率表示不同request type
1 你要下车,可是司机在听音乐且request灯坏掉,司机不一定听得到,那么你肯定会
拉住绳子直到司机回应才松手,这时候别的有特殊要求的乘客的按钮request就不起作
用了,因为共享一个音频发生器资源,先来的播放先来的信号频率
2 无需一直拉绳,因为司机100%能听到,就会停,而且其他乘客不同频率的request都
不会错过,当然司机没听到就不行了,这时候一般用信号灯锁定信号,然后司机检查信
号灯,类似于检查中端寄存器的bit |
|
g****t 发帖数: 31659 | 22 EE的很多都知道.
我老本科曾经想证明过这个东西,后来问老师,老师说1941年人家已经弄清楚了.
简单的说,两个灯泡,加点移位寄存器之类的,能弄出来Turing完备的计算机.
学过与非门怎么构造乘法之后,以及用数字电路控制洗衣机灯泡颜色变化之后,
有这个想法不足为奇.
但在1940年代,那就是了不起的vision了.
few people know this thing. |
|
b******7 发帖数: 8200 | 23 再补充一句,这个可能有点“黑”toyota。
凡是崩溃,系统都有准确的堆栈记录,也就是准确的记录了崩溃的时间,当时系统的状
态,内存里面的数据,寄存器里面的数据等。T不可能不知道原因,这个是最最简单的
bug。凡是程序员都知道,越是系统崩溃越好解,因为啥信息都有。难的是系统性能,
内存被某些其他程序写越界等。T用了几乎3年才发现问题?这个在我来说,基本就是骗
人。而目前到底怎么解决,居然还是个未知。
again,撞上了刹车优先不见的解决问题,不解决单点故障,不在单点故障时候提供
fail-safe安全级别高的默认值。此题好像没啥解。 |
|
b******7 发帖数: 8200 | 24 再补充一句,这个可能有点“黑”toyota。
凡是崩溃,系统都有准确的堆栈记录,也就是准确的记录了崩溃的时间,当时系统的状
态,内存里面的数据,寄存器里面的数据等。T不可能不知道原因,这个是最最简单的
bug。凡是程序员都知道,越是系统崩溃越好解,因为啥信息都有。难的是系统性能,
内存被某些其他程序写越界等。T用了几乎3年才发现问题?这个在我来说,基本就是骗
人。而目前到底怎么解决,居然还是个未知。
again,撞上了刹车优先不见的解决问题,不解决单点故障,不在单点故障时候提供
fail-safe安全级别高的默认值。此题好像没啥解。 |
|