《See MIPS Run》–第一章 RISC与MIPS

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享

第一章 RISCs与MIPS

MIPS是高效精简指令集计算机(RISC)体系结构中最优雅的一种;即使连MIPS的竞争对手也这样认为,这可以从MIPS对于后来研制的新型体系结构比如DEC的Alpha和HP的Precision产生的强烈影响看出来。虽然自身的优雅设计并不能保证在充满竞争的市场上长盛不衰,但是MIPS微处理器却经常能在处理器的每个技术发展阶段保持速度最快的同时保持设计的简洁。
相对的简洁对于MIPS来说是一种商业需要,MIPS起源于一个学术研究项目,该项目的设计小组连同几个半导体厂商合伙人希望能制造出芯片并拿到市场上去卖。结果是该结构得到了工业领域内最大范围的具有影响力的制造商们的支持。从生产专用集成电路核心(ASIC Cores)的厂家(LSI Logic,Toshiba, Philips, NEC)到生产低成本CPU的厂家(NEC, Toshiba,和IDT),从低端64位处理器生产厂家(IDT, NKK, NEC)到高端64位处理器生产厂家(NEC, Toshiba和IDT).
低端的CPU物理面积只有1.5平方毫米(在SOC系统里面肉眼很难找到).而高端的R10000处理器,第一次投放市场时可能是世界上最快的CPU,它的物理面积几乎有1平方英寸,发热近30瓦特.虽然MIPS看起来没什么优势,但是足够的销售量使其能健康发展:1997年面市的44M的MIPS CPU,绝大多数使用于嵌入式应用领域.

阅读全文»

(2个打分, 平均:5.00 / 5)

迎接云计算的浪潮

【编者按:】

现在,IT界都在谈云计算。貌似非常深奥。其实,从计算机科学的角度而言,云计算并无新意,只是社会和产业界对分布式计算就绪了而已。当然,这个就绪和普及确实会巨大的影响整个社会。云计算,简单而言,就是一个分布式计算和并行计算系统或网格计算系统等。而这个系统是一个连接在互联网上的。云计算的普及要解决的主要问题是高性能,可扩展性,安全性和协调工作的无缝性等。《弯曲评论》(www.tektalk.cn)在今后会对这个领域密切注意,并将最新的动态介绍给读者。下文是笔者从维基百科中摘抄的一篇关于云计算的科普文章。

云计算,Cloud computing。基于互联网的超级计算模式。即把存储于个人电脑、移动电话和其他设备上的大量信息和处理器资源集中在一起,协同工作。云计算

它是一种新兴的共享基础架构的方法,可以将巨大的系统池连接在一起以提供各种IT服务。很多因素推动了对这类环境的需求,其中包括连接设备、实时数据流、SOA的采用以及搜索、开放协作、社会网络和移动商务等这样的Web 2.0应用的急剧增长。 另外,数字元器件性能的提升也使IT环境的规模大幅度提高,从而进一步加强了对一个由统一的云进行管理的需求。

 云理论是实现概念的定性值与数字的定量值之间自然转换的有力工具.本文在云理论的基础上,提出了实现概念计算(也叫简化计算)的云计算方法.概述了云模型与不确定推理;给出了计算的逻辑描述,将计算过程抽象成为推理过程;运用机器学习的方法,给出了计算云化的过程,并且采用不确定推理的方法,给出了云的计算过程;简单阐述了云化计算的系统实现.

兴起

云计算是一种全新的商业模式,其核心部分依然是数据中心,它使用的硬件设备主要是成千上万的工业标准服务器,它们由英特尔或AMD生产的处理器以及其他硬件厂商的产品组成。企业和个人用户通过高速互联网得到计算能力,从而避免了大量的硬件投资。云计算

简而言之,云计算将使未来的互联网变成超级计算的乐土。“云计算的基本原理是,通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将更与互联网相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。”在11月中旬的上海IBM创新论坛上,IBM高性能随需解决方案团队副总裁Willy Chiu对记者解释说。

这可是一种革命性的举措,打个比方,这就好比是从古老的单台发电机模式转向了电厂集中供电的模式。它意味着计算能力也可以作为一种商品进行流通,就像煤气、水电一样,取用方便,费用低廉。最大的不同在于,它是通过互联网进行传输的。

这场技术竞赛吸引了众多参赛者。包括Sun、IBM、微软、Google、亚马逊等信息业巨头都已经循迹而来。“云计算正在兴起。”微软超级计算机研究员Dan Reed也说,“推动云计算兴起的动力是高速互联网连接的发展、更加廉价且功能强劲的芯片以及硬盘、数据中心的发展。”

互联网企业是这方面的先行者,Google的搜索引擎可以视为云计算的早期产品。用户的搜索请求经过互联网发送到Google的大型服务器集群上,完成之后再返回用户桌面。Amazon.com最近向开发者开放了名为“弹性计算机云”的服务,它可以让小软件公司按照自己的需要购买Amazon数据中心的处理能力。

IT巨头从中窥到了更大的商机。2006年,Sun公司推出了基于云计算理论的“黑盒子”计划。按照它的规划,将来的数据中心将不会局限于拥挤、闷热的机房中,而是一个个可移动的集装箱—它装载的是10吨经过合理安置的服务器,作为一个可移动的数据中心。它既可以为拥有上万名雇员的大型公司服务,也能为中小企业提供支持。至于这种数据中心的最佳安放位置,有人推荐是郊外的田野上,最好是发电站附近,这样可以实现成本最低化。

蓝色巨人IBM对此也投下了重注,并为此命名为“蓝云”计划。不久前,IBM和Google达成了一项合作,两家公司将各自出资2000万~2500万美元,为从事计算机科学研究的教授和学生提供所需的电脑软硬件和相关服务。IBM负责系统和技术团队的高级副总裁Willian M.Zeilter表示:“对我来说,这种感觉就像2000年面对Linux。”目前,该公司已经部署了200多名研发人员在这项业务的研究上。

“从某种意义上说,云计算是网格计算模型自然而然的进一步发展。”IDC分析师Frank Gens认为。那么,究竟谁能够在这场围绕云计算的竞赛中获胜呢?

谁是主宰者?

截至目前,Sun公司已经雄赳赳地冲在了前面。这家计算机巨头的“黑盒子”计划已经进入了发售阶段,而大部分竞争对手的相关服务则依然在酝酿当中。“我们进展顺利,再加上与客户进行的充分沟通,我们知道我们有望成功。”Sun公司CEO舒瓦茨·乔纳森在个人博客中写道。云计算

微软的优势也显而易见,全世界有数以亿计的Windows用户,微软所要做的就是将这些用户通过互联网更紧密地连接起来,并向他们提供云计算服务—通过Windwos Live。“当你想到存储,就会想到Windows Live。”这是比尔·盖茨在今年夏天说的话,微软正在创造这样一种用户体验,即从一般的设备存储转移到任何时间都可以存储的模式,其目的很明显,就是在互联网战略上同Google平起平坐。

不过,短时间内Google的地位依然不可撼动,其开放式的平台体现了云计算模式的精髓。Google的云计算服务所需要的绝大部分基础软件都是开源的,这意味着用户可以自由的得到那些代码并修改。“Google的编程模式以及它真正的开放性很关键,普通人也可以编写应用程序,而不必非得是斯坦福或者卡耐基梅隆大学的博士。”IDC分析师Frank Gens说。

对IBM来说,这也是扩张自身领地的绝佳机会。IBM具有发展云计算业务的一切有利因素:应用服务器、存储、管理软件、中间件等等,因此IBM自然不会放过这样一个成名机会。Willy Chiu透露,“云计算将是IBM接下来的一个重点业务。”

Google和IBM的合作则颇具互补效应。两家公司正试图将各自的技术进行融合,IBM熟谙企业级计算机的运行之道,而Google悉知大流量数据传输和高速网路链接的不二法门—两家公司的联手有望创造出重大成就。IBM公司CEO塞缪尔·帕米萨诺开玩笑地把这个项目形容为Google年轻工程师与IBM“胖老头儿”的绝妙拍档。Forrester Research分析师阿德利安称,云计算编程技术将成为基准的下一代计算机编程结构,IBM想捷足先登以抢占制高点,这正好可以利用Google的网络优势。

谁能真正成为云计算的代言人其实并不重要,重要的是,有了这一系列IT巨头作为后盾,毫无疑问,云计算已经拥有了一个光明的前景。云计算的蓝图已经呼之欲出:在未来,只需要一台笔记本或者一个iPhone,就可以通过网络服务来实现我们需要的一切,甚至包括超级计算这样的任务。从这个角度而言,最终用户才是云计算的真正拥有者。
  阅读全文»

(5个打分, 平均:4.20 / 5)

《See MIPS Run》–序言

序言

这本书是关于MIPS处理器的。MIPS处理器是八十年代中期RISC CPU设计的一大热点。MIPS是卖的最好的RISC CPU,可以从任何地方,如Sony, Nintendo的游戏机,Cisco的路由器和SGI超级计算机,看见MIPS产品在销售。目前随着RISC体系结构遭到x86芯片的竞争,MIPS有可能是起初RISC CPU设计中唯一的一个在本世纪盈利的。

RISC是一个很有用的简写,并不仅仅是一个市场广告用词。RISC概括了在80年代出现的,采用流水线结构设计的一系列计算机体系结构的许多共同的特徵。CISC这个术语就有点不清晰,它指的是所有非RISC的技术或芯片。在本书中,CISC指的是非RISC的68000,x86和其他一些1982年以前的通过微代码技术的体系结构。

这本书是写给程序员的。这也是我们考虑书中应该包括什么的准则–是否程序员会接触到一个问题,或是否会对一个问题感兴趣。这意味着我们不会在这里讨论已经折磨了两代硬件工程师的MIPS奇怪的系统接口。操作系统可能已经将我们在这里将要讨论的许多细节隐含了起来;许多优秀的程序员认为C语言在层次上已经足够低了,与具体的体系结构不相关性因此具有极好的可移植性。但是在有些时候你确实需要具体的细节,并且人对事物是如何工作的总是充满了好奇的。

当描述一些软件工程师可能不是很熟悉的部分的时候,特别是CPU的内部工作细节,我们将通过非正式的方式讲述。但当遇到程序员曾经遇到过的问题时,如寄存器,指令和数据如何在内存中保存,我们将会非常简洁地和技术性地解释。

阅读全文»

(1个打分, 平均:3.00 / 5)

《See MIPS Run》–译者的话

译者的话

《See MIPS Run》是一本关于MIPS体系结构的经典书籍,为广大的MIPS工程科研人员所必读。为了配合中国科学院计算所研发的基于MIPS指令集的龙芯CPU,考虑到中国在MIPS和相关软件方面开发经验的缺乏,2002年笔者与计算所的张福新博士等发起了翻译See MIPS Run一书的倡议,并得到了来自 中国Linux论坛和  AKA信息技术组织等许多朋友的赞同和帮助。并在2003年7月完成了第一稿并发布在笔者创办的非盈利网站www.xtrj.org上,链接为《See MIPS Run》中文版。这是2003年笔者为翻译书籍完成后写的“译者的话”。

系统软件与硬件技术是不可分的. 了解和掌握一种典型的CPU技术细节才能使得对系统软件技术的理解更加深刻.

随着MIPS CPU及相关技术在中国的普及, 我们在学习的同时,将这本著名的关于MIPS CPU的书”See MIPS Run”翻译出来作为非营利性质的学习与教学使用和参考. 希望能对在此相关领域的同仁有所帮助.

我们深知, 由於自己的理论和经验的不足, 我们的工作必定会有许多不精确或错误之处. 希望读者能及时给我们指出. 我们定将及时的改进.

谢谢,

全体译者

7/18/2003

这次笔者将全书做整理校订,并发布在《弯曲评论》(www.tektalk.cn)。希望对中国系统软件开发人员,嵌入式系统开发人员能有所帮助。这也就是笔者和诸位译者当年的心愿了。

陈怀临,2008年5月3日

(5个打分, 平均:4.60 / 5)

《PowerPC and Linux Kernel Inside》在线下载

前言:
《PowerPC and Linux Kernel Inside》一书编著于2002年并发布在www.xtrj.org网站上。起笔的原因是当时整个工业界,出版界和Linux社区没有任何关于Linux在PowerPC CPU实现方面的分析,笔者基于Linux 2.4.2代码对Linux Bootloader和Kernel在IBM PPC405和6xx/750等CPU上的芯片相关实现部分进行了阅读,分析和加注。在编著本书的同时,笔者也将相关的PowerPC的规约部分综合整理于此,如PowerPC的EABI等等,目的是提供给PowerPC相关的程序员一个尽可能完整的关于PowerPC的视野。现整理发表于《弯曲评论》。

PowerPC是一个CPU的规约,不同的厂商,如IBM, FreeScale等都有自己相应的实现和低,中和高端CPU产品系列。这些芯片,除了遵守PowerPC的基本规约外,都有一些厂商自己的扩展。因此,PowerPC方面的操作系统程序员在工作中一定要细心的阅读来自厂商的芯片规约。如果阅读Linux底层代码,许多关于芯片的宏定义和代码逻辑跳转其实就是为了解决这些芯片之间细微差别的。

对于没有接触过PowerPC的读者,笔者建议不要直接进入Linux/PPC的实现细节研究,而是应该从理解PowerPC的基本规约,通用寄存器约定,控制寄存器约定,MMU和缓存逻辑等方面有一个初步了解着手。

笔者在编著本书的时候,鉴于整个业界都没有这方便的数据,采用了英文的写作。

鉴于笔者在操作系统和CPU方面的知识和经验还很肤浅,本书一定会有错误和纰漏之处,希望读者见谅并指出。也非常希望读者能与笔者联系,技术交流。

 (在线下载:《PowerPC and Linux Kernel Inside》
 

(9个打分, 平均:4.56 / 5)

《Linux 核 心》(The Linux Kernel)(下)

 

第8章 设备驱动程序
第9章 文件系统
第10章 网 络
第11章 核心机制
第12章 模块
第13章 Linux 源代码结构
第14章 Linux数据结构
第15章 Alpha AXP 处理器
第16其他Web和下载站点
第17 GNU
第18章 术语表

(在线下载:《Linux 核 心》(The Linux Kernel)(下)

(3个打分, 平均:5.00 / 5)

《Linux 核 心》(The Linux Kernel)(中)

第4章  进程     第5章 进程间通信机制

第6章 PCI体系结构    第7章 中断与中断处理

(在线下载: 《Linux 核 心》(The Linux Kernel)(中)

(2个打分, 平均:5.00 / 5)

《Linux 核 心》(The Linux Kernel)(上)

          

译者的话:
历尽半年多,《Linux 核心》终于和大家见面了.作为译者,心中非常高兴。 基于Linux 核心2.0.33, 本书介绍了Linux核心是如何工作的。它不是一本关于核心的手册, 而是描述了Linux核心中使用的原理,机制和Linux为什么使用这些原理和机制。希望本书 能给读者带来些益处。
编译本书的过程中,我们没有局限于原作者的内容,加入了一些译者自己的理解。由于 我们的专业和英语水平有限,疏漏之处在所难免。敬请读者谅解并望指出。
本书版权属于GPL性质。故读者可以在非赢利的目的下随便拷贝和传播。
谢谢,

译者全体敬上,12/1/1999
【注1:】

当笔者整理修订这本经典的“The Linux Kernel”一书的中文版时,才意识到时光距当年动笔翻译已是九年之遥。希望这本书籍能对Linux核心的初学者有所帮助,也不辜负夜灯下的字里行间,各位译者曾经的科技报国之心。

【注2:】

关于其他译者:

胡宁宁,毕业于美国卡内基梅隆大学计算机系,博士,现任职于美国Google Inc.
毕昕,  毕业于美国普渡大学计算机系, 获硕士学位,现供职于美国GTE公司。
仲盛,  毕业于美国耶鲁大学计算机系, 博士,现为美国纽约大学水牛城分校计算机系助理教授。
赵振平,毕业于南京大学计算机系,硕士。目前去向不祥。
周笑波,毕业于南京大学计算机系,博士,现为美国科罗拉多大学Colorado Springs 分校计算机系助理教授。
李群,毕业于美国达特茅斯大学计算机系,博士,现为美国The College of William & Mary大学计算机系助理教授。

(在线下载:Linux 核心(上)

(2个打分, 平均:5.00 / 5)

MIPS CPU 体系结构概述,Linux/MIPS内核(下)

第二部分 Linux/MIPS核心剖析
1.硬件知识
* CPU 手册: http://www.mips.com
* 主板资料:相应的厂商.
* 背景知识:如PCI协议,中断概念等.
2.软件资源
* http://oss.sgi.com/linux , ftp://oss.sgi.com
* http://www.mips.com
* mailing lists:
linux-mips@oss.sgi.com
debian-mips@oss.sgi.com
3. 经典书籍:
* “Mips R4000 Microprocessor User’s Manual”,by Joe Heinrich
* “See Mips Run”,by Dominic Sweetman
* “See Mips Run”(中文版)www.xtrj.org/smr.htm
* Jun Sun’s mips porting guide: http://linux.junsun.net/porting-howto/
* 交叉编译指南: http://www.ltc.com/~brad/mips/mips-cross-toolchain.html
* Debian Mips port: http://www.debian.org/ports/mips
* 系统计算研究所网站: http://www.xtrj.org

(在线下载:MIPS CPU 体系结构概述,Linux/MIPS内核(下)

(1个打分, 平均:5.00 / 5)

MIPS CPU 体系结构概述,Linux/MIPS内核(上)

前言
2002年,科学院计算所推出基于MIPS指令集的龙芯CPU。为了推广MIPS技术在中国的普及,笔者与计算所龙芯研发组的张福新博士撰写了一系列的关于MIPS的技术文章,并被笔者整理发表于笔者的非营利性网站www.xtrj.org 上。
六年过去,时光匆匆。笔者这次将其修订并发表于《弯曲评论》以饷读者。希望对读者有所帮助。

第一部分 MIPS CPU 体系结构概述

1. MIPS概述

本文介绍MIPS体系结构,着重于其寄存器约定,MMU及存储管理,异常和中断处理等等。

通过本文,希望能提供一个基本的轮廓概念给对MIPS CPU及之上操作系统有兴趣的读者,并能开始阅读更详细的归约(SPECIFICATION)资料。

(在线PDF文件下载:MIPS CPU 体系结构概述,Linux/MIPS内核(上)

(7个打分, 平均:4.00 / 5)