lenky0401
发表于 2012-11-16 18:20
Intel先专注的是IA64,一种完全摒弃X86的架构,但这不太符合现实需求,因为这样会导致太多的陈旧资源无法兼容使用,而AMD搞了一个AMD64,可以完全兼容之前的X86架构,在实践中获得成功,进而Intel才弄了一个EMT64,这个与AMD64完全兼容。
没有具体的问题,所以也不好说什么具体的东东,但根据我的个人经验,对于这些底层的细节,一般的程序员不会去了解,正如前面几个网友所说,工作中也很难用到,不过有几个地方也许大多数的程序员都会用得到:
1,X64程序的调用规约,即ABI,这参考的是AMD的文档:
http://www.x86-64.org/documentation.html
为什么这个会用得到,是因为c程序员太多了,而c底层比较清楚的话,那么提供的寄存器、c函数的参数传递、程序加载连接等,看这本手册是必须的;了解这些对于查c程序的问题(比如踩栈、溢出等)还是非常有帮助的。
2,虚拟化的兴起,那么对于这方面的关注肯定会越来越多:
我之前做过一段时间的Intel CPU虚拟化开发,查看的手册是:Intel? 64 and IA-32 Architectures Software Developer's Manual Volume 3B System Programming Guide,这在Intel官方下载得到。
3,Linux kernel 3.4提供了一个有意思的东东叫做X32 ABI,感兴趣的可以看看这里:http://lenky.info/tag/x32-abi/
PS:之前看过mik的站点,很赞。
superwiles
发表于 2012-11-16 22:35
本帖最后由 superwiles 于 2012-11-16 22:51 编辑
回复 47# amarant
现在的x86(自 Pentium 4之后 除了 atom)本质上都是risc, 上层保留的那都是为了向后兼容,有专门的decode layer, 下面全是uops,纯risc了,
scybzdk
发表于 2012-11-17 12:56
对于不是搞底层开发的我也说说我的一些看法:
记得学校里边学过的就是8088,8086这些,要想深入对x86体系结构的了解,先对那些cpu结构是8位,16位的一定要掌握。
基础打牢了,再深入了解32位的,甚至64位的。
一般说的bios,也就是主板上的一块ROM存储芯片,像网卡,显卡也有自己的ROM装有自己的BIOS。
BIOS中存储硬件设备的一些信息,完成对设备的基本输入输出功能。
其他的一些芯片如主板上的RAM,内存条的RAM,显存的RAM或ROM,网卡ROM等等........就多了去了。
不过总的说来,这些存储器芯片共同特点:都和cpu总线相连,cpu对他们读写都是通过那三大总线去操作。
scybzdk
发表于 2012-11-17 13:28
发现图书作者就是mik版主,作为cuer,这贴得支持,得顶上去!
pmerofc
发表于 2012-11-17 17:47
captivated
发表于 2012-11-17 20:27
回复 51# lenky0401
感谢斑竹提供的链接。
hansion3406
发表于 2012-11-19 00:42
希望大家发表自己的看法!我先赞成一下
pitonas
发表于 2012-11-20 09:48
只有经过全方位的测试才是最为真实可靠的:mrgreen:,关键是工作中用不上。
xike2002
发表于 2012-11-20 11:05
回复 12# mik
前两章试读章节已经完全读完,感触颇深,它不同于大学时候学习的那些所谓的教材,简单概括的介绍一下就行了,而是写的很详细而且很注重细节内容,希望能够有机会品读本书的其它章节内容,期望作者能够出更多的技术类图书,供广大开发者学习和参考。非常感谢!
帅绝人寰
发表于 2012-11-20 13:14
superwiles 发表于 2012-11-16 22:35 static/image/common/back.gif
回复 47# amarant
、
不是从Pentium 4开始的,是从P6开始的。
Pentium 4是产品,其microarch是NetBurst
P6是microarch,其第一款产品是Pentium Pro -- 从这就开始了uops。
页:
1
2
3
4
5
[6]
7
8
9
10
11
12