计算机系统概述

计算机发展历程

从数据表示:
计算机可以分为数字计算机与模拟计算机

1946 第一台电子数字计算机 ENIAC 在宾夕法尼亚大学诞生,标志进入电子计算机时代

时间计算机发展阶段
1946-1958电子管计算机时代
1958-1964晶体管计算机时代
1964-1971集成电路计算机时代
1971-至今超大规模集成电路计算机时代

摩尔定律

当价格不变,集成电路上可以容纳的晶体管数量大约18-24个月翻一番,性能提升一杯

计算机系统的组成

在这里插入图片描述

计算机 = 软件+硬件
固件: 固化的软件,兼备软件与硬件的特性
计算机硬件系统: 构成计算机系统的电子线路与电子元件等物理设备总称
硬件是构成计算机的物质基础,是计算机系统的核心

冯诺依曼体系结构
二进制作为数字计算机数制基础的理论
主要思想: 存储程序,程序控制

计算机硬件 = 运算器 + 控制器 + 存储器+ 输入设备 + 输出设备
计算机软件 = 应用软件+系统软件
cpu = 运算器+控制器
在这里插入图片描述

计算机系统的层次结构

在这里插入图片描述

软件
高级语言:高级语言
汇编语言 :汇编语言
操作系统:汇编语言
硬件
指令集架构层:通过解释到微代码层,机器语言
微代码层:微程序
逻辑门层:硬件工程师看到的

在抽象的较高层,使用问题环境的语言,以概述的方式解决问题,在抽象的较低层,采用过程化的方式
计算机的层次结构是1960 之后引入计算机领域的概念,是计算机中使用抽象方法的具体实例

计算机性能指标与评价

基本性能指标

  • 字长: cpu一次处理的数据位数,用二进制的位数表示
  • 主存容量;主存能存储的最大信息量,一般用M*N,M代表存储单元数,N表示每个存储单元的存储的二进制位数

时间性能指标

  • 时间周期:计算机中最基本,最小的时间单位,一个时间周期,cpu只能完成一个动作
  • CPI:执行每条指令所需要的平均时间周期数量
  • IPC:cpi的倒数,每个时间周期cpu执行的指令数量
  • MIPS:每秒百万条指令,更大的单位GIPS
  • MFLOPS:计算机每秒执行的浮点运算的位数

数据的机器级表示与运算

数据表示的作用

数据表示的作用给是将数据按照某种方式组织起来,以便计算机硬件能直接识别与使用
在设计与选择计算机数据表示方式的时候需要考虑的因素

  1. 数据类型
  2. 表示范围与精度
  3. 存储与处理的代价
  4. 软件的可移植性

二进制由于编码最少,容易与简单的物理状态对应,算术逻辑运算电路更容易实现等优势成为现代计算机中数据表示的必然选择,采用二进制可以表示任何的数据信息

数值数据的表示

机器数/机器码: 符号+数值一起编码表示的二进制数
定点数的机器码: 原码,反码,补码,移码

  1. 原码
    最高位:符号位,0正,1负数
    数值:绝对值
    与真值最接近的一种表示方法
  2. 反码
    符号位同原码
    真值为负数的时候: 数值位取反
  3. 补码
    真值为负数的时候: 数值位取反+1
  4. 移码
    只表示定点整数,常用于表示浮点数的阶码

正数:原码反码补码同
0:

定点数表示

  1. 无符号数的表示
    指的是正整数的表示,表示的是数的绝对值
    机器字长的全部位数来表示数值的大小,
    若字长n+1位,则无符号数的表示范围:0~2(n+1) -1
  2. 带符号数的表示
    最高位符号位,0正1负

浮点数表示

浮点数: 小数点可以移动的数据
符号位+阶码+尾数
阶码部分用移码表示
在这里插入图片描述

定点数运算

  1. 移位运算:
    算术移位:带符号数移位
    逻辑移位:无符号数移位
  2. 原码定点数的加/减运算
  3. 补码定点数的加/减运算
  4. 定点数的乘/除运算

浮点数加/减运算

对阶
尾数加减
规格化
舍入
检查溢出

进位计数制及其相互转换

信息计算机数据表示
整数定点数
实数浮点数
布尔数逻辑数
字符
字符串
无符号数在计算机中的表示
  1. 位数不等的二进制码
  2. BCD码,分为压缩BCD 和 非压缩BCD
  3. ASCLL码 ,包含128个编码
    52个大小写字母
    10个十进制数字字符
    32个标点符号,运算符号,特殊号
    34个不可以显示打印的控制字符编码

数据校验

数据校验码
加进一些冗余码,使得合法编码出现某些错误的时候,就成为错误编码
码距
根据任意两个合法码之间至少有几个二进制位不相同确定,仅有1位不同称之为码距为1

奇偶校验码

原理:
使码距由1增加到2
如果编码中由1位二进制数出错了,这样的出错的编码就成为非法编码,就可以知道出现了错误
在原有的编码上再增加1位校验位,原编码n位,形成新的编码n+1位,增加的方式有两种

  1. 奇校验
    增加的0/1使得整个编码中1的个数为奇数个
  2. 偶校验
    增加的0/1使得整个编码中1的个数为偶数个

海明校验码

原理:
在数据中加入几个校验位,并把数据中的每一个二进制位分配到几个奇偶校验组中,当某一位出错引起相关的校验组发生错误
这样可以定位发生错误的是哪一位,还给自动纠错提供保障
只有k=2®-1-r能用于纠正被传送数据的位数

CRC校验码

原理:
在k位信息后拼接r位校验码
如何从k位信息得到r位校验码?

指令系统

指令系统

指令系统

计算机的工作是反复执行指令
指令是用户使用计算机与计算机运行的基本单位
高级语言指令与汇编语言指令属于软件层次
机器语言指令与微指令则属于硬件层次

软件层次的指令 翻译 层机器语言指令 才能被计算机硬件识别并执行
机器指令是计算机硬件与软件的界面,是用户操作与使用计算机硬件的接口
指令系统是计算机系统性能的集中体现,是计算机软,硬件系统的设计基础

指令格式

操作码+地址码

  • 操作码:
  • 操作数的地址
  • 操作结果的存储地址
  • 下一条指令的地址

指令寻址方式

根据存储程序的概念,计算机在运行之前必须把指令与数据存放在主存的相应地质单元
运行程序的时候,不断从主存取指令与数据
主存是基于地址访问的,只有获取指令与数据在主存中的地址(有效地址EA),CPU才能访问指令与数据
寻址方式就是寻找指令或操作数有效地址的方式

寻址方式分类
数据寻址立即/直接/间接/寄存器/寄存器间接/相对/变址/基址/堆栈 寻址
指令寻址顺序/跳跃 寻址

CISC 与 RISC

名字内容
CICS复杂指令集计算机随着VLSI技术发展,指令系统复杂庞大,
大多数采用微程序控制器
缩短高级语言与指令系统的差别
源代码长度短
RISC简单指令集计算机IBM公司的John提出,指令简单长度固定
硬布线控制逻辑为主,一般用高级语言编程
优化编译,源代码长度长

中央处理器

CPU 功能和组成

cpu 功能

  1. 程序控制
    程序中指令执行顺序控制
  2. 操作控制
    机器指令翻译成执行部件所需要的操作控制信号
  3. 时序控制
    控制操作信号的产生,持续时间
  4. 数据加工
    对数据进行算术,逻辑运算,或将数据在相关部件之间传送
  5. 中断处理
    cpu及时响应内部异常与外部中断请求

cpu组成

运算器+控制器

控制器功能

取指令,分析指令,执行指令

控制器组成
  1. 程序计数器 PC
  2. 指令寄存器 IR
  3. 存储器地址寄存器AR 存储器数据寄存器 DR
  4. 指令译码器或操作码译码器
  5. 脉冲源及启停线路
  6. 时序控制信号形成部件

指令执行过程

???

数据通路的功能与基本结构

cpu 的数据通路是连接cpu内部各个部件与cpu外部的各个部件之间的数据与控制信号的连接关系图

控制器的功能与工作原理

硬布线控制器

1.时序与节拍
每一步由一个机器周期来完成,假设采取4个机器周期,需要4个不同的信号输出来表示
2.操作码译码器
指令的操作码部分指出本指令将执行什么指令,对于不同的指令采用不同的代码表示
3.操作控制信号的产生

微程序控制器

计算机中一条指令的功能是通过按照一定的次序执行一系列基本的操作完成的
这些基本操作称为微操作
实现微操作的控制命令就是微命令
1.微程序,微指令,微命令

  1. 微指令:一组微操作就是微指令,一条指令可以被分为若干条微指令
  2. 微程序:计算机每条指令都是由微指令序列解释完成,这些序列的集合叫做微程序
    2.微指令的编码方式
  • 直接控制法
  • 字段直接编译法
  • 字段间接编译法

存储器分层体系结构

存储器体系结构

在这里插入图片描述

随机访问存储器

随机存储器可以按照地址随机读写数据存储单元,且存储访问时间与存储单元的位置无关
半导体存储器 分为 随机存储器与只读存储器

存储器特点
SRAM随机访问存储器,易失性存储器,可以作为高速缓存存储器,也可以用在CPU上面
DRAM随机访问存储器,易失性存储器,常用于主存
PROM只能被编程一次
EPROM可以编程多次
闪存非易失性存储器,基于EEPROM

访问主存
数据通过总线在处理器与DRAM之间来来回回
每次cpu与主存之间的数据传送都是通过一系列步骤完成的,这些步骤称为总线事务
读事务:主存传送数据到CPU
写事务:CPU传送数据到主存
IO桥: 将系统总线的电子信号翻译成为存储器总线的电子信号

磁盘存储

磁盘由多个叠放在一起的盘片组成,整体称为磁盘驱动器,简称磁盘
SSD 没有移动的部分

高速缓存

互连与输入输出系统

I/O系统概念

I/O系统主要用于实现CPU与外部设备,外部设备与主存之间的信息交换
包括 I/O设备.I/O接口,总线,I/O管理部件等硬件设备
驱动程序,软件访问接口,用户程序等软件设备

输入输出设备的发展

  1. 早期:分散连接,CPU 与I/O设备串行工作,程序查询方式
  2. 接口模块和DMA阶段:总线连接,CPU与I/O设备并行工作,中断方式和DMA方式
  3. 具有通道机构的阶段
  4. 具有I/O处理机的阶段

I/O接口的功能

接口

  • 总线接口:标准的
  • 内部接口:因设备而异,非标准的
    功能
  1. 设备寻址:接收来自总线的地址信息,经过译码电路,选择对应外部设备的寄存器与存储器
  2. 数据交互:实现外部设备,主存,cpu之间的数据交换
  3. 设备控制:传送cpu命令
  4. 状态检测:反应外部设备的工作状态
  5. 数据缓冲:匹配cpu与外部设备的速度差距
  6. 格式转换:实现数据格式转化或逻辑电平信号转换
    还应该有中断,时序控制,数据检错,纠错的功能

外部设备

输入设备

  1. 键盘
    常见的ASCLL字符
    功能键盘
    光标控制键
    编辑键
  2. 鼠标
    机械式:金属球电位器
    光电式:光电转换器

输出设备

  1. 显示器
    按器件分类:CRT显示器,LED显示器,等离子体显示器
    按显示内容分类:字符发生器(CRT),图形显示器(主观图像),图像显示器(客观图像)
  2. 打印机
    按印字原理分类:
    • 打击式:点阵式打印机
    • 非打击式:激光,静电,喷墨等
      按照工作方式分类:
    • 串行打印机,逐字打印
    • 行式打印机,逐行打印

外存储器

  1. 硬盘存储器
  2. 磁盘阵列
    RAID 采用低成本的小温盘,使得多台磁盘构成同步化的磁盘阵列
    分类:RAID0~RAID6
    RAID6能支持两块磁盘同时出错
  3. 光盘存储器
    只读光盘
    写一次/多次读光盘
    可重写光盘

I/O接口(IO控制器)

基本功能

  1. 实现设备的选择
  2. 实现数据缓冲达到速度匹配
  3. 实现数据串并格式转换
  4. 实现电平转换
  5. 传送控制命令
  6. 反映设备的状态

基本组成

在这里插入图片描述

功能组成
选址设备选择电路
传送命令命令寄存器,命令译码器
传送数据数据缓冲寄存器
反映设备状态设备状态标记

I/O端口及其编址

cpu采用两种方式访问I/O设备,也称I/O端口编址方式

  1. 专门的io指令
    由相应的控制信号来区分CPU执行的什么指令
  2. 利用访问存储器命令完成io功能
    从主存地址空间分一部分作为io的设备代码
    没有控制信号区分存储器还是端口

I/O方式

cpu与外部设备进行信息交换,根据外部设备不同采取不同的控制方式

  1. 程序查询方式
    cpu不断的询问外部设备是否准备好
  2. 程序中断方式
    进程进入等待队列,当外设准备好后向cpu发送中断请求,cpu响应中断请求,展厅当前执行的程序,调用中断服务程序,由中断服务程序唤醒正在等待的进程
    CPU与外设可以并行工作
  3. DMA方式
    IO设备与主存之间由硬件组成的数据通路
  4. 通道方式

总线

分类

方式分类
传送信息的方式串行/并行/复合传送(先传地址,再传送数据)
传送信息的类型数据总线DB/地址总线AB/控制总线CB/复合总线AD
按照连接的距离与对象分类片内总线/系统总线/外总线

总线协议

总线传输的周期

  1. 总线请求
  2. 总线仲裁
  3. 寻址阶段
  4. 传输阶段
  5. 结束阶段

四种方式:

  • 同步通信
  • 异步通信
  • 半同步通信
  • 分离式通信

并行处理系统

多核处理器

是在超线程,多处理器,超标量的基础上发展的

GPU

GPU是适合做大量重复运算的处理器

集群

由完整的计算机和独立的可以扩展的网络构建的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/90718.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/90718.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/90718.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8.c语言指针

内存管理C语言中,栈内存(局部变量)自动分配/释放,静态区(全局、静态变量)编译时分配;堆内存需手动分配/释放,核心函数有3个:malloc函数原型:void* malloc(siz…

使用GPU训练模型

本文代码详解参考: 模型训练基础流程-CSDN博客 目录 为什么要用GPU训练模型 什么是CUDA 利用GPU训练—方式一(.cuda()) 利用GPU训练—方式二 (.to()) Google Colaboratory 为什么要用GPU训练模型 用 GPU 训练模型的核心原因是GPU 的硬件架构和计算特性&#…

Matlab学习笔记:自定义函数

MATLAB 学习笔记:自定义函数自定义函数是MATLAB编程的基础,它允许你将重复代码封装成可重用的模块,提高代码的可读性和效率。本笔记将覆盖所有重点知识点,包括语法细节、输入输出处理、函数文件管理、错误处理等。我会用自然易懂的…

【数学建模 | Matlab】二维绘图 和 三维绘图

- 第 115 篇 - Date: 2025 - 07 - 23 Author: 郑龙浩(仟墨) 续写上一篇,如下文章: 【数学建模|Matlab】Matlab「基础知识」和「基础操作」 五 二维绘图 1 举例 % 二维平面绘图(扩展至 -2π 到 2π) x …

MCP (Model Context Protocol) 与 HTTP API:大模型时代的通信新范式

MCP (Model Context Protocol) 与 HTTP API:大模型时代的通信新范式在数字世界的两端,API 扮演着不可或缺的桥梁角色。我们熟知的 HTTP API 是 Web 互联互通的基石,驱动着无数应用程序的交互。然而,随着大型语言模型(L…

CentOS 搭建 Docker 私有镜像仓库

CentOS 搭建 Docker 私有镜像仓库 搭建 Docker 私有镜像仓库能为团队提供高效、安全的镜像管理方案。下面将详细介绍每个步骤的操作细节,其中命令部分均用代码块展示。 一、环境准备 要搭建 Docker 私有镜像仓库,首先得确保服务器环境符合要求&#xff0…

Zookeeper的简单了解

Zookeeper的简单了解 Zookeeper是一个为分布式应用程序提供协调服务的中间件。 主要作用有三点:分布式锁、注册中心、配置管理、。 特点有读写速度快(内存存储)、有监听机制(用于发布订阅)、保证了顺序一致性&#xff…

Android Fragment 全解析

在 Android 开发中,Fragment 是构建灵活界面的核心组件 —— 它既能像 “迷你 Activity” 一样包含布局和逻辑,又能灵活地嵌入到不同 Activity 中复用。无论是平板的多面板布局,还是手机的单页切换,Fragment 都能让界面适配更高效…

0-1BFS(双端队列,洛谷P4667 [BalticOI 2011] Switch the Lamp On 电路维修 (Day1)题解)

对于权重为0或1的路径搜索中&#xff0c;使用双端队列可以对最短路问题进行时间复杂度的优化&#xff0c;由于优先队列的O(longn)级别的插入时间&#xff0c;对于双端队列O(1)插入可以将时间复杂度减少至O(M); https://www.luogu.com.cn/problem/P4667 #include<bits/stdc…

基于LNMP架构的分布式个人博客搭建

1.运行环境主机主机名系统服务192.168.75.154Server-WebLinuxWeb192.168.75.155Server-NFS-DNSLinuxNFS/DNS2.基础配置配置主机名&#xff0c;静态IP地址开启防火墙并配置部分开启SElinux并配置服务器之间使用同ntp.aliyun.com进行时间同步服务器之间使用用ntp.aliyun.com进行时…

基于开源AI智能名片链动2+1模式S2B2C商城小程序的人格品牌化实现路径研究

摘要&#xff1a;在数字化消费时代&#xff0c;人格品牌化已成为企业突破同质化竞争的核心策略。本文以开源AI智能名片、链动21模式与S2B2C商城小程序的融合为切入点&#xff0c;构建“技术赋能-关系重构-价值共生”的人格品牌化理论框架。通过分析用户触达、信任裂变与价值沉淀…

设计模式十一:享元模式(Flyweight Pattern)

享元模式是一种结构型设计模式&#xff0c;它通过共享对象来最小化内存使用或计算开销。这种模式适用于大量相似对象的情况&#xff0c;通过共享这些对象的公共部分来减少资源消耗。基本概念享元模式的核心思想是将对象的内在状态&#xff08;不变的部分&#xff09;和外在状态…

Webpack/Vite 终极指南:前端开发的“涡轮增压引擎“

开篇:当你的项目变成"俄罗斯套娃" "我的index.js怎么引入了87个文件?!" —— 这是每个前端开发者第一次面对复杂项目依赖时的真实反应。别担心,今天我要带你认识两位"打包侠":老牌劲旅Webpack和新锐黑马Vite 一、构建工具:前端世界的&qu…

Windows 下配置 GPU 用于深度学习(PyTorch)的完整流程

1. 安装 NVIDIA 显卡驱动 前往 NVIDIA官网 下载并安装适合你显卡型号&#xff08;如 5070Ti&#xff09;的最新版驱动。下载 NVIDIA 官方驱动 | NVIDIA安装完成后建议重启电脑。 2. 安装 CUDA Toolkit 前往 CUDA Toolkit 下载页。 选择 Windows、x86_64、你的系统版本&#…

详解力扣高频SQL50题之180. 连续出现的数字【困难】

传送门&#xff1a;180. 连续出现的数字 题目 表&#xff1a;Logs -------------------- | Column Name | Type | -------------------- | id | int | | num | varchar | -------------------- 在 SQL 中&#xff0c;id 是该表的主键。 id 是一个自增列。 找出所有至少连续…

VSCode 报错 Error: listen EACCES: permission denied 0.0.0.0:2288

使用 npm run dev 启动项目时报错&#xff1a;error when starting dev server: Error: listen EACCES: permission denied 0.0.0.0:2288at Server.setupListenHandle [as _listen2] (node:net:1881:21)at listenInCluster (node:net:1946:12)at Server.listen (node:net:2044:…

[2025CVPR-图象超分辨方向]DORNet:面向退化的正则化网络,用于盲深度超分辨率

1. ​问题背景与挑战​ 盲深度超分辨率&#xff08;Blind Depth Super-Resolution, DSR&#xff09;的目标是从低分辨率&#xff08;LR&#xff09;深度图中恢复高分辨率&#xff08;HR&#xff09;深度图&#xff0c;但现有方法在真实场景下面临显著挑战&#xff1a; ​已知…

关系与逻辑运算 —— 寄存器操作的 “入门钥匙”

前言 哈喽大家好&#xff0c;这里是 Hello_Embed 的新一篇学习笔记。在前文中&#xff0c;我们学习了如何用结构体指针操作硬件寄存器&#xff0c;而寄存器的配置往往离不开位运算和条件判断 —— 比如通过逻辑运算精准修改某几位的值&#xff0c;通过关系运算判断硬件状态。这…

使用 Python 将 CSV 文件转换为带格式的 Excel 文件

在日常的数据处理和报表生成工作中&#xff0c;CSV 格式因其简洁性而被广泛采用。但在展示数据时&#xff0c;CSV 文件往往缺乏格式和结构化样式&#xff0c;不利于阅读与分析。相比之下&#xff0c;Excel 格式&#xff08;如 .xlsx&#xff09;不仅支持丰富的样式设置&#xf…

每天读本书-《如何度过每天的24小时》

全景式书籍探索框架 1. “这本书是关于什么的&#xff1f;”——核心定位 一句话核心思想&#xff1a;这本书的核心并非教你如何高效地工作&#xff0c;而是倡导你将工作之外的“自由时间”视为一个“内在的另一天”&#xff0c;并投入智力与热情去经营它&#xff0c;从而获得精…