AS400内幕第二版中 第一章.docx

上传人:b****2 文档编号:2143349 上传时间:2022-10-27 格式:DOCX 页数:15 大小:34.69KB
下载 相关 举报
AS400内幕第二版中 第一章.docx_第1页
第1页 / 共15页
AS400内幕第二版中 第一章.docx_第2页
第2页 / 共15页
AS400内幕第二版中 第一章.docx_第3页
第3页 / 共15页
AS400内幕第二版中 第一章.docx_第4页
第4页 / 共15页
AS400内幕第二版中 第一章.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

AS400内幕第二版中 第一章.docx

《AS400内幕第二版中 第一章.docx》由会员分享,可在线阅读,更多相关《AS400内幕第二版中 第一章.docx(15页珍藏版)》请在冰豆网上搜索。

AS400内幕第二版中 第一章.docx

AS400内幕第二版中第一章

AS400内幕第二版

第一章

先进的应用架构

在购买商业计算机时,最重要的的考虑是计算机系统的能力和相应的保护客户投资的能力.现代的商业可以紧跟市场迅速的变化,新技术的引进,如INTERNET,已经促使许多的商业活动改变他们实施业务的途径.唯一能确定的是不断的变化.我们周围的技术以令人吃惊的速度在发展变化。

商业活动需要在随着变化而来的瓦解中保护自己,与此同时能找到方式配合这些变化加强商业本身.

经过许多年,AS400的用户已经听说了AS400的先进架构,他们也听说了,这是最灵活的体系结构,新的技术可以融合进系统,而不用担心新技术对他们和现有商业的影响.用户们不必改变他们的应用程序就可以使用新技术,他们常常不理解或不关心系统怎样运行,只要系统能运行就可以了.

近来,AS/400的体系结构又一次成为焦点,AS/400是世界上第一个也是唯一的完成了向64位运算转换的系统,新模式融合了称为精简指令组计算(RISC)的处理器结构,相应的,在早先的AS/400里的处理器,是和其他大众化的处理器一样比如是PentiumII和INTELPENTIUMPRO,被叫做复杂指令组计算(CISC).

RISC处理器比CISC处理器通常有更简单的指令.这意味着很快速的处理器可以在合理的成本下建造.最新的RISC处理器是64位设计的,挑战不是来自设计和建造硬件,对计算机工业的挑战是怎样使现有的软件能利用新硬件设计的优点.AS/400是唯一的能满足这个挑战的系统,所有的AS/400应用是全64位的,没有哪个不是的.

当其他的计算机制造商从CISC转移到RISC时,他们造成了在客户和写应用程序的软件开发商的混乱,某些应用程序或部分应用程序必须重写才能迁移到新的硬件上.这时候就发生了,比如当HP介绍他们的精确体系结构(PA)和DEC介绍他们的Alpha体系结构.

为了评估种混乱的数量,考虑DIGTAL向RISC的转移.DIGTAL估计已装机的基数下向ALPHA迁移,造成15%到20%的旧VAX体系结构的应用要重写,对用户或ISV来说,大量的应用重写的代价是昂贵的.

相反,在系统的用户和ISV们迁移到新64位RISC处理器时,AS/400的技术独立性体系结构保护了他们.已存在的应用软件能马上运用新硬件的全部功能,为了明白这是可能的,需要看看AS/400的先进应用体系结构和其他体系结构有怎样的不同

一世纪,一个罗马建筑,VITRUVIUS,定义了设计有用,力量的能量的结构的艺术,一般地说,建筑的设计和计算机的设计很多相同之处,

同时代的建筑结构得益于老的经典的结构,甚至最未来的设计也来源于过去.埃及的金字塔和希腊的圆住,罗马的拱门,罗马广场的圆顶和哥特尖角拱门都为我们今天最新的结构提供了基础.在计算机的历史上,古代仅仅从几十年前开始,作为计算机体系建构的设计,发生在今天最具动感的和激动人的事来源于经典的发现和教训.

AS/400的体系结构是基于1/4个世纪前的一个模式的发展.由于灵活的设计作为开始,AS/400能快速动态的适应现代的目标和需要.有了技术独立的体系结构,AS/400很多年来,有着某些特性,而其他计算机系统没有达到的.

程序员的观点

在1970年,Husson这样定义了计算机体系结构,”系统的属性能被程序员看到”.体系结构包括了指令集,数据类型,输入/输出操作,和其他计算机特性,有时我们分开他们,讨论指令集结构和I/O结构.整体的结构包括一个程序员需要知道的使程序正常运行的所有的事

在硬件的方面,一个计算机有五个主要模块,输入,输出,存储器,数据路径,和控制.最后的两个模块是通常合并的,被称为处理器.计算机体系结构定义了这些模块执行哪些操作.处理器从存储器得到指令和数据,输入引见写数据到存储器,输出硬件从存储器中读取数据,控制硬件提供信号协调数据路径,存储器,输入,输出的操作.

处理器有时叫做CPU,中央处理单元.CPU的名字今天很少使用了,因为现代的硬件技术使我们包装所有的处理器做为单个半导芯片,一个处理器在芯片上通常叫微处理器.许多人交换的使用CPU,处理器,和微处理的名字.我们应该记住不是所有的处理器都在一个芯片里,一个处理器也许需要多个芯片完成.

如果两个计算机可以执行相同的指令集,他们被叫做有相同指令集的体系结构.这就是,通常的,已给出的体系结构多个完成形态,比如,Intelx86体系结构被用于PC,家庭的处理器芯片,这些处理器运用了不同的技术而且他们运算速度不同.重要的地方是运用了不同的技术,而他们不是体系结构的一部分.

抽象的层次

大部分现代计算机系统有包含几个层次的硬件软件结构。

较低层次的细节被隐藏了,只在高层次上提供了简单的模型。

抽象的原则是软硬件设计人员的处理复杂计算机的方法,在最底层,电子线路,一个计算机是很简单的,电子线路仅仅理解两个命令:

开和关。

我们用于这些命令的符号是数字1和0;我们和机器通过这个层次的1和0进行交流,一个指令是二进制数字的集合,或比特的集合,他们是计算机能理解的。

一个指令仅仅是二进制的或。

我们称计算机为数字计算机,是因为机器语言的指令和数据都使用数字。

在早期,程序员和计算机使用二进制数字交流。

这样效率不高,于是叫做汇编语言的抽象高级语言,被发明了。

汇编语言是相对于计算机二进制机器语言的符号。

一个装配器是一个把符号指令转化成二进制形式的程序。

汇编级的编程对大多数程序员不是自然的符号,于是更高级的抽象,称为高级编程语言诞生了。

今天有数百种高级语言了。

较有名的有Basic,C,C++,Cobol,和RPG。

解释高级编程语言并把它转换成装配语言的程序叫编译器。

配语言级的映射。

装配器把装配语言转化成处理器能理解的二进制机器语言,另外,有些编译器直接生成二进制机器语言,消除了装配层。

在执行前,编译器和装配器把HLL程序转化成机器语言指令,这是一个操作,除非程序被改变了,重复这些步骤是不需要重新运行程序的,而且,使用这些层次的原因是隐藏二进制机器语言的细节,提供一个简单,高产品化的接口。

微程序设计是执行的技术,在微程序设计的程序里,低层指令集被用于完成二进制机器语言。

相对于使用编译器高级对低级的映射,微程序使用仿真。

机器指令按照低层指令顺序在同一时间被获取和执行,不要求分离的编译步骤转化机器指令成为可接受的微程序形式。

仿真是和大家熟悉的解释的软件技术相似的。

这里,一个解释器程序,同时接受指令并执行一系列的低层指令。

一些新的HLL使用了网络计算,比如JAVA,是被设计易于解释。

许多的计算机命令语言也是交互的被执行,在PC机的DOS屏幕上,打入“dir”,你会看到在你PC上的目录里的内容。

在你按了ENTER键后,在DOS里的解释器读取你打入的命令,而且在计算机里执行一系列需要完成你的命令的指令。

大多数操作系统有这样的命令解释器,在微程序处理的机器里,加入了特殊的硬件用来帮助解释处理。

微程序处理被叫做仿真器以区别有硬件协助的解释。

计算机系统的指令集体系通常是在硬件和低层软件接口的灵魂,在Husson定义计算机体系的年代,大部分的程序没有用HLL,在今天一个更好的计算机结构定义也许是“能被编译器看见系统属性的”,因为太少程序员处理二进指机器语言程序。

在多个层次里,考虑计算机的多个体系结构更准确,尽管二进制指令集体系在很多计算机里仍然扮演重要的角色。

当人们谈到计算机运行令一台计算机毫无变化的程序的能力的时候,他们常常说第一台能执行第二台的二进制码。

他们的意思是,不需要重新编译,程序就能被迁移。

一台计算机的二进制机器语言包含了另外一台的。

软件设计

在计算机系统里,通常有两种软件,系统软件和应用软件。

操作系统,装配器和编译器是系统软件的例子。

另一方面,应用软件面向最终拥护的系统,常常适用与特别的业务。

在过去,常有争论,系统程序员和应用程序员之间谁需要存取最低层体系。

这种存取通常在装配器里完成。

对这个争论有很多的原因,对大部分程序,早先很少的内存

许多人认为装配级的设计是过去的纪念品,不再使用了;但事实不是如此。

今天使用中的许多操作系统还合并了许多装配代码。

对60年代或70年代的早期操作系统是这样,新的操作系统也是如此。

PC的操作系统是个好的例子。

微软的Windows95是用INTEL的汇编语言写的。

早期的PC处理器只有有限的资源。

存储的最大的空间是64K。

一千字节是210或1024个字节,一个字节有8个比特在存储器里字符或数字时。

存储器很昂贵以致操作系统只能用4K,运用汇编语言使程序员在最小的空间里编码。

于是许多的操作系统是汇编写的,即使由于降低了技术成本,存储空间增大了,回头重写原来的代码也是不实际的。

使用汇编优化代码的大小和性能,但它至少有个主要缺点:

所有的程序直接存取硬件。

对硬件的任何改变都要重写所有或部分的程序。

为了解释这一点,假设一个计算机有8个寄存器。

一个寄存器,是处理妻数据路径的一部分,在处理器使用时,寄存器是临时保存数据和地址的地方,是高速存储区域。

寄存器通常是用来提高程序的性能。

假定未来每个寄存器是16位,而且程序员按意愿可以装载或存储寄存器,这些寄存器的存在和他们的特点在汇编程序员显示无遗,那么,每个汇编写的程序将知道每个寄存器,而且依赖他们。

让我们假定硬件技术的优点使阔展寄存器的空间是可能的,有16个32位的寄存器和当初的8个小的寄存器花的代价是一样的。

问题是,“在为原来的计算机写的程序中什么是存在的问题?

”答案依赖于我们做了怎样的改变,原有的体系为扩展有怎样好的计划。

假设原有的体系预计到16个寄存器的改变,在指令里为16位寄存器保留了足够的空间,尽管最初只实现了8个寄存器。

在每个指令使用寄存器时需要4位的栏位,因为在4位里16个1和0的组合。

旧的程序可以不做改变的在新硬件上运行。

注意旧的程序仍然仅使用8个寄存器。

新的程序可以完全使用16个寄存器。

现在相反,假定旧的体系没有预计改变,没有留空间给未来的扩展。

在不做使用寄存器的的指令的改变时,新的体系不能增加寄存器的个数,没有任何程序的改变情况下,在3位的栏位的指令到4位延伸是不可能的。

在众多的不能增加用户寄存器数量的体系中,有一个是INTEL的PENTIUMPRO。

他的体系是和INTEL386处理器的寄存器的数量一样的,尽管PentiumPro的好处是有更多的的寄存器,重写现有的汇编级的软件来利用新的寄存器,这样的代价是很大的。

把寄存器的大小从16阔展到32位怎么样呢?

通常,增加大小带来的影响少于改变寄存器的数量的影响。

如果大小怎加的话,旧日程序仍然可以运行,但是他们在新的寄存器中只能用到32位中的16位。

而且,绑定在程序逻辑中的信息是很难改变的。

今天有无数的程序在运行,但他们不能完全利用硬件的资源。

Intel的386处理器在1985年发布时是32位的设计,意味着他的硬件寄存器是32位的。

从那时起,所有X86的处理器,包括486,PentiumII,和ProtiumPro,都是32位的设计,但是大部分的PC软件运行在新的处理器上的知识16位的软件。

原先的程序和操作系统是一次写的,那时只有16位的286是可以用的。

甚至新的Windows995也是16位的汇编代码写的,重写这个PC应用和系统软件来利用32位的硬件,这个努力已有12年了,这个转变仍然不够完全。

这个问题不限于PC工业,硬件技术已经进步到所有新的处理器是64位了,为了利用更大的硬件,今天的窳惰的32位操作系统和32位的应用软件必须重写,而且,花费很多年。

在我用过的例子里,硬件的改变是处理器的寄存器的数量和大小,记住,当处理妻的地址结构发生改变时或指令集本身改变时,相类似的影响在汇编级的软件中也会发生。

在前面的段落中描述的硬件变化时,在HLL中编码的意图是减小软件的影响。

不幸的是,写系统软件的趋势是用如C或C++,用C帮助了系统软件的可移植性,因为C可以在很多的硬件平台上跑,但是这没有减少在硬件变化时的困

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1