【计算机组成-计算机基本结构】

课程链接:北京大学陆俊林老师的计算机组成原理课

1. 电子计算机的兴起

  • 原因:二战对计算能力的需求
  • 世界上第一台通用电子计算机 ENIAC(Electronic Numerical Integrator And
    Computer):时间:1946;地点:美国宾夕法尼亚大学
  • ABC(Atanasoff- Berry-Computer): 时间:1939;地点:美国艾奥瓦州立大学
  • 存储程序式计算机 EDVAC(Electronic Discrete Variable Automatic Computer):实现存储程序概念,大幅提升了任务效率;指令和数据采用二进制,极大简化了逻辑线路;由运算器、控制器、存储器、输入设备、输出设备这五个基本部分组成
  • 第一台使用的存储程序式计算机 EDSAC(Electronic Delay Storage Automatic Calculator):时间:1949年;地点:英国剑桥大学
  • UNIVAC(UNIVersal Automatic Computer):交付美国人口普查局,在准确与爆了美国总统选举结果后一夜成名;开启了商用计算机的时代
  • 1964,大型计算机的经典:IBM S/360
  • 1964,第一台超级计算机:CDC6600
  • 1965,小型计算机的经典:PDP-8
  • 1975,第一台微型计算机:Altair8800
  • 1977,微型计算机经典:Apple II
  • 1981,微型计算机经典:IBM PC 5150

2. 冯诺依曼结构的要点

  • 两个重要设计思想:1. 存储程序,而不是开关连线;2. 二进制,而不是十进制
  • 计算机的五个部分:运算器(CA,central arithmetical)、控制器(CC,central control)、存储器(M,memory)、输入设备(I,input)、输出设备(O,output)
  • 存储程序的概念:数据和程序均以二进制代码形式不加区分地存放在存储器中,存放位置由存储器的地址指定;计算机在工作时能够自动地从存储器中取出指令加以执行
  • 冯诺依曼结构的核心:冯诺依曼结构的运算器CA和控制器CC合称C,相当于现代计算机的CPU;冯诺依曼结构的存储器M,相当于现代计算机的主存储器(主存、内存);CPU和主存储器通过系统总线连接
  • 主存的组织形式:地址是每个存储单元对应的序号,内容是存储单元中存放的信息,一般一个存储单元就是一个字节,即8个二进制位
    在这里插入图片描述

3. 冯诺依曼的小故事

  • 计算机执行一条指令的主要步骤:1. 取指(fetch),2. 译码(decode),3. 执行(execute),4. 回写(write-back)
  • 餐馆厨师做菜的主要步骤:1. 取任务单(并更新下张任务单的位置),2. 分析任务(方法、原料位置、成品盛放),3. 执行任务(取原料,按方法做),4. 保存结果(按要求存放),5. 取任务单(重复上述过程)
    在这里插入图片描述

4. 计算机结构的简化模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 内部总线用于在CPU内部各个部件之间传递数据,例如将数据从R0传送到X

5. 计算机执行指令的过程

  • 取指:1. 控制器将指令的地址送往存储器;2. 存储器按给定的地址读出指令内容,送回控制器(具体过程:1. PC-指令->MAR 2. MAR-指令->地址总线,控制电路-Read->控制总线 3. 地址总线-指令->地址译码器,控制总线-Read->控制逻辑 4. 存储器-地址译码器对应的内容(指令)->MDR 5. 控制逻辑-Ready-控制电路 6. MDR-指令->保存 7. MDR-指令->IR 8. PC更新为下一条指令的地址)
  • 译码:1. 控制器分析指令的操作性质;2. 控制器向有关部件发出指令所需的控制信号(具体过程:1. IR-指令->指令译码(假设为Add,CPU的R0,存储器的[0110]) 2. 控制电路-控制信号->存储器对应部件)
  • 执行:1. 控制器从通用寄存器或存储器取出操作数;2. 控制器命令运算器对操作数进行指令规定的运算(具体过程:1. 指令译码-指令->MAR,2. 类似于取指中的步骤2-6,3. MDR-数据->Y,R0-数据->X 4. ALU-X和Y->Z)
  • 回写:将运算结果写入通用寄存器或存储器(具体过程:Z-控制电路给出相应信号-R0)
  • 继续执行下一条指令

6. 计算机输入和输出

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

7. 冯诺依曼结构和具体实现

在这里插入图片描述

  • 基本输入输出系统 BIOS(Basic Input Output System)是一组固化到计算机内主板上一个 ROM 芯片上的程序,它保存着计算机最重要的基本输入输出的程序,还包括开机后自检程序和系统自启动程序。除此以外,它还可从 CMOS 中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。简单来说,BIOS 是计算机启动时加载的第一个软件,BIOS 的设置直接关系到电脑是否可以正常启动,并影响到之后的使用效率。Windows 操作系统,也是在 BIOS 的引导下进行工作的。
    在这里插入图片描述
    红色:传输压力大的通道;绿色:传输压力相对较小的通道
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 计算机性能的增长:1946,ENIAC每秒5千次定点加法运算;2013年,天河2号每秒3.3亿亿次浮点运算。若仅用运算次数进行非常粗略的比较,这67年里,性能增长超过6万亿倍(约为2的23次方),恰好相当于每18个月翻一番
    在这里插入图片描述

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

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

相关文章

Js - 函数(四)

1.函数简单介绍 什么是函数? 函数(function)是执行特定任务的一段代码块 为什么需要函数? 可以实现代码复用,提高开发效率 2.函数使用 函数的声明语法 函数名命名规范 函数的调用语法 函数体 函数体是函数的构…

数据库开发工具:Navicat Premium 16 (Win/Mac)中文激活版

Navicat Premium 16 是一款强大的数据库管理工具,旨在帮助用户更轻松地管理和维护各种数据库类型。 以下是关于 Navicat Premium 16 的详细介绍: 数据库支持:Navicat Premium 16 支持多种数据库类型,包括 MySQL、PostgreSQL、SQLi…

【vpp2206 测试】

vpp 2206编译# ./extras/vagrant/build.sh # make build # make runstartup-default.conf 的内容cpu {main-core 0 }unix {interactive cli-listen 127.0.0.1:5002log /tmp/vpp.logfull-coredumpstartup-config /home/king/share/vpp/startup.txt }dpdk {uio-driver igb_uiodev…

在Linux下配置Apache HTTP服务器

在Linux的世界里,如果说有什么比解决各种“神秘”的故障更让人头疼,那一定就是配置Apache HTTP服务器了。这不是因为Apache有什么问题,而是因为配置它简直就像解谜游戏,一不留神就会让你陷入无尽的纠结。 首先,你需要…

【AI视野·今日Sound 声学论文速览 第四十五期】Wed, 10 Jan 2024

AI视野今日CS.Sound 声学论文速览 Wed, 10 Jan 2024 Totally 12 papers 👉上期速览✈更多精彩请移步主页 Daily Sound Papers Masked Audio Generation using a Single Non-Autoregressive Transformer Authors Alon Ziv, Itai Gat, Gael Le Lan, Tal Remez, Felix…

Debian/Ubuntu配置aliyun源和安装工具

将 Debian 10 的 apt-get 源更换为 aliyun,以提升国内环境 apt install 的速度。 1)备份原 apt-get 源文件 roote3c22f627b9e:~# cd /etc/apt roote3c22f627b9e:/etc/apt# cp sources.list sources.list.bak 2)清除原 apt 源文件内容 ro…

解决python画图无法显示中文的问题

python画图遇到的问题: 中文不显示: 解决方法:把字体设置为支持中文的字体,比如黑体 黑体下载链接: 链接:https://pan.baidu.com/s/1BD7zQEBUfcIs6mC2CPYy6A?pwdv120 提取码:v120 pyhon…

【离散数学】xjtu版离散复习攻略

据学长及同级同学经验,按我校的考察难度,离散数学一天速通不是问题。如果你是正在阅读本篇的学弟/学妹,且复习时间紧张,可考虑把离散放到考前一天来复习。 网络上的资源已经足够详尽,只不过大多数没有介绍自然推理系统…

485总线抢占冲突问题

假如当前有一个主机,和两个从机,主机发送msg1给从机1,10毫秒后,发送msg2给从机2。 然后从机1和从机2都会回复报文给主机,但是如果从机2想要回复给主机的时候,从机1正在发送报文给主机,这时候会怎…

Visual Studio常用快捷键及调试操作

CtrlF10 运行到光标处 调试时候不用一行行按F10了CtrlMM 折叠或展开当前方法CtrlMO 折叠所有方法CtrlML 展开所有方法CtrlEW 自动换行/取消自动换行CtrlU 选中文本转小写CtrlShiftU 选中文本转大写CtrlWinO 启动软键盘F9 光标行加断点CtrlAltB 打开断点窗口 或通过Debug -> …

【发票识别】支持pdf、ofd、图片格式的发票

背景 为了能够满足识别各种发票的功能,特地开发了当前发票识别的功能,当前的功能支持pdf、ofd、图片格式的发票识别,使用到的技术包括文本提取匹配、ocr识别和信息提取等相关的技术,用到机器学习和深度学习的相关技术。 体验 体…

ChatGPT到底能做什么呢?

1、熟练掌握ChatGPT提示词技巧及各种应用方法,并成为工作中的助手。 2、通过案例掌握ChatGPT撰写、修改论文及工作报告,提供写作能力及优化工作 3、熟练掌握ChatGPT融合相关插件的应用,完成数据分析、编程以及深度学习等相关科研项目。 4、…

批量修改文件名-txt_word_ppt批量修改文件名

word/excel/ppt等等批量修改文件名批量修改文件名的方法有N多种,我的这种是比较简单的,小白也可以使用使用windows自带的批处理脚本进行批量重命名什么类型的文件批量修改原理都一样,这里以txt修改为例 1.创建文件测试 通过py脚本快速创建文件测试,这步是创建100个txt文件,这…

【开源】基于JAVA的数据可视化的智慧河南大屏

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 数据模块 A4.2 数据模块 B4.3 数据模块 C4.4 数据模块 D4.5 数据模块 E 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的数据可视化的智慧河南大屏,包含了GDP、…

自动化测试框架pytest系列之21个命令行参数介绍(二)

第一篇 : 自动化测试框架pytest系列之基础概念介绍(一)-CSDN博客 接上文 3.pytest功能介绍 3.1 第一条测试用例 首先 ,你需要编写一个登录函数,主要是作为被测功能,同时编写一个测试脚本 ,进行测试登录功能 。 登…

java基础课后习题答案

文章目录 第1章 Java开发入门第2章 Java编程基础第3章 面向对象(上)第4章 面向对象(下)第5章 异常第6章 Java API第7章 集合类第8章 泛型第9章 反射第10章 IO(输入输出)第11章 JDBC第12章 多线程第13章 网络…

Go语言的垃圾回收器

1. 简介 Go语言的垃圾回收器(GC)是一个自动内存管理系统,它可以自动回收不再使用的内存。GC可以帮助程序员避免内存泄漏和内存错误,从而提高程序的稳定性和可靠性。 2. GC的工作原理 Go语言的GC使用标记-清除算法来回收内存。标…

GBASE南大通用ExecuteScalar 方法

GBASE南大通用执行查询,并返回查询结果集的一行的第一列,忽略其余的行和列 。  语法 [Visual Basic] Public Overrides Function ExecuteScalar As Object [C#] public override Object ExecuteScalar()  返回值 执行查询,并返回查…

超级计算集群

超级计算集群(Supercomputing Cluster)是一种集成大量高性能计算节点、高速互联网络以及高效能存储系统的计算机系统,用于解决科学、工程、商业等领域中需要极端计算能力的问题。这些集群通常由成百上千甚至上万台服务器组成,通过…

经典网络面试题(1)

1:TCP 是面向字节流的协议,UDP 是面向报文的协议?这里的「面向字节流」和「面向报文」该如何理解。 操作系统对 TCP 和 UDP 协议的发送方的机制不同,也就是问题原因在发送方 :用户消息通过 UDP 协议传输时&#xff0c…