计算机组成原理学习 Part 1

计算机系统

组成

计算机系统 { 硬件 计算机的实体,如主机、外设等 软件 由具有各类特殊功能的信息(程序)组成 计算机系统 \begin{cases} 硬件 &\text 计算机的实体,如主机、外设等\\ 软件 &\text 由具有各类特殊功能的信息(程序)组成 \end{cases} 计算机系统{硬件软件计算机的实体,如主机、外设等由具有各类特殊功能的信息(程序)组成
软件 { 系统软件 用来管理整个计算机系统 语言处理程序 操作系统 服务性程序 数据库管理软件 网络软件 应用软件 按任务需要编制成的各种程序 软件 \begin{cases} 系统软件 & \text 用来管理整个计算机系统\\ &\text 语言处理程序\\ &\text 操作系统\\ &\text 服务性程序\\ &\text 数据库管理软件\\ &\text 网络软件\\ 应用软件 &\text 按任务需要编制成的各种程序 \end{cases} 软件⎩ ⎨ ⎧系统软件应用软件用来管理整个计算机系统语言处理程序操作系统服务性程序数据库管理软件网络软件按任务需要编制成的各种程序

计算机系统的层次结构

系统复杂性管理的方法

抽象
  • 对于一个过程或者一件制品的某些细节有目的的隐藏,以便把其他方面、细节或者结构表达得更加清楚
  • 指高级得模型和低级得实体相对
  • 隐藏系统中不重要的细节

抽象出的计算机系统的层次结构


计算机体系结构和计算机组成

研究内容上的区别

{ 计算机体系结构 程序员所见的计算机系统的属性 概率性的结构与功能特性 (指令系统、数据类型、寻址技术、 I / O 机理) 计算机组成 实现计算机体系结构所体现的属性 (具体指令的实现) \begin{cases} 计算机体系结构 & 程序员所见的计算机系统的属性\\ & 概率性的结构与功能特性\\ & (指令系统、数据类型、寻址技术、I/O机理)\\ &\\ 计算机组成 & 实现计算机体系结构所体现的属性\\ & (具体指令的实现) \end{cases} ⎩ ⎨ ⎧计算机体系结构计算机组成程序员所见的计算机系统的属性概率性的结构与功能特性(指令系统、数据类型、寻址技术、I/O机理)实现计算机体系结构所体现的属性(具体指令的实现)
{ 计算机体系结构 有无乘法指令 计算机组成 如何实现乘法指令 \begin{cases} 计算机体系结构 & 有无乘法指令\\ 计算机组成 & 如何实现乘法指令 \end{cases} {计算机体系结构计算机组成有无乘法指令如何实现乘法指令

计算机的基本组成

计算机硬件框图

冯诺依曼计算机硬件

以存储器为中心的计算机硬件

现代计算机硬件

硬件 { 主机 { C P U { 运算器 A L U 控制器 C U 存储器 { 主存 辅存 I / O 设备 { 输入设备 输出设备 硬件 \begin{cases} 主机 & \begin{cases} CPU & \begin{cases} 运算器 & ALU\\ 控制器 & CU\\ \end{cases}\\ 存储器 & \begin{cases} 主存\\ 辅存 \end{cases} \end{cases}\\ I/O 设备 & \begin{cases} 输入设备\\ 输出设备 \end{cases} \end{cases} 硬件⎩ ⎨ ⎧主机I/O设备⎩ ⎨ ⎧CPU存储器{运算器控制器ALUCU{主存辅存{输入设备输出设备

系统复杂性管理的方法------3'Y

  • 层次化:将被设计的系统划为多个模块或子模块
  • 模块化:有明确定义的功能和接口
  • 规则性:模块更容易被重用

计算机的工作步骤

上机的准备

  1. 建立数学模型
  2. 确定计算方法
  3. 编制程序
    • 程序 ------ 运算的全部步骤
    • 指令 ------ 每一个步骤

程序的解题过程

存储器的基本组成

主存储器 { 存储体 M A R 存储器地址寄存器(反应存储单元的个数) M D R 存储器数据寄存器(反映存储字长) 主存储器 \begin{cases} 存储体 \\ MAR & 存储器地址寄存器(反应存储单元的个数)\\ MDR & 存储器数据寄存器(反映存储字长) \end{cases} 主存储器⎩ ⎨ ⎧存储体MARMDR存储器地址寄存器(反应存储单元的个数)存储器数据寄存器(反映存储字长)

  • 存储单元:存放一串二进制代码
  • 存储字:存储单元中二进制代码的组合
  • 存储字长:存储单元中二进制代码的位数
  • 按地址寻访:每个存储单元赋予一个地址号

运算器的基本组成及操作过程


A C C M Q X 加法 被加数 和 加数 减法 被减数 差 减数 乘法 乘积高位 乘数 乘积低位 被乘数 除法 被除数 余数 商 除数 \begin{array}{|c|c|c|} \hline& ACC & MQ & X \\ \hline 加法 & 被加数 \quad 和 & & 加数\\ \hline 减法 & 被减数 \quad 差 & & 减数\\ \hline 乘法 & 乘积高位 & 乘数 \quad 乘积低位 & 被乘数\\ \hline 除法 & 被除数 \quad 余数 & 商 & 除数\\ \hline \end{array} 加法减法乘法除法ACC被加数和被减数差乘积高位被除数余数MQ乘数乘积低位商X加数减数被乘数除数

控制器

功能
  • 解释指令
  • 保证指令的按序执行
基本组成

控制器 { C U I R P C 控制器 \begin{cases} CU \\ IR \\ PC \end{cases} 控制器⎩ ⎨ ⎧CUIRPC
完成一条指令 { 取指令 P C (存放当前欲执行指令的地址) 分析指令 I R (存放当前欲执行的指令) 执行指令 C U 完成一条指令 \begin{cases} 取指令 & PC(存放当前欲执行指令的地址)\\ 分析指令 & IR(存放当前欲执行的指令)\\ 执行指令 & CU \end{cases} 完成一条指令⎩ ⎨ ⎧取指令分析指令执行指令PC(存放当前欲执行指令的地址)IR(存放当前欲执行的指令)CU

运算器、控制器和存储器构成了什么?

  • 一条指令在主机上的完成过程
  • 程序在主机上是如何执行的

主机完成一条指令的过程(以取数指令为例)

计算机硬件的主要技术指标

机器字长

CPU 一次能处理数据的位数,与 CPU 中的 寄存器位数 有关

运算速度

运算速度 { 主频 核数 每个核支持的线程数 吉普森法 T M = ∑ i = 1 n f i t i C P I 执行一条指令所需时钟周期数 M I P S 每秒执行百万条指令 F L O P S 每秒浮点运算次数 运算速度 \begin{cases} 主频\\ 核数 & 每个核支持的线程数\\ 吉普森法 & T_M = \sum_{i=1}^{n}f_i t_i\\ CPI & 执行一条指令所需时钟周期数\\ MIPS & 每秒执行百万条指令\\ FLOPS & 每秒浮点运算次数 \end{cases} 运算速度⎩ ⎨ ⎧主频核数吉普森法CPIMIPSFLOPS每个核支持的线程数TM=∑i=1nfiti执行一条指令所需时钟周期数每秒执行百万条指令每秒浮点运算次数

存储容量

存放二进制信息的总位数
存储容量 { 主存容量 { 存储单元个数 × 存储字长 如 M A R = 10 , M D R = 8 则 容量 = 1 K × 8 位( 1 K = 2 10 ) 字节数 辅存容量 字节数 存储容量 \begin{cases} 主存容量 & \begin{cases} 存储单元个数 \times 存储字长\\ \quad如 \quad MAR = 10,MDR = 8\\ \quad 则 \quad 容量 = 1K \times 8位 (1K = 2^{10})\\ \\ 字节数 \end{cases}\\ 辅存容量 & 字节数 \end{cases} 存储容量⎩ ⎨ ⎧主存容量辅存容量⎩ ⎨ ⎧存储单元个数×存储字长如MAR=10,MDR=8则容量=1K×8位(1K=210)字节数字节数

相关推荐
西岸行者5 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意5 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码5 天前
嵌入式学习路线
学习
毛小茛5 天前
计算机系统概论——校验码
学习
babe小鑫5 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms5 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下5 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。5 天前
2026.2.25监控学习
学习
im_AMBER5 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J5 天前
从“Hello World“ 开始 C++
c语言·c++·学习