IEEE754浮点数标准

什么是 IEEE

电气电子工程师学会(英语:Institute of Electrical and Electronics Engineers,简称为IEEE),是一个建立于196311日的国际性电子技术与电子工程师协会,亦是世界上最大的专业技术组织之一,拥有来自175个国家的42万会员。总部设立于:美国纽约市。目前IEEE在工业界所定义的标准有着极大的影响

IEEE 都发布了哪些标准?

标准代号说明
IEEE 754浮点算法规范
IEEE 802局域网和广域网
IEEE 802.11无限网络
IEEE 802.16无限宽频网络
IEEE 829软件测试文书
IEEE 896未来总线Futurebus
IEEE 1003POSIX(可移植操作系统接口)
IEEE 1076VHDL(VHSIC硬件描述语言)
IEEE 1149.1JTAG
IEEE 1275Open Firmware
IEEE 1284并口
IEEE P1363公钥密码
IEEE 1364Verilog 硬件描述语言
IEEE 1394窜行总线“火线”
IEEE 1619存储安全
IEEE 1901PLC
IEEE 12207软件生命周期过程
IEEE 1275Open Firmware

缓存一致性协议-mesi

背景

现代CPU几乎都是多核,每个核心也有自己独立的缓存(L1,L2,L3),当多个核心同时对一个数据(变量)更新时,假设核心1在核心2还未将更新的数据刷回内存之前读取了数据,并进行操作就会造成程序执行的结果不符合逾期。这对于我们程序来说,是不正确的。

字母解释

  • M:(modify)修改 -- 该缓存行有效,数据被修改了,和内存中的数据不一致,数据只存在于本缓存行中
  • E:(exclusive)独享、互斥 -- 该缓存行有效,数据和内存中的数据一致,数据只存在于本缓存行中
  • S:(shared)共享 -- 该缓存行有效,数据和内存中的数据一致,数据同时存在于其他缓存中
  • I:(invalid)无效 -- 该缓存行数据无效

优势

对于总线锁,总线锁是对整个内存进行加锁,在一个核心对一个数据进行修改的过程中,其他的核心也无法修改内存中的其他数据,这样会导致CPU处理性能严重下降。

什么情况下不可用

  1. CPU不支持缓存一致性协议
  2. 变量超过一个缓存行的大小,缓存一致性协议是针对单个缓存进行加锁。此时,缓存一致性协议无法再对该变量进行加锁,只能改用总线加锁方式。

wsl 使用实践

wsl 使用实践

wsl 是什么

wsl 全称 windows subsystem for linux,是一个可以运行在 windows 10 系统之上的,完整的 ubuntu 操作系统。

常用命令

  • wsl --list --online 列出可用的 linux 发行版

    NAME            FRIENDLY NAME
    Ubuntu          Ubuntu
    Debian          Debian GNU/Linux
    kali-linux      Kali Linux Rolling
    openSUSE-42     openSUSE Leap 42
    SLES-12         SUSE Linux Enterprise Server v12
    Ubuntu-16.04    Ubuntu 16.04 LTS
    Ubuntu-18.04    Ubuntu 18.04 LTS
    Ubuntu-20.04    Ubuntu 20.04 LTS