七台河网站制作/网络运营培训

七台河网站制作,网络运营培训,浙江乐清新闻今天,做网站用小公司还是大公司好冯 • 诺依曼体系结构 一、冯 • 诺依曼体系结构推导阶段 1:初始计算机体系结构(仅输入、运算、输出)阶段 2:加入控制功能,初步形成 CPU 概念阶段 3:性能瓶颈与引入内存阶段 4:最终冯诺依曼体系…

冯 • 诺依曼体系结构

  • 一、冯 • 诺依曼体系结构推导
    • 阶段 1:初始计算机体系结构(仅输入、运算、输出)
    • 阶段 2:加入控制功能,初步形成 CPU 概念
    • 阶段 3:性能瓶颈与引入内存
    • 阶段 4:最终冯·诺依曼体系结构
    • 内存提高效率的机制:局部性原理
  • 二、深入理解
    • 1.使用 QQ 聊天时数据的流动过程
      • 1.1 你的电脑(发送端)
      • 1.2 网络传输(简略)
      • 1.3 朋友的电脑(接收端)
    • 2.冯·诺依曼体系结构在其中的体现
    • 3.为什么要有这样的设计?


一、冯 • 诺依曼体系结构推导

冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器数据存储器合并在一起的存储器结构。程序指令存储地址数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。

数学家冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构


我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。
在这里插入图片描述
存储器:内存

外设:

输入设备:鼠标、键盘、摄像头、话筒、磁盘、网卡…
输出设备:显示器、播放器硬件、磁盘、网卡…
有的设备是纯输入、输出,也有既是输入又是输出的设备

CPU:

运算器:对我们的数据进行计算任务(算术运算,逻辑运算) 控制器:对我们的计算硬件流程进行一定的控制

以上这些都是独立的个体!各个硬件单元必须用“线”链接起来

  1. 系统总线
  2. IO总线

截至目前,我们所认识的计算机,都是有一个个的硬件组件组成

输入单元:包括键盘, 鼠标,扫描仪, 写板等
中央处理器(CPU):含有运算器和控制器等
输出单元:显示器,打印机等

关于冯诺依曼,必须强调几点:

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

冯·诺依曼体系结构的工作流程
冯·诺依曼体系结构的工作基于“存储程序”和“顺序执行”的原则,其基本流程如下:

  • 取指令(Fetch):控制器从存储器中读取下一条指令(根据程序计数器的地址)。
  • 解码(Decode):控制器解析指令,确定需要执行的作。
  • 执行(Execute):运算器执行指令(可能涉及从存储器读取数据、计算、或将结果写回存储器)。
  • 更新程序计数器:程序计数器加1,指向下一条指令,循环上述步骤。

阶段 1:初始计算机体系结构(仅输入、运算、输出)

描述:计算机最初的作用是解决问题,需要输入数据、进行运算并输出结果。因此,体系结构包括输入设备、运算功能和输出设备。

输入设备
运算功能
输出设备

推导

  • 计算机通过输入设备获取数据或问题。
  • 数据经过算术运算和逻辑运算后,通过输出设备显示结果。
  • 然而,仅靠运算功能不足以协调数据流,缺乏控制机制。

阶段 2:加入控制功能,初步形成 CPU 概念

描述:为了协调输入、运算和输出的时机,引入控制功能(对应 C 语言中的判断、循环、函数跳转等)。将运算功能和控制功能整合,称为中央处理器(CPU)。

输入设备
CPU
包含运算和控制功能
输出设备

推导

  • CPU 整合了算术运算(加减乘除)、逻辑运算(与、或等)和控制功能。
  • 但输入设备和输出设备相对于 CPU 速度极慢(木桶原理),导致整体性能受限。
    在这里插入图片描述

阶段 3:性能瓶颈与引入内存

描述:由于输入/输出设备与 CPU 速度差异巨大,体系结构效率低下。引入内存作为缓冲,位于慢设备(输入/输出)和快设备(CPU)之间,缓解速度不匹配问题。

输入设备
内存
CPU
输出设备

推导

  • 输入设备将数据存入内存,CPU 从内存读取数据处理后写回内存。
  • 内存再将数据传输给输出设备。
  • 内存速度介于输入/输出设备和 CPU 之间,起到缓冲作用,避免 CPU 因等待慢设备而闲置。

阶段 4:最终冯·诺依曼体系结构

描述:结合存储器(仅指内存,不包括外存)、CPU、输入设备和输出设备,形成经典的冯·诺依曼体系结构。数据在内存和 CPU 之间流动,输入输出通过内存缓冲。
在这里插入图片描述
推导

  • 内存成为数据传输的中介,CPU 与内存之间的高速交互是体系核心。
  • 输入设备和输出设备通过内存与 CPU 间接通信,减少直接交互的瓶颈。

内存提高效率的机制:局部性原理

描述:内存通过局部性原理提高效率。当 CPU 访问某数据时,内存预加载其附近数据(空间局部性),并利用处理与加载并行进行(时间局部性),形成缓冲区效果。

输入设备
内存
预加载附近数据
CPU
处理数据
输出设备
缓冲区输出

推导

  • 空间局部性:内存加载一行数据时,预加载后续数据,减少 CPU 等待。
  • 时间局部性:CPU 处理数据时,内存同时加载下一批数据,二者并行提高效率。
  • 缓冲区:如 C 语言的 fflush 函数,内存存储数据直到缓冲区满,再输出到设备。

冯·诺依曼体系结构的推导是从简单输入-运算-输出的模型开始,逐步引入控制功能和内存,最终形成以内存和 CPU 为核心的结构。内存通过局部性原理和缓冲机制有效缓解了输入/输出设备与 CPU 速度不匹配的问题,成为现代计算机设计的基础。

二、深入理解

对冯诺依曼的理解,不能停留在概念上,要深入到对软件数据流理解上,请解释,从你登录上qq开始和某位朋友聊天开始,数据的流动过程。 从你打开窗口,开始给他发消息,到他的到消息之后的数据流动过程。如果是在qq上发送文件呢?


1.使用 QQ 聊天时数据的流动过程

以下是从你敲击键盘到朋友看到消息的完整数据流动过程,结合冯·诺依曼体系结构和网络通信的视角:

1.1 你的电脑(发送端)

  • 输入阶段(键盘 → 内存)

    • 你在键盘上输入消息(例如“Hello”)。
    • 键盘作为输入设备,将按键信号转换为电信号,存储到键盘控制器的寄存器中。
    • 通过 I/O 总线,键盘控制器将数据写入内存(通常由操作系统的中断机制完成)。
    • 冯·诺依曼特性:外设(如键盘)不直接与 CPU 交互,而是通过内存作为中介。
  • 显示阶段(内存 → 显示器)

    • 输入的消息被加载到内存后,QQ 客户端程序从内存读取数据。
    • CPU 执行客户端代码,将消息渲染到显示缓冲区(内存中的一块区域)。
    • 显示器(输出设备)通过 I/O 总线 从内存获取渲染数据,显示在你的屏幕上。
  • 封装与发送阶段(内存 → 网卡)

    • CPU 从内存读取消息,按照网络协议栈(TCP/IP)进行封装:
      • 应用层:QQ 协议添加消息头。
      • 传输层:TCP 添加端口号、序列号等。
      • 网络层:IP 添加源和目标 IP 地址。
      • 数据链路层:以太网帧封装。
    • 封装后的数据写回内存。
    • 网卡(输出设备)通过 I/O 总线 从内存读取数据,发送到网络。

1.2 网络传输(简略)

  • 数据经过路由器、交换机等网络设备,从你的网卡传输到朋友的网卡。
  • 具体过程涉及物理层信号转换、数据链路层帧传递、网络层路由等(按你的要求忽略细节)。

1.3 朋友的电脑(接收端)

  • 接收阶段(网卡 → 内存)

    • 朋友的网卡(输入设备)接收到网络数据,存储到网卡的寄存器中。
    • 通过 I/O 总线,网卡将数据写入内存。
    • 冯·诺依曼特性:网卡作为外设,依然通过内存与 CPU 交互。
  • 解包阶段(内存 → CPU → 内存)

    • CPU 从内存读取数据,按协议栈逆向解包:
      • 数据链路层:剥离以太网帧。
      • 网络层:解析 IP 地址。
      • 传输层:处理 TCP 头部。
      • 应用层:提取 QQ 消息内容。
    • 解包后的消息写回内存。
  • 显示阶段(内存 → 显示器)

    • QQ 客户端从内存读取解包后的消息。
    • CPU 执行渲染逻辑,将消息写入显示缓冲区。
    • 显示器(输出设备)通过 I/O 总线 从内存获取数据,显示在朋友的屏幕上。

2.冯·诺依曼体系结构在其中的体现

冯·诺依曼体系结构的核心是 存储程序概念CPU-内存-外设 的分工协作。以下是它在 QQ 聊天过程中的体现:

  1. 内存作为数据中转站

    • 所有外设(键盘、网卡、显示器)都通过内存与 CPU 交互。
    • 原因:CPU 的处理速度远高于外设,直接交互会导致效率低下;内存作为缓冲区,解耦了 CPU 和外设的操作。
  2. 程序必须加载到内存

    • QQ 客户端的可执行文件存储在硬盘上,运行时加载到内存。
    • 原因:CPU 只能从内存取指令和数据,硬盘(外设)的数据访问需要通过内存中转。
  3. 总线连接硬件

    • 系统总线:连接 CPU 和内存,传输指令和数据。
    • I/O 总线:连接内存和外设(如键盘、网卡),负责数据输入输出。
  4. 寄存器的作用

    • 外设(如键盘、网卡)内部的寄存器暂存数据,再通过总线写入内存。
    • 原因:寄存器速度快,适合缓冲瞬时数据,减少内存直接访问的压力。

3.为什么要有这样的设计?

  1. 为什么 CPU 只与内存打交道?

    • 效率:CPU 的速度(GHz 级别)远超外设(MHz 或更低),直接与外设交互会浪费 CPU 时间。
    • 解耦:通过内存中转,CPU 可以专注于计算,外设可以独立完成 I/O 操作。
  2. 为什么程序要加载到内存?

    • 速度:内存的访问速度(纳秒级)比硬盘(毫秒级)快几个数量级,CPU 需要快速获取指令(但也会出现“内存墙”的问题)。
    • 控制:内存由操作系统管理,便于分配和保护程序运行环境。
  3. 为什么外设需要寄存器?

    • 缓冲:外设的处理速度慢,寄存器作为临时存储,避免数据丢失。
    • 同步:寄存器与外设硬件直接相连,确保数据按序传输到内存。
  4. 为什么数据要经过封装和解包?

    • 可靠性:网络协议(如 TCP)通过头部信息保证数据顺序和完整性。
    • 通用性:分层封装(如 TCP/IP)让不同设备和软件能够协同工作。

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

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

相关文章

2025人工智能“落地生花”:这六大领域正掀起颠覆性革命

——从医疗到养老,一场“AI”的全民狂欢正在上演 2025年的春天,全球科技界的热搜被一个中国AI大模型“霸榜”——DeepSeek。从春晚的机器人热舞到政务系统的“数字员工上岗”,从医疗诊断到工业炼钢,这场始于春节的技术海啸&#…

蓝耘智算|从静态到动态:探索Maas平台海螺AI图片生成视频功能的强大能力

文章目录 👏一、技术介绍👏二、平台注册👏三、功能体验👏四、总结 随着人工智能技术的快速发展,视频处理和生成技术已经成为了众多行业关注的热点。最近,我有机会体验了蓝耘智算平台的Maas平海螺AI视频产品…

解决从deepseek接口获取的流式响应输出到前端都是undefined的问题

你的前端 EventSource 代码遇到了 undefined 连续输出 的问题,通常是因为: AI 返回的内容被拆成了单个字符,导致前端 JSON.parse(event.data).content 获取到的是单个字符,而 undefined 可能是因为某些数据块没有 content 字段。…

前缀和 之 哈希表 之 和 的奇偶与倍数

文章目录 930.和相同的二元子数组523.连续的子数组和 求解连续子数组的和的问题,常常会使用到这个前缀和的思路,当然当数组存在单调性的时候,可以考虑使用不定长滑动窗口,在这里解释一下,何为数组的和存在这个单调性&a…

Docker Compose 和 Kubernetes(K8s)对比

Docker Compose 和 Kubernetes(K8s)在某些方面有相似的功能,但它们的 核心用途和适用场景不同。以下是它们的主要区别和联系: 1. Docker Compose 和 Kubernetes 的区别 对比项Docker ComposeKubernetes(K8s&#xff0…

晶艺代理,100V3.5A高耐压LA1823完全替换MP9487--启烨科技有限公司

晶艺品牌LA1823是异步降压转换器,COT控制,PFM工作模式, 150KHz/ 250KHz/ 450KHz ,开关频率可调节,输入电压4.5~100V,2A平均电流,峰值电流3.5A,采用ESOP8封装。 晶艺LA1823的特性: 4.…

PLC控制柜在技术创新驱动中功能演进 尤劲恩科技

在智能制造体系中,PLC控制柜不仅承担着传统设备控制的基础功能,更通过工业以太网、PROFIBUS等现场总线技术,构建起分布式控制系统(DCS)。这种拓扑结构使生产线具备实时数据采集、远程监控和智能决策能力,显…

【JavaEE】Spring Boot 日志

目录 一、日志概述二、使用日志2.1 打印日志2.2 日志框架2.2.1 门面 / 外观 模式 2.3 日志级别2.3.1 六大分类2.3.2 使用 2.4 日志级别配置2.5 日志的持久化2.6 日志文件分割2.7 日志文件格式2.8 Slf4j 简单打印日志 一、日志概述 ⽇志主要是为了发现问题, 分析问题, 定位问题…

uniapp APP权限弹框

效果图 第一步 新建一个页面,设置透明 {"path": "pages/permissionDisc/permissionDisc","style": {"navigationBarTitleText": "","navigationStyle": "custom","app-plus": {&…

(性能测试)性能测试工具 2.jmeter的环境搭建 3jmeter元件和4使用实例 5jmeter元件和参数化

目录 性能测试工具 性能测试工具 jemeter环境搭建 jmeter的常用目录介绍 jmeter修改语言和主题--jmeter界面的汉化 jmeter元件 jmeter元件和组件的介绍 jmeter的作用域原则 jmeter的执行顺序 案例:执行顺序 jmeter使用案例 jmeter线程组的介绍 jmeter…

Qt程序基于共享内存读写CodeSys的变量

文章目录 1.背景2.结构体从CodeSys导出后导入到C2.1.将结构体从CodeSys中导出2.2.将结构体从m4文件提取翻译成c格式 3.添加RTTR注册信息4.读取PLC变量值5.更改PLC变量值6.Qt读写CodeSys的共享内存 1.背景 在文章【基于RTTR在C中实现结构体数据的多层级动态读写】中&#xff0c…

计算机视觉——深入理解卷积神经网络与使用卷积神经网络创建图像分类算法

引言 卷积神经网络(Convolutional Neural Networks,简称 CNNs)是一种深度学习架构,专门用于处理具有网格结构的数据,如图像、视频等。它们在计算机视觉领域取得了巨大成功,成为图像分类、目标检测、图像分…

服务性能防腐体系:基于自动化压测的熔断机制

01# 背景 在系统架构的演进过程中,项目初始阶段都会通过压力测试构建安全护城河,此时的服务性能与资源水位保持着黄金比例关系。然而在业务高速发展时期,每个冲刺周期都被切割成以业务需求为单位的开发单元,压力测试逐渐从必选项…

SpringBoot 和vue前后端配合开发网页拼图10关游戏源码技术分享

今天分享一个 前后端结合 的网页游戏 开发项目源码技术。 这也是我第一次写游戏类的程序,虽然不是特别复杂的游戏,但是是第一次写,肯定要记录一下了,哈哈。 游戏的内容 就是 我们显示中玩的那个 拼图碎片的 游戏,类似下…

01-Canvas-使用fabric初始

fabric官网&#xff1a; https://fabric5.fabricjs.com/demos/ 创建画布并绘制 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-sca…

【机器学习-基础知识】统计和贝叶斯推断

1. 概率论基本概念回顾 1. 概率分布 定义: 概率分布(Probability Distribution)指的是随机变量所有可能取值及其对应概率的集合。它描述了一个随机变量可能取的所有值以及每个值被取到的概率。 对于离散型随机变量,使用概率质量函数来描述。对于连续型随机变量,使用概率…

《TCP/IP网络编程》学习笔记 | Chapter 18:多线程服务器端的实现

《TCP/IP网络编程》学习笔记 | Chapter 18&#xff1a;多线程服务器端的实现 《TCP/IP网络编程》学习笔记 | Chapter 18&#xff1a;多线程服务器端的实现线程的概念引入线程的背景线程与进程的区别 线程创建与运行pthread_createpthread_join可在临界区内调用的函数工作&#…

创新实践分享:基于边缘智能+扣子的智能取物机器人解决方案

在 2024 年全国大学生物联网设计竞赛中&#xff0c;火山引擎作为支持企业&#xff0c;不仅参与了赛道的命题设计&#xff0c;还为参赛队伍提供了相关的硬件和软件支持。以边缘智能和扣子的联合应用为核心&#xff0c;参赛者们在这场竞赛中展现出了卓越的创新性和实用性&#xf…

QT:动态属性和对象树

动态对象 1.添加Q_PROPERTY对象 #ifndef MYPROPERTYCLASS_H #define MYPROPERTYCLASS_H#include <QObject>class MyPropertyClass : public QObject {Q_OBJECTQ_PROPERTY(QString mask READ mask WRITE setMask NOTIFY maskChanged) public:explicit MyPropertyClass(Q…

在 Windows 上使用 choco 安装 mkcert 并配置 Vue 运行HTTPS

解决在Windows上使用Vue本地运行HTTPS的问题,vue-cli或vite都可以使用 步骤 1&#xff1a;确认 Chocolatey 是否已安装 1. 检查 choco 命令是否可用 打开 PowerShell&#xff08;管理员权限&#xff09;&#xff0c;输入&#xff1a; choco -v如果显示版本号&#xff08;如…