计算机组成原理 第一弹

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.mzph.cn/news/636595.shtml

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

相关文章

基于SpringBoot的欢乐校园管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式 🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 &…

SpringMVC搭建环境

idea创建java项目后添加webapp怎么配置 1.首先在main下创建一个普通文件webapp 2. 3.选中你的项目,添加Web 4.修改这两处的路径,修改为你webapp所在的路径 先修改左下角的路径,然后再添加web.xml. 然后再修改右上角的地址,注…

Python 零散

列表推导式 列表推导式是一种在一行代码中创建列表的紧凑语法。它允许你使用一种简洁的方式从一个可迭代对象(例如列表、元组、字符串等)中生成新的列表。列表推导式的一般形式如下: new_list [expression for item in iterable if …

基于SpringBoot Vue家政服务预约平台系统

大家好✌!我是Dwzun。很高兴你能来阅读我,我会陆续更新Java后端、前端、数据库、项目案例等相关知识点总结,还为大家分享优质的实战项目,本人在Java项目开发领域有多年的经验,陆续会更新更多优质的Java实战项目&#x…

Kaggle之旅2

Kaggle之旅2 文章目录 Kaggle之旅2前言一、目标二、测试代码如下 结果 前言 今天继续学习pandas。并实践下All GM Chess Games on Chess.com这个dataset。 一、目标 读入dataset,做一些统计工作,如下, 一共有多少GM,都是谁每个…

在vue中使用echarts渲染地图,geo点击某个区域可高亮,取消

一、安装echarts npm install echarts --save二、main.js引入注册 import Vue from "vue";import * as echarts from "echarts";Vue.prototype.$echarts echarts;三、vue文件中使用echarts <template><div class"page-warp"><…

Vue-30、Vue非单文件组件。

非单文件组件&#xff1a; 一个组件包含n个组件 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>非单文件组件</title><script type"text/javascript" src"https://cdn.jsde…

BossCMS RCE

简介 BossCMS是一款基于自主研发PHP框架MySQL架构的内容管理系统&#xff0c;能够满足各类网站开发建设的需求。系统开源、安全、稳定、简洁、易开发、专注为中小型企业及政企单位、个人站长、广大开发者、建站公司提供一套简单好用的网站内容管理系统解决方案。官网提供了大量…

SystemVerilog中数组内置函数sum()的一个注意点

Systemverilog内置了数组求和运算方法(sum())&#xff0c;将数组的所有元素累加起来&#xff0c;返回一个最终值。在使用时要注意数组类型的位宽&#xff0c;通常情况下&#xff0c;如果你将一组单bit的值加起来&#xff0c;Systemverilog会使用足够的精度来确保不丢失任何bit的…

INS-06003错误处理

在麒麟V10操作系统上安装Oracle RAC 19C&#xff0c;安装GI的建立互信步骤中&#xff0c;遇到INS-06003错误&#xff1a; [INS-06003] Failed to setup password SSH connectivity with following node(s) 查看详细信息&#xff1a; PRVG-11001: PRCZ-2136: PRCZ-2006: 此时在操…

实验四 SQL语言

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的很重要&…

SSE[Server-Sent Events]实现页面流式数据输出(模拟ChatGPT流式输出)

文章目录 前言SSE 简介应用场景区分浏览器支撑性 实现过程Web VUE核心解析数据代码实例demo参考 前言 服务端向客户端推送消息&#xff0c;除了用WebSocket可实现&#xff0c;还有一种服务器发送事件(Server-Sent Events)简称 SSE&#xff0c;这是一种服务器端到客户端(浏览器)…

ChatGPT与文心一言:AI助手之巅的对决

随着科技的飞速发展&#xff0c;人工智能助手已经渗透到我们的日常生活和工作中。 而在这个充满竞争的领域里&#xff0c;ChatGPT和文心一言无疑是最引人注目的两款产品。它们各自拥有独特的优势&#xff0c;但在智能回复、语言准确性、知识库丰富度等方面却存在差异。那么&am…

(Arcgis)Python3.8批量裁剪利用shp文件裁剪tif栅格影像数据

使用环境&#xff1a; pycharm2020 arcgis pro 中的python3.8 一、pycharm中设置python编译器。左上角“文件”——“设置”——找到python interpreter——找到arcgis pro安装文件夹中的python D:\ArcGIS Pro\bin\Python\envs\arcgispro-py3\python.exe使用arcgis pro原因&a…

mybatis xml多表查询,子查询,连接查询,动态sql

项目结构 数据库表 student_type 表 student 表 依赖 <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.30</version></dependency><dependency><groupId>org.…

Yield Guild Games 宣布与区块链游戏中心 Iskra 建立战略合作伙伴关系

Yield Guild Games (YGG) 宣布将向 Iskra 引入其任务系统&#xff0c;Iskra 是一个 Web3 游戏中心和发布平台&#xff0c;拥有超过 400 万注册钱包和 10 万月度活跃用户 (MAU)。在 LINE、Kakao、Wemade 和 Netmarble 等公司的支持下&#xff0c;Iskra 将游戏玩家和游戏工作室聚…

Java 内存模型深度解析

优质博文&#xff1a;IT-BLOG-CN 一、并发编程模型的两个关键问题 【1】并发中常见的两个问题&#xff1a;线程之间如何通信及线程之间如何同步。通信是指线程之间以何种机制来交换信息。在命令式编程中&#xff0c;线程之间的通信机制有两种&#xff1a;内存共享和消息传递&…

日常常见应用组件升级记录

一、前言 因近期安全扫描&#xff0c;发现java后端应用涉及多个引用组件版本过低&#xff0c;涉及潜在漏洞利用风险&#xff0c;特记录相关处理升级处理过程&#xff0c;以备后续确认&#xff1b; 二、升级处理过程 2.1、Java类应用内置Spring Boot版本升级 Spring Boot是一…

代码随想录算法训练营第十天|232 用栈实现队列、225 用队列实现栈

栈与队列 栈&#xff08;stack&#xff09;&#xff1a;先进后出&#xff1b;队列&#xff08;queue&#xff09;&#xff1a;先进先出栈和队列是STL里面的两个数据结构栈不能遍历元素&#xff0c;提供pop和push等接口&#xff0c;时间复杂度都为O(1)在SGI STL中&#xff0c;如…

python爬虫案例分享

当然&#xff0c;我可以分享一个基本的Python爬虫示例。这个示例将使用Python的requests库来抓取网页内容&#xff0c;然后使用BeautifulSoup库来解析和提取信息。我们将构建一个简单的爬虫来从一个示例网站抓取标题。 Python爬虫示例 目标 提取某网站的标题。 需要的库 r…