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 ...
随机推荐
- http://www.roncoo.com/course/view/a09d8badbce04bd380f56034f8e68be0
http://www.roncoo.com/course/view/a09d8badbce04bd380f56034f8e68be0
- jQuery自定义滚动条样式插件mCustomScrollbar
如果你构建一个很有特色和创意的网页,那么肯定希望定义网页中的滚动条样式,这方面的 jQuery 插件比较不错的,有两个:jScrollPane 和 mCustomScrollbar. 关于 jScro ...
- 【BZOJ】2879: [Noi2012]美食节
题意 \(m\)个厨师,\(n\)种菜,每种菜需要做\(p_i\)份,每个厨师做第\(i\)种菜用时\(t_{i, j}\).一个厨师做完一道菜才能做下一道.每份菜的时间是这个厨师做完这道菜的用时加上 ...
- BZOJ4176: Lucas的数论
Description 去年的Lucas非常喜欢数论题,但是一年以后的Lucas却不那么喜欢了. 在整理以前的试题时,发现了这样一道题目“求Sigma(f(i)),其中1<=i<=N”,其 ...
- BestCoder Round #77
T1 xiaoxin juju needs help 计算组合数然后多重集排列乱搞,注意判无解情况(TM我就判错然后FST了). #include<cstdio> #include< ...
- MySQL实用技巧
自增Id重新计数 TRUNCATE TABLE 表名 获取最后插入数据的ID SELECT LAST_INSERT_ID(); 使用"id1,id2,id3"当参数 FIN ...
- iOS 9之适配ATS(转载)
iOS 9系统已经出来了,而网络方面的ATS(App Transport Security)特性可以说每个人都要经历.而我这篇博客,就是结合我最近几天的经历,来谈谈从服务器到iOS客户端对ATS的适配 ...
- 20145330《Java程序设计》课程总结
20145330第八周<Java学习笔记> 每周读书笔记汇总 第一周学习总结 第二周学习总结 第三周学习总结 第四周学习总结 第五周学习总结 第六周学习总结 第七周学习总结 第八周学习总结 ...
- 再说memcache的multiget hole(无底洞)
关键词:multiget hole,memcache 适用于:java,php 基础知识背景: 1)multiget 是什么: multiget 指的是从 memcache(或其他分布式缓存) ...
- 常用SQL语句(工作)
1. 经销商 按店铺交易量汇总 ) from bp_shop_info i left join ( select t.shop_id,sum(t.shop_cost) as summary from ...