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

计算机系统=硬件+软件

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

硬件
├── 计算机硬件
│   ├── 中央处理器(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接口的总线

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

(二)总线仲裁

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

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

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

(三)总线定时

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

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

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

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

相关推荐
吃好睡好便好2 分钟前
用for循环语句求和
开发语言·人工智能·学习·matlab·学习方法
_李小白38 分钟前
【C++学习笔记】新特性之inline变量
c++·笔记·学习
aloha_7892 小时前
软考信息系统项目管理师错误归纳总结
java·学习
呉師傅3 小时前
UPS滴滴告警!如何测量UPS电池内阻【UPS学习】
运维·服务器·网络·学习·电脑
lizhihai_993 小时前
股市学习心得-与英伟达核心 PCB 相关的八家关联企业
大数据·人工智能·学习
阳光宅男@李光熠4 小时前
【电子通识】贴片电阻上的丝印332、5R6、1502、01C怎么读出阻值?
笔记·学习
sakiko_6 小时前
Swift学习笔记31-网络请求
网络·笔记·学习·swift
星夜夏空996 小时前
STM32单片机学习(20) —— 利用中断实现串口通信(填前面的坑)
stm32·单片机·学习
神谕的祝福6 小时前
comfyui从0到1开始学习-第一讲安装ComfyUI
学习
名字不相符6 小时前
ctfshow之MISC入门(个人记录与学习)
学习·ctf·misc