当前位置: 技术问答>linux和unix
怎么理解CPU的运行原理?
来源: 互联网 发布时间:2016-11-11
本文导语: 之前一直写的都是应用层面的软件,由于工作的需要,现在需要写系统层面的软件了,但我没上过计算机专业,用流行的行话说就是“毕竞不是科班出身的”,因此我对CPU这一块一直有点迷糊,尽管我一再努力得看各...
之前一直写的都是应用层面的软件,由于工作的需要,现在需要写系统层面的软件了,但我没上过计算机专业,用流行的行话说就是“毕竞不是科班出身的”,因此我对CPU这一块一直有点迷糊,尽管我一再努力得看各种书籍,尤其是CPU怎么能跑起来,怎么由软件到硬件这一块,每次看汇编的时候,总感觉有点痛苦。
写系统级别的软件(驱动和内核),仅仅学会汇编就行了呢,还是必须掌握硬件?
我一直都很想把CPU的电路原理弄懂,前两天又去了一趟书城,翻了一下集成电路的书,感觉不够精简,哪位大虾能帮我建议一下,我应该看哪本书,或者给我画个图,把CPU的运行电路画出来,就画个半加器的就OK,但要说明白,是怎么运行的。
先谢过。
写系统级别的软件(驱动和内核),仅仅学会汇编就行了呢,还是必须掌握硬件?
我一直都很想把CPU的电路原理弄懂,前两天又去了一趟书城,翻了一下集成电路的书,感觉不够精简,哪位大虾能帮我建议一下,我应该看哪本书,或者给我画个图,把CPU的运行电路画出来,就画个半加器的就OK,但要说明白,是怎么运行的。
先谢过。
|
集成电路VS CPU?
额。。。。
系统级软件,最好还是对硬件比较熟悉为好。。
《Intel微处理器》
额。。。。
系统级软件,最好还是对硬件比较熟悉为好。。
《Intel微处理器》
|
如果没有看过csapp,就先看看吧。
|
不用学CPU的电路原理、集成电路,根本用不着。
你只要知道cpu里面有哪些寄存器、哪些总线之类的,了解到这个层次就足够了,最多再学学汇编
你只要知道cpu里面有哪些寄存器、哪些总线之类的,了解到这个层次就足够了,最多再学学汇编
|
完全没必要了解CPU是如何设计的,了解CPU设计成什么样子就可以了,对于系统程序员来说了解计算机体系结构比了解计算机微体系结构重要的多,更不用了解CPU设计了。对于你来说,了解cache如何工作比了解cache如何设计重要,了解乱序执行对你程序的影响,比了解多发射硬件结构更为重要。
|
数字电路学过了没有?与门、或门学过了没有,
cpu其实是有很多的逻辑门组成的。
简单的cpu。可以学习下单片机。
事实是一个原理。
cpu其实是有很多的逻辑门组成的。
简单的cpu。可以学习下单片机。
事实是一个原理。
|
《微机原理》应该学学。
|
操作系统,微机原理,汇编,数字电路要了解.
|
这些硬件设计的活不是学软件的所要关心的,如果你有大把的时间和精力,可以当成兴趣来学,不过这之前还是把本职工作做好。做系统的话只要学到会看芯片手册,了解cpu体系的程度就可以了。
|
CPU内部都是与非门
|
楼主要用什么平台?intel,arm?最好的方法是去看cpu厂家官方手册。 官网上可以下载。
Intel有五本电子书。 看完以后就能彻悟cpu原理了。
Intel有五本电子书。 看完以后就能彻悟cpu原理了。
|
建议你先把操作系统的知识学习一下,再看cpu的运行细节。
|
你学习一下8051,一个8位的单片机就不会有这个疑问了。
|
你用那款CPU,找到芯片手册,对照微机原理看,大致知道主要的几个部分MMU、ALU、MSR、INT、主要附带的设备比如FCC之类的干什么就行了。
对软件人员来说,最实际的还是看懂汇编语言
对软件人员来说,最实际的还是看懂汇编语言
|
知道的会说用不到,不知道的想知道,其实却是用不到,其实不知道的确实像知道,不知道总觉得心里没底儿。。。
都是这么过来的。一步步来吧。
一要努力,二要耐得住寂寞,三要相信时间的力量并注意积累。
一起努力。
|
我认为你先学懂汇编就可以了!!!电路集成不需要啊
|
我想说的是,目前在中国做软件基本不需要了解CPU原理的。不管是做应用,驱动或者内核。
你所需要的是相关处理器芯片手册,也就是datasheet。上面会告诉你要实现你所需要的功能要进行配置哪些寄存器。还有会建议你硬件怎么和处理器引脚想连接。
你所需要的是相关处理器芯片手册,也就是datasheet。上面会告诉你要实现你所需要的功能要进行配置哪些寄存器。还有会建议你硬件怎么和处理器引脚想连接。
|
|
楼主只需要看一下微机原理和汇编语言就行了呀,一下扎的太深了不好
|
cpu就是一个大的状态机
|
CPU分指令存储和硬布线!这是微机原理的东西!