计算机组成原理复习之第一章:计算机系统概率

目录

1、计算机发展历程

1.1、硬件发展

1.2、软件发展

1.3、计算机性能提高技术

1.4、计算机应用举例

2、计算机系统层次结构

2.1、计算机系统组成

2.1.1、计算机硬件

2.1.2、计算机软件

2.2、计算机层次结构

2.3、计算机工作原理

3、计算机性能指标和特点

3.1、计算机特点

3.2、计算机主要性能指标


来都来了给我点个赞收藏再走呗~~~🌹🌹🌹🌹🌹

1、计算机发展历程

        计算机由硬件系统和软件系统组成。硬件系统包括中央处理器、内存、输入/输出设备等。中央处理器是计算机的“大脑”,负责执行程序和数据处理。内存是计算机的“记忆库”,用于存储程序和数据。输入/输出设备包括键盘、鼠标、显示器等,用于输入和输出数据。

        软件系统包括操作系统、应用软件等。操作系统是计算机的“管家”,负责管理计算机的硬件和软件资源,提供用户界面和基本功能。应用软件是用户为了完成特定任务而开发的程序,例如办公软件、图像处理软件等。

        计算机的分类有多种,如超级计算机、工业控制计算机、网络计算机、个人计算机、嵌入式计算机等。其中,个人计算机是应用最广泛的类型,包括台式机、笔记本电脑、平板电脑等。

1.1、硬件发展

1.第一代(1946-1957年),电子管计算机

        它是一台电子数字积分计算机,取名为eniac。这台计算机是个庞然大物,共用了180n00多个电子管、1500个继电器,重达30吨,占地170平方米,每小时耗电140千瓦,计算速度为每秒5000次加法运算。电子管原件,体积庞大、耗电量高、可靠性差、维护困难。运算速度慢,一般为每秒钟1千次到1万次。

2.第二代(1958-1964年),晶体管计算机

晶体管的发明给计算机技术带来了革命性的变化。第二代计算机采用的主要元件是晶体管,称为晶体管计算机。计算机软件有了较大发展,采用了监控程序,这是操作系统的雏形。

3.第三代(1965-1969年),中小规模集成电路计算机

20世纪60年代中期,伴随着半导体工艺的发展,已制造出了集成电路元件。集成电路可在几平方毫米的单晶硅片上集成十几个甚至上百个电子元件。计算机开始采用中小规模的集成电路元件,这一代计算机比晶体管计算机体积更小,耗电更少,功能更强,寿命更长,综合性能也得到了进一步提高。

4.第四代(1971年至今),大规模集成电路计算机

随着20世界70年代初集成电路制造技术的飞速发展,产生了大规模集成电路元件,使计算机进入了一个新的时代,即大规模和超大规模集成电路计算机时代。这一时期的计算机的体积、重量、功耗进一步减少,运算速度、存储容量、可靠性有了大幅度的提高。

1.2、软件发展

  1. 早期软件:在计算机发展的早期阶段,软件通常是作为计算机硬件的附属品或支持工具而存在的。这个时期的软件通常是用于科学计算、数据处理等特定任务的,而且往往是由程序员针对特定的硬件平台开发的。
  2. 高级程序设计语言:随着计算机硬件的不断发展和普及,人们开始需要编写更复杂、更通用的软件。这个时期出现了许多高级程序设计语言,如Fortran、Cobol、Algol等,这些语言使得程序员可以更方便地编写和理解复杂的程序。
  3. 操作系统和数据库管理系统:随着计算机硬件和应用程序的不断复杂化,需要一种系统化的方式来管理和调度计算机资源。这个时期出现了操作系统和数据库管理系统,它们可以有效地管理计算机的硬件资源,并提供了一种标准化的方式来存储、管理和查询数据。
  4. 图形用户界面:随着个人电脑和便携设备的普及,人们开始需要一种更直观、更易于使用的界面来与计算机交互。这个时期出现了图形用户界面,它使得用户可以通过图形化的方式来操作计算机,比如通过鼠标和窗口来选择和操作应用程序。
  5. 网络化和分布式系统:随着互联网的普及,计算机软件开始向网络化和分布式方向发展。这个时期的软件可以通过网络来通信和共享数据,而且可以由分布在各地的多个程序组成,从而提高了软件的可靠性和性能。
  6. 云计算和大数据:随着互联网、移动设备和其他数字设备的普及,人们需要处理和分析的数据量越来越大。这个时期的软件可以通过云计算和大数据技术来处理和分析海量的数据,提供了更高效、更灵活、更可靠的计算和存储能力。

2、计算机系统层次结构

2.1、计算机系统组成

        硬件系统和软件系统共同构成了一个完整的计算机系统。计算机系统的好坏,在很多程度上是由软件的效率和作用来衡量的,对于计算机系统上的某一个功能上,要通过软硬件共同实现,则这也就是软硬件在逻辑功能上是等价的。

2.1.1、计算机硬件

        1.冯诺伊曼机思想

        冯诺依曼计算机的基本思想是:程序和数据以二进制形式表示,存储程序控制。在计算机中,事先将程序(包含指令和数据)存入主存储器中,计算机在运行程序时就能自动地、连续地从存储器中依次取出指令且执行;而数据和指令都是以二进制形式存储在存储器中的。

     
          2.计算机的功能部件

(1)输入设备

        输入设备的主要功能是将程序和数据以机器所能识别和接收的信息形式输入到计算机,例如:键盘、鼠标、摄像机

(2)输出设备

        输出设备的任务主要是将计算机处理的结果以人们可以接收的形式和其他系统所要求的信息形式输出,例如:显示器,打印机。

(3)存储器

       存储器由主存储器和辅助存储器组成。cpu可以直接访问的是主储存器,主储存器的工作方式是按照存储单元的地址进行存取的,这叫按照地址存取。

        主存储器:地址寄存器(MAR),数据寄存器(MDR),存储体

        MAR:用于寻址,地址进行编译后找到对应的存储单元,MAR和地址码长度的长度是一致的,MAR有n位,则有2^n个存储单元。

        MDR:用于暂存要从存储器读写的信息,长度为存储字长

(4)运算器

        运算器是计算机的执行部件,用于进行算术运算和逻辑运算

(5)控制器

        控制器由,程序计数器PC、指令寄存器IR、控制单元CU组成

        PC:用来存放当前与执行指令地址,具体自动加1就可以得到下一条要执行指令地址

        IR:用来存放当前指令,内容来自MDR

        控制器的实质就是解释程序,它每次从存储器中读取一条指令,存入指令寄存器中,通过指令译码器进行译码(分析),以确定应该进行什么操作,再由控制逻辑根据分析的结果(译码信号)产生一系列的控制信号(又称为微命令),发向各个部件以控制它们执行指令所规定的操作。连续不断、有条不紊地继续上述动作,即所谓执行程序。

因此,控制器的主要任务有两项:一是按照程序要求,控制程序中指令的执行顺序;二是根据指令寄存器中的指令码控制每一条指令的执行。鉴于控制器的上述功能,它主要由微命令发生器和一些专用的寄存器组成。

2.1.2、计算机软件

(1)、计算机软件分类

  • 系统软件:保证计算机系统高效,正确的运行的基础软件。主要由操作系统(OS)数据库管库系统(DBMS),网络软件系统,服务性系统,分布式网络系统。
  • 应用软件:是值用户为解决某个领域的问题而设计出来的程序。例如:科学计算程序,数据统计。

(2)、三个级别的语言

  • 机器语言:二进制代码语言,计算机唯一可以识别出来的可以直接执行的语言
  • 汇编语言:用英文单词或者缩写代替二进制的指令代码,需要由一个名叫汇编程序的系统软件的翻译,变成机器语言才可以执行
  • 高级语言:方便程序员解决问题的语言,例如:c、c++、java、python。

2.2、计算机层次结构

  1. 硬联逻辑级(第0级):这是计算机的内核,由门、触发器等逻辑电路组成。
  2. 微程序级(第1级):这级的机器语言是微指令集,程序员用微指令编写的微程序,一般是直接由硬件执行的。
  3. 传统机器级(第2级):这级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行解释。
  4. 操作系统级(第3级):从操作系统的基本功能来看,一方面它要直接管理传统机器中的软硬件资源,另一方面它又是传统机器的延伸。
  5. 汇编语言级(第4级):这级的机器语言是汇编语言,完成汇编语言翻译的程序叫做汇编程序。
  6. 高级语言级(第5级):这级的机器语言就是各种高级语言,通常用编译程序来完成高级语言翻译的工作。

2.3、计算机工作原理

1.存储程序的工作方式

        程序执行前,先将程序第一条指令的地址存放到PC中,取指令时,将PC的内容作为地址访问主存。在每条指令执行过程中,都需要计算下条将执行指令的地址,并送全 PC。吞当前指令为顺序型指令,则下条指令地址为PC 的内容加上当前指令的长度;若当前指令为跳转指令,则下 条指令地址为指令中指定的目标地址。当前指令执行完后,根据pC的值到主存甲取出的足下条将要执行的指令,因而计算机能周而复始地自动取出并执行一系一条的指令。

2.源程序到可执行文件

1)预处理阶段:预处理器(cpp)对源程序中以字符#开头的命令进行处理,例如将#include

命令后面的.h文件内容插入程序文件。输出结果是一个以:i为扩展名的源文件 hello.i。

2)编译阶段:编译器(ccl)对预处理后的源程序进行编译,生成一个汇编语言源程序 helo.s。汇编语言源程序中的每条语句都以一种文本格式描述了一条低级机器语言指令。

3) 汇编阶段:汇编器(as)将hello.s翻译成机器语言指令,把这些指令打包成一个称为可重定位目标文件的 hllo.0,它是一种二进制文件,因此用文本编辑器打开会显示乱码。

4)链接阶段:链按器(ld)将多个可重定位目标文件和标准库函数合并为一个可执行目标文件,或简称可执行文件。本例中,链按器将 hello.o 和标准库函数printf 所在的可 重定位目标模块 printfo 合并,生成可执行文件hello。最终生成的可执行文件被保存在磁盛上。

3.程序执行阶段

4.指令执行过程阶段:

1)取指令: PC---MAR---M--MDR---IR

2) 分析指令:OP(IR)---CU

3) 执行指令: Ad(IR)---MAR---M---MDR---ACC

3、计算机性能指标和特点

3.1、计算机特点

(1)能在程序控制下自动连续地工作

(2)运算速度快

(3)运算精度高

(4)具有很强的信息存储能力

(5)通用性强应用领域广

3.2、计算机主要性能指标

(1)机器字长

计算机进行一次定点整数运算所能处理的二进制数据的位数,机器字长一般与计算机内部的寄存器的大小是相等的。机器字长越长,可表示的数的范围就越大,计算机的精度就越高;

(2)数据通路带宽

指外部数据总线一次所能并行传送信息的位数;

(3)主存容量

主存容量是指主存所能存储信息的最大容量,可以字、字节等衡量,可用“字数 x 字长”表示存储容量的大小;

(4)吞吐量

是指系统在单位时间内处理请求的数量;

(5)CPU时钟周期

通常为节拍脉冲或T周期,即主频的导数(1/主频),它是CPU中最小的时间单位;

(6)主频

即机器内部主时钟的频率,主频的倒数是CPU时钟周期,主频通常以MHz为单位;每秒可以执行多少次动作,2.4GHz:一秒2.4x10^9次

(7)CPI

是指执行一条指令所需的时钟周期数;

(8)CPU执行时间

运行一个程序所花费的时间,CPU执行时间 = CPU时钟周期数/主频 = (指令条数 x CPI)/主频

(9)MIPS

每秒执行多少百万条指令,MIPS = 指令条数/(执行时间 x 106)= 主频/(CPI x10^6 )指令周期=1/MIPS

(10)MFLOPS

每秒执行多少百万次浮点运算,MIPS = 浮点操作次数/(执行时间 x 10^6)

(11)GFLOPS

每秒执行多少十亿次浮点运算,MIPS = 浮点操作次数/(执行时间 x 10^9)

(12)TFLOPS

每秒执行多少万万次浮点运算,MIPS = 浮点操作次数/(执行时间 x 10^12)

(13)PFLOPS

每秒执行多少千万次浮点运算,MIPS = 浮点操作次数/(执行时间 x 10^15)

3.3、计算机性能提高技术

  1. 硬件升级:通过升级计算机的硬件组件,如处理器、内存、硬盘等,可以提高计算机的性能。例如,更快的处理器可以更快地处理数据,更多的内存可以同时运行更多的程序,更快的硬盘可以更快地读取和写入数据。
  2. 软件优化:通过优化操作系统、应用程序和驱动程序,可以提高计算机的性能。例如,关闭不必要的后台程序,清理临时文件和垃圾文件,更新驱动程序等。
  3. 并行处理:通过同时处理多个任务或使用多核处理器,可以提高计算机的性能。例如,使用多线程技术可以同时处理多个任务,使用GPU加速可以加快图形处理和计算密集型任务。
  4. 虚拟化技术:通过虚拟化技术,可以在一台物理计算机上运行多个虚拟机,从而提高计算机的利用率和性能。例如,使用虚拟化技术可以在一台服务器上运行多个操作系统和应用。
  5. 云计算技术:通过云计算技术,可以将计算资源(如服务器、数据库、数据库等)汇聚到一个虚拟的云中,然后通过网络对外提供服务。云计算技术可以提高计算机的性能和可用性,同时还可以提供更好的安全性和可扩展性。

 

相关推荐

  1. 计算机网络复习第一概述

    2023-12-15 16:14:02       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-15 16:14:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-15 16:14:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-15 16:14:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-15 16:14:02       20 阅读

热门阅读

  1. Audio signal (MATLAB)代码学习-常见问题2

    2023-12-15 16:14:02       31 阅读
  2. 【Go语言分析 select case 】

    2023-12-15 16:14:02       39 阅读
  3. docker 安装mysql容器

    2023-12-15 16:14:02       35 阅读
  4. python中qt5的入门

    2023-12-15 16:14:02       37 阅读
  5. 某60内网渗透之DNS隧道通信初探-dnscat2与C&C

    2023-12-15 16:14:02       38 阅读
  6. 【Linux】多线程相关问题

    2023-12-15 16:14:02       39 阅读
  7. 鸿蒙arkTs Toast抽取 及使用

    2023-12-15 16:14:02       40 阅读