Chapter 12 CPU Structure and Function

  1. It is unlikely that the more stages in the pipeline, the faster the execution rate:
    • At each stage, there are some overhead involved in moving data from buffer to buffer and in performing various preparation and delivery function.
    • The more stages, the more complex control logic circuits.
  2. Processer organization
    • Steps: need ALU, CU, registers
      • Fetch instructions
      • Interpret instructions
      • Fetch data
      • Process data
      • Write data
  3. Register organization
    • The registers in the CPU serve two functions:
      • User-visible registers
        • Programmer can use these registers to reduce accessing main memory
        • Categories:
          • General purpose
            • True general purpose
            • Restricted
            • Used for data or addressing
          • Data
            • Accumulator
          • Address
            • Segment pointers, index registers, stack pointers
          • Condition codes
            • Bits set by CPU hardware as the result of the last operations
              • COAPZS
                • positive, negative, zero, overflow ...
              • Can be read implicitly by programs
              • Usually cannot be set by programs
              • Partially visible to programmers
        • Design issues:
          • Make them general purpose
            • Pro: Increasing flexibility and programmer options
            • Cons: Increasing instruction size and complexity
          • Make them specialized
            • Pros: Smaller instructions
            • Cons: Less flexibility
      • Control and status registers
        • Used by CU and privileged program(OS) to control the execution of users' program
        • Four sorts for instruction execution
          • PC
          • IR
          • MAR: connected to address bus
          • MBR: connected to data bus
  4. Instruction cycle
    • Indirect addressing cycle
      • May require memory access to fetch operands
      • Indirect addressing requires more memory accesses
    • Data flow(Instruction fetch)
      • Fetch:
        • PC contains address of next instruction
        • Address moved to MAR
        • Address placed on address bus
        • Control unit requests memory read
        • Result placed on data bus, copied to MBR, then to IR
        • Meanwhile PC incremented by "1"
    • Data flow(Indirect fetch)
      • If indirect addressing is perfromed, indirect cycle is performed
        • Right most N bits of MBR transferred to MAR
        • Control unit requests memory read
        • Result (address of operand) moved to MBR
        • MBR→IR
    • Data flow(Execute)
      • Depends on how instruction being executed
      • May include
        • Memory read/write
        • Input/Output
        • Register transfer
        • ALU operations
    • Data flow(Interrupt)
      • Current PC saved to allow resumption after interrupt
        • Content of PC copied into MBR
      • Special memory location loaded into MAR
      • PC loaded with address of interrupt handling routine
  5. Instruction pipelining ----> improve performance
    • Pre-fetch: can fetch next instruction during decoding and execution of current instruction
    • An instruction has a number of stages: nearly equal duration
      • Fetch instruction
      • Decode instruction
      • Calculate operands address
      • Fetch operands
      • Execute instructions
      • Write operands
    • Specifications
      • Assuming that there is no conflicts and dependencies
      • If are not of equal duration, short stages must wait
      • Condition branch and interrupt will reduce the performance of pipeline
    • Pipeline performance
  6. Dealing with branches
    • Multiple Streams
      • Have two pipelines
      • Pre-fetch each branch into a separate pipeline
      • Limits
        • Leads to bus & register contention
        • Multiple branches lead to further pipelines being needed
    • Pre-fetch Branch Target
      • Target of branch is pre-fetched in addtion to instructions following branch
      • Keep target until branch is executed
    • Loop buffer
      • A small, very fast memory containing n most recently fetched in sequence instructions 
      • If a branch is to be taken, the hardware first checks buffer before fetching from memory
      • Good for small loops
    • Branch prediction
      • Predict never taken: always fetch next instruction
      • Predict always taken: always fetch target instruction
      • Predict by Opcode: can get up to 75% success
      • Taken/Not taken switch: based on previous history
      • Branch history table/Branch target buffer
    • Delayed branching
      • Insert NULL operations
      • Rearrange instructions
        • Out-of-order execution
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]: 信号的类型取决于独立变量的性质和定义信号的函数的值。引用\[2\]: 信息提取的方法取决于信号的类型和所携带信息的性质。引用\[3\]: STL为在反应式系统中指定和推理信号的时间属性提供了一个强大而表达力强的框架。它能够进行形式化分析和验证,有助于可靠和正确系统的设计和开发。 回答: 信号的结构和解释是指对信号进行分析和理解的过程。在信号处理中,信号可以是各种类型的,取决于独立变量的性质和定义信号的函数的值。不同类型的信号可以携带不同类型的信息,因此提取信息的方法也会有所不同,这取决于信号的类型和所携带信息的性质。在反应式系统中,STL提供了一个强大而表达力强的框架,用于指定和推理信号的时间属性。这使得我们能够进行形式化分析和验证,从而帮助设计和开发可靠和正确的系统。因此,结构和解释信号是一个重要的过程,它有助于我们理解和利用信号的特性和信息。 #### 引用[.reference_title] - *1* *2* [Chapter1:Signals and Signal Processing](https://blog.csdn.net/Xiao_Jie123/article/details/114310113)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Signal Temporal Logic (STL)](https://blog.csdn.net/qingmuluoyang/article/details/130828003)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值