计算机组成原理笔记----基础篇

计算机系统=硬件+软件

复制代码
软件
├── 系统软件
│   ├── 操作系统
│   └── 工具软件
└── 应用软件
    ├── 办公软件
    ├── 媒体软件
    └── 浏览器软件

硬件
├── 计算机硬件
│   ├── 中央处理器(CPU)
│   ├── 存储设备
│   │   ├── 内存(RAM)
│   │   └── 硬盘(HDD/SSD)
│   ├── 输入设备
│   │   ├── 键盘
│   │   └── 鼠标
│   └── 输出设备
│       ├── 显示器
│       └── 打印机

机器字长:机器字长是指计算机处理器一次能处理的数据位数,通常表示为CPU在一个时钟周期内能够处理的二进制位数,如32位或64位。

机器字长越长,计算精度越高。

机器字长一般等于内部寄存器的大小。

冯诺依曼计算机 的五大部件是:输入设备、输出设备、运算器、存储器和控制器,它们共同协作完成数据处理和控制操作。

主频 是指计算机处理器每秒钟完成的时钟周期数(CPU内数字脉冲信号振荡的速度),时钟周期则是每个时钟信号的时间间隔,二者成反比关系。

CPU速度的关键指标包括CPI(每条指令周期数)CPU执行时间,CPI表示执行一条指令所需的平均时钟周期数,CPU执行时间则是指执行程序所需的总时间,二者与主频、指令集架构和程序优化密切相关。

CPU执行时间=程序指令数×CPI÷时钟频率

MIPS(每秒百万条指令)是衡量CPU性能的指标之一,表示CPU每秒钟能够执行的指令数量,通常与CPU的主频、CPI和程序的指令效率相关。

MIPS=时钟周期(MHZ)÷CPI

MFLOPS(Million Floating Point Operations Per Second) 是衡量计算机或处理器浮点运算性能的指标,表示每秒钟可以执行的浮点操作数百万次。

MFLOPS=浮点操作数÷(程序执行时间×10的6次方)

主存容量是指计算机主存(RAM)中可存储数据的最大量,通常以字节(GB、TB)为单位表示,决定了系统能够同时处理的数据量。

主存带宽是指主存与CPU之间数据传输的速率,通常以每秒传输的数据量(如GB/s)来衡量,影响CPU访问数据的速度和效率。

(一)总线概述

总线是计算机内部用于传输数据、地址和控制信号的共享通信路径。它将CPU、内存、输入输出设备等连接起来,允许它们进行信息交换。总线的主要功能是实现不同部件之间的通信,常见的总线包括数据总线、地址总线和控制总线。

数据总线:用于传输数据,通常是双向的。

地址总线:用于指定数据的存储位置,通常是单向的。

控制总线:用于传递控制信号,如读/写命令、时钟信号等。

总线特性

机械特性:根数 插头 引脚

功能特性:传输地址 数据 控制信号

电器特性:传输方向 有效电平范围

时间特性:信号的时序关系

总线分类

片内总线:CPU芯片内部连接寄存器与运算器之间的总线

系统总线:连接计算机系统内部的CPU主存 IO接口的总线

通信总线:连接计算机与计算机之间或者与其他设备的总线

(二)总线仲裁

总线仲裁是指当多个设备同时请求使用总线时,如何决定哪个设备可以优先使用总线的过程。由于总线是共享资源,如果没有有效的仲裁机制,可能会导致冲突或性能下降。常见的总线仲裁方式有:

集中式仲裁:由一个控制器负责管理总线的访问权限,通常是通过一个仲裁信号来选择哪个设备可以占用总线。

分布式仲裁:各个设备自主决定是否可以占用总线,通常通过优先级或轮询机制来实现。

(三)总线定时

总线定时是指在数据传输过程中,总线各个信号(如地址、数据和控制信号)之间的时序安排。总线定时涉及如何同步信号的传输,以确保数据正确、高效地传递。总线定时通常有以下几种方式:

同步总线:所有设备通过一个统一的时钟信号同步操作,传输的每个阶段都有明确的时钟边沿控制。

异步总线:没有统一的时钟信号,设备通过握手信号(如请求-应答)来协商数据的传输时机。

半同步总线:介于同步和异步之间,通常使用一部分时钟信号与握手机制结合。

相关推荐
云上艺旅7 小时前
K8S学习之基础七十四:部署在线书店bookinfo
学习·云原生·容器·kubernetes
你觉得2057 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
蒙奇D索大8 小时前
【数据结构】第六章启航:图论入门——从零掌握有向图、无向图与简单图
c语言·数据结构·考研·改行学it
A旧城以西9 小时前
数据结构(JAVA)单向,双向链表
java·开发语言·数据结构·学习·链表·intellij-idea·idea
无所谓จุ๊บ9 小时前
VTK知识学习(50)- 交互与Widget(一)
学习·vtk
FAREWELL000759 小时前
C#核心学习(七)面向对象--封装(6)C#中的拓展方法与运算符重载: 让代码更“聪明”的魔法
学习·c#·面向对象·运算符重载·oop·拓展方法
吴梓穆9 小时前
UE5学习笔记 FPS游戏制作38 继承标准UI
笔记·学习·ue5
Three~stone9 小时前
MySQL学习集--DDL
数据库·sql·学习
齐尹秦10 小时前
HTML 音频(Audio)学习笔记
学习
瞌睡不来10 小时前
(学习总结32)Linux 基础 IO
linux·学习·io