“第四十八天” 计算机组成原理

news2024/12/26 5:14:12

        数据结构学完了,不过也就是匆匆过了一遍,后面肯定还是要重来的。现在开始学机组了。

计算机发展历程

        计算机硬件唯一能识别的数据是二进制的 0/1,而在计算机中用低/高电平表示 0 / 1,也就是通过电信号传递数据,为什么只表示0/1,在之前c语言学习中有简单提及,因为越细分,电平越难区别,不知道机组会不会有更详细的解释。

        计算机系统 = 软件 + 硬件 ,计算机性能的好坏取决于“软”、“硬”件功能的总和。

硬件是指计算机的实体,如主机和外设等;软件则是由具有各类特殊功能的程序组成,又可分为系统软件和应用软件 ,前者用来管理整个计算机系统,如操作系统,数据库管理系统,标准程序库,网络软件,语言处理程序,服务程序等,后者是指按任务需要编织成的各种程序,如抖音,王者荣耀,迅雷等。

        计算机硬件的发展可分为四个阶段,第一个阶段是电子管时代,1946-1957,其逻辑元件是电子管,体积大(大约有半个手掌)且耗电量大,但运算速度低,每秒只有几千到几万次,内存是汞延迟线、磁鼓,外存是穿孔卡片、纸带,此时人们使用机器语言(二进制)进行编程。(内存好像就是运行内存,外存就是硬盘那些东西)。

        第二代是晶体管时代,1958-1964,此时的逻辑元件是晶体管,晶体管的体积比电子管小的多,而且功耗降低,运算速度是几万到几十万,内存是磁芯存储器,外存是磁带,此时出现了面向过程的程序设计语言:FORTRAN,有了操作系统雏形。

        第三代是中小规模集成电路,1964-1971,此时的逻辑元件是中小规模集成电路(将元件集成到基片上),运算速度是几十万到几百万次,内存是半导体存储器,外存是磁带、磁盘。此时的计算机主要用于科学计算等专业用途,高级语言迅速发展,开始有了分时操作系统。

        第四代是大规模、超规模集成电路时代,1972到现在,此时的逻辑元件是大规模、超大规模集成电路,运算速度已经可以达到上千万次到万亿次了,内存是半导体存储器,外存是磁盘、磁带、光盘、半导体存储器。此时开始出现“微处理器”,微型计算机,个人计算机萌芽,操作系统:Windows、Macos,Linux..  这个时候的微处理器已经不可同日而语,如苹果A13的制作工艺达到7nm,也就是每个元件宽度是7nm,所以一个指甲盖大小的微处理器可以拥有85亿个晶体管,这和最初要占地几十平方米的巨型计算器已经是天壤之别了。

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

        机器字长:计算机一次整数运算所能处理的二进制位数。

        这里还有另一个摩尔定律:集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,整体性能也将提升一倍。其揭示了信息技术进步的速度。实际上半导体存储器的发展也大致符合这个规律。

        目前计算机的发展趋势是“两极”分化“:

一极是微型计算机向更微型化、网络化、高性能、多用途方向发展;

一极是巨型机向更巨型化、超高速、并行处理、智能化方向发展,如我国的神威•太湖之光,其每秒可以进行9.3亿亿次的浮点运算,这个数还是蛮震惊的,有时候可能都意识不到现代科技已经发展到何种程度了。

计算机硬件的基本组成

1、早期的冯诺依曼机的结构   2、现代计算机的结构

        最开始的计算机是人们通过手动接线来控制计算的,这里好像手动控制很麻烦,但具体到底怎么回事,我没有get到。对于这种情况,冯诺依曼提出了”存储程序“,这个概念是指将指令以二进制代码的形式事先输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直到程序执行结束。

        第一台采用冯诺依曼结构的计算机是EDVAC。

(我看的是王道的课,这个是截图)

        早期的冯诺依曼机是以运算器为核心的,数据的存放都要通过运算器,这就导致运算器在负责计算的同时还要负责承担数据运输,这影响的运算的速度,同时数据存取也需要通过运算器,而不是直接从存储器中拿去,也影响程序的运行速度。

这里输入输出设备是承担信息形式转换的。

        冯诺依曼机的特点:

1、计算机由五大部件组成;

2、指令和数据以同等地位存于存储器,可按地址寻访;

3、指令和数据用二进制表示;

4、指令由操作码和地址码组成;

5、存储程序;但这个什么意思我不是很清楚还。

6、以运算器为中心,输入和输出设备与存储器之间的数据传送通过运算器完成。

        现代计算机的结构

现代计算机是以存储器为中心,我们常说的cpu就是运算器和控制器的集合;

对于存储器可以分为主存和辅存,主存就是内存,辅存就是硬盘之类的,

主机是指cpu和主存储器的集合,输出输入设备则被称为外设或者 I/O设备;主机和外设统称为硬件。

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

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

相关文章

Tecplot绘制三维彩色流线

文章目录 1234 1 2 需要选取合适的截面 3 4 用温度云图对流线进行染色

07、Python -- 序列相关函数与封包解包

目录 使用函数字符串也能比较大小序列封包序列解包多变量同时赋值 最大值、最小值、长度 序列解包与封包 使用函数 len()、max()、min() 函数可获取元组、列表的长度、最大值和最小值。 字符串也能比较大小 字符串比较大小时,将会依次按字符串中每个字符对应的编…

KSD1-16 KSD1-32 KUKA 与人工智能和机器人合作

KSD1-16 KSD1-32 KUKA 与人工智能和机器人合作 人工智能(AI)和机器人技术是每个行业越来越多的话题,特别是围绕它们如何简化流程和实践。这过去十年,英国人工智能公司的数量增加了688%虽然这项技术的进步令许多人兴奋,但也有一些神话让许多…

开发趋势 Java Lambda 表达式 第二篇

开发趋势 Java Lambda 表达式 第二篇 Lambda 的发展史 Java Lambda 表达式是在 Java 8 版本中引入的重要特性,它描述了一种更简洁、更灵活的方式来处理函数式编程。 在 Java 8 之前,要实现函数式编程,需要通过匿名类实现接口的方式。这样的…

代码随想录算法训练营第三十一天 | LeetCode 455. 分发饼干、376. 摆动序列、53. 最大子数组和

代码随想录算法训练营第三十一天 | LeetCode 455. 分发饼干、376. 摆动序列、53. 最大子数组和 文章链接:分发饼干 摆动序列 最大子数组和 视频链接:分发饼干 摆动序列 最大子数组和 目录 代码随想录算法训练营第三十一天 …

第三章 C++的循环结构

系列文章目录 第一章 C的输入第二章 C的输出 文章目录 系列文章目录前言一、个人名片二、while三、do-while四、for总结 前言 今天来学循环结构! 一、个人名片 个人主页:睡觉觉觉得 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评…

怎样正确进行全链路压测?

全链路压测是确保软件系统稳健性和性能的关键一环。通过全面评估整个系统的性能,并在生产环境之前发现和解决问题,可以提高系统的可用性、用户满意度,并降低潜在的风险。本文将介绍怎样正确进行全链路压测! 确定测试目标:首先&…

异步编程详解(.NET)

在之前写的一篇关于async和await的前世今生的文章之后,大家似乎在async和await提高网站处理能力方面还有一些疑问,很多网站本身也做了不少的尝试。今天我们再来回答一下这个问题,同时我会做一个async和await在WinForm中的尝试,并且…

hackmyvm之gift

hackmyvm是一个平台,包含了大量靶机,类似于vulnhub、hackthebox等平台,你可以在上面下载靶机,进行渗透测试练习,非常适合热爱黑客技术或从事渗透测试的人员。 (这段解释参考这篇文章) 下载安装…

一键运行大语言模型服务,搭建聊天应用

前言 本文介绍一个可以快速搭建本地大语言模型的聊天服务,模型和代码已全部提供,不需要联网运行。项目使用的是Qwen-7B-Int4模型,只需要8G显存的显卡都能流畅运行,无论是Windows还是Linux系统都支持使用。 安装环境 安装GPU版本…

PyTorch 与 TensorFlow:机器学习框架之战

深度学习框架是简化人工神经网络 (ANN) 开发的重要工具,并且其发展非常迅速。其中,TensorFlow 和 PyTorch 脱颖而出,各自在不同的机器学习领域占有一席之地。但如何为特定项目确定理想的工具呢?本综合指南[1]旨在阐明它们的优点和…

基于粒子群算法的无人机航迹规划-附代码

基于粒子群算法的无人机航迹规划 文章目录 基于粒子群算法的无人机航迹规划1.粒子群搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用粒子群算法来优化无人机航迹规划。 1.粒子群…

电脑软件:推荐一款非常强大的pdf阅读编辑软件

目录 一、软件简介 二、功能介绍 1、界面美观,打开速度快 2、可直接编辑pdf 3、非常强大好用的注释功能 4、很好用的页面组织和提取功能 5、PDF转word效果非常棒 6、强大的OCR功能 三、软件特色 四、软件下载 pdf是日常办公非常常见的文档格式,…

WPF Material Design UI框架

前言 Material Design in xaml 是开源免费的ui框架&#xff0c;工控软件主打的就是简单界面。 以下简称MD 相关资源 MaterialDesignInXamlToolkit Github 地址 MD 快速启动 MD 案例压缩包 MD 框架使用 启动环境配置 安装Nuget包 App.xaml 配置 <Application x:Class&qu…

利用dns协议发起ddos反射攻击

利用DNS服务器发起反射型DDOS&#xff0c;攻击带宽 基本思路&#xff1a; 1、利用any类型的dns查询&#xff0c;可完成发送少量请求数据&#xff0c;获得大量返回数据。 2、将原请求地址改为受害者地址&#xff0c;则dns会向受害者返回大量数据&#xff0c;占用带宽 警告&…

计算机网络之数据链路层

[复习提示] 王道&#xff1a;本章是历年考试中考查的重点。要求在了解数据链路层基本概念和功能的基础上&#xff0c;重点掌握滑动窗口机制、三种可靠传输协议、各种MAC协议、HDLC协议和PPP协议&#xff0c;特别是CSMA/CD协议和以太网帧格式&#xff0c;以及局域网的争用期和最…

现代C++、STL、QTL的使用

0、现代C中最重要的是&#xff1a; 右值引用、移动语义、完美转发、万能引用 1、std::vector、QVector 2、std::list、QList 3、std::map、QMap 4、std::multimap、QMultiMap 5、std::tuple &#xff08;1&#xff09;创建&#xff1a; std::tuple<T1, T2, TN>…

7.21 SpringBoot项目实战【图书借阅】并发最佳实践:细粒度Key锁、数据库乐观锁、synchronized、ReentrantLock

文章目录 前言一、编写服务层二、编写控制器三、并发实战1. synchronized关键字2. Lock 接口3. Atomic类4. 细粒度Key锁5. 数据库乐观锁6. 最终service完整代码 最后 前言 上文的产品设计流程&#xff1a;查看图书列表 7.3 实现-》查看图书详情上文7.20 -》图书借阅(本文)。 就…

【微服务】Feign 整合 Sentinel,深入探索 Sentinel 的隔离和熔断降级规则,以及授权规则和自定义异常返回结果

文章目录 前言一、Feign 整合 Sentinel1.1 实现步骤1.2 FallbackFactory 示例 二、Sentinel 实现隔离2.1 隔离的实现方法2.2 Sentinel 实现线程隔离示例 三、熔断降级规则3.1 熔断降级原理及其流程3.2 熔断策略 —— 慢调用3.3 熔断策略 —— 异常比例和异常数 四、授权规则4.1…

今年这行情,不会自动化的要做好心理准备了

李强是一名软件测试工程师&#xff0c;入行之后在一家小型公司工作了五年。这段时间里&#xff0c;他主要负责手工测试和一些简单的自动化测试工作。由于公司项目也相对简单&#xff0c;他逐渐陷入了工作的舒适区&#xff0c;没有积极追求新的知识和技能。 然而随着身边朋友发展…