计算机组成原理 第一弹

news2024/11/27 20:31:42

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亿亿次浮点运算。


湖科大教书匠高老师的视频非常好,对考研同学特别友好,推荐大家去看!

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

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

相关文章

中小企业如何快速融资-----股权融资的四种方式(上)

’在企业融资的多种手段中,股权质押融资、股权交易增值融资、股权增资扩股融资和股权的私募融资,逐渐成为中小企业利用股权实现融资的有效方式。随着市场体系和监管制度的完善,产权市场为投融资者搭建的交易平台日益成熟,越来越多…

【linux驱动】详细剖析第一个hello word驱动程序

文章目录 驱动程序的框架驱动程序的使用示例 驱动程序的框架 Linux 驱动的基本框架主要由模块加载函数,模块卸载函数,模块许可证声明,模块参数,模块导出符号,模块作者信息等几部分组成,其中模块参数&#…

钉钉副总裁李智勇:AI超级助理,提升大模型时代生产力

微软比尔盖茨此前曾预言:“五年内,每个人都将拥有AI私人助理Agent,Agent将颠覆软件行业 。” 近日以来,在GPT store正式上线点爆情绪之后,无论国内外,Agent都是创业圈里炙手可热的新贵。一场关于Agent创业比拼大赛&am…

探索JAVA神秘运行机制:揭秘JVM内存区域

目录 1. 前文回顾 2.内存区域的划分 2.1 存放类的方法区 2.2 程序计数器 2.3 Java虚拟机栈 2.4 Java堆内存 2.5 其他内存区域 3. 核心内存区域运行流程 4. 总结 1. 前文回顾 上一篇我们一起探索了Java的整体运行流程,类加载器以及类的加载机制&#xff0…

手把手教你使用 VS Code 运行和调试 Python 程序

本文以 Ubuntu 系统为例,介绍如何在 VS Code 上配置 Python 的编程环境,并把 Python 程序运行、调试起来。由于 Python 是解释型语言,并且 VS Code 中提供了内置的调试器可用于调试 Python 代码,因此配置和操作流程比调试 C/C 代码…

【 Qt 快速上手】-①- Qt 背景介绍与发展前景

文章目录 1.1 什么是 Qt1.2 Qt 的发展史1.3 Qt 支持的平台1.4 Qt 版本1.5 Qt 的优点1.6 Qt的应用场景1.7 Qt的成功案例1.8 Qt的发展前景及就业分析行业发展方向就业方面的发展前景 1.1 什么是 Qt Qt 是一个跨平台的 C 图形用户界面应用程序框架。它为应用程序开发者提供了建立…

8 python快速上手

总结 总结1. 代码规范1.1 名称1.2 注释1.3 todo1.4 条件嵌套1.5 简单逻辑先处理1.6 循环1.7 变量和值 2.知识补充2.1 pass2.2 is 比较2.3 位运算 3.阶段总结 各位小伙伴想要博客相关资料的话关注公众号:chuanyeTry即可领取相关资料! 总结 1. 代码规范 …

线性规划案例分享

今天想写一个最优传输的简单实现,结果学歪了,学到线性规划去了,这里我发现了一个宝藏网站 虽然是讲计量经济的,但是里面提供的公式和代码我很喜欢,有时间可以好好读一下 https://python.quantecon.org/lp_intro.html …

Civil 3D安装教程,免费使用,带安装包和工具,一分钟轻松搞的安装

前言 Civil 3D是一款面向基础设施行业的建筑信息模型(BIM)解决方案。它为基础设施行业的各类技术人员提供了强大的设计、分析以及文档编制功能,广泛适用于勘察测绘、岩土工程、交通运输、水利水电、市政给排水、城市规划和总图设计等众多领域…

什么是比特币?

比特币 比特币 (英语:Bitcoin,缩写:BTC )是一种基于 去中心化,采用 点对点网络,开放源代码,以 区块链 作为底层技术的 加密货币。比特币由 中本聪(Satoshi Nakamoto&…

vscode配置web开发环境(WampServer)

这里直接去下载了集成的服务器组件wampserver,集成了php,MySQL,Apache 可能会出现安装问题,这里说只有图上这些VC包都安装了才能继续安装,进入报错里提供的链接 在页面内搜索相关信息 github上不去可以去镜像站 下载…

机器视觉技术与应用实战(平均、高斯、水平prewitt、垂直prewitt、水平Sobel、垂直Sobel、拉普拉斯算子、锐化、中值滤波)

扯一点题外话,这一个月经历了太多,接连感染了甲流、乙流,人都快烧没了,乙流最为严重,烧了一个星期的38-39度,咳嗽咳到虚脱。还是需要保护好身体,感觉身体扛不住几次连续发烧!&#x…

Redis 持久化之 RDB AOF

1、简介 Redis 是一个基于内存的 key-value 类型的 Nosql 数据库,经常用来做缓存操作,但是一旦Redis 宕机,重启之后数据会丢失,因此,需要将内存数据进行持久化,保证服务重启后数据能够恢复之前的状态。Redi…

淘金城镇新人赚钱攻略(定制开发·源码定制智创开发)

​ 在淘金城镇中,玩家可以通过完成任务、升级角色、参与活动等方式获得丰厚的奖励和经验值,这不仅可以提升角色的能力, 还可以让玩家在游戏中获得更多的乐趣。最重要的是,淘金城镇的玩法非常精致,玩家可以通过游戏中…

C++——vector的使用及其模拟实现

vector的使用及其模拟实现 文章目录 vector的使用及其模拟实现1. vector的使用1.1 构造函数construct1.2 获取当前存储的数据个数size()和最大容量capacity()1.3 访问1.3.1 operator[]运算符重载1.3.2 迭代器访问1.3.3 范围for 1.4 容量相关reserve()和resize()1.5 增&#xff…

软件测试的工作描述

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

【算法练习Day50】下一个更大元素II接雨水

​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 下一个更大元素II接雨水单调…

ESP32-CAM带摄像头的开发板使用-环境安装

首先是需要在开发板上搭建环境,其实就是将安装包给下载到开发板上,然后程序能在开发板上运行并控制开发板,这一下载过程也称为烧录。 首先我这里使用ESP32-CAM纯粹是因为便宜,所以买啦 哈哈哈 我买的是30多带摄像头的&#xff0c…

SpringMVC传递数据给前台

SpringMVC有三种方式将数据提供给前台 第一种 使用Request域 第二种 使用Model(数据默认是存放在Request域中) 与第一种方式其实是一致的 第三种 使用Map集合(数据默认是存放在Request域中)

虹科分享 | 汽车技术的未来:Netropy如何测试和确保汽车以太网的性能

文章速览: 什么是汽车以太网?汽车以太网的用途是什么?汽车以太网的测试要求是什么?流量生成如何帮助测试汽车以太网? 如今汽车不再是单纯的代步工具,把人从A点带到B点,同时还配备了车载信息娱乐…