源码时代干货分享|计算机概论和发展

因为操作系统跟硬件有相当程度的关联,所以不了解计算机概论对于学习操作系统有一定的难度,博主只陆陆续续花了一个月的时间学习了解,并写博客。希望总结的一些东西对一些计算机原理不是很了解的朋友有一些帮助。参考书籍《鸟哥的linux私房菜》。
??
?1、计算机发展
? ?1.1、
? ??计算机其实就是:接受用户的指令于数据,经过中央处理器的数据与逻辑单元运输处理,最后产生有效的信息。所以最开始的计算机设计是这样的。? ? ? ? ??? ? ? ? ? ? ? ??? ? ??

? ??人们通过输入设备把信息输入计算机,计算机通过中央处理器把信息处理后,再通过输出设备把处理后的结果告诉大家。
? ? 世界上的第一代计算机“ENIAC” 于1946年在美国的宾夕法尼亚大学大学诞生。当时的计算机设计十分落,根本没有鼠标(道格·恩格尔巴特博士 )和键盘这些方便的工具。那时的计算机还是个大家伙,占地170平方米,有两层楼那么高。每秒能进行5000次运算。人们只能通过扳动计算机庞大的面板上无数的开关来向计算机输入信息,而计算机把这些信息处理之后,输出设备也相当简陋,就是计算机面板上无数的信号灯。所以那时的计算机根本无法处理像现在这样各种各样的信息,它实际上只能进行数字运算。
? ?1.2、
? ??随着数据量的增加。人们发现原来的计算机对于计算大量数据已经很吃力了。于是对原来的计算机模型进行了改进,在中央处理器旁边加了一个内部储存器。
?
? ? ??
? ? ? ? ?计算机流程变为输入单元的数据放到内存里,cpu从内存中读取数据,而cpu处理完毕的数据也必须写回内存中,最后数据才从内存传到输出单元。两个模型相比就相当于老师布置了一道数学题,以前你只能心算,现在给你提供了一个草稿纸。
? 1.3、
? ??? 随着时代的发展人们感到输入,输出设备的落后,于是出现了纸带机。纸带机的工作原理是这样的:纸带的每一行都标明了26个字母、10个数字和一些运算符号,如果这行的字母A上面打了一个孔,说明这里要输入的是字母A,同理,下一行可能是字母H,再下一行可能是数字1。?
  这样一个长长的纸带就可以代替很多信息,人们把这个纸带放进纸带机,纸带机还要把纸带上的信息翻译给计算机,因为计算机是看不懂这个纸带的。?
  虽然还是比较麻烦,但这个进步确实在很大程度上促进了计算机的发展。?
  在发明纸带的同时,人们也对输出系统进行了改进,用打印机代替了计算机面板上无数的信号灯。打印机的作用正好和纸带机相反,它负责把计算机输出的信息翻译成人能看懂的语言,打印在纸上。这样人们就能很方便地看到输出的信息,再也不用看那成百上千的信号灯了。
1.4、?
? ? ???不过人们没有满足,他们继续对输入和输出系统进行改进。 于是出现了键盘,鼠标,显示器。由于输入的数 据越来越多。如果一停电那么开始输入的数据就白费了于是人们在原有的模型上又加了外部存储器。这样停电也不会丢失数据。
? ? ? ?这回的模型是这样的
?2、计算机概论
? ???通过上面的文字你可能对计算机已经有了模式的了解,下面我们来了解一下现代计算机概论,
??2.1计算机硬件
? ???简易加减乘除计算器,手机,GPS,ATM,桌面型计算机,笔记本,上网本这些都是计算机。
? ? ?计算机由五个单元组成。包括:输入单元、输出单元、CPU内部的控制单元(协调各组件与各单元的工作)、算法逻辑单元与内存五大部分。
?
主板 (最中要的接口设备)
? ? ??主板是链接各个组件的一个重要项目,让所以设备能协调和通信。主板上最中要的是主板芯片组,因此在主板上面沟通各部组件的芯片设计的优劣,就会影响效能,早期的芯片分为北桥和南桥来控制各个组件的沟通。
? 北桥:
? ? 负责链接速度较快的CPU,主存储器与显示适配器界面等组件。南桥:负责连接速度较慢的装置接口,包括硬盘,USB。网络卡等,不过由于北桥最重要的就是CPU与主存储器之间桥接,因此目前的主流架构中,大多将北桥内存控制器合到CPU封装当中了,这样在CPU读取主存储器的动作时不会消耗更多的带宽。所以主板中一般看不见北桥,其他的CPU插槽,内存插槽我们就不细讲了。
? ?南桥:
? ? 负责连接速度较忙的的周边接口,如硬盘 ,USB ,网卡等。
? ? 北桥和南桥上面的黄铜色散热片。且连接着的数根圆形导管,就是为了散热(这是废话,哈哈)
? ? 所以芯片组几乎都是参考CPU规划的所以买CPU ,主板,内存相关的接口设备要同时参考数据。
? ? 有的芯片强调全功能,因此连显卡,音效,网络都是集成了的。不过集成芯片性能比较弱。(显卡,独立显卡);
? ?I/O地址和IRQ中断通讯
? ? 主板负责计算机组件的通信。但组件多,有I/O设备和不同存储设备,主板芯片为了知道怎么互相通信,就需要I/O地址与IRQ。因此不能有两个设备使用同一个I/O地址。和IRQ中断。I/O可以想象成设备门派号。
IRQ就是各个门牌号连接到CPU的专门路径。设备可以通过IRQ中断信道来告知CPU该设备的工作情况。

? ? CMOS 和BIOS
? ? ?CMOS记录主板的重要参数,如系统时间,CPU电压与频率,各项设备的I/O地址IRQ等。BIOS 在开机加载CMOS的参数,尝试调用存储设备的开机程序。进一步进入操作系。BIOS可以修改CMOS的数据。在下面的内存中我们还会介绍CMOS和BIOS.
? ? ?主板上有内置音效芯片时就会有声音输出,输入这些圆形插孔。PJ-45,有内置网络芯片时就会有这种类似电话接口的接头。博主以前修电脑时发现,里面有八根线,且每根线必须按一定的顺序排列,才能成功,而且接口大小规格不一下,但线的排列顺序是一样的。
? CPU
? ? ??? ?CPU 内部含有一些小指令集,我们用的软件都要经过CPU内部的微指令集来完成。这些指令集分为两种:精简指令集,与复杂指令集。这也是最主要的两种CPU的种类
? ? 精简指令集(RISC)
? ? ? 这种CPU的微指令精简,每个指令执行时间短,操作单纯,执行性能佳,复杂的事就由多个指令来完成。SPARC的CPU用于学术领域的大型工作站,如银行金融体系的主服务器。powerPC的CPU例如sony的Play Station3(ps3)就是power PC架构的cell处理器。
? ? 复杂指令集(CISC)
? ? ? 它微指令集的每个小指令可以执行一些较低阶的硬件操作,指令多且复杂,指令长度不一样,指令执行较为复杂所以每条指令发费时间较长,常见的的CISC微指令集的CPU主要有AMD,Inter,VIA等x86架构的CPU,而世界上使用最广的处理器则是安谋的ARM,他用于各厂牌手机,PDA,导航系统,交换机,路由器等。
? ? ? 因为AMD,Inter,VIA开发的x86架构的CPU被大量用于个人计算机,所以也叫x86架构计算机,(最早那颗Inter发展出来的CPU代号为8086,后来有开发出80286,80386等)因此这种CPU被称为x86架构。在2003年以前Inter开发的x86架构CPU由8位升级到16,32位,后来AMD修改架构为64位。
? ? ?不同的X86架构的CPU除了整体架构(第二层缓存,每次可执行的指令数等)之外,主要是微指令集的不同。很明显 新的架构微指令集先进。能加速多媒体程序的运行,加强虚拟化性能,争强能源效应,降低耗电量。
? ? ?64位的CPU一次可读写64bits这么多的数据。,1btye等于8bit,20M就是20Mbit/秒, 不同的进位置有不同的换算,二进制下 1k等于1024b,1mb=1024kb,1G等于1024MB。十进制下1k等于1000b。文件容量常用二进制的方式,而速度单位是十进制的。
? ? ?我们买U盘时16g但是格式化后确只有14G,是商家无良吗?不是!因为出厂容量是十进制算法,而操作系统常用二进制算法。硬盘的最小物理单位量是512bytes,最小的组成单位是扇区(sectoe),通过硬盘容量计算采用多少个sector?
? ? ?目前主流CPU都是双核以上的架构,单核就是只有一个运算单元多核就是一个CPU封装当中嵌入了两个以上的运算单元,不同CPU有不同的角位,所以搭配的主板芯片组也不同,所以主机升级不能只考虑CPU还有考虑你主板上支持的CPU型号
? ? ? ?CPU的工作频率 ?外频和内频
? ? ? ???频率就是CPUM每秒可以进行的工作次数,CPU的速度单位是MHz或GHz(HZ秒分之一)
1GHZ 表示一秒内可以进行1*10的9次方工作。每次工作都可以进行少数的指令运行。
? ? ?外頻就是CPU和外部组件就行数据传输的速度,倍頻就是CPU内部用来加速工作的一个倍数,两者相乘就是CPU的频率,(CPU需要强大的运算能力为了和外部各组件速度一致因此在CPU内加了一个加速功能这就是外頻和倍頻)
?
? ? ?内存
? ? ? ??CPU 所使用的数据全都是来自内存,不论是软件程序还是数据,都必须要读入内存CPU 才能利用。如果内存容量不大,会导致某些大容量数据无法被完整加载。此时内存中暂时没有被使用的数据必须要先被释放,使的内存容量大于该数据。那份数据才能被加载,通常内存越大运行数度快,这是因为系统不用常常释放一些内存内部的数据,对服务器而言,内存容量有时比cp速度还重要。
? 双通道设计
? ? 内存的数据宽度当然越大越好。但传统的宽度一般是64位,为了加大宽度,芯片组装商就将两个内存汇整在一起,这样就可以达到128位。这就是双通道设计理念。 ?启用双通过功能你必须安装两条(或4条) 内存,而且最好型号一样。因为启动双信道,数据是同步写入读取的,如此才能提升整体的频宽。所以容量大小要一致,型号也最好相同。
? ?内存和cpu的频率
? ? ?理论上cpu与内存的外频应该要相同才好。但是技术的提升,两者频率不会相同,但外頻一致最佳。
? ?DRAM 和SRAM ?
? ? ?CPU的数据内存提供,内存的数据通过北桥送到CPU内。如果常用的数据放到CPU内部的话,那么CPU的数据读取就不需要通过北桥。对于性能大大提升,这就是第二层缓存概念。第二层缓存集成到CPU内部,因此L2 cache 内存数度必须与CPU 频率相同,用DRAM是无法达到频率相同的。此时就需要静态随机访问内存(SPAM)帮忙了 。SRAM在设计时晶体数量较多。价格高。不易做成大容量。不过数度快,所以集成到CPU 内成为高速缓存用于加快数据访问是个不错的方式。
? ?只读存储器(ROM)
? ? CPU 和内存的频率是可调整的,如果主板上面有内置的网卡或者显卡时,该功能是否启用与该功能的各项参数被记录到主板上一个CMOS的芯片上,这个芯片需要额外的电源来发挥记录功能,这就是主板上有一个电池的原因。
? ?开机是进入的BIOS (basic input output syatem )是一套程序,这套程序就是写死到主板上的内存芯片里,这个芯片在没有通电时也能记录数据。那就是ROM ,ROM是非挥发性的内存。 对于PC BIOS 很重要。因为系统开机首先会读取的一个小程序是它。很多固件也是使用ROM来进行软件写入的。固件像软件一样也是一个被计算机 执行的程序。它对入固件内部而言很重要。如BIOS 就是一个韧体,它掌握着开机的各项硬件参数。所以很多硬件上面都会有ROM来写入固件。
? ? 计算发展太快了。因此BIOS 程序代码也要适度修改。所以在主板官网上有BIOS的更新程序,但是BIOS原来使用的ROM 无法修改。因此根本无法修改BIOS的程序代码。为此BIOS 通常是写入闪存或EEPROM中。
?
? ? ? 显卡
? ? ? ? ??显卡的内存容量会影响你的屏幕分辨率和色彩深度。存了内存对于一些3D动画运算能力也是很重要的。3D的运算早期是给CPU运行的,但CPU不是针对3D动画设计,而且平时CPU很忙绿了,所以后期显卡商直接在显卡上嵌入一个3D加速芯片,这就是CPU 称谓的由来。
? ? ?显卡也通过北桥芯片和CPU 内存通信,对于图形影像来说,显卡也是需要高速运行的一个组建,所以数据传输也是越快越好,因此规格由早期PCI导向AGP ,近期AGP又被PCL-Express规格代替了。PCLe使用的是类似管线概论来处理,每条管线可以具有250MB/s的频宽性能。管线越大(最大可达x32)则总频宽越高。目前显卡大多数用x16的PCle规格,这个规格可以达到4GB/s的频宽,比AGP快,新的PCle2.0 这个规则可以将每个管线的性能提升一倍。
? ? ? ? 硬盘和存储设备
? ? ? ? ? ?计算机系统上的存储设备包括硬盘,软盘,MO,CD,DVD,磁带机,u盘等,乃至于大型机器的局域网存储设备(SAN,NAS)等,
?
? ? ? 硬盘由盘片,机械手臂,磁头和主马达组成。数据是写在具有磁性物质的盘片上,而读写是通过机械手臂上的读取头来完成,实际运行是,主轴马达让盘片转动。然后机械手臂可伸展让读取头在盘片上面进行读写的操作。另外由于单一盘片容量有限,因此硬盘内部有两个以上的盘片。
? ? ? 盘片上面有很多同心圆绘制出的饼图,而由圆心以放射状方式分割出的磁盘的最小储存单位就是我们上面说的扇区,扇区组成一个圆就成为磁道。如果在多硬盘上面,所有盘片上面的同一个磁道就可以组成一个柱面,柱面也是我们分割硬盘的最小单位。
? ? ? 计算硬盘储存量时,简单的公式就是header 数量x每个header负责的柱面数量x每个柱面所含的扇区数量x扇区的容量,单位换算 header X cylinder/header Xsecter/cylinderX512bytes/secter,当然硬盘制造商也是用的十进制算法。
? ? ? 因为传输速度的原因,硬盘和主机系统主要有IDE 和SATA 和SCSL 传输接口规则。
? ? ? IDE接口插槽使用的排线较宽,每条排线上面可以接两个IDE设备,为了判断两个设备的主、从架构。因此磁盘驱动需要调整跳针成为主,从才行,这种接口的最高传输速度为Ultra 133规格。每秒速度133MB。
?
? ? ? SATA 接口比IDE接口小很多 每条SATA连接线只能接一个SATA设备。SATA接口除了速度快以外,由于他排线细,所以有利于散热与安装,SATA-1的速度是每秒150MB,SATA-2是每秒300MB,因此主流个人计算机硬盘已经被SATA替代了。SATA一条排线接一块硬盘,所以不需要调整跳针。不过一块主板上的SATA插槽 数量不是固定的,且每个插槽有编号,在连接SATA硬盘与主板时,还需要留意一下。
? ? ?SCSL接口?
? ? ? 这种接口常见与工作站(下面计算机分类里面会介绍)等级以上的硬盘传输接口,这种接口的硬盘在控制器上含有一块处理器,除了运行速度快,也不会耗费CPU资源在个人计算机上这个接口不常见。
? ? ?缓冲存储器
? ? ? 硬盘上面有 缓冲存储器 ,这个内存主要可以将硬盘内常使用的数据缓冲起来,以加速系统的读取性能,通常这个 缓冲存储器 越大越好。因为缓冲存储器的速度要比数据从硬盘中找出来快很多。
? ? ?转速 ?
? ? ? 因为硬盘主要利用主轴马达转动盘面来访问,因此转数快慢会影响性能。主流桌面型计算机硬盘为每秒7200转,笔记本则是5400转,有的厂商会推出10000转的,有高性能数据访问需求可以考虑。
? ? 运转须知
? ? ? 硬盘内的机械手臂和磁头与盘片的接触是很细微的空间,如果有抖动或脏污在磁盘与硬盘之间,就会造成数据损坏,或整个硬盘损坏。所以要避免移动主机,也不能随便拔掉插头关机。因为机械手臂必需回归原位。
? ?PCL适配卡
? ? ? ? ???PCL插槽是提供给用户有额外需要的功能卡。如网卡,声卡特殊功能卡,因为PCL-Express规格的发展很多制造商都忘PCLe接口开发硬件,不过很多硬件还是用的PCL接口,如大卖场的网卡,目前个人计算机常见的网卡还是以太网规格的。
? 2.2 计算机分类用途
??1,超级计算机
?2,大型计算机
?3,迷你计算机
?4,工作站
?5,微电脑(个人计算机)
?目前个人计算机的速度已经很快了,甚至比工作站等机以上的计算机速度还快。
?

原文地址:https://blog.51cto.com/14497209/2446891

时间: 2024-11-05 12:34:04

源码时代干货分享|计算机概论和发展的相关文章

源码时代软件测试干货分享|Python自动化测试常见面试题,学会不怕找不到好工作!

怎么理解装饰器,用过或者写过什么装饰器吗? 1.1.概述:装饰器本质上是一个 Python 函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象. 1.2.详细描述: 1.import?logging??8.????????ret?=?oldfunc(*args,?**kwargs)??9.????????return?ret??10.??11.?????返回新函数??12.????return?new_func??13.??14.??15.#?通过语

源码时代python干货分享| python装饰的神奇魅力初体验

简单的装饰器 1.1.1.一个最简单的装饰行为 装饰器的一个特点是:在执行原函数的基础上,增加内容.咱们举个简单的例子:我们可以把它用作日志打印器,在执行函数前,会有礼貌的告知你一下"亲爱的coder,我要执行了"在执行结束后,也会告知各位coder.是不是很有趣?那么,咱们如何执行原函数那?? 把原函数的名字交给装饰函数,装饰函数就具备了执行老函数的能力. 旧函数,待装饰的函数 def fun(): print('我是老函数') def factory(old_fun): print

源码时代前端干货分享| AE如何实现文字消散效果?看这一篇就够了!

源码时代前端干货分享| AE如何实现文字消散效果?看这一篇就够了!首先:1.新建合成IMAge012.新建一个纯色层做背景(如果自带背景可以忽略)02 3.新建文本图层034.打上文字,调整文字大小,让文字在画布中居中04 然后:5.给文字添加一个蒙版05 6.在0秒的位置的蒙版路径打上关键帧067.0秒的时候蒙版路径最大,3秒的时候蒙版路径最小078.继续添加蒙版羽化089.再新建一个合成为置换0910.新建一个纯色的白图层1011.给它添加一个蒙版1112.在蒙版路径上打上关键帧13.0秒的

源码时代前端干货分享| JavaScript编程优化,超强入门必备技能!

一.按强类型风格定义变量大家要知道js是一种弱类型语言,定义变量的时候不要太随意,大多数初学者定义变量时,只是声明变量而没有赋值,这样就显得太随意了声明变量的时候,一定要指明变量的类型,告诉解析器,你要声明变量的类型,不要让他去猜 //2. 定义变量let odd, //奇数个数even, //偶数个数sum,//总和avg//平均值 上面这种就是不友好的代码,应该改为 //2. 定义变量let odd = 0, //奇数个数even = 0, //偶数个数sum = 0,//总和avg = 0

源码时代PHP干货分享| Linux系统安装 memcached,菜鸟逆袭必备教程!

Linux系统安装 memcached 1.首先要先安装libevent库.yum install libevent libevent-devel 2.源码安装memcachedwget 在线下载工具yum install -y wget# 在线下载源码wget http://memcached.org/files/memcached-1.5.16.tar.gztar xf memcached-1.5.16.tar.gzcd memcached-1.5.16.# 配置./configure --

源码时代前端干货分享| threejs 开发使用插件Gui.js与three.js引擎如何联合使用

threeJS---插件(Gui插件) 经过前面的学习, 小伙伴们对ThreeJS的模型与材质是否有一个了解呢? 在之前的课程中,我们已经学习了平面.球体以及盒子模型, 并学习了普通材质和光阴材质.在本次学习中,我们主要学习Gui插件, 并且我们在本章学习中会添加球体弹跳的一个效果哦! 在上一节的课程中,我们已经将立方体旋转起来了,今天我们给球体加一个弹跳效果吧 我们需要在我们上一节课的基础上继续修改我们的代码,来看看我们上一节内容最后面写的一段代码,在这里我们对立方体进行了一个旋转的效果,我们

源码时代UI干货分享|创意剪纸风格海报设计,逆袭设计大神的必备技能

剪纸风格海报1,新建文件800*1000 分辨率设置ppi,并填充背景#0213062,新建图层填充颜色#06aa2d3,在新建图层上绘制路劲形状,并将路径转换成选区(ctrl+Enter),然后Deltet删除选区里面的内容4,双击改图层添加图层样式,斜面浮雕效果,颜色叠加,投影5,将做好的图层ctrl+J 复制一层.再ctrl+T 按住ALT进行中心等比例放大(pscc2019,如果是2019以下的ps 按住ALT+SHIFT进行等比例放大)6,执行自由变换命令后再ctrl+shift+al

源码时代Java干货分享|Shell脚本编程学习入门,只需两个步骤,包你学会!

最近在学习shell编程,对于shell脚本中第一行用于指定脚本解释器的代码到底有没有起到指定解释器的作用感到疑惑,如:#!/bin/bash 在网上查找了不少资料,发现网上竟然也分了两大派,一些人认为#!/bin/bash没有起到作用,因为在shell脚本中#表示是注释的意思,而另一些人则认为是起作用的,但是没有给出令人信服的理由,没办法,我只好自己动手做测试了.1.首先我先创建了一个名为test.sh的shell文件,里面内容如下 这个脚本文件中的第二行代码使用了bash语法,不支持POSI

源码时代UI干货 | 只用5步教会你制作《这就是街舞》风格的字体设计

PS技巧分享: 5步教你快速学会制作<这就是街舞>风格的字体设计 1.首先用潮字社凌渡鲲鹏简打出一个基础字体 2.再字上面新建一层,给他剪切进去 我们在新建的这一层上,用画笔在笔画上,涂上紫色到蓝色的渐变(颜色比例自定)3.然后ctrl+e,将他们合并成一个图层选择涂抹工具4.然后右键弹出的画笔窗口,再选择画笔窗口右上角的设置选择旧版画笔5.然后在画笔库里找到旧版画笔的默认画笔文件夹,选择喷枪画笔笔刷强度可调整成80去涂抹文字涂的时候尽量跟着笔画来涂,这样效果会更好用这种办法就能做出类似这种字