zoukankan      html  css  js  c++  java
  • 组成原理(一)计算机系统概述

    第一章 计算机系统概述

    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成倒数关系
  • 相关阅读:
    Talend open studio数据导入、导出、同步Mysql、oracle、sqlserver简单案例
    Mysql彻底卸载
    .net图片快速去底(去除白色背景)
    .net图片自动裁剪白边函数案例
    .net图片裁剪抠图之性能优化
    .net图片压缩
    .net微软消息队列(msmq)简单案例
    SVM手撕公式
    算法效率分析
    模型稳定性
  • 原文地址:https://www.cnblogs.com/moonlord/p/5937970.html
Copyright © 2011-2022 走看看