在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4974|回复: 15

关于处理器基本原理的几个问题请教,谢谢!!

[复制链接]
发表于 2013-11-6 11:40:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
学了一段时间的嵌入式,发现有好多根本性的问题不太懂,这些问题学微电子和ic的人来解答比较好。1.最近听了龙芯课题组胡伟武的一个讲座,讲到现在处理器都朝着多核方向发展,原因是a.单核处理器的性能已经达到了极限,功耗降不下来,主频升不上去 b.与外围设备的工作速度不匹配,cpu工作速度已经远远超出了外围设备的存取数据处理数据的速度,造成性能浪费。
这样说对不对?还有什么补充没有?
2地址总线的位数决定了寻址空间,一般来讲,操作系统的位数就是知道地址总线的位数。但是cpu的位数和地址总线的位数有时候不相等。那么cpu的位数是指的什么,和cpu里寄存器的位数一样吗?
3寄存器是有什么构成的,电气原理如何,晶体管级的电路如何,由几个管子构成?
3我原来学过一点verilog的东西,知道搭建一个加法器就是把好多门电路,门电路就是一个个mos管搭起来的。处理器也就那么几个部件,控制部件、运算部件、寄存器、加上几个缓存器。现在动辄上亿的晶体管都用在了什么地方?为什么对那么几个寄存器还那么计较?
4增加指令集或是创建指令集的难度在哪里?为什么听一个老师说,龙芯为什么借用mips的几十条指令每年要给mips好多的钱?
发表于 2013-11-7 20:57:34 | 显示全部楼层
呵呵,那是知识产权的问题,不过好像现在都过了版权保护期了,不知是不是
发表于 2013-11-10 12:13:16 | 显示全部楼层
1. 呵呵,当然没错。胡的讲座总不会乱说吧
2. 操作系统的宽度跟地址总线宽度有关,
    内部寄存器跟数据总线宽度关系大一点
3. 寄存器是片内RAM的一部分(一般是静态RAM),由触发器和相应的门电路组成的。
    这些数电书上都有
4. 说来简单,实现起来是非常非常非常复杂的。
     这个论坛里有人写了本书,讲or1200的,可以看看。
5. 楼上说了,知识产权的问题。
发表于 2013-11-12 02:35:48 | 显示全部楼层
楼上是qualcomm的?
发表于 2013-11-12 02:36:19 | 显示全部楼层
回复 3# Quiccomm


  楼上是qualcomm的?
发表于 2013-11-14 15:04:51 | 显示全部楼层
回复 1# s8435330song

1. 多核当然是主要的方向,但是多核也不可避免的出现功耗和效率的问题,所以现在的异构多核比较流行,当然intel的拳头产品还都是同构的,而且,现在的趋势是SOC化,把更多的功能集成到一个芯片内,减少传输的时间,比如把GPU啊,内存控制器啊什么的都集成到一起,这个最明显的例子就是现在的手机处理器了,基本上能放进去的都放了,intel也朝着这个方向呢,看近几年的产品就知道了。2. 对于操作系统来说,它要访问外设,访问IO,访问存储器,这都需要通过CPU的地址线进行寻址,所以CPU的地址位数对于操作系统是重要的,而对于CPU来说,它的位数主要是指内部寄存器的宽度,比如32位的CPU,内部使用的通用寄存器是32bits的,64位的CPU当然内部的通用寄存器是64bits的,更宽位数的CPU可以一下子处理更多的数据,所以效率会提高,当然这也需要操作系统和软件能够利用这个特性才可以,如果软件还是基于32位的CPU进行开发的,那么64位也是浪费了,而且64位还需要占用更多的硅片面积,所以功耗也会增大,苹果的双核64位处理器的硅片面积基本上和高通四核32位的处理器差不多了。
3. 寄存器是两个latch背靠背的组合在一起,十几个管子吧,具体的原理随便找一本数字电路设计的书看看就行,再不行就百度谷歌之~~
4. 你说的那些控制部件、运算部件什么的,都是大的概念,具体的实现需要考虑很多的内容,现代的处理器面积大的主要原因一是结构复杂,多发射的超标量结构、内部乱序执行,这都需要耗费大量的电路来实现;二是现在集成到芯片内的其它功能越来越多,比如内存控制器;三是片内的Cache占据的,现在的三级Cache都做到片内了,你随便看一个intel的处理器的die photo,看到那一大片很有规律、像麦田似的东西,那就是片内Cache,这个东西很耗费面积和功耗的;再有就是GPU了,这个玩意比CPU更浪费面积的。至于你说的对几个寄存器还特别计较,在现代的高性能处理器中,这是不存在的,这么大的处理器,不缺你那几个寄存器,不过对于指令集已经定义好的寄存器,比如MIPS中的32个通用寄存器,这个没办法改,指令集定死了,不过在处理器内部都进行寄存器重命名,使用更多的物理寄存器来提高性能,至于你说的计较几个寄存器,我想这应该是对成本很敏感的小设计吧。
5.增加指令并不难,但是增加之后,需要更改一大堆的工具链,编译器、汇编器都需要改,否则你增加了指令也没用,且不说你有没有能力改这些东西,即使你有能力改,谁会用呢?对于处理器来说,兼容是王道,intel靠它独步天下了很多年,当然以后能否再走下去还不知道,不过ATOM还使用臃肿的x86,可见intel是不舍得放弃这块蛋糕的,自己设计指令集不难,培养整个生态环境就非常难了,龙芯为什么用MIPS也是这个原因的。
发表于 2013-12-7 16:22:29 | 显示全部楼层
6楼同学说的很不错!
发表于 2014-3-27 14:37:30 | 显示全部楼层
6楼说的很在理
发表于 2014-7-22 13:01:26 | 显示全部楼层
6楼理解得很好
发表于 2014-8-24 20:18:34 | 显示全部楼层
6楼讲的很很号,现在最主要的问题是指令集,性能的提升来自于软硬件结合,利用工艺提高集成度,提升频率,集成大容量Cache,都可以实现,但产业链是关键。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-23 13:34 , Processed in 0.028015 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表