网络工程师 (2)计算机体系结构

一、冯诺依曼体系结构

(一)简介

       冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。数学家冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构。

(二)特点

  1. 单处理机结构:机器以运算器为中心。
  2. 程序存储思想:程序和数据一样存储在存储器中,CPU从存储器取出指令和数据进行相应的计算。
  3. 指令和数据可运算:指令和数据一样可以参与运算。
  4. 二进制表示:数据以二进制表示。
  5. 软硬件分离:将软件和硬件完全分离。
  6. 指令结构:指令由操作码和操作数组成。
  7. 顺序执行:指令顺序执行。

(三)组成

  1. 运算器:计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU)。
  2. 控制器:由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。运算器和控制器统称中央处理器(CPU),也被称为计算机的心脏。
  3. 存储器:存储器分为内存和外存。内存是电脑的记忆部件,用于存放电脑运行中的原始数据、中间结果以及指示电脑工作的程序。外存用来存放一些需要长期保存的程序或数据,断电后也不会丢失,但存取速度慢。外存储器包括硬盘、光盘和优盘等。
  4. 输入设备:输入设备是向计算机输入数据和信息的设备,是计算机与用户或其他设备通信的桥梁。常见的输入设备有键盘、鼠标、摄像头、扫描仪、光笔等。
  5. 输出设备:输出设备是计算机硬件系统的终端设备,用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等。常见的输出设备有显示器、打印机、音箱等。

(四)局限性

  1. 语义间隔:冯·诺依曼计算机的软件和硬件完全分离,适用于作数值计算。然而,这种计算机的机器语言同高级语言在语义上存在很大的间隔,这主要是因为存储器组织方式不同。冯·诺依曼机存储器是一维的线性排列的单元,按顺序排列的地址访问;而高级语言表示的存储器则是一组有名字的变量,按名字调用变量,不考虑访问方法,而且数据结构经常是多维的(如数组、表格)。
  2. 性能瓶颈:冯·诺依曼结构开启了计算机系统结构发展的先河,但是因为其集中、顺序的控制而成为性能提高的瓶颈。随着科技的发展以及人们计算需求的提升,冯·诺依曼体系结构的弊端逐渐暴露出来,严重束缚了现代计算机的进一步发展。

(五)计算机体系结构的发展趋势

       为了突破冯·诺依曼体系结构的局限,各国科学家正在探索各种非冯·诺依曼结构,目前在体系结构方面已经有了重大的变化和改进,如并行计算机、数据流计算机以及量子计算机、函数式编程语言计算机等非冯计算机。这些新型计算机部分或完全不同于传统的冯·诺依曼型计算机,很大程度上提高了计算机的计算性能。

二、计算机总线

(一)定义与分类

       总线(Bus)是计算机内部各部件之间传输信息的公共数据通道。它是由导线组成的传输线束,用于连接计算机硬件系统内的多种设备,实现它们之间的通信。按照计算机所传输的信息种类,计算机的系统总线可以划分为以下三类:

  1. 数据总线(Data Bus,DB)
    • 用来传送数据信息,是双向的。
    • CPU既可以通过数据总线从内存或输入设备读入数据,也可通过数据总线将内部数据送至内存或输出设备。
    • 数据总线的宽度决定了CPU和计算机其他设备之间每次交换数据的位数。
  2. 地址总线(Address Bus,AB)
    • 用于传送CPU发出的地址信息,是单向的。
    • 传送地址信息的目的是指明与CPU交换信息的内存单元或I/O设备。
    • 地址总线的宽度决定了CPU的最大寻址能力。
  3. 控制总线(Control Bus,CB)
    • 用来传送控制信号、时序信号和状态信息等。
    • 控制总线中的每一条线的信息传送方向是单方向且确定的,但控制总线作为一个整体则是双向的。

(二)功能特性

  1. 物理特性:也称为机械特性,指总线上部件在物理连接时表现出的一些特性,如插头与插座的几何尺寸、形状、引脚个数及排列顺序等。
  2. 功能特性:指每一根信号线的功能,如地址总线用来表示地址码,数据总线用来表示传输的数据,控制总线表示总线上操作的命令、状态等。
  3. 电气特性
    • 指每一根信号线上的信号方向及表示信号有效的电平范围。
    • 不同总线高电平、低电平的电平范围也无统一的规定,通常与TTL相符。
  4. 时间特性
    • 也称为逻辑特性,指在总线操作过程中每一根信号线上信号什么时候有效。
    • 通过这种信号有效的时序关系约定,确保了总线操作的正确进行。

(三)性能与带宽

       总线的性能直接影响到整机系统的性能。总线的带宽(即单位时间内可以传输的总数据数)是评估总线性能的重要指标。总线带宽的计算公式为:总线带宽 = 频率 × 宽度/8(Bytes/sec)。

(四)标准化与类型

  1. ISA总线:工业标准总线,只能支持16位的I/O设备,数据传输率大约是16Mb/s。
  2. EISA总线:在ISA总线的基础上发展起来的32位总线,总线传输速率达33Mb/s。
  3. PCI总线
    • 目前微型机上广泛采用的内总线,采用并行传输方式,传输速率至少为133Mb/s(32位),64位PCI总线的传输速率为266Mb/s。
    • PCI总线的工作与CPU的工作是相互独立的,支持即插即用。
  4. PCI Express总线
    • 采用点对点串行连接,每个设备都有自己的专用连接,不需要向整个总线请求带宽。
    • 可以把数据传输率提高到一个很高的频率,支持双向传输模式和全双工模式。
  5. 前端总线(FSB):将CPU连接到北桥芯片的总线,是CPU和外界交换数据的最主要通道。

(五)作用与意义

       计算机总线在计算机体系结构中发挥着至关重要的作用。它作为CPU、内存、输入、输出设备传递信息的公用通道,实现了计算机内部各部件之间的有效连接和通信。通过总线,CPU可以访问内存和I/O设备,实现数据的读取、写入和控制操作。同时,总线也支持多个设备之间的并发通信和数据传输,提高了计算机系统的整体性能和效率。

 结语  

要放下过去的包袱

才能轻松地向前走

!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/960230.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android Studio:视图绑定的岁月变迁(2/100)

一、博文导读 本文是基于Android Studio真实项目,通过解析源码了解真实应用场景,写文的视角和读者是同步的,想到看到写到,没有上帝视角。 前期回顾,本文是第二期。 private Unbinder mUnbinder; 只是声明了一个 接口…

LeetCode | 不同路径

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例 1…

低代码系统-产品架构案例介绍、得帆云(八)

产品名称 得帆云DeCode低代码平台-私有化 得帆云DeMDM主数据管理平台 得帆云DeCode低代码平台-公有云 得帆云DePortal企业门户 得帆云DeFusion融合集成平台 得帆云DeHoop数据中台 名词 概念 云原生 指自己搭建的运维平台,区别于阿里云、腾讯云 Dehoop 指…

使用ensp进行ppp协议综合实验

实验拓扑 实验划分 AR1的Serial3/0/0接口:192.168.1.1/24; AR2的Serial3/0/0接口:192.168.1.2/24; AR2的Serial3/0/1和4/0/0的聚合接口:192.168.2.2/24; AR3的Serial3/0/0和3/0/1的聚合接口:192…

【Python・机器学习】多元回归模型(原理及代码)

前言 自学笔记,分享给语言学/语言教育学方向的,但对语言数据处理感兴趣但是尚未入门,却需要在论文中用到的小伙伴,欢迎大佬们补充或绕道。ps:本文最少限度涉及公式讲解(文科生小白友好体质)&am…

unity免费资源2025-1-26

https://assetstore.unity.com/packages/tools/animation/motion-warping-climb-interact-270046 兑换码KINEMATION2025

Kitchen Racks 2

Kitchen Racks 2 吸盘置物架 Kitchen Racks-CSDN博客

ESMC-600M蛋白质语言模型本地部署攻略

前言 之前介绍了ESMC-6B模型的网络接口调用方法,但申请token比较慢,有网友问能不能出一个本地部署ESMC小模型的攻略,遂有本文。 其实本地部署并不复杂,官方github上面也比较清楚了。 操作过程 环境配置:CUDA 12.1、…

JAVA设计模式:依赖倒转原则(DIP)在Spring框架中的实践体现

文章目录 一、DIP原则深度解析1.1 核心定义1.2 现实比喻 二、Spring中的DIP实现机制2.1 传统实现 vs Spring实现对比 三、Spring中DIP的完整示例3.1 领域模型定义3.2 具体实现3.3 高层业务类3.4 配置类 四、Spring实现DIP的关键技术4.1 依赖注入方式对比4.2 自动装配注解 五、D…

JVM栈溢出线上环境排查

#查看当前Linux系统进程ID、线程ID、CPU占用率(-eo后面跟想要展示的列) ps H -eo pid,tid,%cpups H -eo pid,tid,%cpu |grep tid #使用java jstack 查看进程id下所有线程id的情况 jstack pid 案例2 通过jstack 排查死锁问题 #启动java代码 jstack 进…

Langchain+讯飞星火大模型Spark Max调用

1、安装langchain #安装langchain环境 pip install langchain0.3.3 openai -i https://mirrors.aliyun.com/pypi/simple #灵积模型服务 pip install dashscope -i https://mirrors.aliyun.com/pypi/simple #安装第三方集成,就是各种大语言模型 pip install langchain-comm…

Gradle配置指南:深入解析settings.gradle.kts(Kotlin DSL版)

文章目录 Gradle配置指南:深入解析settings.gradle.kts(Kotlin DSL版)settings.gradle.kts 基础配置选项单项目配置多项目配置 高级配置选项插件管理(Plugin Management)基础配置模板案例:Android项目标准配…

php twig模板引擎详细使用教程

php twig模板引擎 1. 什么是Twig模板引擎 Twig是一个强大且灵活的PHP模板引擎,它提供了一种更简洁和可扩展的方法来创建PHP应用程序的视图层。Twig模板引擎旨在将设计与业务逻辑分离,并为开发人员提供一种更加清晰和易于维护的方式来构建网页。Twig由S…

Java后端之AOP

AOP&#xff1a;面向切面编程&#xff0c;本质是面向特定方法编程 引入依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency>示例&#xff1a;记录…

vim的多文件操作

[rootxxx ~]# vim aa.txt bb.txt cc.txt #多文件操作 next #下一个文件 prev #上一个文件 first #第一个文件 last #最后一个文件 快捷键: ctrlshift^ #当前和上个之间切换 说明&#xff1a;快捷键ctrlshift^&#xff0c…

DataSecOps的要点

2020年首次提出&#xff0c;DataSecOps是一种敏捷、全面、内置安全的 方法&#xff0c;用于协调不断变化的数据及其用户&#xff0c;旨在快速提供数据价值&#xff0c; 同时确保数据的私密性、安全性和良好的管理。 强调数据全生命周 期流转运营过程中的内嵌安全属性&#x…

实用工具推荐----wsl安装

一&#xff1a;Win设置修改 Win 搜索 ”启用或关闭windows 功能“ 将如下内容选中 点击升级 重启电脑 二&#xff1a;安装步骤 参考官方文档 适用于 Linux 的 Windows 子系统文档 | Microsoft Learn 下载wsl ubantu发行包 旧版 WSL 的手动安装步骤 | Microsoft Learn 将u…

如何建设一个企业级的数据湖

建设一个企业级的数据湖是一项复杂且系统化的工程&#xff0c;需要从需求分析、技术选型、架构设计到实施运维等多个方面进行综合规划和实施。以下是基于我搜索到的资料&#xff0c;详细阐述如何建设企业级数据湖的步骤和关键要点&#xff1a; 一、需求分析与规划 明确业务需…

如何在 macOS 上安装 PIP ?

PIP 是任何 Python 开发人员必备的工具&#xff0c;因为它简化了安装和管理 Python 包的过程。本教程是为 macOS 用户量身定制的&#xff0c;并假设对使用终端有基本的了解。 必备条件 在安装 PIP 之前&#xff0c;必须确保您的系统上已经安装了 Python。Python 3.4 及更高版…

Kotlin开发(六):Kotlin 数据类,密封类与枚举类

引言 想象一下&#xff0c;你是个 Kotlin 开发者&#xff0c;敲着代码忽然发现业务代码中需要一堆冗长的 POJO 类来传递数据。烦得很&#xff1f;别急&#xff0c;Kotlin 贴心的 数据类 能帮你自动生成 equals、hashCode&#xff0c;直接省时省力&#xff01;再想想需要多种状…