一、计算机5大组成
运算器:运算
控制器:控制运算器到哪取数据
存储器(内存):存储数据。编址存储设备:平面编址
输入设备
输出设备
简单来说:运算器从存储器取数据,进行运算,然后将结果放到存储器中
CPU的核心组件:运算器、控制器、寄存器。
有寄存器的原因:比如在加法计算中,是按位运算的,所以若32位就需要32根线,若还有被加数,则线的数目越多,此时就想一根线可以做多种工作,所以就有了线路复用。用控制位来作为是加数还是被加数,此时就有一个问题,它必须得有记忆,否则加数传到运算器后,再传被加数,原有的就没有了,所以就有了寄存器,来暂存数据。

  • 加电自检(Power-OnSelf-Test):是计算机BIOS的一个功能,在引导后会运行,针对计算机硬件如CPU 、主板、存储器等进行检查,结果会显示在固件可以控制的输出接口,像显示屏、LED、打印机等设备上。
  • **轮询Poll:**CPU定时发出询问,依序询问每一个周边设备是否需要其服务,有即服务,服务结束后再询问下一个周边,接着不断周而复始。(比如:每隔1ms就询问一次键盘,是否有按下)。这种方式不会错过任何事件,但是若用户开机后一直没有按键盘,则会浪费资源。
  • 中断(interrupt):是计算机运行过程中,出现某些意外情况需要主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。(比如:当用户敲击键盘时的电信号,会发到CPU,由此引发中断)外围设备就是通过中断与CPU进行交互的。
  • 如何知道中断是谁引起的?
    需要控制芯片,叫可编程中断控制器,有多个针脚。它一头与CPU相连,一头与设备相连,从而知道是谁引起的中断,进而处理。
  • 北桥:用来处理高速信号,通常处理CPU 、RAM、AGP端口或PCI Express和南桥芯片之间的通信。
  • 南桥:其数据处理量不算大(比如用户敲击键盘),通过一定的方式与北桥相连。
  • 一级缓存、二级缓存出现的原因: CPU处理速度快,向存储器请求数据,但是存储器输出数据比较慢,根据短板原理,进行折中,CPU的速度匹配上存储器速度,导致CPU的效率不能完全发挥。此时,可以利用缓存,速度快,但是缓存是非常昂贵的,所以存储量很小。若想缓存有用,就基于一种原理:程序局部性原理。
  • 程序局部性原理:时间局部性:刚刚访问的数据还可能访问。空间局部性:访问数据附近的数据很可能访问。则可以先放入缓存中。
  • 程序移植性:在一种计算机上的软件转置到其他计算机上的能力。
    机器语言:与计算机硬件直接工作的语言,二进制。汇编语言—>编译器
    高级语言:—>汇编语言—>机器语言。
    不同公司的硬件很可能不同,若想让高级语言在不同平台上运行,就需要在高级语言与硬件间有个接口(API),只要符合这个接口,就可以与不同的硬件打交道。不同硬件:用汇编写成的不同的能实现相同功能的程序。
    API:application program interface 应用编程接口
  • **硬件架构:**CPU芯片的不同系列。比如ARM(产品:安卓、ios)、x86、

  • ①早期,先编写好程序,然后转换为二进制代码,进行计算,此时的问题是运算很快,输入输出很慢;
    ②后来,出现磁带,将编的程序放到磁带上,出现的问题是磁带是顺序存储,此时其中一台计算机写程序放入磁带、另一台计算机进行计算,此时叫做脱机批处理系统。(计算机一次完整的处理过程叫做作业job,早期是单作业,一个磁带只能处理一个作业,后来,为了快速处理多个作业,减少磁带拆卸次数,出现批处理将多个作业,用分隔符将不同的作业区分开。)此时,每次执行还是单作业,因为内存只有一个,内存被一个作业全部占有,因为CPU处理速度很快,当处理完一个作业后,就得等待慢速的io将作业传入CPU,CPU性能浪费;
    ③多任务系统:作业完成需要CPU 、Memory。此时引入进程。将CPU分片,每个任务执行一段时间。内存引入分段,,每次执行一段。不同主机的内存是不同的,比如512M、4G内存,此时引入虚拟地址空间(并不等于虚拟内存)。此时,就有一个问题,谁控制进程执行分片时间,而不是让他一直执行呢?就是操作系统,操作系统负责进程的调度。
    比如32位:最多使用4G物理内存,因为2^32 ,这是由于总线宽度决定的。
    所以操作系统,不完成具体的工作,是协调各种设备运行的通用软件。

  • 有了操作系统后,所有程序调用底层硬件,都要经过操作系统,系统调用system call。将底层调用做成更高级的,叫做库。比如用c语言开发系统,需要用到求平方根的函数,此时直接用现成的函数(方法在库中)直接调用即可,没必要自己写如何求平方根,使开发更简单。
    库的好处:能够重复使用,避免了相同功能多次重写的麻烦。库不能直接执行,只能被调用(理解:就是上述的求平方根函数,自己不能执行,程序调用才能执行)。所以,还有个库调用(Libraray call)
    存在两种调用:system call 和library call

  • 所以现在的结构就是软件–>库—>操作系统(Kernel)—>硬件。比如word,为什么双击就能打开,程序运行还需要个shell(外壳),即人机交互接口。
    操作系统包含许多功能等,可以用Kernel比较好。Kernel(操作系统核心):负责管理硬件资源,将硬件资源虚拟成其他样子,提供给上层运行的应用程序。

  • 所以现在能解决:在Linux上的能运行的程序,在Windows上可以运行吗?
    若库调用和系统调用相同,则能够运行,否则不能运行。

  • 在操作启动后,软件程序不一定运行,只是具备了运行条件。在操作系统启动后,就启动的程序,叫做服务。比如操作系统为了完整的运行能力等方面,称为后台服务。还有就是根据用户自定义,来自动启动。比如,用户在word中,按了键盘中Ctrl+C,根据之前知识,是先给CPU(它并不知道此敲击是什么意思)、然后交给kernel(CPU通知内核进行处理),kernel是操作系统的核心,操作系统负责程序的调度等,它知道是哪个进程。

  • 存储器:BIOS、kernel space、其他程序共享部分。此时有个问题–碎片。

  • shell:图形界面shell(GUI)、(CLI)

  • 内核功能:进程管理、内存管理、文件管理、网络管理、硬件驱动、安全机制

(一)计算机基本组成相关推荐

  1. 计算机如何表示色彩?

    我们都知道,颜色或色彩是通过眼.脑和我们的生活经验所产生的一种对光的视觉效应. 而其中人眼对红.绿.蓝这3种光的敏感度最高. 由于任何光都可以用红.绿.蓝这3种光按不同的比例混合而成(三原色原理),我 ...

  2. RISC-V与DSA计算机架构

    RISC-V与DSA计算机架构 相信所有和计算机体系结构打过交道的朋友们都看过David Patterson与John Hennessy的煌煌巨作,<计算机体系架构:量化研究方法>.两位在 ...

  3. 计算机组成原理-第二章 数据表示与运算

    计算机组成原理-第二章 数据表示与运算 一.数据的表示 1.数值型数据的表示(重点难点) 1.1数值型数据的表示--进位制 1.2数值型数据表示-码制 1.3数值型数据的表示--定点数 1.4数值型数 ...

  4. 计算机组成原理-第一章

    计算机组成原理第一章概述 一.计算机系统概述 1. 定义 2.分类 3.计算机系统的抽象层次 二.计算机系统的组成 1.计算机系统的硬件组成 1.1冯.诺依曼计算机(重点) 1.2现代计算机结构 1. ...

  5. sh计算机,计算机教程:shellII(sh).pdf

    下载 第10章 shell II (sh) Bourne shell (s h ).C shell (c s h )以及Korn shell (k s h )是命令解释程序及高级编程语言. 作为命令解 ...

  6. 中国矿业大学计算机学院机房,2020年中国矿业大学计算机学院初试自命题科目考试大纲-数据结构...

    一. 考试目的与要求 目的:通过本科目的考试,考察计算机专业人员对<数据结构>课程内容的理解和掌握程度以及相关算法编写能力. 要求:掌握各种基本概念和术语,掌握算法描述和分析的方法.重点是 ...

  7. 2016计算机二级java_2016计算机二级JAVA练习题及答案

    2016计算机二级JAVA练习题及答案 21.下列选项中,不能输出100个整数的.是( ). A.for(int i=0;i<100;i++) System.out.println(i); B. ...

  8. window 10 桌面显示计算机的操作

    点击设置--个性化设置--主题--桌面图标设置--勾选即可 (这个个性化设置可以点击window右键点击可以,这个看自己的习惯.win7的计算机在win10叫此电脑) 下面放一些图片

  9. Knowledge Point 20180305 数据在计算机中的表示

    计算机发明的初衷就是用于帮助我们加工和处理数据,虽然时至今天计算机看起来无所不能,但它根本上还是在做数据的加工和处理,数据的机器层次表示将直接影响到计算机的结构和性能. 在计算机中,采用数字化方式来表 ...

  10. 计算机多媒体运用的ppt课件,《计算机多媒体》PPT课件.ppt

    第八章多媒体应用 1 一 多媒体及多媒体技术1 多媒体指文字 图形 图像 声音等物理媒体 它可以根据用户的需求 在各种媒体之间同时同步的建立关系 也可以按照用户的需求交互的对各种媒体进行处理 2 多媒 ...

最新文章

  1. 虚拟键码对照表与ASCII对照表的区别
  2. Spring batch Job define
  3. 【OpenCV归纳】4 关于HighGUI
  4. 2020Alibaba数学竞赛预选赛第一轮参考答案
  5. c++类指针赋值表达式必须是可修改的左值_C++学习刷题8--复制构造函数和赋值运算符重载函数...
  6. p怎么调用python的实例属性_Python中类的声明,使用,属性,实例属性,计算属性及继承,重写...
  7. oracle主机自增,Oracle中实现ID自增
  8. CSDN在线下载免费获取积分
  9. fortran95数组输出练习感悟
  10. 网易云linux版是什么格式,网易云音乐发布Linux版本
  11. 四川师范大学计算机科学学院分数线,四川师范大学计算机科学学院2020考研复试分数线已公布...
  12. tic/toc/cputime测试时间的区别
  13. 矩阵快速幂 NOY 301
  14. acwing.回文质数
  15. WMS系统的功能,业务和定义
  16. java list里数据用逗号结合
  17. 华为AC忘记console密码
  18. 时间控件el-date-picker限制可选当前日期前七天
  19. chrome浏览器使用js导出Excel出现网络错误
  20. 对于无线传感网的初步认识

热门文章

  1. 蓝桥杯 算法训练 未名湖边的烦恼 C语言
  2. QComboBox下拉选择框
  3. PoE交换机的多种连接方式 PoE交换机的4种连接方式
  4. Tengine 服务健康检查
  5. 强制重启计算机快捷键,强制重启电脑快捷键
  6. 如何在官网上下载Java JDK的历史版本
  7. 算法:数据流中的中位数
  8. mysql5.7错误提示ERROR 1265 (01000)的问题分析及解决方案和修改字段属性为中文
  9. js中类似${xx,xxxy}的语句——${}占位符的使用 ``模板字符串的使用
  10. -Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable a