花钱买不到系列—linux 冯诺依曼体系结构

本篇重点:

目录

认识冯诺依曼系统


 本篇内容,对冯诺依曼操作系统的理解。

那么,最重要的是什么呢?叫做我们的地址空间这样的概念。那么,地址空间这样的概念呢?对我们来讲是一个比较有挑战的话题啊,这是我们Linux系统的第一座高山。

linux ,一共要翻三座高山。那么,第一座高山就是进程地理空间这样的一个知识点。

第二座高山呢?是我们后面再文件系统的时候。那么,我们涉及到文件部分,

第三部分呢?多线程同步与互斥,那是第三座高山。翻过这三座高山,linux系统部分才算真正的比较懂了啊,

        不废话,下面我说一下,我们接下来首先要聊的一个冯诺依曼。

        所以下面我们正式进入第一个内容叫做冯诺依曼。体系结构来,这个概念不知道大家听过的,这个东西呢?给大家说一下,其实是一个非常重要的东西,为什么呢?很多教材里把它划分的时候,是把它分在了,计算机体结构那门课里面。

        但实际上操作系统本身它就是那么在这些硬件结构上,建立在我们凭空的想象之中啊,也就是你学一个东西,无法你比如你以前没有见过什么,没有了解过一些。可视化的更具体点的,比如说硬件方面的东西啊,那么你很难去对它之上的软件展开想象。所以我们必须得把硬件方面了解一下,但是至少体结构这个东西我们得做个稍稍微较为深刻的理解啊。

        那么下面呢?我来给大家介绍一下啊,首先冯诺依曼是一个人啊,和阿兰图灵呢?那么也并称为我们的计算机之父, 不是C语言之父,你看有各种我们计算机领域有各种祖师爷啊,冯诺伊曼就是一个祖师爷级别的代表了。

上个世纪啊,我算一下,大概是30到50年代。那么,在那个年代就是一九五几年,那么这个人呢?他其实是一个。当时我们称之为叫做数学家啊,他的数学特别好啊,其实搞计算机的曾经的一些大佬啊。基本全部都是数学特别好的人啊,然后呢,冯诺伊曼呢,那么他除了是数学家。

他在当时的前沿领域呢,有一个领域叫做计算机。那么他们主要是用来进行对计算机做各种设想,然后设计出各种计算机,将来想所要遵守的各种各样的可能的结构。而冯诺依曼就提出来了,

        冯诺依曼体系结构也就帮我们去那么搭建了我们当代计算机的基本构成。那么,计算机的基本的硬件构成呢?

        我们分为输入设备输出设备存储器运算器控制器。    

    这点我们要注意啊,而这里的存储器呢?那么指的是内存啊?而内存这个设备呢?有一个非常重要的特性,就叫做掉电意识。

        那么说白了,大家尝试我们也能知道嘛?就是我们的内存里的数据,如果我们最后,电脑笔记本儿,你把电池扣掉了,台式机突然停电了,那么你内存里的数据就没了啊,它叫做掉电一失。

        这个和内存本身它的一个,就是和存储结构是有关系的啊,里面有各种各样的什么触发器这些东西啊?那些东西呢,就只能做一个临时的电信号的存储,定期的刷新,就是你可以理解成叫做电信号的刷新,保证它的数据始终是最新的啊,它掉电意识,

        相反,我们还有一种呢,叫做磁盘,它是最典型的,它不叫做所谓的内存,它其实是一种外存那么这种磁盘类的设备,包括光盘。它其实叫做具有永久性啊,存储能力好。

        那么其中呢?保存到我们自己创建的文件啦,我们自己读写的所有的东西,基本都是都是在我们的磁盘当中存的。

        而磁盘呢,实际上它不属于这里体结构当中的存储器。它属于外设,外设通常呢?凡是被称之为叫做输入设备,或者输出设备。好,那么它都叫做外部设备啊,最典型的像我们同学见到的键盘。属于输入设备,它要向计算机输入,像我们的显示器叫做输出设备,它要帮用户把数据显示出来,然后呢,让我们进行我们对应的。一个查看再包括那么我们对应的是那么,比如说同学们,经常见到的像摄像头,就是比如它采集录像,它其实在计算机里它属于输入设备,像我们的话筒。那么包括音响啊,话筒也是输入设备啊,能采集我的声音,然后包括我放音乐的时候,我电脑上的音响,它属于输出设备。数据播放通过我们的外设播放出来,

        而包括还有一些我们看不到的啊。那么有很多设备呢,只是输入有很多设备呢,它只是输出。但是啊,还有很多设备,它既是输入又是输出,最典型的就是磁盘。和叫做网卡,这和我们后面的学习也是息息相关的啊,就相当于它既是输入又是输出。

        举一个例子,比如说呢,你曾经学过C,你可以向我们磁盘的特定的文件当中进行文本或二进制写入。写入的本质其实是把你的数据写到对应的外设,叫做磁盘上,你也可以读取,从磁盘里把数据读到内存。那么,其中对我们来讲,这个过程呢,就叫做你向磁盘当中读取和写入啊,它既是输入又是输出。而网卡就更不用说了,虽然我们没怎么见过啊,但我们知道它是一个插在我们主板上的一个设备就可以了。然后这样的网卡呢,它既可以把我们的数据发送到网络里,又可以把数据从网络里给我们拿回来,这些就是输入输出设备。

        所以我们的很多设备里面呢,有单纯的输入,有单纯的输出,也有输入输出啊。

        那么下面呢?那么我再把这个概念再递进一下,那么它为什么叫做外设呢?这个外设是相对于谁说的呢?我们可以理解成这个外设是相对相对于内存和CPU说的。来那所以呢,按照你的说法,是不是我们冯诺依曼体结构由这些单元构成?那么,我们其中把运算器,控制器这两个设备呢?其实是被那么合并在,比如说运算器。将我们这里的叫做控制器。好,那当然,内部还有各种寄存器。这些东西合起来啊,这个东西就叫做CPU,中央处理器俗称芯片。

        从那个就是从计算机上来看的话,那么别人已经从七几年八几年那么甚至是60年代70年代的时候就开始做这个东西。而甚至是很早的时候,五六十年代人家就可以可能开始就做了,但对我们来讲呢,我们其实确实起步晚啊,所以有很多东西,尤其是这种。这种东西是确实是要有技术沉淀的啊,

        那么运算器和中央处理器这个设备呢?有一个特点,它的特点是什么呢?就是特别的快啊,在给大家以后谈的时候呢,我想给大家说一下。就如果我后面讲计算机,我说快还是慢的时候,你不要把你自己带入进去,这里的快慢对比的不是和你比啊,计算机你要跟计算机的其他硬件比啊,所以CPU说它快不是跟你比的,这里的存储器呢,它指的是叫做内存。那么,它的特点呢?就是较快啊,好再下来呢,就是各种外外部设备也叫做外围设备,也简称为外设。那么它呢,有一个特点呢,就是较慢啊。

        我想告诉大家的是,就是我们在计算机的整个单纯从速度的考量上呢?一般而言CPU速度是最快的。它里面呢配的那什么寄存器速度也是最快的,然后内存呢是啊,较快,然后呢我们的外设呢可能比较慢,那么我这个太笼统了,给大家再就就是具体一点点。就是CPU呢,它是按纳秒来计时的内存呢,你可以理解成它是按微秒计时的外设呢,它是按我们对应的毫秒计时的,甚至。是秒啊,比如说我们像网卡,或者是像磁盘这样的设备网卡呢,因为长距离传输,所以IO速度肯定会比较慢,受影响的。那么,第二个磁盘呢?它本身。那么是一个机械式的设备,所以呢,对我们来讲,它的速度也很慢啊,就是有人说那这个呃毫呃纳秒微秒和毫秒,我感觉也差不了多少啊。

        不要跟你比啊,我给大家举个例子啊,比如说你就拿呃微秒和毫秒去比。一微呃就是一毫秒等于1000微秒,换句话说呢,内存的速度呢,我们可以理解成是,比如外设的1000倍啊,那这个速度差别大不大呢?给你举个例子,比如说你将来毕业了,你找工作,那别人呢?一个月是两万块钱啊,你呢?一个月是20块钱,你觉得你跟别人差距大不大?这个差距从赚钱的速度上看,你跟别人差了100倍,你说差别大不大呢?人家一年的收入就已经赶上了你那么半辈子的,或者一辈子的收入了。速这个速度差别是非常非常大的啊,这叫做数量级别的差距啊,

那么CPU它是负责干什么的呢?它是负责计算的。

那么其中我们的内存是用来干什么的呢?内存它是用来存储的,或者叫做。因为它掉电一失啊。好,那么我们的外设,比如磁盘,它是做什么呢?叫做永久存储。

        CPU既然要计算,那么它要不要数据或者代码?就是在硬件层面儿上。代码和数据啊,就是你的那什么abcd定义的变量,然后什么乱七八糟的什么啊,什么一二三叫做什么一二三四,这都叫做数据。知道吧,好那么所以我们把代码和就是所有的就是所有的指令和我们对应的内部的数据,它统称其实都是数据啊。所以你要计算的时候要不要?好,这个数据呢?是一个很宽泛的概念啊,你要计算你要不要数据呢?答案是肯定要,那比如说我要计算啊,CPU这个设备是一个非常傻的设备,同学不要觉得它很聪明,它只是快。

它非常傻,也就是说CPU内部做计算执行的就是做什么计算,不是由CPU决定的。是由你的,你自己写的代码和或者是操作系统的代码决定的。CPU它是被动的,执行你的代码来为你做你的计算。

        好,它只能被动的。别人的指令,那么叫做指令。通过那么执行。自己的那么或者叫做别人的指令,然后呢,那么达到计算别人那么别人。数据的。好那么目的,我要做一个10+20。所以CPU他不管,他要读的是把数字10和20读到CPU里,并且把加号这个运算也要读到自己的,那么那么叫做CPU里,然后帮你做计算,把结果最后给你。其实这是CPU的工作噢,

        他要接受别人的指令,前提条件是不是必须得先能够叫做认识别人的指令?是不是,CPU必须得先认识别人的指令啊,

比如我用葡萄牙语,你帮我去搬个凳子啊,我用葡萄牙语说的时候,他说你能听懂吗?你知道我在让你干什么吗?站在我的角度,我要把我要的做的事情交给了你了,你怎么不做呢?因为我不认识呀,你说什么葡萄牙语日语什么啊?甚至英语对吧啊,还有什么其他的那些当地的语言,那我们听不懂啊,对不对,所以对我们来讲呢?CPU它要能被动执行别人的指令,它必须得先认识别人的指令啊,

       那么所以CPU它是怎么认识别人的指令呢?那么很简单啊,那么CPU有自己的指令集啊。好那么什么意思呢?CPU那么它内部是有自己的指令集的。它的这个指令集是以硬件的方式在CPU内部,就是相当于已经处理好了。它有自己的指令集,相当于它内部有一堆自己的那么单词。

        那所以我们平时写代码的时候,我们把我们的代码经过编译,然后都知道,我们编译的时候给它形成我们变成二进制可执行,然后呢?那么我们变成二进制可执行程序之后,计算机就能执行了,

       为什么呀?原因很简单。是你的二进制可执行程序里,除了你的数据,你比如说刚刚的这个加号。可能就变成了CPU内部的指令集,比如add对应的,比如说010101,然后呢,它最后变成加法了,然后此时你把你的程序再喂给CPU。CPU就可以根据自己的指令集去识别到你的程序内部是在做什么。翻译成CPU的指令集,让CPU去执行。

        这就是为什么CPU能够执行你的程序的根本原因。这也就是编译器存在的根本原因。

那么我们一定要记住,相当于什么呢?相当于在座的同学啊,我给大家举一个啊小故事,帮助同学们理解一下啊。比如说呢,那么企业里面它现在需要一种岗位,这种岗位呢,叫做白领。啊,就是这个白领那么白领的岗位呢,比如说天天要做表格,然后要帮助领导去做PPT,开各种会,对吧?可能是自己进入职场之后需要的一种技能。假设啊。你让一个那么文盲,那么就是也不是我们也不是歧视文盲,只是用它举例子啊,用一个不认字儿的文盲。我们让他去那么做这些工作能做吗?想一想啊,如果一个人连字都不认识,那么他能不能把PPT excel这东西做出来呢?啊,答案是不能理解吧,所以是没不会的,因为他连字儿都不认识,所以呢,我们会发现。当你进入白领之前,成为一名工程师,或者一个在那么办公室里做PPT或者excel的人呢?前提条件,你得先进入学校进进行给你进行,那么进行某种教育。教育同学们,我们不谈其他的啊,我们就认字儿,所以呢,那么当你在学校里认了很多字的时候呢,然后再让你去公司里做白领,那么这个时候。你就有才有可能那么把这个工作承担起来,虽然excel PPT这软件不太会用,但是可以学。但是那么字儿只要认识了,那么后面很多工作其实都好做了,所以我们你为什么能认识这个世界呢?你为什么能够承担理解?比如你的爸爸妈妈,你的老师,我们将来你进入公司,你的领导,他让你做的事情呢?原因是因为你的大脑当中曾经被写入了很。多很多的指令集。

        所以你是一个CPU啊,那么把你放在学校里面,就要执行学校老师曾经设定好的程序代码。开始上课上早操,参加各种活动,参加各种社团,这是学校给你提供的程序。那么,当你进入公司时,你要上班,你要凭KPI,你要完成工作,那么你为什么能做呢?是因为你的大脑里面有对应的指令集。

        那么其中我们这个世界存在各种各样的程序,而我们就是那一个CPU被动着去接受来自这个世界的程序。去执行这个事件,内部不同的工种,不同的方向当中,我们对应的一个一个的工作,那么这就叫做指令集。

        所以CPU很笨,就如同我们很笨一样,我们没办法。那么,我们虽然懂很多字儿,但是呢,懂那么也有很多技能,但没有人给我们布置任务的时候,我们也什么都做不了,我们也不知道该干嘛。所以我们是一个被动式的去接收,那么别世界上给我们的各种各样的任务啊,所以CPU因为有指令集。所以它才能够识别到各种各样的对应的程序,当中的内容,帮我们去执行它被动的接收着所有的代码和数据来,在内部做着加。

        所以对我们来讲呢,这个指令集呢,在现在主流的CPU里面又有什么精简指令集啊?好,又有什么复杂指令集,复杂指令集这个我就不说了啊,你们下来自己了解,反正就是CPU,它要识别来,那么上面呢,给大家说一点点题外话,对于CPU有个更深刻的理解。同学们,所以CPU本质是它是被动的啊,那么有人说那谁往CPU上放数据放代码呢?是谁在做呢?是由那么有一个概念叫做指令周期去做啊,也是由硬件去驱动的,那么你一旦啊,叫做把你的CPU放在计算机里了。那么,你的计算机硬件就不断的,那么给你的什么PC指针,或者是你们的IP寄存器里面塞指令,然后让CPU就开始跑。啊,你根本就停不下来,

        就好比我们一旦出生,我们在不同阶段总是被动的被塞着各种各样的任务,出生之后我们要上。要学走路啊,要要早教,然后完了之后我们要上小学,小学之后那么怎么怎么样,这是你决定的吗?不是,这是社会决定的,社会规则决定的,同样的就跟一个CPU一样,它今天一旦上了线啊,开始运行了,那么那么我们就有一大堆的。指令周期来帮助它进行从特定的位置读取指令,分析指令,执行指令,完了之后再读取指令,分析指令,执行指令。做着这样的事情,那么我们人人都是一个小小的CPU啊,来接受着社会这个操作系统给我们派发的各种各样的进程。

        来那么下面既然我们知道CPU要帮我们进行各种各样的数据处理,那么这里就有问题。CPU内的数据从哪儿来呢?CPU既然要计计算数据,数据从哪儿来呀?那么外部去读到CPU里,因为它必须被动的去接受各种各样的指令嘛,对不对?怎么办呢?那数据从哪来呢?,那么就有两种来法,一种叫做永久存储介质,一种叫做临时存储介质。

        那么今天。我是CPU,我特别快,我是个急性子,我就是就是特别急啊,然后呢,一在我面前有两个人。一个人呢,是个慢性子,特别慢啊,慢的我就受不了,另一个人呢,他还行啊,他比我慢一些,但是比那个人快多了。所以他我要东西可以从这两个人身上,如果都能要的话,,你愿意向哪一个人身上去要这个数据呢?答案是你肯定会向那个稍微不快不慢,那个人身上要。

        因为我们都听过一个概念,叫做木桶原理,那么这个大家啊,你们刷抖音啦,或者是平时自己看一些。文章的时候呢,那么有人经常给你们扯这个东西啊,来那么我呢,给大家拿过来啊。

        说白了就是整个这个桶,它最终的容量。能装多少水不是由它的最长的这一块决定的,而是由最短的这块决定的啊。

        换句话说,如果我的CPU拿数据。如果此时直接从它那那么整个CPU和外设之间协作的话,它的速度效率是以外设为基本起点的。如果我以内存为基本单位,把数据CPU的数据呢?那么从内存里去读的话,那么它的速度呢?是按照我们内存的。那么速度来内存设定的,因为我们都知道,那么CPU没数据,没代码,它必须得被动接收,它必须得从外部拿。从哪儿拿呢?内存里面拿。所以CPU读取所有的数据时,它必须从内存里拿

        所以数据层面CPU只和我们的内存打交道。主要是为了提高效率啊,也就是我们要提高整个整个计算机的一个运算效率啊,好,那这就完了吗?答案是当然没有,大家再想一想啊。

        内存天然就有数据吗?我CPU要的数据从内存里来,你内存里天然就有数据吗?我说的这个天然。就是我今天哪怕把计算机关了,我内存里都有数据。内存天然有数据吗?答案是不好意思,没有内存没有数据。那数据永远在哪儿呢?那么记住了,我们计算机里的数据其实根本不谈什么光盘这东西,不要谈网络。在我们看来,数据在哪呢?在磁盘上。

        你建的各种文件,你安装的操作系统代码,你编写的原程序,你编译形成的可执行程序。最终在你计算机关机那一刻,其实全部都是在磁盘上的,换句话说,我们对应的内存。它天然的没有所谓的的数据,那它的数据要让CPU算CPU说我要数据啊,你那时候怎么不给我数据呢?内存说我没有啊,怎么办呢?那么数据从哪来呢啊?实际上呢?我们CPU要的数据可以在CPU要之前。可以早就预先的把对应的数据从外设,比如磁盘搬入至我们对应的内存。

        你能给我举一个例子,那么什么东西,其实在我们CPU要用之前那么什么样的数据,其实早就已经搬到了内存里面了。那么想一想啊,如果我们不提前要这个,你内存你不提前跟我的这个外部设备,要等CPU用的时候你才你找外设要,这里有什么效率提升,所以效率并不怎么提高,所以对我们来讲你有什么样的场景告诉我,是我们的内存已经预先把对应的数据加载到内存了呢。答案是,开机的时候开机的时候,我们是不是就相当于把操作系统全部加载到内存,操作系统有代码吗?有数据吗?虽然我们一点都不懂,但我们知道它肯定要加载很多东西。往哪加载呢?就是把数据从磁盘加载到内存,为什么直接不能D盘就能立马就能用呢?对不起,不能用,因为我们必须得预先把一批数据加载到内存。然后让CPU可以快速读取所以呢,我们内存没数据,它可以预先的把数据从我们对应的外设加载到内存。

        当然,往后它如果有数据写入,它也可以需要预先的,那么在我们那么把CPU把数据写完之后,可以在合适的时候把数据再写到我们的存储当中。换句话说呢,那么就叫做你忙你的,我忙我的,中间我们可以用这里的内存可以把它理解成是一个大大的缓存啊,也就是说CPU要的数据其实在外设里。但是呢,因为有内存的存在呢CPU要数据,要的时候可以直接从这里拿,那么如果要往外写的时候呢,暂时写到这里定内存,也就是缓冲区,后面有时间了再刷新到外设当中。

        所以CPU直接变成了只和内存打交道,而内存变成了那么和外设打交道也可以和CPU打交道。这个地方内存就可以看作成一个非常巨大的缓存,可以用来适配CPU和外设之间速度不匹配的问题。

        我们也听过啊,首先我知道了,那我们为什么要存在内存啊?就是没有内存的话CPU直接访问这些外设。啊,你比如说你CPU,你要读取数据,你直接从外输入设备读就行了,你写到输出设备上不就完了吗啊,但是大家知道这两个速度差别太大了,将近几百万倍,速度差别太大,那最后那么最后整机效率就是由我们对应的外设决定,这个计算机的效率也太低了啊。所以呢,我们加了一个叫做内存的存在好,那么然后呢?那么我们其中呢?可以预先的把数据。在内存当中做一个对应的预先读到我们。对应的内存当中或者CPU写的数据呢,我们也可以直接预先写到内存里,然后定期再刷新。然后呢,同样的外设呢,也可以把数据呢预先的写到我们内存里,让CPU进行读取,所以它就相当于一个缓存啊。

        这里谁帮我们预先读呢?你CPU把数据计算完了,要往磁盘上写,那么我现在嫌直接写到磁盘上太慢了,我们预先先暂时存在缓存里,那么定期后面再刷新。谁帮我们做刷新呢?啊,那么整个的数据应该把哪部分数据预先帮我们载到我们对应的叫做操作系统里?那么包括我们自己运行,我们的程序时把数据呢直接从磁盘加载到内存里面,那么谁来加载?什么时候加载?加载多少?那么加载完了,不用了怎么办?CPU把代码执行完了,有很多数据,现在不要了,还要在内存里占空间吗?要不要把它换出去,或者把它杀掉?啊,或者不要这些那么数据相当浪费空间,节省出来再去置换更多的数据。所以谁来做这个工作?在这个工作当中,那么操作系统做,刚刚你说到。所有的工作。好操作系统帮我们做各种各样的策略啊,也就是它软件上不管软硬件管理还是策略的定制。这是操作系统做,所以我们形成所谓的计算机,

        计算机它是一个叫做硬件和软件的完美结合。

        这都是常识,但更多的是帮助自己把以前的概念理顺了啊,好那么下面呢,我们再来。所以知道了为什么开机就要加载操作系统,如果没有操作系统,那你就直接CPU从外设读出去把。

        那么接下来要说的就是其中我们把内存啊,把数据呢,从外设搬到内存。和把数据从我们对应的叫做我们的内存搬到外设,我们把这个动作我们称之为计算机学科里面,我们称之为 IO

        那么这个IO的过程呢?就叫做input和我们对应的out port,也就是经常会说到IO的过程,这里就叫做IO。其中是存储器和外设之间的工作。产生了一些结论

 结论:

        第一:CPU啊,我们这里的所有的结论都是在数据层面啊,那么我们对我们来讲CPU不和外设。直接打交道

        第二:,所有的外设那么有数据需要载入,它只能载入到内存中。内存写出啊,写出去那么也一定是写到叫做外设中

这就是我们对应的两个小结论,最后把它压缩成一句话。

叫做CPU。不和外设直接。沟通啊,那么只和和我们对应的内存直接打交道

        那么接下来,我再回过头把一些常见的支离破碎的那些其他概念再一顺一下。还要解释一些现象啊,现在呢,我的第一个问题就是,那么我们之前的写的程序,程序要运行啊,要叫做运行。必须加载到内存同学们,我写了一个软件,写了个代码。写完之后呢,这个程序要运行,必须要程序运行之前必须得加载到内存,我们现在还不知道它怎么加载,后面聊怎么加载,但现在呢?它怎么加载我不清楚。

        程序运行的时候,它为什么必须得先加载到内存呢?我现在就能给自己理由了,以前啊,这东西就是一结论。就是告诉你这个东西是这样记就行了,但今天我们就能理解了,为什么因为将来?CPU是不是要执行我的代码,访问我的数据。我的编译好的,我编译好的代码。那么,可执行程序在哪呢啊?我编译好的可执行程序在磁盘上,我把机器关了,那个程序还在的,那么你下次加载这个程序还在的,所以它是在磁盘上的,所以呢CPU要执行我的代码,要访问我的数据,它只能从内存中读。

        因为那么体系结构规定好,你必须从内存里读,那么我们原因就清楚了,那所以你必须得把数据从我们对应的程序从,磁盘加载到内存当中。以及体系结构为什么要有这么规定啊?因为本质就叫做提高计算效率。

 输入设备表数据只能到内存,计算完读数据从内存里读,读完之后写到内存里,然后再把数据刷新到外设里,然后最后显示器就对应的外设就显示出来了啊。

        我之前写过一个代码叫做进度条好,进度条当时我们在打印的时候,发现已经调了printf了,可是它的数据怎么没有被显示出来呢?显示器是外设,其实说白了就是你自己的代码,加上内存CPU跑。跑完之后写数据不是直接写到外设的,而是直接帮我们写到内存里,定期刷新的,只不过它没刷新。所以我的进度条看,有时候有些数据没有显示出来,这也是可以由体结构决定的,

        我摁了一下了一下按键。电脑怎么知道输入设备里有数据了呢?就好比我们经常说你饿了,你就吃饭,点个外卖就行,外卖员就会给你送到,但是。外卖员,我怎么知道外卖员来了呢啊?所以其实呢,我们的各种外设其实和CPU它在控制层面上,它是有交互的啊。那么我们后面再讲网络的时候呢,这块再给大家慢慢再讲一讲,有一个概念叫做中断啊,现在不谈,反正就是我们知道数据层面上它是这个样子就够了哦,叫做CPU内部有控制器运算,这个控制器。

        它就是用来响应外部设备的一些请求的,比如说我好了,你来读吧,我好了,你来写吧,那么它告诉CPU不是让CPU去做的。体系结构里,现在主流的计算机体系结构里还有一种,那么还有一种芯片,它专门用来负责把外设数据搬到我们对应的内存里啊,但现在我们不考虑了。

        这控制器呢,重点是做我们对应的,就是就绪状态的一个捕捉的啊,那么运算器呢,其中最根本的其实就相当于它常见的运算,有两类一类叫做应该是算术运算,像我们加减乘除啊,包括像判断它也是算术运算大小这些,第二种,逻辑运算比如说逻辑与逻辑或,那么就是那么这样的运算呢,对应的运算器里做会做到。计算机里的就是计算的种类就两种,那么叫做算术运算和逻辑运算简称算逻啊,

        总结:只需要记住一个CPU它不需要和,外设直接打交道,而是只要和内存这个打交道就可以了,这指的是数据层面,通常我们外设把数据搬到内存里的过程。叫做IO的过程来

  • 20
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值