INSTRUCTION EXECUTION CHARACTERISTICS
Characteristics of Some CISCs, RISCs, and Superscalar Processors
One of the most visible forms of evolution associated with computers is that of pro-
gramming languages. As the cost of hardware has dropped, the relative cost of soft-
ware has risen. Along with that, a chronic shortage of programmers has driven up
software costs in absolute terms. Thus, the major cost in the life cycle of a system is
software, not hardware. Adding to the cost, and to the inconvenience, is the element
of unreliability: it is common for programs, both system and application, to continue
to exhibit new bugs after years of operation.
The response from researchers and industry has been to develop ever more
powerful and complex high-level programming languages. These high-level lan-
guages (HLLs): (1) allow the programmer to express algorithms more concisely,
(2) allow the compiler to take care of details that are not important in the program-
mer’s expression of algorithms, and (3) often support naturally the use of structured
programming and/or object-oriented design.
Alas, this solution gave rise to a perceived problem, known as the semantic
gap, the difference between the operations provided in HLLs and those provided
in computer architecture. Symptoms of this gap are alleged to include execution
inefficiency, excessive machine program size, and compiler complexity. Designers
responded with architectures intended to close this gap. Key features include large
instruction sets, dozens of addressing modes, and various HLL statements imple-
mented in hardware. An example of the latter is the CASE machine instruction on
the VAX. Such complex instruction sets are intended to
• Ease the task of the compiler writer.
• Improve execution efficiency, because complex sequences of operations can
be implemented in microcode.
• Provide support for even more complex and sophisticated HLLs.
Meanwhile, a number of studies have been done over the years to determine
the characteristics and patterns of execution of machine instructions generated
from HLL programs. The results of these studies inspired some researchers to look
for a different approach: namely, to make the architecture that supports the HLL
simpler, rather than more complex.
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 deter-
mine the memory organization for storing them and the addressing modes for
accessing them.
• Execution sequencing: This determines the control and pipeline organization.
In the remainder of this section, we summarize the results of a number of
studies of high-level-language programs. All of the results are based on dynamic
measurements. That is, measurements are collected by executing the program and
counting the number of times some feature has appeared or a particular property
has held true. In contrast, static measurements merely perform these counts on the
source text of a program. They give no useful information on performance, because
they are not weighted relative to the number of times each statement is executed.
INSTRUCTION EXECUTION CHARACTERISTICS的更多相关文章
- Next Instruction Access Intent Instruction
Executing a Next Instruction Access Intent instruction by a computer. The processor obtains an acces ...
- Adaptively handling remote atomic execution based upon contention prediction
In one embodiment, a method includes receiving an instruction for decoding in a processor core and d ...
- Method and apparatus for transitioning between instruction sets in a processor
A data processor (104) is described. The data processor (104) is capable of decoding and executing a ...
- smaller programs should improve performance
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION In this section, we l ...
- Notes of Principles of Parallel Programming - TODO
0.1 TopicNotes of Lin C., Snyder L.. Principles of Parallel Programming. Beijing: China Machine Pres ...
- Low-overhead enhancement of reliability of journaled file system using solid state storage and de-duplication
A mechanism is provided in a data processing system for reliable asynchronous solid-state device bas ...
- Optimizing subroutine calls based on architecture level of called subroutine
A technique is provided for generating stubs. A processing circuit receives a call to a called funct ...
- Speculative store buffer
A speculative store buffer is speculatively updated in response to speculative store memory operatio ...
- A multiprocessing system including an apparatus for optimizing spin-lock operations
A multiprocessing system having a plurality of processing nodes interconnected by an interconnect ne ...
随机推荐
- three.js正交投影照相机
照相机又分为正交投影照相机与透视投影照相机 举个简单的例子来说明正交投影与透视投影照相机的区别.使用透视投影照相机获得的结果是类似人眼在真实世界中看到的有"近大远小"的效果(如下图 ...
- memcache/redis 缓存学习笔记
0.redis和memcache的区别 a.redis可以存储除了string之外的对象,如list,hash等 b.服务器宕机以后,redis会把内存的数据持久化到磁盘上,而memcache则不会 ...
- SQL SERVER获取数据库中所有表名 XTYPE类型
SELECT (case when a.colorder=1 then d.name else null end) 表名, a.colorder 字段序号,a.name 字段名, (case whe ...
- Fault Tolerance —— Storm的故障容错性
——本文讲解了Storm故障容忍性(Fault-Tolerance)的设计细节:当Worker.节点.Nimbus或者Supervisor出现故障时是如何实现故障容忍性,以及Nimbus是否存在单点 ...
- Android自动化测试框架
1.Monkeyrunner:优点:操作最为简单,可以录制测试脚本,可视化操作:缺点:主要生成坐标的自动化操作,移植性不强,功能最为局限: 2.Rubotium:主要针对某一个APK进行自动化测 ...
- 洛谷 P1012 拼数 Label:续命模拟QAQ
题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4 ...
- 20161003 NOIP 模拟赛 T2 解题报告
Weed duyege的电脑上面已经长草了,经过辨认上面有金坷垃的痕迹. 为了查出真相,duyege 准备修好电脑之后再进行一次金坷垃的模拟实验. 电脑上面有若干层金坷垃,每次只能在上面撒上一层高度为 ...
- 【BZOJ】2924: [Poi1998]Flat broken lines
题意 平面上有\(n\)个点,如果两个点的线段与\(x\)轴的角在\([-45^{\circ}, 45^{\circ}]\),则两个点可以连线.求最少的折线(折线由线段首尾相连)使得覆盖所有点. 分析 ...
- HDU 4778 Gems Fight!(DP)
题目链接 当我放弃的时候过了.sb啊,卡常数!!! 换了好几个姿势,本来没写预处理,预处理+俩剪枝,尼玛就过了.. #include <stdio.h> #include <stri ...
- Android --RatingBar的使用
1.效果图