CPU运行笔记

CPU缓存

CPU cache line

  • 多核CPU中L1 L2 cache是独立的,L3是共享的
  • L1 Cache 通常会分为「数据缓存」和「指令缓存」
  • CPU 访问 L1 Cache 只需要 24 个时钟周期,访问 L2 Cache 大约 1020 个时钟周期,访问 L3 Cache 大约 2060 个时钟周期,而访问内存速度大概在 200300 个 时钟周期之间。
  • cache line是数据读写的基本单元
  • cache line由tag和data block组成
  • 一个内存的访问地址,包括组标记、CPU Line 索引、偏移量这三种信息,于是 CPU 就能通过这些信息,在 CPU Cache 中找到缓存的数据。而对于 CPU Cache 里的数据结构,则是由索引 + 有效位 + 组标记 + 数据块组成。

计算机组成原理:6、高速缓冲存储器

概述

为何使用Cache

  • CPU速度太快了
  • 解决CPU空等问题,但是需要保证的是大多数的数据和指令都在cache中。
程序访问局部性原理
  • 时间局部性:当前正在使用的指令和数据,在不久的将来还会被使用。那么这些数据和指令需要放到cache。
  • 空间局部性:当前正在使用的指令或者数据的相邻的指令或者数据在不久的将来会被使用,那么把当前使用的和相邻的数据和指令放到cache。

计算机组成原理:5、主存储器

一、概述

1、基本构成

主存构成

  • 结合上图总结一下之前的数据读取的操作
    • CPU在第一个时钟周期时通过地址总线发出要取数据的地址,这个地址是指的存储单元的地址。
    • MAR收到后,经过译码器得到指定的存储单元。
    • CPU在第二个时钟周期时通过控制总线讲读指令发送到主存储器
    • 控制电路根据信令来操作读写电路
    • 将之前得到主存储器地址中的数据写入MDR
    • 通过数据总线讲MDR中的数据送入到IR或者ACC

计算机组成原理:4、存储器概述

分类

  • 按照介质

  • 按照存取方式

    • 存取时间与物理地址无关(随机访问)
      • 随机存储器(RAM): 在程序执行过程中可以读写
      • 制度存储器(ROM):在程序执行过程中只能读
    • 存取时间与物理地址有关(串行访问)
      • 顺序存取存储器:磁带
      • 直接存取存储器:磁盘
  • 按照作用

    • 主存储器
      • RAM
        • 静态RAM(cache)
        • 动态RAM(内存芯片)
      • ROM(只读,但是不同的)(BIOS ROM)
        • MROM:Mask Read-Only Memory,中文全称“掩模式只读存储器”。掩模式只读存储器的内容是由半导体制造厂按用户提出的要求在芯片的生产过程中直接写入的,写入之后任何人都无法改变其内容。
        • PROM:可编程ROM
        • EPROM:可擦除可编程ROM,是一种断电后仍能保留数据的计算机储存芯片。一旦编程完成后,EPROM只能用强紫外线照射来擦除。
        • EEPROM:EEPROM(带电可擦写可编程读写存储器)是用户可更改的只读存储器
          (ROM),其可通过高于普通电压的作用来擦除和重编程(重写)。不像EPROM芯片,EEPROM不需从计算机中取出即可修改。
    • Flash Memory → SSD
    • 高速缓存存储器(Cache)
    • 辅助存储器

计算机组成原理:3、总线

概要

  • 总线(bus):是连接各个部件的信息传输线,是各个部件共享的传输介质。
  • 一条总线是总是主模块向从模块发出地址和命令,但是在分离式通信时是没有从模块的。

计算机组成原理:2、基本组成

冯·诺依曼计算机基本概念

本文中的内存结构只是课程中用到的一个特定的机器的设计,并非所有的计算机都是这样的。

  • 现在的计算机都是程序存储计算机,也就是冯诺依曼计算机。

  • 特点:

    • 计算机有五大部件组成:输入、输出、控制器(CU)、运算器(ALU)、存储器(主存、辅存)
    • 指令和数据以同等地位存于存储器中,按地址寻访。
    • 指令和数据按照二进制保存
    • 指令由操作码和地址码组成(e.g 0001 00001000,0001代表读取,00001000代表要读取 数据在内存(寄存器)中的位置)。
    • 存储程序,存储在存储器中。
    • 以运算器为中心。
  • 现代计算机:

    • ALU + CU = CPU
    • CPU + 主存(RAM\ROM\Cache(inter上cache有L1\L2\L3)) = 主机
    • 输入 + 输出 + 辅存 = IO设备
    • 主机 + IO = 计算机系统硬件
  • CU控制数据的读取+写入,操作的是存储器,还可以控制指令的执行顺序操作的是运算器。

  • 如果以运算器为中心进行硬件设计会是的运算器成为系统的瓶颈(overhead)。所以改进成以存储器为中心,这样可以是的IO设备直接和存储器关联。

计算机组成原理:1、组成原理到底研究的什么

这是对哈尔滨工业大学网络课程《计算机组成原理》的笔记

  • 计算机系统层次从程序的角度看分为下面5层:
    • 高级语言层:Java、C、C++、C#等,需要编程成机器语言
    • 汇编层:也需要编译成机器语言,符号语言和机器语言的指令基本是一一对应的。
    • 操作系统:提供机器语言与编程语言的
    • 机器语言:就是计算机所提供的语言了,根据地址从存储器读取->送往控制器译码->计算器。操作有顺序要求,并非全部是并发。
    • 微指令系统:机器指令的细化,在某个时间点上可以执行的操作放到一个微指令当中,执行上有先后顺序的放到不同的微指令中。
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×