当前位置: 首页 > news >正文

计算机组成原理之计算机硬件发展和计算机系统的组成

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:
想系统/深入学习某技术知识点…
一个人摸索学习很难坚持,想组团高效学习…
想写博客但无从下手,急需写作干货注入能量…
热爱写作,愿意让自己成为更好的人…

文章目录

  • 前言
  • 一、计算机硬件发展
    • 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的属性&#xff0c…...

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来说会简单一些,有一个洗车厂,里面有若干台洗车机器&#xf…...

前端随机验证码安全验证sdk

前端随机验证码安全验证sdk 前言介绍一、效果展示二、使用步骤1.引入库2.参数说明3.方法与事件说明4.如何通过API获取当前用户的验证状态 ​ 前端必备工具推荐网站(免费图床、API和ChatAI等实用工具): http://luckycola.com.cn/ 前言 验证码:是一种校验区分用户是…...

语境化语言表示模型

一.语境化语言表示模型介绍 语境化语言表示模型(Contextualized Language Representation Models)是一类在自然语言处理领域中取得显著成功的模型,其主要特点是能够根据上下文动态地学习词汇和短语的表示。这些模型利用了上下文信息&#xf…...

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论文清单 增强阶段 …...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言:多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...