[讨论] M3的内核问题讨论,关于寄存器

sxy4517   2015-3-6 08:58 楼主
1.关于内核的寄存器的理解大家有没有想说几句的呢?
  
  我先复制一段话,给大家找个议题:
        寄存器组 RS(Register Set或Registers)
        RS实质上是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU访问寄存器所用的时间要比访问内存的时间短。采用寄存器,可以减少CPU访问内存的次数,从而提高了CPU的工作速度。但因为受到芯片面积和集成度所限,寄存器组的容量不可能很大。寄存器组可分为专用寄存器和通用寄存器。

    寄存器组分为专用寄存器组和通用寄存器组.
    通用寄存器组是一组最快的存储器,用来保存参加运算的操作数和中间结果。通用寄存器的数目因微处理器而异,其用途广泛并可由程序员规定用途。
    专用寄存器组的作用是固定的,分别寄存相应的数据。包括状态标志寄存器和指令指针寄存器。

回复评论 (12)

楼主要是有看法,应该楼主先说,我目前没啥意见。
点赞  2015-3-6 09:21
引用: lcofjp 发表于 2015-3-6 09:21
楼主要是有看法,应该楼主先说,我目前没啥意见。


好吧,我先说2句,本来我是不想研究内核的,因为我感觉自己用C编程序平时也用不到内核寄存器和汇编指令的问题,但是最近看ucosII的一些资料,说是让看看M3内核的东西,其中就包括它的寄存器组,再加上总感觉自己对M3内核的寄存器一无所知的话,显得很不高端,永远成不了“大虾”,您说我说的对吗?
点赞  2015-3-6 09:29
引用: sxy4517 发表于 2015-3-6 09:29
好吧,我先说2句,本来我是不想研究内核的,因为我感觉自己用C编程序平时也用不到内核寄存器和汇编指令的问题,但是最近看ucosII的一些资料,说是让看看M3内核的东西,其中就包括它的寄存器组,再加上总感觉自己对M3内核的寄存器一无所知的话,显得很不高端,永远成不了“大虾”,您说我说的对吗?

你说的也不错,如果不懂内核的体系结构的话,那绝对不叫玩M3,而是玩C语言而已。
常见的知识包括指令集,寄存器,异常和中断等,如果学到操作系统级别的话,这些是必须掌握的。
像一些特殊寄存器的功能,中断时哪些寄存器入栈,入栈的顺序是什么都很重要。




点赞  2015-3-6 09:41
引用: lcofjp 发表于 2015-3-6 09:41
你说的也不错,如果不懂内核的体系结构的话,那绝对不叫玩M3,而是玩C语言而已。
常见的知识包括指令集,寄存器,异常和中断等,如果学到操作系统级别的话,这些是必须掌握的。
像一些特殊寄存器的功能,中断时哪些寄存器入栈,入栈的顺序是什么都很重要。



好吧,感到自己好渺小!!
点赞  2015-3-6 09:47
其实,这个时代已经不像之前的51时代了,我们对他们的内核指令了如指掌,原因很简单,由于51速度、存储等资源有限,如果你不了解这些,可能有很多应用都受到限制或者得不到满意的结果。

但是,随着技术的发展,如果你每款单片机都去完全了解,恐怕很少有公司会给你这个时间,而且很多时候我们需要选择多种内核的单片机进行开发,再者,现在的单片机不管从速度还是存储等资源上来说,基本都够使用。与其花大量的时间了解内核,不如花大量的时间搞好应用。

现在的很多单片机厂商都退出自己的代码库也是基于这些因素,以后的单片机开发基本就是玩C了,除非一些特殊的场合,例如FAE、操作系统移植、底层驱动开发等,否则真没有必要再去了解内核。


当然,这只是本人的一家之言。
我的博客
点赞  2015-3-6 09:51
引用: zhaojun_xf 发表于 2015-3-6 09:51
其实,这个时代已经不像之前的51时代了,我们对他们的内核指令了如指掌,原因很简单,由于51速度、存储等资源有限,如果你不了解这些,可能有很多应用都受到限制或者得不到满意的结果。

但是,随着技术的发展,如果你每款单片机都去完全了解,恐怕很少有公司会给你这个时间,而且很多时候我们需要选择多种内核的单片机进行开发,再者,现在的单片机不管从速度还是存储等资源上来说,基本都够使用。与其花大量的时间了解内核,不如花大量的时间搞好应用。

现在的很多单片机厂商都退出自己的代码库也是基于这些因素,以后的单片机开发基本就是玩C了,除非一些特殊的场合,例如FAE、操作系统移植、底层驱动开发等,否则真没有必要再去了解内核。


当然,这只是本人的一家之言。


我想做ucosII的移植

点赞  2015-3-6 09:58
如果你想学习ucos II的移植过程,确实有必要学习一下,如果你想应用ucos,那就没有必要了,网络上,甚至官方网已经为你提供了移植好的代码,任何M3核的代码都是可以通用的。
我的博客
点赞  2015-3-6 10:12
引用: zhaojun_xf 发表于 2015-3-6 10:12
如果你想学习ucos II的移植过程,确实有必要学习一下,如果你想应用ucos,那就没有必要了,网络上,甚至官方网已经为你提供了移植好的代码,任何M3核的代码都是可以通用的。


我是想应用ucosII 去组织我的代码。因为之前用大循环的方式跑程序,感觉自己的程序杂乱无章,实时性差。

点赞  2015-3-6 10:19
引用: sxy4517 发表于 2015-3-6 10:19
我是想应用ucosII 去组织我的代码。因为之前用大循环的方式跑程序,感觉自己的程序杂乱无章,实时性差。


现在 RTOS 很多,UCOS 确实提供的例程也很多,你需要的是了解一些关于 RTOS 的知识。

点赞  2015-3-6 11:00
引用: Study_Stellaris 发表于 2015-3-6 11:00
现在 RTOS 很多,UCOS 确实提供的例程也很多,你需要的是了解一些关于 RTOS 的知识。



有这方面的资料吗
点赞  2015-3-6 14:49
引用: sxy4517 发表于 2015-3-6 14:49
有这方面的资料吗

官方网站上有很多例程,www.micrium.com
点赞  2015-3-30 20:32
引用: Study_Stellaris 发表于 2015-3-30 20:32
官方网站上有很多例程,www.micrium.com

谢谢!
点赞  2015-3-31 09:22
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复