加密算法
REDUCED INSTRUCTION SET COMPUTERS Studies of the execution behavior of high-level language programs have provided guidance in designing a new type of processor architecture:the reduced instruction set computer(RISC).Assignment statements predominate,suggesting that the simple movement of data should be optimized.There are also many IF and LOOP instructions,which suggest that the underlying sequence control mechanism needs to be optimized to permit efficient pipelining.Studies of operand reference patterns suggest that it should be possible to enhance performance by keeping a moderate number of operands in registers. These studies have motivated the key characteristics of RISC machines:(1)a limited instruction set with a fixed format.(2)a large number of registers or the use of a compiler that optimizes register usage,and(3)an emphasis on optimizing the instruction pipeline. The simple instruction set of a RISC lends itself to efficient pipelining because there are fewer and more predictable operations performed per instruction.[1] A RISC instruction set architecture also lends itself to the delayed branch technique,in which branch instructions are rearranged with other instructions to improve pipeline efficiency. Although RISC systems have been defined and designed in a variety of ways by different groups,the key elements shared by most designs are these: .A large number of general-purpose registers,or the use of compiler technology to optimize register usage .A limited and simple instruction set .An emphasis on optimizing the instruction pipeline Table 2-1 compares several RISC and non-RISC systems. 1.Instruction Execution Characteristics To understand the line of reasoning of the RISC advocates,we begin with a brief review of instruction execution characteristics.The aspects of computation of interest are as follows: • Operations performed:These determine the functions to be performed by the processor and its interaction with memory. • Operands used:The types of operands and the frequency of their use determine the memory organization for storing them and the addressing modes for accessing them. • Execution sequencing:This determines the control and pipeline organization. 2.The Use of A Large Register File [2] The reason that register storage is indicated is that it is the fastest available storage device,faster than both main memory and cache.The register file is physically small,generally on the same chip as the ALU and control unit,and employs much shorter addresses than addresses for cache and memory.Thus,a strategy is needed that will allow the most frequently accessed operands to be kept in registers and to minimize register-memory operations. Two basic approaches are possible,one based on software and the other on hardware.The software approach is to rely on the compiler to maximize register usage.The compiler will attempt to allocate registers to those variables that will be used the most in a given time period.This approach requires the use of sophisticated programanalysis algorithms.The hardware approach is simply to use more registers so that more variables can be held in registers for longer periods of time. 3.Characteristics of Reduced Instruction Set Architectures Although a variety of different approaches to reduced instruction set architecture have been taken,certain characteristics are common to all of them.These characteristics are listed in Table 2.1 and described here. The first characteristic listed in Table 2.1 is that there is one machine instruction per machine cycle.A machine cycle is defined to be the time it takes to fetch two operands from registers,perform an ALU operation,and store the result in a register.Thus,RISC machine instructions should be no more complicated than,and execute about as fast as,microinxtructions on CISC machines.[3] With simple,one –cycle instructions,there is little or no need for microcode;the machine instructions can be hardwired[4].Such instructions should execute faster than comparable machine instructions on other machines,since it is not necessary to access a microprogram control store during instruction execution. A second characteristic is that most operations should be register-to-register,with only simple LOAD and STORE operations accessing memory.This design feature simplifies the instruction set and therefore the control unit.For example,a RISC instruction set may include only one or two ADD instructions(e. g. ,integer add,add with carry);the VAX has 25 different ADD instructions.Another benefit is that such an architecture encourages the optimization of register use,so that frequently accessed operands remain in high-speed storage. Returning to Table 2-1,a third characteristic is the use of simple addressing modes.Almost all instructions use simple register addressing.Several additional modes,such as displacement and PC-relative,may be included.Other,more complex modes can be synthesized in software from the simple ones.Again,this design feature simplifies the instruction set and the control unit. A final common characteristic is the use of simple instruction formats.Generally,only one or a few formats are used.Instruction length is fixed and aligned on word boundaries.Field locations,especially the opcode,are fixed.This design feature has a number of benefits.With fixed fields,opcode decoding and register operand accessing can occur simultaneously.Simplified formats simplify the control unit.Instruction fetching is optimized since word-length units are fetched.This also means that a single instruction does not cross page boundaries. NOTES [1] lend itself to适合于… [2] register file寄存器组,作为数据或指令的临时存放处的一种多位寄存器组,有时称作栈。 [3] 此句为比较结构no more... than…,中间插入并列句将被比较对象隔开了。 [4] hardwired硬连线的,即机器指令是固化在硬件(芯片)上的。 KEYWORDS instruction set 指令系统,指令集 reduced instruction set computer(RISC) 精简指令系统计算机 pipeline 流水线 operand 操作数 register 寄存器 compiler 编译器,编译程序 branch instruction 转移指令,分支指令 Complex Instruction Set Computer(CISC) 复杂指令系统计算机 superscalar 超级标量 register file 寄存器组,栈 machine cycle 机器周期 microinstruction 微指令 microcode 微代码,微指令 nncroprogram 微程序 addressing 编址,寻址 精简指令系统计算机(RISC) 对高级语言程序执行性能的研究已经为设计新型处理器体系结构-一精简指令系统计算机提供了指南。赋值语句占据的优势表明应对单纯的数据传送进行优化。还有很多IF和LOOP指令存在,需要优化基本的顺序控制机构,以使流水线作业高效率。操作数引用模式的研究表明,在多个寄存器中保存适当数量的操作数,可以提高性能。 这些研究已经形成了RISC机的一些关键特性:(1)有限的固定格式的指令集;(2)使用大量的寄存器或使用编译器优化寄存器应用;(3)重点优化指令流水线。 因为每条指令完成少数的且多为可预测的操作,RISC的简单指令系统适合高效流水线作业。RISC指令系统体系结构也适合于延迟转移技术,在这种技术中,随同其他指令重新安排转移指令以提高流水线效率。 虽然RISC系统已经由不同的(企业)集团以各种方式进行了定义和设计,但大多数设计所提出的关键元素还是共同的。 用大量的通用寄存器(或使用编译器技术)来优化寄存器的使用; 有限的简单指令系统; 重点优化指令流水线作业。 表2-1比较了几种RISC和非RISC系统。 1.指令执行特性 为了解RISC倡导者们的推理思路,首先观察一下指令执行的一些特性。所要关心的计算特性如下所述。 所完成的操作:这些操作决定了处理器要完成的功能和处理器与存储器的交互 所用的操作数:操作数的类型和使用频度决定了存储操作数的存储机制和访问这些操作数的编址方式。 执行顺序:决定了控制和流水线的机制 2.大寄存器组的应用 使用寄存器存储的理由在于它是可用的最快的存储器件,比主存储器和高速缓存都快。寄存器组实际很小,通常与算术逻辑部件和控制器放在同一芯片上,而且使用比高速缓存和内存储器短很多的地址。因而需要一种允许最频繁访问的操作数保存在寄存器中并使寄存器-存储器操作降至最少的策略。 有两种可以采用的基本方法,一种基于软件,一种基于硬件。软件方法靠编译程序最大限度使用寄存器,编译程序力图将给定时间周期内最常用的那些变量分配到这些寄存器中。这一方法要求使用复杂的程序分析算法。硬件方法就是简单地使用更多的寄存器,使更多的变量保存在寄存器中供长时间使用。 3.精简指令系统体系结构的特性 尽管精简指令系统结构的可用方法有多种,但对它们而言有一些特性是共同的。这些特性列在表2-1中,下面进行解释。 表2-1中列出的第一个特性是每个机器周期有一条机器指令。一个机器周期定义为,机器从寄存器组中取出两个操作数,完成一种算术逻辑部件运算并将结果存入一个寄存器中所用的时间。RISC机器指令应该不比CISC机上的微指令复杂,并且执行起来也很快。因为简单,单周期指令仅需少量或不需要微代码;机器指令可以是硬连线的。这样指令执行起来比其他机器的类似机器指令要快,因为在指令执行期间它不必访问微程序控制存储器。 第二个特性是,大多数操作应该是寄存器对寄存器的,仅有简单的取(LOAD)和存(STORE)操作访问存储器。这种设计特点简化了指令系统,因而也简化了控制器。例如,一个RISC指令系统可以只包括一两种加法(ADD)指令〔例如整数加,进位加〕;VAX机则有25种不同的加法指令。另一好处是这种体系结构促进了对寄存器使用的优化,使得频繁访问的操作数保存在高速存储器中。 从表2-1还可看出第三个特性是采用简单的编址方式。几乎所有指令都采用简单的寄存器编址。几种附加的方式,如移位和与PC有关的方式可以包括进去。另外,更为复杂的方式可以用简单的方式在软件中合成。再次强调,这种设计特点简化了指令系统和控制器。 最后一个共同特性是采用简单的指令格式。一般来讲,只使用了一种或少数几种格式。指令长度是固定的并按字的边界调整。字段的位置,特别是操作码的位置是固定的。这种设计有很多优点,使用固定字段,操作码译码和寄存器操作数访问可同时进行。简化的格式简化了控制器;因为是按字长单位来读取的,所以,取指令也得到优化。这也表明一条指令不会跨页。
吃生鱼片的猫
《如何学习计算机英语》 随着时代的不断发展,计算机已经渗透到人们的工作与生活中的方方面面,而计算机英语也随之成为一门专业英语,成为一门独立的学科分支,并在计算机应用中扮演着重要的角色——人机之间交流的语言工具。特别是当计算机技术与网络技术的结合,人类进入信息时代,计算机技术也在以前所未有的速度发展,人们接触到的计算机英语词汇在不断增加,这也迫切地要求我们不仅要学好计算机,更要学好这门与计算机沟通的语言工具——计算机英语。 计算机英语将计算机与英语结合为一体。我们都知道,英语已经成为一种国际性的语言,这是一个不用争辩的事实,而它在国际上作为通用的计算机及IT的行业性用语,也有着其它语言所不能替代的地位。无论是学习最新的计算机技术,还是使用最新的计算机软硬件产品,都离不开对计算机英语的熟练掌握。目前国内许多院校,为了适应这种需求,已经或正在积极开设计算机英语课程,不仅把它作为计算机专业的必修课,还将其作为一门实用的选修课推广到其它专业。 万事开头难。对于刚刚接触计算机英语的人来说,的确有些困难,英语尚且让有些人头痛了,更何况加上“专业”的头衔,更让很多人望而生畏了,但学好计算机英语,对于每个学习计算机知识的人来说是十分重要的,因此我们应该克服畏惧心理,一步步地了解并掌握这门专业语言。 首先我们必须了解计算机英语的特点。要突破这一学科,关键在于词汇。具备一定的词汇量,对于提高阅读能力和水平都有一定的帮助。这里要谈的是如何摸清计算机英语中词汇的特色。 为了更好地识记计算机英语中的词汇,有必要对其作词汇形成的分析,寻找规律。对于计算机英语的词汇,有一个最显著的特点,即专用词不是很多,更多的词汇都来源于我们平时的日常英语词汇中。因此,这对于有一定英语基础的人来说,学习计算机英语其实并不是很困难的事。 从某种意义上说,学习计算机英语词汇应该不是“记忆”,而是“转义”的问题。大部分单词都是熟悉的,只需要在学习过程中把它们与专业知识相联系即可。 我们可以称这类单词为“转义词” ,称这种记忆方法为“转义法”。给普通的英语单词加以计算机科学的含义,于是旧词有了新释义。被赋上了新义的词汇由于拼写不变,只是扩充了词义,所以方便人们标识,使用也容易。而且这类词汇在计算机英语中占的比例比较大。例如: mouse (老鼠)——鼠标;memory (记忆)——内存; bus (公共汽车)——总线;driver (驾驶员)——驱动程序; display (陈列)——显示器;enter (进入)——回车;key (钥匙)——按键。像这类的词还有很多,举不胜数。 在单词的学习中,另一个要点便是了解词汇的构词法。在科技英语中有些词是派生而形成的,不过很多也是来源于大家熟悉的日常用语加以合成或裁合而成的。我们可以称这样的词为“合成词”与“裁合词”。 所谓合成词,即将现在的两个单词一成不变地合成到一起,成为计算机英语的合成词,类似这种组合的单词有:down (下来)+load (装载)=download (下载)hard (硬的)+ware (陶器)=hardware (硬件)key (钥匙)+board (板)=keyboard (键盘)pass (通过)+word (单词)=password (密码) 所谓裁合词,则是另一种构词方式,对两个词汇中的一个或两个进行裁剪,取舍其首部或尾部,再连接而产生新的单词,像这样的单词有:e-mail (电子邮件)==electronic (电子)+mail (邮件)取electronic的首字母与mail结合而形成新词,类似以“e”开头的单词都可以称为裁合词,如:e-book(电子书);e-school(网上学校);e-library(电子图书馆)。Netizen(网民)==network(网络)+citizen(公民) 像“netizen”就是分别对两个单词进行裁减,再组成新单词。Modem(调制解调器)==modulator(调制器)+demodulator(解调器)像这个俗称为“猫”的modem也是由两个单词裁合而成的。类似合成词与裁合词这样的词,一般都可以望文生义。掌握了它的特征也就大大降低了学习单词的难度了。 在计算机英语单词中还有一个特色,便是缩略词比较多。缩略词,即取词组中每个词的第一个字母来组合,代表这个词组而构成新词,这种词经常用于网络与一些硬件方面的词汇。如:IT(信息技术)==Information TechnologyWWW(万维网)==World Wide WebISP(因特网服务提供者)==Internet Service ProviderCPU(中央处理器)==Central Processing UnitPC(个人计算机)==Personal ComputerLCD(液晶显示器)==Liquid Crystal Display有了这样的缩略词,对单词的记忆就方便多了。 其实学习计算机英语与其他言语学科一样,是离不开平时的阅读与积累的。经常接触计算机的人,在使用英文版软件,阅读英文版说明书,查看原版资料的同时,也是在对计算机英语进行学习。你会在无意识中已经了解了大量的专业词汇与术语。那么,在阅读计算机英语文章时,便会发现很多熟悉的单词与句式,如果碰到一些生疏的单词和用法,也可以根据上下文大致推断出其释义。计算机技术发展如此之快,称得上是日新月异了,更快、更新的技术还会陆续大量出现。所以在对计算机英语的学习上,保持对原版计算机资料的阅读同样是非常重要的。而且在阅读中,你会发现在计算机英语中的句式与语法都相对比较简单,为了满足技术人员快节奏阅读和交流的习惯,人们往往更喜欢采用简单句的形式来表达意思,计算机英语中的句子与语法要求都不会像日常英语中那么严格。也就是说,在计算机英语中,只要能正确理解了句子中单词含义,对句子的整体理解也就不会太成问题。 计算机英语这门学科把当今最热门的两种学科“计算机”与“英语”相结合,如果你能好好地掌握学习这两门学科并加以结合,就等于拥有两样法宝在身上了。如果你是个电脑高手,那么已经为学习计算机英语提供了很好的条件。同样,即使你只懂得英语,也已经为学习计算机英语提供了很好的基础。总之,学习计算机英语并不是件难事,难的是有没有学习的决心与信心,方法是否对头。 学习方法和技巧。虽然作为计算机英语相对于普通英语,在学习单词和语法时更容易,但学习时也应多加重视,掌握技巧。 在单词的学习中,学习构词法是掌握计算机英语词汇的关键之一。在科技英语中派生词很多,例如较常用的由动词派生的名词短语等。只有既具备丰富的计算机知识,又精通英语中的构词法知识,才能根据上、下文的意思,很快地猜出文章中生词的含义,从而提高阅读的速度和水平。 语法方面,虽然在计算机英语中多用简单句,但这也只是相对而言,一些复杂的长句子在文章中也会时有出现。学习时,应该注意多积累翻译这种复杂句子的经验。另外,对一些科技英语的常见句式(比如被动语态、同位语从句等),平时也应多加留意。注意积累一些对这些常见句式的翻译技巧,是十分必要的。 另外,对于熟悉计算机知识的朋友来说,在对计算机英语的学习方面,你比只懂英语的人存在一个更明显的优势:对计算机专业知识的了解。 经常接触计算机的人,在使用英文版软件、阅读英文版说明书、查看原版资料的同时,也是在对计算机英语进行学习。你会有意无意摄取到大量的计算机专业词汇、术语。在阅读计算机英语文章时,你会发现很多熟悉的单词和句式。当然,偶尔遇到一些生疏的单词和用法,也可以根据经验推断出大意。相反地,如果只是对日常英语比较熟悉,对计算机知识却一窍不通,那么在学习理解起计算机方面的文章时,会因为不能将单词进行准确地“转义”,翻译理解起来必将十分困难,常常是面对着没有生词的简单句,却不知所云。因此这些同学不要因为自己英语水平好而对计算机英语掉以轻心,应该多补充自己在计算机专业知识方面的不足。 利用好教材和资料。最后,要学好计算机英语,还应该注意选择好教材,并进行大量阅读和练习。 计算机英语的教材选文一般都是具有很强的代表性的英文原版文献。它涉及了计算机的技术基础、系统和应用等各个方面内容,涵盖面极广。一般说来,一本优秀的教材,在内容上应该做到取材新颖、技术前卫。学习者在学完了全部内容之后,就应该对计算机各方面的技术理论、常见的专用术语的含义、本学科领域的文献体裁和风格有一个大体了解。但计算机技术发展如此之快,称得上是日新月异。很快地,更新的技术用语还会陆续大量出现。所以在对计算机英语的学习上,保持对原版计算机资料的阅读习惯也是十分重要的。 当然坚信一条古老的英语谚语:No pains,No gains!只要付出汗水就一定会有所收获的。
优质英语培训问答知识库