《计算机组织与设计硬件/软件接口》的原文摘录

  • Civilization advances by extending the number of important operations which we can perform without thinking about them. Alfred North Whitehead, An Introduction to Mathematics, 1911 (查看原文)
    大夜 1赞 2013-07-01 10:07:15
    —— 引自第2页
  • While programmers could ignore the advice and rely on computer architects, compiler writers, and silicon engineers to make their programs run faster without change, that era is over. ... While the goal of many researchers is to make it possible for programmers to be unaware of the underlying parallel nature of the hardware they are programming, it will take many years to realize this vision. (查看原文)
    knightfaith 1回复 2012-05-05 23:23:32
    —— 引自章节:Preface
  • Servers also place a greater emphasis on dependability, since a crash is usually more costly than it would be on a single-user desktop computer. ... Despite their low cost, embedded computers often have lower tolerance for failure, since the results can vary from upsetting to devastating. (查看原文)
    knightfaith 2012-05-06 19:40:11
    —— 引自章节:Chapter 1 Computer Abstraction
  • How are programs written in a high-level language translated into the language of the hardware, and how does the hardware execute the resulting program? (查看原文)
    knightfaith 2012-05-06 19:40:11
    —— 引自章节:Chapter 1 Computer Abstraction
  • To Linda, who has been, is, and always will be the love of my life (查看原文)
    大夜 2013-07-01 09:59:24
    —— 引自章节:Blank Pages
  • The most beautiful thing we can experience is the mysterious. It is the source of all true art and science. Albert Einstein, What I Believe, 1930 (查看原文)
    大夜 2013-07-01 10:02:42
    —— 引自章节:Preface
  • 如果运输业的发展速度也像计算器工业那样快,那么今天我们从纽约到伦敦的旅行时间只需1秒钟,花费只有几美分。 (查看原文)
    银河 2013-11-25 10:14:35
    —— 引自第1页
  • 下面是这段 C 代码对应的 MIPS 指令,假设所有的变量都在存储器中,且以 $st0 为基址进行寻址 (查看原文)
    银河 1回复 2014-02-19 10:48:29
    —— 引自第208页
  • 为了避免名称上的冗长,称之为多核微处理器而不是多处理器微处理器(multicore microprocessor)。 (查看原文)
    银河 2014-02-27 10:24:38
    —— 引自第395页
  • The most important functions of operating systems are: 1. Handling basic input and output operations 2. Allocating storage and memory 3. Providing for protected sharing of the computer among multiple applications using it simultaneously (查看原文)
    [已注销] 2017-02-13 21:32:27
    —— 引自第30页
  • Elaboration: One optimization that works with this example is procedure inlining. Instead of passing arguments in parameters and invoking the code with a BL instruction, the compiler would copy the code from the body of the swap procedure where the call to Swap appears in the code. Inlining would avoid four instructions in this example. The downside of the inlining optimization is that the compiled code would be bigger if the inlined procedure is called from several locations. Such a code expansion might tum into lower performance if it increased the cache miss rate; see Chapter 5. (查看原文)
    7086 2021-10-01 20:57:25
    —— 引自第149页
  • When adding operands with different signs , overflow cannot occur. (查看原文)
    7086 2022-01-06 09:59:50
    —— 引自第217页
  • Overflow occurs in subtraction when we subtract a negative number from a positive number and get a negative result, or when we subtract a positive number from a negative number and get a positive result. This means a borrow occurred from the sign bit. (查看原文)
    7086 2022-01-06 09:59:50
    —— 引自第218页
  • By partitioning the carry chains within a 64-bit adder, a processor could perform simultaneous operations on short vectors of eight 8-bit operands, four I6-bit operands, or two 32-bit operands. The cost of such partitioned adder was small. These extensions have been called vector or SIMD, for single instructio multiple data(see Section 2.17 and Chapter 7). (查看原文)
    7086 2022-01-06 09:59:50
    —— 引自第218页
  • As we said above, the MIPS instruction set was designed to be pipelined, making it fairly easy for designers to avoid structural hazards when designing a pipeline. Suppose, however, that we had a single memory instead of two memories. If the pipeline in Figure 4.27 had a fourth instruction, we would see that in the same dock cycle the first instruction is accessing data from memory while the fourth instruction is fetching an instruction from that same memory. Without two memories, our pipeline could have a structural hazard. (查看原文)
    7086 2022-01-10 15:33:59
    —— 引自第322页
  • The equivalent decision task in a computer is the branch instruction. Notice that we must begin fetching the instruction following the branch on the very next clock cycle. Nevertheless, the pipeline cannot possibly know what the next instruction should be, since it only just recerved the branch instruction from memory! Just as with laundry, one possible solution is to stall immediately after we fetch a brand, waiting until the pipeline determines the outcome of the branch and knows what instruction address to fetch from. (查看原文)
    7086 2022-01-10 15:55:16
    —— 引自第326页
  • One popular approach to dynamic prediction of branches is keeping a history for each branch as taken or untaken, and then using the recent past behavior to predict the future. As we will see later, the amount and type of history kept have become extensive, with the result being that dynamic branch predictors can correctly predict branches with more than 90% accuracy(see Section 4.8). When the guess is wrong, the pipeline control must ensure that the instructions following the wrongly guessed branch have no effect and must restart the pipeline from the proper branch address. (查看原文)
    7086 2022-01-10 16:16:05
    —— 引自第328页
  • For example, as Figure 4.34 shows, the instruction memory is used during only one of the five stages of an instruction, allowing it to be shared by following instructions during the other four stages. To retain the value of an individual instruction for its other four stages, the value read from instruction memory must be saved in a register. Similar arguments apply to every pipeline stage, so we must place registers wherever there are dividing lines between stages in Figure 4.33. Returning to our laundry analogy, we might have a basket between each pair of stages to hold the clothes for the next step. (查看原文)
    7086 2022-01-11 19:20:36
    —— 引自第333页
  • DRAM:动态随机访问存储器,集成电路形式的存储器,可随机访问任何地址的存储内客。访问时间大约为50ns,在2012年时每gigabyte售价5~10美元。 cache:一种小而快的存储器,一般作为大而慢的存储器的缓存。cache使用SRAM。 SRAM:静态随机访问存储器,集成电路形式的存储器比DRAM速度更快,集成度更低。 随机访问代表访问数据的效率是O(1) (查看原文)
    偏扁豆 2024-10-27 14:16:57
    —— 引自章节:1.3 程序表象之下 8
  • 1.2.1 计算机设计者面临的一个永恒的问题就是摩尔定律(Moore'sLaw)。摩尔定律指出,集成电路上可容纳的晶体管数每18~24个月翻一番。摩尔定律是Intel公司创始人之一GordonMooe在1965年对集成电路集成度做出的预测。由于计算机设计通常需要几年时间,因此项目结束时芯片的集成度较之项目开始时,很容易翻一番甚至翻两番。像双向飞碟射击运动员一样,计算机体系结构设计师应当预测设计完成时的工艺和技术水平,而不是设计开始时的工艺。 计算机架构师和程序员都需要开发能够提高效率的技术,否则设计周期会像资源规模随 1。2。2 使用抽象简化设计摩尔定律增长一样延长。提高硬件和软件开发效率的主要技术之一是使用轴象(abstraction)来表征不同级别的设计。从而,低层将细节隐藏起来,呈现给高层的只是一个简化的模型。 加速大概率事件(common case fast)远比优化小概率事件更能提高性能。大概率事件通 1。2。3 加速大概率事件常比小概率事件简单,因而更易于对其进行优化以提高性能。加速大概率事件意味着设计者需要知道哪些事件是经常发生的,这要经过仔细的实验与测量过程(见1。6节)。 1。2。4 通过并行提高性能 从计算诞生开始,计算机架构师就给出了通过并行执行操作来提高性能的设计方案。在本书中将会看到许多群行(parallel)的例子。 12。5通过流水线提高性能 在计算机体系结构中,有一种并行技术非常普遍,这种技术有一个特殊的名字:流水线(pipelining)。例如,许多西部电影中有这样的场景,在消防车出现之前,人们用“水桶队列”来灭火一 小镇居民们一个接一个排成长队,接力将水桶快速从水源传至火场,而不是让每个人来回奔跑运水灭火。 12。6通过预测提高性能 遵循谚语“求人准许不如求人... (查看原文)
    偏扁豆 2024-10-27 13:48:05
    —— 引自章节:1.2 计算机体系结构中的8个伟大思想 6
<前页 1 2 后页>