第一讲,以及对于书籍的第一章重点知识点整理

# 课程随笔

# 概念

image-20230206192612686

通用 电子 数字 计算机

# 组织与结构

image-20230206192923495

  1. 组织 (对于程序员是不可见的)
    • 一个用乘法器完成乘法的计算机和一个用加法器通过算法完成乘法的计算机之间的不同。
    • 包括:控制信号、存储技术
  2. 结构 (对于程序员是可见的)
    • 一个提供乘法算法的计算机和另一个不提供乘法算法的计算机之间的区别
    • 包括:指令集、各类数据类型的大小

# 计算机发展历史

真空管 —— 晶体管 —— 集成电路

# 真空管

image-20230206193140471

ENIAC—— 电子数字积分器与计算机(Electronic Numerical Integrator and Computer)通用电子计算机

ABC—— 阿塔纳索夫 - 贝里计算机(Atanasoff–Berry computer)

image-20230206193228360

EDVAC 为储存程序式计算机(离散变量电子计算机 )

image-20230206193258381

# 晶体管

image-20230206193309359

# 集成电路

image-20230206194740310

scale 越来越大,SSI->MSI->LSI->VLSI->ULSI

# 摩尔定律

摩尔定律(集成电路芯片上集成的晶体管数将番一番,速度将提高一倍,而价格将降低一半)

image-20230206194906447

# 计算机发展:变与不变

image-20230206194951279

image-20230206195012115

# 冯诺依曼结构的实现与演变

# CPU + 北桥 + 南桥

芯片近北桥,远离南桥。

# 南桥

南桥(英语:Southbridge)是基于个人计算机主板芯片组架构中的其中一枚芯片。南桥设计用来处理低速信号,通过北桥与中央处理器联系。
南桥芯片负责 I/O 总线之间的通信,如 PCI 总线、USB、LAN、ATA、SATA、音频控制器、键盘控制器、实时时钟控制器、高级电源管理等。
PCI、SATA、IDE、USB。

# 北桥

北桥设计用来处理高速信号,通常处理中央处理器、存储器、PCI Express 显卡(早年是 AGP 显卡)、高速 PCI Express X16/X8 的端口,还有与南桥之间的通信。
芯片组(chipset)的名称就是以北桥芯片的名称来命名的。
北桥被用来处理高速信号,通常处理 CPU(处理器),RAM(内存),AGP 端口或 PCI Express, 和南桥芯片之间的通信。
PCIE/AGP、Memory、CPU。

# CPU + PCH(集成显卡 - 显示部件)

PCH 全称为 Platform Controller Hub,是 intel 公司的集成南桥。

北桥中的内存控制器和 PCIe 控制器都集成到了 CPU 内部,相当于整个北桥芯片都集成到了 CPU 内部,主板上只剩下南桥。所以 PCH 可以理解成南桥。目前 Intel 的有些 SOC 就是连 PCH 也集成到了 CPU 内部,比如:Intel Xeon D 系列.

# 计算机性能

image-20230206195033688

# CPU 性能

# 时钟频率 / 时钟周期

image-20230206195202436

# 指令执行

image-20230206195314110

CPI cycles per instruction

MIPS(每秒百万条指令)

MFLOPS(每秒百万条浮点操作)

image-20230206195330326

# 基准程序

image-20230206195342300

# 性能设计的基本原则

  • 大概率事件优先原则

  • 阿姆代尔定律 Amdahl 定律

    技术或设计的某一部分的加速不会导致性能产生相应的改进。性能的提高是有限度的。

  • Little 定律

# 对应书籍整理 - 计算机系统概述

# 计算机结构

# 硬件

  1. CPU

    • 运算器 —— 各种算数逻辑运算
    • 控制器 —— 对指令译码并送出操作控制信号
  2. 存储器 —— 存放指令和数据

    包括 ROM 芯片和 RAM 芯片。

    • 内存储器

      • 主存
      • 高速缓存(cache)
    • 外存储器

      磁盘、磁带存储器、光盘存储器等

  3. I/O 设备 —— 计算机和用户之间的信息交换

# 软件

  1. 系统软件 —— 介于计算机硬件和应用软件之间的各种软件
    • 操作系统软件
    • 语言处理系统
    • 数据库管理系统
    • 各类实用程序
  2. 应用软件
    • 办公自动化软件
    • 互联网应用软件
    • 多媒体处理软件
    • 股票分析软件
    • 游戏软件
    • 管理信息系统

# 程序开发和执行过程

  1. 高级语言、低级语言(汇编语言)-> 机器语言

​ 其中,汇编语言和机器语言程序员必须对机器的结构和指令系统等细节非常清楚。

  1. 级别对应计算机用户
    应用程序最终用户
    高级语言虚拟机高级语言程序员或者应用程序员
    汇编语言虚拟机汇编语言程序员
    操作系统虚拟机系统管理员
    机器语言虚拟机机器语言程序员
  2. 源程序通过编译程序和汇编程序得到目标程序

  3. 编译程序 vs 解释程序(编译程序生成机器码,解释程序生成后立即执行)

# CPU 性能