• 计算机组成原理(一)


    计算机组成原理

    第一章 计算机系统概述

    1.1 计算机基本概念

    1. 计算机按照指令和数据流的分类:
      (1)单指令单数据流:SISD,传统冯诺依曼体系
      (2)单指令多数据流:SIMD,
      (3)多指令单数据流:这种计算机实际上不存在
      (3)多指令多数据流:MIMD,

    2. 软硬件逻辑上等效:
      如果一个功能,既能用软件实现,又能用硬件实现,则称其为软硬件逻辑等效

    3. 高级语言-类自然语言 -> 虚拟机器M4
      汇编语言-符号语言 -> 虚拟机器M3
      ----------------------------------
      操作系统 - 虚拟机M2
      (一开始计算机并没有设计这一层,后来为了把每次编程都需要用到的文件管理,内存管理等抽取出来而形成)
      ----------------------------------
      机器语言-二进制 -> 实际机器M1
      微指令系统 -> 微程序机器M0
      【注】一条机器指令就是一条微程序,这条微程序是由多条微指令构成的,每个微指令发送一个微命令进行一个微操作让计算机前行。

    4. 计算机硬件基本组成:冯诺依曼机器
      (1)运算器,控制器,存储器,输入输出设备
      (2)采用存储程序的方式执行,数据用二进制形式表示
      (3)指令由操作码和地址码组成
      (4)指令在存储器中按照执行顺序存放,由PC致命要执行的指令的存储单元。一般为按顺序递增
      (5)冯诺依曼机以运算器为核心,而现代机器以存储器为核心(总线结构能看出来)

    5. CPU:运算器ALU+控制器CU
      主机:CPU+主存
      硬件:外存
      IO设备:输入输出设备

    1.2 冯诺依曼结构中的5大部件

    1. 运算器
      运算器的长度x表明,一次最多可以对2个x位的数据进行操作

    2. 存储器
      (1)存储器由多个小房间组成,一个小房间存储8bit数据,也就是1byte
      (2)(2^{10})差生一个单位递进
      (3)MAR:存储地址的寄存器
               MDR:存储数据的寄存器
      (4)MAR的位数和MDR的位数可以算出整个主存的大小。
      MAR的位数给出了主存中有几个小房间,而MDR的位数给出了每个小房间的大小是多少。eg:MAR10位,MDR8位,则主存总共(2^10 * 8bit) 3. 控制器
      (1)任务:按照一定顺序逐条取指令,对指令译码,然后执行指令的操作
      (2)控制器在一个取值周期到来后从内存读取信息流(指令流),流向执行器
      (3)执行器再周期的从内存中读取信息流(数据流),流向运算器

    3. 计算机的全过程
      (1)输入程序和数据
      (2)程序首地址放到pc
      (3)启动应用程序
      (4)把PC寄存器的值放到MAR寄存器中
      (5)按照MAR的地址从主存取得数据放到MDR
      (6)此时取得的数据是指令,所以再把MDR的数据放到IR(指令寄存器)
      (7)分析指令OP(IR):分解开操作数和操作码,把IR的操作码放到CU(控制码)
      (9)执行指令:把IR的操作数(需要操作的数的地址)部分拿出来放到mar,按照mar的地址去主存取数放到MDR,再把MDR的数据放到ACC(ALU中的累加器)
      (10)最后执行PC+1放到PC
      (11)打印结果
      (12)卸载程序

    1.3 计算机性能指标

    1. 机器字长:参与运算的数据的基本位数。也是加法器,寄存器的位数
    2. 数据总线一次传输的数据位数称作数据同路的宽度
    3. 吞吐量:指的是系统在单位时间内处理的请求数量
    4. 响应时间:系统对请求做出响应的时间=CPU时间+等待时间
      1)CPU时间为运行程序所花的时间
      2)等待时间:用于磁盘访问,存储器访问,IO操作,操作系统的开销时间
    5. CPU主频又称时间频率,表示数字脉冲信号振荡的频率。单位是时钟周期/s
    6. 主频的倒数就是时钟周期
    7. CPI是每条指令执行时所需的时钟周期数。CPI往往使一个平局数,使用概率论算出来的概率和
    8. IPC是每个时钟周期执行的指令数,和CPI成倒数关系
  • 相关阅读:
    What is the difference between google tag manager and google analytics?
    GetService<IMessageBoxService>() returned null.
    Using Google Consent Mode to Adjust Tag Behavior Based on Consent
    what are the values in _ga cookie?
    DEP019 System table or view is deprecated
    How to set the Google Analytics cookie only after another consent cookie is set and "true"?
    Tag Manager and gtag.js
    Using the OptanonWrapper Callback Function
    elk7.15.1版本收集nginx日志并用kibana图形化分析日志
    ELK分析Nginx日志和可视化展示
  • 原文地址:https://www.cnblogs.com/72808ljup/p/5847723.html
Copyright © 2020-2023  润新知