计算机基础与应用教程计算机硬件,计算机基础系列一:计算机硬件

1、编程语言的作用及与操作系统和硬件的关系

一个完整的计算机系统包括硬件、操作系统、软件(即程序员开发的各种软件)三部分组成。

各程序员开发的软件若直接调用计算机的硬件,如硬盘读取、音频播放等,则软件不仅编写复杂同时影响开发效率,因此程序员开发的软件需通过计算机操作系统间接调用计算机各硬件。如下图:

2844965b649a5ca3f1551726718ba53b.png   即编写各种计算机软件的编程语言可看作程序员与计算机沟通的介质,程序员通过编程语言编写软件从而达到控制计算机的目的。

2、计算机硬件

计算机硬件(Computer hardware)是指计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。简言之,计算机硬件是构成计算机的物质基础,是计算机系统的核心。从外观上来看,微机由主机箱和外部设备组成。

根据计算机之父冯·诺依曼的划分,计算机由运算器、控制器、存储器、输入设备、输出设备五部分组成。通常把运算器与控制器合称为中央处理器(Central Processing Unit,CPU)。

其中:

CPU是计算机的核心,负责计算机的运算及程序控制;

存储器是计算机的记忆设备,用来存放程序和数据

输入设备是计算机接收外部信息和数据的设备。常用输入设备有:键盘、鼠标、扫描仪等

输入设备是输出计算机处理后的数据。常用的输出设备有:显示器、打印机等

在计算机中,计算机各硬件是通过各类总线连接在一起的。

2.1处理器(cpu)

CPU是计算机的核心,负责处理计算机的各种逻辑运算和程序控制等。CPU处理的流程是:从内存读取指令->解析指令->执行指令,执行完之后继续从内存读取指令->解析指令->执行指令,知道所有的程序被执行完毕。

由于CPU的读写速度远大于内存的读写速度,为最大限度发挥CPU的效率,将CPU的一些常用指令集存入一个能够快速读写设备中,即寄存器。

寄存器的读写速度介于CPU和内存之间。

34e0fb2d605f23dfe983c863ced48c71.png

(计算机处理应用程序流程图)

寄存器分类:

1) 通用寄存器:用来保存变量和临时结果

2) 程序计数器:保存将要取出的下一条指令的内存地址。在指令取出后,程序计数器就被更新以便执行后期的指令

3)堆栈指针寄存器:它指向内存中当前栈的顶端。该栈包含已经进入但是还没有退出的每个过程中的一个框架。在一个过程的堆栈框架中保存了有关的输入参数、局部变量以及那些没有保存在寄存器中的临时变量

4)程序状态字寄存器(Program Status Word, PSW),这个寄存器包含了条码位(由比较指令设置)、CPU优先级、模式(用户态或内核态),以及各种其他控制位。

3、内核态与用户态

由于需要限制不同的程序之间的访问能力, 防止他们获取别的程序的内存数据, 或者获取外围设备的数据, 并发送到网络,因此CPU划分出两个权限等级 -- 用户态 和 内核态

在程序状态字寄存器中与一个二进制位用来控制CPU的模式,

内核态: 当CPU在内核态运行时,CPU可以执行指令集中所有的指令,很明显,所有的指令中包含了使用硬件的所有功能,(操作系统在内核态下运行,从而可以访问整个硬件)

用户态: 用户程序在用户态下运行,仅仅只能执行cpu整个指令集的一个子集,该子集中不包含操作硬件功能的部分,因此,一般情况下,在用户态中有关I/O和内存保护(操作系统占用的内存是受保护的,不能被别的程序占用)

内核态与用户态的切换:

用户态程序发出使用操作系统的需求(使用硬件设备)

->用户程序启用系统调用

->寄存器执行指令

->CPU切换到内核态

->启用操作系统获得服务

->操作系统重置CPU为用户态并返回系统调用结果

4、存储器

存储器(Memory)是计算机中用于保存信息的记忆设备。广义概念中只要能保存二进制数据的都可以是存储器。

常用存储器有:

寄存器即L1缓存:用与cpu相同材质制造,与cpu一样快,因而cpu访问它无时延。

高速缓存即L2缓存:主要由硬件控制高速缓存的存取,最常用的高速缓存行放置在cpu内部或者非常接近cpu的高速缓存中。当某个程序需要读一个存储字时,高速缓存硬件检查所需要的高速缓存行是否在高速缓存中。如果是,则称为高速缓存命中,缓存满足了请求,就不需要通过总线把访问请求送往主存(内存),这毕竟是慢的。高速缓存的命中通常需要两个时钟周期。

L1与L2的差别在于对cpu对L1的访问无时间延迟,而对L2的访问则有1-2个时钟周期(即1-2ns)的延迟。

3354f519b9f3f43c15bd6f5acaeaf256.png

1f464cc28d3d69d489205c5a75c1fd2a.png

内存(RAM):既能读取也能写入的存储器,存储速度快,断电后数据全部消失

EEPROM(Electrically Erasable PROM,电可擦除可编程ROM):具有非易私性,擦除和重写。不过重写时花费的时间比写入RAM要多。

闪存(flash memory):具有非易私性,闪存通常作为存储媒介,多应用于固态硬盘。闪存在速度上介于RAM和磁盘之间,但与磁盘不同的是,闪存擦除的次数过多,就被磨损了

只读存储器(ROM):储的内容是固定不变的,只能读出而不能写入的半导体存储器。通常用于BIOS中。

CMOS存储器:易失性,多用来存储计算机bios的设置,如当前时间日期、系统启动盘信息等。

Bios电池:用于CMOS存储器供电

磁盘:磁盘结构如下图:

8d263a80cc78e82d67dc19b647d26874.png

(常见计算机硬盘结构)

88c4225d75d32faec5413d8509627b8b.png

(磁盘结构图)

磁盘上的一些列的同心圆上,是一连串的2进制位(称为bit位),为了统计便,8个bit称为一个字节bytes,1024bytes=1k,1024k=1M,1024M=1G,所以我们平时所说的磁盘容量最终指的就是磁盘能写多少个2进制位。

每个磁头可以读取一段换新区域,称为磁道

把一个戈丁手臂位置上所以的磁道合起来,组成一个柱面

每个磁道划成若干扇区,扇区典型的值是512字节

磁盘存储的基本单位是一个二进制位,读写的基本单位是扇区

操作系统中磁盘文件存储管理的最小单位叫:“块(block)”,一般一个块为8个扇区

数据都存放于一段一段的扇区,即磁道这个圆圈的一小段圆圈,从磁盘读取一段数据需要经历寻道时间和延迟时间

平均寻道时间:机械手臂从一个柱面随机移动到相邻的柱面的时间成为寻到时间,找到了磁道就以为着招到了数据所在的那个圈圈,但是还不知道数据具体这个圆圈的具体位置

平均延迟时间:机械臂到达正确的磁道之后还必须等待旋转到数据所在的扇区下,这段时间成为延迟时间

6、虚拟内存与MMU

虚拟内存:虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间)。在CPU中将正在使用的程序放入内存去执行,而暂时不需要执行的程序放到磁盘的某块地方,这块地方成为虚拟内存。

MMU即存储器管理单元(Memory Management Unit):是CPU中负责在虚拟内存中将不需要执行的磁盘程序快速映射到内存地址的部件

磁带:在价钱相同的情况下比硬盘拥有更高的存储容量,虽然速度低于磁盘,但是因其大容量,在地震水灾火灾时可移动性强等特性,常被用来做备份。(常见于大型数据库系统中)

7、设备驱动与控制器

设备驱动:即设备驱动程序,是一种可以使计算机和设备通信的特殊程序。相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作,是硬件和系统之间的桥梁。

控制器:是计算机的指挥中心,负责决定执行程序的顺序,给出执行指令时机器各部件需要的操作控制命令. 主要功能:从内存中取出一条指令,并指出下一条指令在内存中位置,对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作;指挥并控制CPU、内存和输入/输出设备之间数据流动的方向。

8、总线与南桥和北桥

总线(Bus):是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束。总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。在计算机系统中,各个部件之间传送信息的公共通路叫总线,微型计算机是以总线结构来连接各个功能部件的。

北桥即PCI桥:是电脑主板芯片组中的一枚。北桥被用来处理高速信号、通常处理CPU(处理器)、RAM(内存)和南桥芯片之间的通信。

南桥即ISA桥:连接慢速设备,南桥芯片主要是负责I/O接口等一些外设接口的控制、IDE设备的控制及附加功能等。

4c5c8a1d0cc4465f2f91ca25cfc3b8a9.png

9、操作系统的启动流程

启动流程

1)       计算机加电

2)       BIOS开始运行,检测硬件:cpu、内存、硬盘等

3)       BIOS读取CMOS存储器中的参数,选择启动设备

4)       从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)

5)       根据分区信息读入bootloader启动装载模块,启动操作系统

6)       然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核。然后初始有关的表格(如进程表),穿件需要的进程,并在每个终端上启动登录程序或GUI

10、应用程序的启动流程

1)       启动应用程序

2)       应用程序将需求发送操作系统

3)       CPU从内存中读取指令、解析指令、执行指令

4)       操作系统输出CPU执行结果

来源:https://www.cnblogs.com/hedeyong/p/6875017.html

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

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

相关文章

宝塔mysql远程链接_宝塔apache启动失败:报错 AH00526: Syntax error on line 解决方案

错误信息:AH00526: Syntax error on line 54 of /www/server/apache/conf/httpd.conf:Cannot define multiple Listeners on the same IP:port朋友网站突然访问不了,进入宝塔后查看Apache服务器没运行,重启Apache时提示这个错误信息打开Apach…

C#-WinForm跨线程修改UI界面

背景在我做WinForm开发的过程中,经常会遇到耗时操作或阻塞操作。他们会引发软件的卡顿甚至假死,严重影响软件的使用。因此,这类耗时或阻塞的操作一般都会使用异步的方式去执行,不影响主线程(UI线程)与用户间…

长春工业大学计算机科学与技术录取分数,2021年长春工业大学各省各专业最低投档录取分数线统计(文科 理科)...

2018年长春工业大学各省各专业最低投档录取分数线统计(文科 理科)同学们2019年高考是你们人生旅途的第一个加油站,它意味着你们的希望,你们的前途,甚至是命运,挑战六月就是挑战命运和未来,希望你们在高考中脱颖而出&am…

.NET 5 开源工作流框架elsa技术研究

编者注: 工作流框架 elsa 是.NET基金会下面的开源项目,2.0版本即将在3月份发布,目前正在紧锣密鼓的开发之中,2020年2月份我也介绍过推荐一个很棒的开源工作流elsa-core ,今天给大家推荐MVP 周国庆写的这篇详细文章。今…

php 清空一个数组_PHP工程师学Python数据类型

一、背景继上篇文章比较了PHP与Python语法之后,这周又学习了Python数据类型,准备从通过这篇文章给自己进行一些总结,也给其他读者一些参考。二、内容概要字符串(str)列表(list)元组(tup)字典(dict)数据操作三、字符串(str)Python中字符串操作…

“开源、共享、创新” 2020 中国.NET开发者大会小结

大会的新闻稿在2020年12月31日正式发布:开源共享创新|2020年中国.NET开发者大会圆满收官! , 本文是这篇新闻的补充性文章,仅代表个人对大会的各方面分享内容的一个小结。在2019年上海中国.NET开发者大会的基础上,2020年12月19日 继…

maya的颤动怎么做_必看!新手学习MAYA的几个建议

“学习是没有捷径可言的,唯一的捷径就是不断的学习和练习,只有这样才能学到真功夫”Maya设计刚刚开始接触Maya的同学都会有这些疑问,我适不适合学习Maya,学习Maya可以赚到钱吗?怎样才可以学好Maya,今天给大…

我的2020年终总结:新的角色,新的开始

【年终总结】| 作者/Edison Zhou又到了一年一度的年终盘点时刻,熟悉我的朋友应该都知道,这个时候我都会写一篇推文盘点一下这一年来的得失。1也谈2020关键事件回顾(1)扯证了,结婚了要说2020年我个人的最大里程碑&#…

docker es持久化_使用docker数据卷对容器数据持久化

volume是用于对Docker容器生成和使用的数据持久化的首选机制。如果您的容器生成非持久状态数据,请考虑使用 tmpfs挂载以避免将数据永久存储在任何地方,并通过避免写入容器的可写层来提高容器的性能。默认容器的数据存储在这里我们在容器中创建一些模拟的…

求职信计算机工程师英语作文,开发工程师英文求职信范文

开发工程师英文求职信范文respected leaders:hello:first salute you sincere thanks, thank you for taking the time to consult the of my application letter!i am aptech a student, now already graduated from junior year. major in.net direction, and ismitted to be…

微信适配国产操作系统:原生支持 Linux

喜欢就关注我们吧!据 ZOL 报道,统信软件官方近日宣布上线适配统信 UOS 的微信桌面客户端,并称该微信版本为原生支持 Linux 的版本,同时支持龙芯、鲲鹏、麒麟等国产 CPU。据悉,统信 UOS 版的微信桌面客户端由腾讯公司研…

ML.NET生成器带来了许多错误修复和增强功能以及新功能

ML.NET是一个开源的跨平台机器学习框架,适合 .NET 开发人员。它允许将机器学习集成到 .NET 应用中,而无需离开 .NET 生态系统,甚至拥有 ML 或数据科学背景。ML.NET工具(Visual Studio 中的 UI 模型生成器和跨平台 ML.NET CLI&…

Flash 生命终止,HTML5能否完美替代?

Adobe 对 Flash Player 的支持计划在今天,也就是 2020 年 12 月 31 日终止。Windows 计算机上最新版本的 Flash Player 已经开始弹出生命周期终止提示窗口。提示中指出,为了保护用户系统,Adobe 将在 2021 年 1 月 12 日开始禁止 Flash 内容在…

typora公式zuo对齐_Markdown编辑神器-Typora

Markdown For Typora Overview Markdown is created by Daring Fireball, the original guideline is here. Its syntax, however, varies between different parsers or editors. Typora is using [GitHub Flavored Markdown][GFM]. 注:Markdown语法与知乎不能完全兼容,显示…

使用 ML.NET 识别乐高颜色块

每一个乐高迷都拥有很多的颜色块,需要进行排序和按类型分拣,按照《Organizing your LEGO Bricks》或许有所帮助,但这不是一个简单的任务,因为有很多颜色块有非常微妙的差异。如果换作一个典型的程序员可以做什么来解决这个问题呢&…

ccs加载out文件_类加载流程、类加载机制及自定义类加载器详解

原文:juejin.im/post/5cffa528e51d4556da53d091一、引言当程序使用某个类时,如果该类还未被加载到内存中,则JVM会通过加载、链接、初始化三个步骤对该类进行类加载。二、类的加载、链接、初始化1、加载类加载指的是将类的class文件读入内存&a…

unity中单位是米还是厘米_【一步数学】小学数学单位换算公式大全及专项训练...

重量单位换算1吨1000千克 1吨1000 000克吨:吨是重量单位,公制一吨等于1000公斤:计算船只容积的单位,一吨等于2.83立方米(合100立方英尺)。1千克1000克 500克1斤千克:克,(符号kg或㎏)…

二分法查找是基于有序_201,查找顺序查找

查找算法中顺序查找算是最简单的了,无论是有序的还是无序的都可以,也不需要排序,只需要一个个对比即可,但其实效率很低。我们来看下代码1public static int search1(int[] a, int key) {2 for (int i 0, length a.length; i …

河南大学计算机组成原理,河南大学计算机组成原理考点

河南大学计算机组成原理考点 (34页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!11.90 积分第1章 计算机系统概论1、计算机硬件的五大部件?三大部分?运算器 存储器…

zipsys驱动签名工具_全球首发 300系列主板USB WIN7 64位驱动 SMXDIY

本版为改版驱动,仅供SMXDIY会员学习测试,禁止传播。众所周知,H310/B360/H370/Z390是没USB的WIN7驱动的。网上也找不到相关的资料,大家普遍默认没驱动,但这已经成为历史。我们这发布的是真的驱动,可以整合到…