计算机组成原理之计算机硬件发展和计算机系统的组成
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:
想系统/深入学习某技术知识点…
一个人摸索学习很难坚持,想组团高效学习…
想写博客但无从下手,急需写作干货注入能量…
热爱写作,愿意让自己成为更好的人…
文章目录
- 前言
- 一、计算机硬件发展
- 1、电子管时代
- 2、晶体管时代
- 3、中小规模集成电路时代
- 4、大规模、超大规模集成电路时代
- 5、微处理器发展
- 6、摩尔定律
- 7、半导体存储器的发展
- 8、计算机软件的发展
- 9、计算机的分类与发展方向
- 二、计算机系统的组成
- 1、早期冯·诺依曼机的结构
- 2、现代计算机的结构
- 3、认识各个硬件部件
- 1、主存储器的基本组成
- 2、运算器的基本组成
- 3、控制器的基本组成
- 4、计算机的工作流程
- 1、取数指令
- 2、乘法指令
- 3、加法指令
- 4、存数指令
- 5、停机指令
- 6、分析
- 5、计算机系统的多级层次结构
- 6、三种级别的语言
- 总结
前言
一、计算机硬件发展
1、电子管时代
2、晶体管时代
3、中小规模集成电路时代
4、大规模、超大规模集成电路时代
5、微处理器发展
6、摩尔定律
7、半导体存储器的发展
8、计算机软件的发展
9、计算机的分类与发展方向
二、计算机系统的组成
1、早期冯·诺依曼机的结构
2、现代计算机的结构
3、认识各个硬件部件
1、主存储器的基本组成
2、运算器的基本组成
3、控制器的基本组成
4、计算机的工作流程
1、取数指令
2、乘法指令
3、加法指令
4、存数指令
5、停机指令
6、分析
5、计算机系统的多级层次结构
6、三种级别的语言
一、计算机硬件发展
- 第一代 电子管
- 第二代 晶体管
- 第三代 中小规模集成电路
- 第四代 大规模、超大规模集成电路

1、电子管时代
- 第一台电子数字计算机:ENIAC
- 机器语言
- 占地面积约170平方米
- 耗电量150千瓦
- 包含了17,468根真空管

2、晶体管时代
- 第一台使用晶体管线路的计算机:TRADIC
- 面向过程的程序设计语言:FORTRAN
- 有了操作系统雏形
- 耗电量30瓦
- 包含了800只晶体管

3、中小规模集成电路时代
- 高级语言迅速发展
- 开始有了分时操作系统

4、大规模、超大规模集成电路时代
- 产生了微处理器
- 新的概念:并行、流水线、高速缓存、虚拟存储器…

5、微处理器发展
微型计算机的发展以微处理器技术为标志

- 机器字长:计算机一次整数运算所能处理的二进制位数
- 操作系统位数:其所依赖的指令集的位数
6、摩尔定律
- 揭示了信息技术进步的速度
- 集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,整体性能也将提升一倍

7、半导体存储器的发展
- 1970年,仙童公司生产出第一个较大容量的半导体存储器
- 半导体存储器单芯片容量:1KB、4KB、16KB、64KB、256KB、1MB、4MB、16MB、64MB、256MB、1GB…
8、计算机软件的发展
- 计算机语言:机器语言,汇编语言,高级语言
- 操作系统
9、计算机的分类与发展方向
- 单指令流&单数据流(SISD):冯·诺伊曼体系结构
- 单指令流&多数据流(SIMD):阵列处理器,向量处理器
- 多指令流&单数据流(MISD):实际上是不存在的
- 多指令流&多数据流(MIMD):多处理器,多计算机
二、计算机系统的组成

1、早期冯·诺依曼机的结构
存储程序的概念:将指令以二进制代码的形式事先输入计算机的主存储器,然后按照其在存储器中的首地址执行程序的第一条指令,以后就按照该程序的规定顺序执行其他指令,直至程序执行结束。
在计算机系统中,软件和硬件在逻辑上是等效的
冯诺依曼计算机的特点:
- 计算机由五大部件组成
- 指令和数据以同等地位存于存储器,可以按地址寻访
- 指令和数据用二进制表示
- 指令由操作码和地址码组成
- 存储程序
- 以运算器为中心
输入/输出设备与存储器之间的数据传送通过运算器完成
2、现代计算机的结构
以存储器为核心
CPU=运算器+控制器


重点:

3、认识各个硬件部件
1、主存储器的基本组成

- MAR :存储地址寄存器
- MDR :存储数据寄存器
- 数据在存储体内按照地址存储

- 存储单元:每个存储单元存放一串二进制代码
- 存储字(word):存储单元中二进制代码的组合
- 存储字长:存储单元中二进制代码的位数
- 存储元:即存储二进制的电子元件(一般指电容),每个存储单元可存1bit
MAR位数反映存储单元的个数
MDR位数=存储字长

字(word)的长度是根据计算机的设计来确定(可能为8, 16 , 32 , 64 bit)
2、运算器的基本组成
运算器:用于实现算术运算(如:加减乘除),逻辑运算(如:与或非)

- ACC:累加器,用于存放操作数,或运算结果。
- MQ:乘商寄存器,在乘、除运算时,用于存放操作数或运算结果。
- X:通用的操作数寄存器,用于存放操作数
- ALU:算术逻辑单元,通过内部复杂的电路实现算数运算、逻辑运算

3、控制器的基本组成

- CU(Control Unit):控制单元,分析指令,给出控制信号
- IR(lnstruction Register):指令寄存器,存放当前执行的指令
- PC(Program Counter):程序计数器,存放下一条指令地址,有自动加1功能

4、计算机的工作流程
1、取数指令

2、乘法指令

3、加法指令

4、存数指令

5、停机指令

6、分析

重点:

5、计算机系统的多级层次结构

汇编语言指令和机器语言指令一一对应
汇编语言只是为了便于人类理解,本质上和机器语言差不多
6、三种级别的语言
- 高级语言:C/C++、Java
- 汇编语言:助记符
- 机器语言:二进制代码
编译程序:将高级语言编写的源程序全部语句一次翻译成机器语言程序,而后再执行机器语言程序(只需翻译一次)
解释程序:将源程序的一条语句翻译成对应于机器语言的语句,并立即执行。紧接再翻译下一句(每次执行都要翻译
注:编译、汇编、解释程序,可统称“翻译程序”
C/C++就是直接编译程序,所以执行效率比较高
重点:

总结
以上就是计算机组成原理之计算机硬件发展和计算机系统的组成的相关知识点,希望对你有所帮助。
积跬步以至千里,积怠惰以至深渊。时代在这跟着你一起努力哦!
相关文章:
计算机组成原理之计算机硬件发展和计算机系统的组成
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…...
《JVM由浅入深学习【七】 2024-01-11》JVM由简入深学习提升分享
亲爱的读者们,欢迎来到本篇博客,这是JVM第七次分享,下面是七个JVM常用常面的分享,请笑纳 目录 1. 几个与JVM 内存相关的核心参数2.如何计算一个对象的大小3.堆为什么要分为新生代和老年代4.JVM堆的年轻代为什么要有两个 Survivor…...
Golang leetcode142 环形链表 暴力map 快慢指针法
文章目录 环形链表 leetcode142暴力遍历 map哈希记录快慢指针法 环形链表 leetcode142 该题目要求找到入环的第一个节点 我们可以通过map进行记录,没到新的节点查询是否经过原有节点 入环节点,上两个节点的next相同 若有入环节点,则一定能检…...
基于java,springboot的论旅游管理系统设计与实现
环境以及简介 基于java,springboot的论旅游管理系统设计与实现,Java项目,SpringBoot项目,含开发文档,源码,数据库以及ppt 源码下载 环境配置: 框架:springboot JDK版本:JDK1.8 服…...
掌握视频节奏,玩转剪辑艺术!,轻松调整视频播放速度与秒数的技巧大揭秘
你是否经常觉得视频播放得太快或太慢,无法满足你的观看需求?或者想要控制视频的长度,却不知道该如何下手?今天,我们将为你揭秘几种简单又实用的方法,让你轻松调整视频的播放速度和秒数! 首先&a…...
51单片机介绍
1 单片机简介 单片机,英文Micro Controller Unit,简称MCU 内部集成了CPU、RAM、ROM、定时器、中断系统、通讯接口等一系列电脑的常用硬件功能 单片机的任务是信息采集(依靠传感器)、处理(依靠CPU)和硬件设…...
k8s存储卷之动态
动态pv需要两个组件 1、卷插件,k8s本身支持的动态pv创建不包含NFS,需要声明和安装一个外部插件 Provisioner 存储分配器,动态创建pv,然后根据pvc的请求自动绑定和使用 2、StorageClass,用来定义pv的属性,…...
base64 图片进行编码、解码;api调用
1、base64 图片进行编码、解码 编码 import base64# 假设您有一个图像文件,例如 image.jpg with open(r"C:\Users\l****1686722996428308480-1 (1).jpg", rb) as image_file:# 读取图像文件的二进制数据image_data image_file.read()# 将二进制数据编码…...
鸿蒙OS应用开发之百分比显示组件
前面学习了动态加载的组件,在本文里将要学习百分比显示组件,这个组件可以把数据按百分比的情况进行图形显示出来。百分比图形显示还是很有用的,比如一个班里学生的成绩占比,还有软件项目开发进度的情况,还有软件下载进度等等。 在鸿蒙系统里定义这个组件接口如下: DataP…...
网络多线程开发小项目--QQ登陆聊天功能(私聊群发)
9.1.4、QQ登陆聊天功能(私聊群发) 9.1.4.1、私聊功能 1、需求说明 2、思路分析 3、代码实现 QQClient: 1)cn.com.agree.qqclient.QQView.QQView case "3":log.debug("请输入想给谁发消息(在线用户):");St…...
企业版多域名SSL证书
多域名SSL证书,是一种数字证书,可以用一张SSL证书保护多个独立的域名。这种证书类型适用于拥有多个不同域名的个人或者企事业单位,可以节省给每个域名购买和管理SSL证书的时间和成本。企业版多域名SSL证书只支持企事业单位申请,今…...
理解Herbrand Equivalence
笔者最近在看GVN的一系列论文,总会看到一个概念叫Herbran Equivalence,依靠这种定义,能够判断一个GVN算法是否是complete的,也即检测一个算法是否是precise的,只有找到所有Herbrand Equivalence关系的算法才能称得上是…...
【SimPy系列博客之官方example学习与解读】—— Example 3: Car Wash
Hello,CSDN的各位小伙伴们,又见面啦!今天我们要学习的例程是:Car Wash!我们开始吧! 例程背景 这个例程相对于example 2来说会简单一些,有一个洗车厂,里面有若干台洗车机器…...
前端随机验证码安全验证sdk
前端随机验证码安全验证sdk 前言介绍一、效果展示二、使用步骤1.引入库2.参数说明3.方法与事件说明4.如何通过API获取当前用户的验证状态 前端必备工具推荐网站(免费图床、API和ChatAI等实用工具): http://luckycola.com.cn/ 前言 验证码:是一种校验区分用户是…...
语境化语言表示模型
一.语境化语言表示模型介绍 语境化语言表示模型(Contextualized Language Representation Models)是一类在自然语言处理领域中取得显著成功的模型,其主要特点是能够根据上下文动态地学习词汇和短语的表示。这些模型利用了上下文信息…...
PDO【配置】
PDOr: 6040 控制字 6060 模式 6083 加速度 6084 减速度 =====================【定位1】:// 补间7 607A 定位位置 6081 定位速度 =====================【速度3】: 60FF 目标速度 =====================【力矩4…...
CMake入门教程【高级篇】管理MSVC编译器警告
😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「动动你的小手」:点赞👍收藏⭐️评论📝 文章目录 1.什么是MSVC?2.常用的屏蔽警告3.MSVC所有警告4.target_compile_options用法5.如何在CMake中消除MSVC的警告?6.屏蔽警告编写技巧...
【JaveWeb教程】(8)Web前端基础:Vue组件库Element之Table表格组件和Pagination分页组件 详细示例介绍
目录 1 Table表格组件1.1 组件演示1.2 组件属性详解 2 Pagination分页2.1 组件演示2.2 组件属性详解2.3 组件事件详解 接下来我们来学习一下ElementUI的常用组件,对于组件的学习比较简单,我们只需要参考官方提供的代码,然后复制粘贴即可。本节…...
llama_index 创始人为我们展示召回提升策略(提升15%)
用句子向量替换为句子向量 句子检索,将句子转化为向量。在检索的过程中,假如句子命中,则将句子周围的内容也当做检索内容。 对比句子检索和之前的按块去做切分的检索。可以看到,内容的相关性提升了8%, 构建数据的时候…...
RAG 详解
原文:GitHub - Tongji-KGLLM/RAG-Survey 目录 RAG调查 什么是RAG?RAG的范式 幼稚的 RAG高级 RAG模块化 RAG如何进行增强?RAG 还是微调?如何评估 RAG?前景 严峻的挑战多式联运扩展RAG的生态系统RAG论文清单 增强阶段 …...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
