计算机基本组成原理(简要笔记)

2023-10-26

计算机体系

一、冯.诺依曼体系结构

从Linux 服务器开发视角来看计算机,都是符合冯.诺依曼体系结构的。
在这里插入图片描述

1.1 4大部分:

1.1.1 输入、输出设备

输入设备:向计算机输入数据,比如通过摄像头、MIC,将图像/声音等转成二进制数据给计算机、从网卡输入数据给计算机等;
输出设备:从计算机输出数据,比如通过显示器、扬声器,将二进制数据翻译成为图片/视频/声音等让人能够识别、或者通过网卡输出数据给别的计算机。
每个IO设备在启动时都要向内存中映射一个或者多个地址,这个地址有8bit长,又称作IO端口。针对这个地址的数据,统统被北桥芯片重定向到IO总线上实际的设备上。

1.1.2 存储器

实现程序和数据的存储。
不同的存储器划分:
速度排序:寄存器(离CPU最近)>缓存>内存(CPU之外)。
容量大小:寄存器(离CPU最近)<缓存<内存(CPU之外)。

1.1.3 运算器(ALU)

进行算术运算和逻辑运算。

1.1.4 控制器

解释(理解)程序指令,将程序指令转为对应的一条一条的微指令,这些微指令会控制运算器等部件工作,进行比如:数据的算术、逻辑运算、数据的搬移,比如从CPU的寄存器搬移到内存,或者从内存的某个位置搬移到内存的另一个位置。
控制器、运算器被统一做到了CPU里面。
存储器既能充当输入设备,也能充当输出设备。因为其比较关键所以单独拎出来强调。
因此计算机体系结构再精简就只有3大块:CPU,总线与接口、外部设备(输入输出设备)。
由于CPU已经是一个完整的、封装好的部件,系统的设计人员只能通过编写软件,再经由编译器或解释器翻译为机器能够理解的代码来执行,CPU并没有专门的硬件电路来实现完全地控制外部设备的运行,这种实现方式是软件实现,是一种通用的实现,控制信号从软件到硬件要经过若干次转化,但有的时候,工程和设计领域往往需要高速高性能的芯片来实现控制与计算,这时候就需要更加强大的CPU或将几个CPU用一些技术并行起来协同工作,成本就会增加。

1.2 冯·诺依曼体系结构计算机所具备的功能

a) 把需要的程序和数据送至计算机中。
b) 必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。
c) 能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力。
d) 能够按照要求将处理结果输出给用户。

1.3 工作原理

输入设备获取数据存储到内存中,CPU 从内存中取出数据并进行处理,运算完毕后再交给内存,内存将 CPU 处理过的数据交给输出设备,由输出设备进行数据的输出。

1.4 特点

a) 存储器指的是内存,而不是外存(磁盘)。
b) 不考虑缓存的情况下,这里的 CPU 能且只能对内存进行读写,不能访问外设(输入或输出设备)。
c) 外设(输入或输出设备)要进行输入或者输出数据时,也只能写入内存或者从内存中读取数据。
d) 所有设备都只能直接和内存打交道。

二、计算机详细体系结构

在这里插入图片描述

2.1 三大总线(并行通信)

2.1.1地址总线

传输地址信号,通过地址信号找到要操作的寄存器、内存单元等。

2.1.2 控制总线

传输控制信号,比如通过地址总线找到内存的某位置了,接下来到底是进行读还是写,就由控制总线发控制信号决定。

2.1.3 数据总线

传输数据信号,比如通过地址总线找到内存的某个位置了,控制总线发出写的控制信号,希望对其写数据,那么写数据时,数据信号就是在数据总线上传输的。

2.2 IO总线

在这里插入图片描述

系统总线在较新的设计中,它被称为前端总线(front side bus (FSB))。桥间链接线一般是PCI总线。
除了常见的IDE总线,PCI总线,SCSI总线,还有很多其他技术规格的总线。这些总线往往用于IO总线。见下图

ISA总线:一种老旧的低速总线,即将被排除在PC设计之外。
USB总线(通用串行总线):这是一种新的低速总线。
AGP总线:仅用于显卡。
FSB总线:即前端总线(Front Side Bus),CPU和北桥之间的桥梁,CPU和北桥传递的所有数据必须经过FSB总线,可以这么说,FSB总线的频率直接影响到CPU访问内存的速度。
PCI总线:PCI总线是一种高性能局部总线,其不受CPU限制,构成了CPU和外设之间的高速通道。比如现在的显卡一般都是用的PCI插槽,PCI总线传输速度快,能够很好地让显卡和CPU进行数据交换。

2.3 IO桥(南桥 北桥)

在这里插入图片描述

北桥:北桥是CPU和内存、显卡等部件进行数据交换的唯一桥梁,也就是说CPU想和其他任何部分通信必须经过北桥。北桥芯片中通常集成的还有内存控制器等,用来控制与内存的通信。现在的主板上已经看不到北桥了,它的功能已经被集成到CPU当中了。
南桥:主要负责I/O设备之间的通信,CPU要想访问外设必须经过南桥芯片。
1) 作用
如果没有IO桥,所有的“外设IO接口”都是直接挂接在三大高速总线上的,但是随着发展,挂接的外部设备越来越多,直接挂接在总线上太多了,管理是一个麻烦,慢慢的才有了IO桥这个管理者。
2) IO桥的好处
设备的IO接口直接挂接在IO桥上,IO桥有效的管理着众多的外设IO接口,IO桥里面会有相应的控制芯片,控制IO桥的工作。
3) 并不是计算机都需要IO桥
IO桥是PC机特有的,并不是所有的计算机都有的,比如我们后面讲的ARM的开发板,就没有明显的IO桥这个东西。

2.4 IO接口

在这里插入图片描述

PC是所有子系统的总和。在一个子系统和另一个子系统之间的边界处,就存在接口(Interface)。接口——将两个子系统连接在一起并使它们能够交换数据的电气系统。

接口的概念有点抽象,因为它最准确地指的是一个标准(一组数据交换规则)。实际上,一个接口可以包含,例如:
1) 两个控制器(controllers)(连接的每一端都有一个控制器);
2) 一根电缆;
3) 包含在控制器中的一些软件(协议等)。程序员只需要理解到协议一层即可,或者把接口就当成协议。

2.5 CPU位宽与寻址能力

内部寄存器到运算单元之间总线位数来确定。
内存寻址能力与CPU的位宽无关。
CPU的寻址能力与它的地址总线位宽有关,而我们通常说的CPU位宽指的是数据总线位宽,它和地址总线位宽半毛钱关系也没有,自然也与寻址能力无关。
CPU位宽指的是一个时钟周期内CPU能处理的二进制位数,如8086 CPU是16位的,可以一次处理2个字节(16个bit),80386 CPU是32位,能一次处理4个字节,目前的CPU基本上64位的了,一次能处理8个字节。
这个PAE就是CPU的地址总线位宽。在8086这个16位CPU上,它的地址总线位宽是20位,正好能寻址1MB,80286它的PAE是24位,在Pentium II(32位CPU)时这个PAE变成了36位,可以支持64GB的寻址。64位CPU出现之后,其地址总线位宽一般采用的是36位或者40位,它们寻址的物理地址空间为64GB或者1T。
地址总线用来定位,数据总线用来传输,也就是当CPU需要从内存读取数据或向内存写入数据时,它使用地址总线来指定其需要访问的存储器块的物理地址,然后通过数据总线发送数据。
一个计算机,它的内存访问能力是由硬件和软件共同决定的。硬件层面就指 CPU 的寻址能力,也就是地址总线的个数。软件层面,指的就是操作系统。实际上我们(进程)在进行内存访问的时候,访问的都是逻辑地址,而逻辑地址是由操作系统提供的。对于32位的操作系统,其逻辑地址编码采用的地址位数是 32 位,那么操作系统所提供的逻辑地址寻址范围就是 4GB。从这个方面来说,纵使你的 CPU 实际寻址能力为 2 的 64 次方,由于操作系统只提供 4GB 的逻辑地址,那 CPU 透过操作系统所能访问到的内存大小也就只有4GB了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机基本组成原理(简要笔记) 的相关文章

  • chatGPT查询api的余额

    代码如下 import requests url https api openai com dashboard billing credit grants api key 填写你的key headers Authorization Bear

随机推荐

  • c++学习之菱形继承

    1 菱形继承 2 代码示例 采用虚继承解决多义性 并且同名数据保证只有一份 include
  • Python之选择结构(案例2:个税计算系统)

    案例2 个税计算器 一 需求分析 开发一个个人所得税计算器 用户输入工资和五险一金 计算纳税额和到手工资 参考 http www gerensuodeshui cn 应纳税所得额 工资收入金额 各项社会保险费 起征点 5000元 应纳税额
  • 音视频开发编程技术(一):视频编码格式

    1 视频是什么 所谓视频 其实就是将一张一张的图片连续的放出来 类似于播放放幻灯片一样 由于人眼的常规可视帧数是每秒24帧 也就是说当每秒播放的图片数量大于24张时 人眼反馈回大脑的画面就是连续的动作 所以 将多张图片保存下来并连续快速播放
  • 汇编程序设计与计算机体系结构,汇编程序设计与计算机体系结构:软件工程师教程...

    汇编程序设计与计算机体系结构 软件工程师教程 语音 编辑 锁定 讨论 上传视频 汇编程序设计与计算机体系结构 软件工程师教程 是2019年4月1日机械工业出版社出版的图书 作者是 美 布莱恩 R 霍尔 BrianR Hall 凯文 J 斯郎
  • Whitelabel Error Page

    启动springboot后 发现总是提示url路径错误 但是反复检查又发现好像没什么错误 注意 检查代码包是不是放在与application启动类同包下 因为springboot启动时会加载这个类同包的组件 不在一个包下就加载不了所以导致识
  • tcp短连接TIME_WAIT问题解决方法大全(1)——高屋建瓴

    tcp连接是网络编程中最基础的概念 基于不同的使用场景 我们一般区分为 长连接 和 短连接 长短连接的优点和缺点这里就不详细展开了 有心的同学直接去google查询 本文主要关注如何解决tcp短连接的TIME WAIT问题 短连接最大的优点
  • 【黑苹果教程】ELAN,FocalTech 以及 Synaptics 触控板驱动

    触控板上的手势操作应该是macOS的一大特色 但是黑苹果装完之后 很多人发现别说手势 很多基本的功能触控板都不能实现 此时你需要安装触控板驱动 本文参照osxlatitude论坛的ELAN FocalTech and Synaptics S
  • NMOS和PMOS详解以及电路设计

    一 简介 MOS管 是MOSFET的缩写 MOSFET金属 氧化物半导体场效应晶体管 简称金氧半场效晶体管 Metal Oxide Semiconductor Field Effect Transistor MOSFET 其中 G是栅极 S
  • apache 中 httpd.conf 的配置详解

    部分 1 全局环境 血泪提醒 rootDocument里面一定要有index php 或者index html 不然403错误 T T 本部分的表示将影响所有Apache的操作 例如 所能处理的并发请求数或配置文件地址 ServerType
  • Python拾遗2

    Python高级编程 第2版 1 常见的装饰器模式 参数检查 缓存 代理 上下文提供者 2 Python3新增函数注解 使用场景 类型检查 让IDE显示函数接受和返回的类型 函数重载 其他语言之间的桥梁 适配 谓词逻辑函数 数据库查询映射
  • python的输入与输出

    python输入 input 与输出 print 一 输入 input 在python3中 input会将接收到的用户输入自动存储为字符串类型 username input 输入用户名 cuihua print username cuihu
  • nlp-位置编码解析

    看到这里 是否记得前面提及Vaswani推出的Transformer结构 那么如果不使用RNN结构 是怎样表示位置信息的呢 在提信息位置技术前 先简介以下RNN和CNN RNN的序列结构不适合大规模并行训练 因为大家都知道 RNN对于序列问
  • matlab lstm工具箱,[转载]RNN以及LSTM的Matlab代码

    implementation of LSTM clc clear close all training dataset generation binary dim 8 largest number 2 binary dim 1 binary
  • LeetCode 667. 优美的排列 II

    题目链接 https leetcode cn problems beautiful arrangement ii C 代码如下 class Solution public vector
  • table元素无法固定列宽,width设置无效

    之前在做table的时候 因为不是用来做数据的展示的 所以对于具体的格式没有太高的要求 所以没有去深入了解 这次在做一个数据展示列表的时候使用table 因为假设每一个单元格数据是没有固定长度的 所以为了界面不会因为数据的变化格式发生大变化
  • okhttp报错:clientBuilder.sslSocketFactory(SSLSocketFactory) not supported on jdk 9+

    一 问题现象 最近在用okHttp处理http请求调用 编写jmeter压测脚本时 出现一个奇怪的问题 idea中可以正常调用 但是打成jar包后 在jmeter中去使用时 则调不通 报错 clientBuilder sslSocketFa
  • JavaScript在小程序网页部署实战

    服务端推理和前端推理对比 前端推理趋势 落地场景 单模型 多模型 全链路流程 JS2 0介绍 核心指标 技术方案 模型转换 核心组件 初始化和预测 计算方案 模型安全处理 加密目标 方案介绍 方案流程 关键路径 性能优化 代码处理 视频获取
  • webpack基础

    webpack基础 设置webpack模式的几种方法 npx webpack mode development mode的优先级高于env npx webpack env development webpack config js modu
  • HTML加载本地图片

    img src img src 也可以注意图片名就是1 而不是1 jpg 自己要加上对应的图片类型 转载于 https blog 51cto com 13930723 2372776
  • 计算机基本组成原理(简要笔记)

    计算机体系 一 冯 诺依曼体系结构 从Linux 服务器开发视角来看计算机 都是符合冯 诺依曼体系结构的 1 1 4大部分 1 1 1 输入 输出设备 输入设备 向计算机输入数据 比如通过摄像头 MIC 将图像 声音等转成二进制数据给计算机