计算机组成原理 第一弹
ps:本文章的图片来源都是来自于湖科大教书匠高老师的视频,声明:仅供自己复习,里面加上了自己的理解
这里附上视频链接地址:1-2 计算机的发展_哔哩哔哩_bilibili
目录
🚀计算机系统
🚀计算机的发展
🚀计算机系统
由硬件系统和软件系统两部分组成
硬件是构成计算机系统的各种物理装置的总称
例如:中央处理器、CPU、内存、主板、显卡、固态硬盘、键盘、鼠标、显示器、电源电缆等都属于计算机硬件
硬件又可以分为主机和外设两大类
软件划分成系统软件和应用软件两大类

系统软件通常指的是操作系统和相关的系统管理工具。操作系统是一种控制和管理计算机硬件与软件资源的系统软件,它为应用程序提供了一个运行环境。系统软件的功能包括但不限于以下几个方面:
资源管理:操作系统负责管理计算机的硬件资源,包括处理器、内存、存储设备、网络设备等,以便应用程序可以合理地使用这些资源。
文件系统:操作系统提供文件系统来管理计算机上的文件和目录,包括文件的创建、读取、写入、删除和权限管理等功能。
用户界面:系统软件通常包括用户界面,用于与计算机进行交互。这可以是命令行界面(如Unix/Linux的shell)或图形用户界面(如Windows、macOS和各种Linux发行版)。
设备驱动程序:操作系统提供了设备驱动程序,用于管理计算机上的各种硬件设备,如打印机、键盘、鼠标、显示器等。
系统安全:系统软件负责管理用户的权限和系统的安全性,包括用户身份验证、访问控制、安全更新等。
系统调度:操作系统负责对运行中的程序进行调度和管理,以便合理地分配计算机资源,提高系统的整体性能。
系统维护工具:系统软件通常包括一些系统维护工具,用于诊断和解决问题,例如磁盘清理、性能监控、系统备份和恢复等。
✨总的来说就是为管理整个计算机系统所编制的程序
应用软件是为了实现用户应用所编制的各种程序,
例如科学计算、数据处理、过程控制、事务管理等软件都属于应用软件
计算机系统性能的好坏取决于硬件和软件功能的总和,因为只有单单硬件或软件都是运行不起来的,软件要运行在硬件上
🚀计算机的发展
1936年,英国数学家艾伦图灵,提出了一种十分简单但运算能力极强的理想计算装置用它来计算所有能想象得到的可计算函数。这一装置只是一种理想的计算模型,或者说是一种理想中的计算机,又被称为图灵机(一种具备读写,存储等功能的通用计算机模型)
图灵机的三部分:带子,读写头,控制装置,能执行任何给定的计算,图灵的这一思想奠定了现代计算机基础,现代计算机实际上就是用相应的程序来完成任何设定好的任务。
1938年,美国数学家、信息论创始人香农,深刻的揭示了波尔代数与开关电路之间的联系。为数字电路设计与分析奠定了坚实的数学基础,这项开创性的研究为计算机科学、电子工程与信息技术的发展提供了重要的理论支持。

✨世界上第一台真正意义上的电子数字计算机是在1937年到1942年间,由美国物理系副教授阿塔纳索夫和当时还是物理系贝瑞合作研制成功的。称为阿塔纳索夫贝瑞计算机,简称为ABC。
✨该计算机使用了300个电子管,不可编程,仅用于求解线性方程组。只是一台样机并没有完全实现阿塔那索夫的构想。
1946年。莫克利和艾克特基于ABC计算机的设计思想,成功研制出了真正实用的电子数字计算机

现在国际计算机界公认的事实是,第一台电子数字计算机的真正发明人是阿塔纳索夫。
| 发展阶段 | 使用器件 | 运算速度 | 主存(内存) | 辅存(外存) | 特点 |
| 第一代(1946-1975) | 电子管(真空管) | 几千-几万 | 水银延迟线,磁鼓,磁芯 | 穿孔卡片,穿孔纸带 | 使用机器语言编程无操作系统 |
| 第2代(1958-1964) | 晶体管 | 几十万-几百万 | 磁芯 | 磁鼓,磁带,磁盘 | 主要使用汇编语言编程,开始使用FORTRAN,COBOL等高级语言,单道批处理系统 |
| 第3代(1965-1971年) | 集成电路 | 几百万-几千万 | 半导体储存器 | 磁带,磁盘 | 高级语言进一步发展,出现B语言(c语言的前身) 多道批处理系统,分时系统 |
| 第4代(1972至今) | 超大规模集成电路 | 几十亿-几千亿 | 半导体储存器 | 磁盘,磁带,光盘,半导体存储器 | 各种高级语言(C/C++,Java,Python) |
✨电子管计算机体积大、功耗高、速度慢、可靠性差,主要应用于科学计算
✨相对于电子管计算机,晶体管计算机体积小、速度快、功耗低、可靠性高
✨相对于晶体管计算机,集成电路计算机的体积和功耗都显著减小,而可靠性大大提高,在这一阶段,还出现了巨型机、大型机与小型机同时发展的趋势,计算机类型开始出现多样化和系列化。软件技术与外部设备快速发展。应用领域不断扩大
✨从上述电子数字计算机的发展历程可以看出。其发展特点是体积越来越小,功耗越来越低,可靠性越来越高,运算速度越来越快。这些都依赖于电子器件的发展。

英特尔公司的创始人之一戈登摩尔。他在1965年接受美国电子杂志的总编采访时。对半导体集成电路上可容纳的晶体管数量、性能和价格等发展趋势进行了预测。也就是半导体集成电路上可容纳的晶体管数量大约每经过18~24个月便会增加一倍。换句话说呢,处理器的性能大约每两年翻一倍,同时价格下降为之前的一半,这就是著名的摩尔定律。半导体集成电路50多年的发展历程证明了摩尔定律对半导体芯片工业发展前景的预测是基本准确的。近年来,随着半导体芯片的设计、制造以及封装和测试技术的发展,半导体工艺已接近半导体集成电路极限,半导体芯片的发展开始逐渐偏离摩尔定律的预测,从2013年开始逐步放缓,至三年翻一番。

✨在计算机发展的早期阶段,人们使用机器语言来编写程序,机器语言用二进制代码来表示不同的机器指令,计算机能够直接识别和执行这些机器指令,这对编程人员的要求极高。一方面要求编程人员对计算机的硬件结构非常熟悉。另一方面,机器语言可读性差,易出错和难排错。
为了克服机器语言的上述特点,发展出了汇编语言。它使用一些便于记忆并且能够表示指令功能的注记符来编写程序,尽管使用汇编语言编程比使用机器语言编程的难度有所降低,但是汇编语言仍然是面向机器的语言,人们在使用汇编语言编程前,还是要花费很多时间熟悉所使用计算机的指令集,然后才能使用其相应的符号语言啊,也就是汇编语言来编写程序。因此还是很不方便。
✨为了使不熟悉具体计算机硬件结构和相应指令级的人也能很方便的为计算机编写程序。人们又创造了各种接近于人类语言的高级语言。世界上第一个高级语言是fortran。而最简单和易于初学者使用的高级语言是Basic。Pascal被认为是编程语言的一个重要里程碑。而现代程序语言革命的起点是C语言。
✨从上世纪90年代至今,是面向对象时代,最突出的特点为封装性、继承性和多态性。

✨当前的计算机系统正朝着两极化的趋势发展。一级是向更微型化发展,注重在低功耗下也能取得较好的性能,具有多用途。
✨另一级是向更巨型化、超高速、并行处理智能化方向发展。
✨目前我国最快的超级计算机是神威太湖之光。每秒可进行9.3亿亿次浮点运算。
湖科大教书匠高老师的视频非常好,对考研同学特别友好,推荐大家去看!
相关文章:
计算机组成原理 第一弹
ps:本文章的图片来源都是来自于湖科大教书匠高老师的视频,声明:仅供自己复习,里面加上了自己的理解 这里附上视频链接地址:1-2 计算机的发展_哔哩哔哩_bilibili 目录 🚀计算机系统 🚀计…...
Hadoop基础知识
Hadoop基础知识 1、Hadoop简介 广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈。狭义上说,Hadoop指Apache这款开源框架,它的核心组件有: HDFS(分布式文件系统):解决海量数据存储Y…...
Java进阶之旅第五天
Java进阶之旅第五天 不可变集合 应用场景 1.如果某个数据不能被修改,把它拷贝到不可变集合中是个很好的实践2.当集合对象被不可信的库调用时,不可变形式是安全的3.不可变集合不能修改,只能进行查询 获取方式 在List,Set,Map接口中,都存在静态的of方法,可以获取一个不可变的…...
拓展边界:前端世界的跨域挑战
目录 什么是跨域 概念 同源策略及限制内容 常见跨域场景 如何解决跨域 CORS Nginx代理跨域 Node中间件代理跨域 WebSocket postMessage JSONP 其他 什么是跨域 概念 在此之前,我们了解一下一个域名地址的组成: 跨域指的是在网络安全中&…...
旅游项目day03
1. 前端整合后端发短信接口 2. 注册功能 后端提供注册接口,接受前端传入的参数,创建新的用户对象,保存到数据库。 接口设计: 实现步骤: 手机号码唯一性校验(后端一定要再次校验手机号唯一性)…...
单片机学习记录(一)
简答题 第1章 1.微处理器、微计算机、CPU、单片机、嵌入式处理器他们之间有何区别? 答:微处理器、CPU都是中央处理器的不同称谓,微处理器芯片本身不是计算机; 单片机、微计算机都是一个完整的计算机系统,单片机是集…...
MacBookPro怎么数据恢复? mac电脑数据恢复?
使用电脑的用户都知道,被删除的文件一般都会经过回收站,想要恢复它直接点击“还原”就可以恢复到原始位置。mac电脑同理也是这样,但是“回收站”在mac电脑显示为“废纸篓”。 如果电脑回收站,或者是废纸篓里面的数据被清空了&…...
Python多线程—threading模块
参考:《Python核心编程》 threading 模块的Thread 类是主要的执行对象,而且,使用Thread类可以有很多方法来创建线程,这里介绍以下两种方法: 创建 Thread 实例,传给它一个函数。派生 Thread 的子类…...
mysql limit
语法 SELECT * FROM TABLE_NAME LIMIT 起始位置,偏移量注: 起始位置从0开始 示例 查询的第1条数据到第100条数据 limit 0,100查询的第101条数据到第200条数据 limit 100,100注意不要用 limit 101,100示例2 limit 语句应放在order by语句后面执行 …...
解决国内Linux服务器无法使用Github的方法
解决思路:修改Host https://www.ipaddress.com/ 利用上面的网站查询github.com和raw.githubusercontent.com的DNS解析的IP地址 最后,修改服务器的/etc/hosts 添加如下两行: 140.82.112.3 github.com 185.199.108.133 raw.githubuserconte…...
动态规划基础(二)最长公共子序列 LCS
讲解求两个串中最长的公共的子序列长度或输出子序列等 poj1458 题目大意 给定两个字符串,要求输出两个字符串中最长公共子序列长度 思路 我们定义 a [ i ] [ j ] a[i][j] a[i][j]为,当字串 s t r 1 str1 str1到 i i i位置,字串 s t r 2 s…...
React配置src根目录@
文章目录 1.打开webpack配置文件2.配置webpack 1.打开webpack配置文件 yarn eject or npm run eject 如果报错了记得提前 git commit一下 2.配置webpack 找到 webpack.config.js 文件在 webpack.config.js 文件中找到 alias 配置在alias里添加: path.resolve(src) , 或者 : pa…...
SQL Povit函数使用及实例
PIVOT函数常用于数据的行转列,同时也可以用此函数实现类似于Excel中的数据透视表的效果。 PIVOT函数 PIVOT 函数的基本语法如下: -- PIVOT 语法 SELECT <非透视的列>,[第一个透视的列] AS <列名称>,[第二个透视的列] AS <列名称>,.…...
Lite AD的安装
1、Lite AD的安装及配置 Lite AD流程: (1)创建一个新的Windows 10,安装tools,再安装ITA组件(安装Lite AD会自动安装VAG/VLB) (2)创建一个新的Windows 10,安…...
限流算法之流量控制的平滑之道:滑动时间窗算法
文章目录 引言简介优点缺点样例样例图样例代码 应用场景结论 引言 在互联网应用中,流量控制是一个重要的组件,用于防止系统过载和保护核心资源。常见的限流算法包括固定窗口算法和滑动时间窗算法。本文将重点介绍滑动时间窗算法,并分析其优缺…...
C语言数据结构——顺序表
(图片由AI生成) 0.前言 在程序设计的世界里,数据结构是非常重要的基础概念。本文将专注于C语言中的一种基本数据结构——顺序表。我们将从数据结构的基本概念讲起,逐步深入到顺序表的内部结构、分类,最后通过一个实…...
网络安全:守护数字世界的盾牌
在当今数字化的时代,网络已经渗透到我们生活的方方面面。从社交媒体到在线银行,从在线购物到工作文件传输,网络几乎无处不在。然而,随着网络的普及,网络安全问题也日益凸显。那么,如何确保我们的数字资产安…...
vue3hooks的使用
hook是钩子的意思,看到“钩子”是不是就想到了钩子函数?事实上,hooks 还真是函数的一种写法。 vue3 借鉴 react hooks 开发出了 Composition API ,所以也就意味着 Composition API 也能进行自定义封装 hooks。 vue3 中的 hooks …...
elementUI+el-upload 上传、下载、删除文件以及文件展示列表自定义为表格展示
Upload 上传组件的使用 官方文档链接使用el-upload组件上传文件 具体参数说明,如何实现上传、下载、删除等功能获取文件列表进行file-list格式匹配代码 文件展示列表自定义为表格展示 使用的具体参数说明文件大小展示问题(KB/MB)文件下载代码…...
供应链安全项目in-toto开源框架详解
引言:in-toto 是一个开源框架,能够以密码学的方式验证构件生产路径上的每个组件和步骤。它可与主流的构建工具、部署工具进行集成。in-toto已经被CNCF技术监督委员会 (Technical Oversight Committee,TOC)接纳为CNCF孵化项目。 1. 背景 由于…...
从YOLO到A*:手把手教你用PyTorch和OpenCV搭建一个简易的自动驾驶避障仿真器
从YOLO到A*:用PyTorch和OpenCV构建自动驾驶避障仿真器 想象一下,你正坐在一辆自动驾驶汽车里,车辆能够自动识别前方的行人、车辆和障碍物,并规划出安全的行驶路径。这种看似科幻的场景,如今正逐渐成为现实。本文将带你…...
石家庄整家定制哪个好
在石家庄,寻找合适的整家定制服务,是许多家庭打造理想居住空间的重要一步。今天,我们想为您介绍一个专注于中高端整家定制的品牌——MJ.HOME美境美家木作。关于美境美家木作美境美家木作是一个集整案设计施工与定制家居于一体的品牌。他们致力…...
linux-系统函数
Linux 系统函数详解 Linux 系统函数是用户程序与内核交互的底层接口,通过系统调用(syscall)实现。以下是核心分类及典型函数: 1. 文件操作函数 #include <fcntl.h> int open(const char *pathname, int flags, mode_t mode)…...
QT:Tab Widget的进阶应用与实战技巧
1. Tab Widget的动态管理技巧 第一次用QT做带标签页的界面时,我习惯在设计器里把Tab页都固定好。直到接手一个需要动态加载配置文件的仪表盘项目,才发现动态增删Tab才是真实开发中的常态。比如用户点击"新建图表"按钮时,我们需要实…...
【机器人导航】Ubuntu16.04下北斗星通接收机硬件连接与串口配置指南
1. 北斗星通接收机硬件连接指南 第一次接触北斗星通接收机时,我完全被它铝合金外壳的专业感震撼到了。这种工业级设备虽然看起来复杂,但只要掌握正确方法,连接起来其实比想象中简单得多。我们以NC502-D型接收机为例,这是机器人导航…...
用Multisim 14.0和AD620/OP07,手把手教你搭建一个能用的简易心电放大电路
从零开始构建心电放大电路:Multisim 14.0与AD620/OP07实战指南 在生物医学信号处理领域,心电信号采集一直是极具挑战性的课题。想象一下,当医生将电极贴在你胸口时,那些微弱的电信号是如何被放大并转化为清晰波形图的?…...
SillyTavern终极指南:如何构建沉浸式AI角色聊天体验
SillyTavern终极指南:如何构建沉浸式AI角色聊天体验 【免费下载链接】SillyTavern LLM Frontend for Power Users. 项目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern 想要创建栩栩如生的AI角色对话体验吗?SillyTavern作为专为高级用…...
React Native WebRTC M124版本终极指南:未来发展方向与特性深度解析
React Native WebRTC M124版本终极指南:未来发展方向与特性深度解析 【免费下载链接】react-native-webrtc The WebRTC module for React Native 项目地址: https://gitcode.com/gh_mirrors/re/react-native-webrtc React Native WebRTC是React Native生态中…...
Legacy iOS Kit终极指南:旧款iOS设备降级、越狱与恢复完整教程
Legacy iOS Kit终极指南:旧款iOS设备降级、越狱与恢复完整教程 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to downgrade/restore, save SHSH blobs, and jailbreak legacy iOS devices 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit …...
Fish-Speech 1.5应用案例:从播客配音到语音提醒,实战分享
Fish-Speech 1.5应用案例:从播客配音到语音提醒,实战分享 1. 项目概述与核心优势 Fish-Speech 1.5作为新一代文本转语音(TTS)系统,凭借其创新的DualAR架构在语音合成领域脱颖而出。这个开源项目通过双自回归Transformer设计,主T…...
