zoukankan      html  css  js  c++  java
  • 计算机系统概述

    计算机分类

    电子计算机分类

    电子计算机可以分成两类

    • 电子模拟计算机
    • 电子数字计算机

    电子模拟计算机特点:以连续变化的电流或电压来表示被运算量的电子计算机

    电子数字计算机特点:按位运算,是不连续地跳动运算。

    数字计算机分类

    数字计算机按照价格、速度、效率、运行的经济效益又分为两大类

    • 专用计算机
    • 通用计算机

    通用计算机又有下面这几种

    这里写图片描述


    计算机发展简史

    计算机五代的变化

    • 40-50年代,电子管计算机
    • 50-60年代,晶体管计算机
    • 60-70年代,中小规模集成电路计算机【小型机】
    • 70-90年代,大规模集成电路计算机【微型机】
    • 90-现在,巨大规模集成电路计算机【单片机】

    半导体存储器的发展

    • 50-60年代,所有计算机的存储器都是由铁磁体环做成的读出数据是破坏性的,体积很大
    • 70年代,仙童半导体公司早出了第一个较大容量的半导体存储器读出数据非破坏性,读写速度也快,但是价格很高!

    微处理器的发展

    • 70年代,Intel将CPU所有的元件都放进了同一块芯片内,微处理器就诞生了。其中8位和16位的微处理器相继被研发出来
    • 80年代,Intel推出了32位微处理器,Intel 80386
    • 现在大多都用的是64位处理器

    计算机的性能指标

    计算机的性能指标主要是:CPU性能指标,存储器性能指标和IO的吞吐率


    计算机的硬件

    数字计算机的基本组成

    • 控制器
    • 运算器
    • 存储器
    • 输入设备
    • 输出设备

    运算器

    运算器的主要作用就是:用来做逻辑运算、算术运算

    为什么数字计算机使用二进制?

    我们在日常生活中都是使用十进制的,为什么在数字计算机中使用二进制呢?

    二进制数中0和1可以表示电压的高低,脉冲的有无,运算简单,在电子器件中很容易实现

    存储器

    存储器的主要作用:存储数据、指令

    存储单元

    一个数假定用16位二进制表示,那么就需要16个触发器保存这个数。16个触发器构成一个存储单元


    地址

    存储器中会有许许多多的存储单元,每个存储单元的编号称为地址


    存储容量

    许许多多的存储单元的总量称为存储容量


    外存和内存

    半导体存储器简称为内存

    由于内存的大小是有限的,所以我们需要磁盘、光盘存储器来存放我们的数据。磁盘、光盘这类的存储器称为外存


    控制器

    控制器的主要作用:取出存储器中的指令,根据指令的性质,执行指令。

    指令和程序

    前面在讲解存储器的时候已经提出了指令这个名词了,现在也提出了指令这个名词。指令究竟是什么东西呢??

    运算器只能执行算数运算(加减乘除)和逻辑运算,每一个这样的基本操作(算数运算、逻辑运算)就称作为一条指令,而解算某一个问题需要用到多个指令,这多个指令我们叫它为计算程序,简称程序

    指令是存储在存储器中的,指令应该告诉控制器要从存储器的哪儿取数据,要进行哪种运算

    所以指令应该由两部分组成:

    这里写图片描述

    地址码和普通的数据是一样的,是用二进制的数码来表示。操作码是用二进制代码的编码来表示的。

    一些概念及术语:

    • 通常一台计算机上有十多条基本的指令,从而构成计算机的指令系统
    • 把运算器和控制器合在一起称为中央处理器,简称CPU
    • 由于计算机仅使用0和1两个二进制数字,所以使用“位”(bit)作为计算机最小的单位,当CPU向存储器送入或从存储器中取出数据的时候,不能存取单个“位”,而需要使用B(字节)、W(字)等较大的单位来工作。通常一个“字”由8位的二进制数据组成,我们把一个字的二进制数叫做字长。又因为计算机中使用的信息既有指令又有数据,所以某字代表要处理数据的话,就被称为数据字某字代表指令的话,就称为指令字

    冯诺依曼设计思想

    指令数码化以后,就可以存储在存储器中了。存储器的任何位置都能够存储数据和指令。

    • 将指令序列按顺序存放到存储器中称为存储程序
    • 控制器依照存储的程序来控制全机协调地完成计算任务称为程序控制

    依照冯诺依曼的设计思想:指令和数据存储在同一的存储器之中,但是指令和数据是分开存放。计算机可以在无人干预的情况下可以完成取出指令和执行指令的任务(指令是按照地址顺序存放的)

    这里写图片描述

    哈佛结构

    哈佛结构和冯诺依曼的设计思想是不同的。

    哈佛结构是把指令和数据分别都用一个存储器来存储,指令和数据是互补干扰的。

    控制器的基本任务

    按照计算程序所排的指令序列,一条一条地从存储器中取出指令,执行指令。

    • 通常把取出指令的一段时间称为取指周期,在取指周期中从内存读出的信息流是指令流,它流向控制器
    • 通过把执行指令的一段时间称为执行周期,在执行周期中从内存读出的信息流是数据流,它流向运算器

    适配器与输入输出设备

    • 输入设备:键盘、鼠标等等
    • 输出设备:屏幕、打印机等等

    输入设备和输出设备并不是直接与高速工作的主机相连接,它是通过适配器部件与主机相连接的

    系统总线

    计算机系统中还必须要有总线,系统总线是计算机系统的骨架,是多个系统部件之间进行数据传送的一条公共通路

    借助系统总线,计算机在各系统部件之间实现传送地址、数据和控制信息的操作


    计算机软件

    计算机软件分为两大类

    • 系统软件:提高计算机的使用效率,发挥和扩大计算机的功能
      • 各种服务性程序(诊断、排错等)
      • 程序语言(汇编语言、编译程序等)
      • 操作系统(Windows,Linux)
      • 数据库管理系统(Mysql,Oracle,Sql Server等等)
    • 应用软件:用户利用计算机来解决某些问题而编制的程序
      • 计算器
      • office
      • ie
      • 等等等等,应用软件种类非常多!

    软件的演变过程

    • 在开始时,人们是直接使用机器语言(指令代码)来编写程序的。这种方式叫做手编程序,计算机可以直接识别并执行,所以又被称作目的程序。但是呢,编写起来十分繁琐,要维护也十分困难
    • 后来,人们想到用一些约定的文字、符号、数字来代表各种不同的指令,再用这些特殊的文字来编写程序(也就是所谓的汇编语言),这种方式对人们来说,非常直观和便于人们的记忆。由于计算机是不能识别这些特殊的文字的,为此人们创造了一个程序:汇编器。借助汇编器,计算机就可以自动将汇编语言翻译成机器语言。但是呢,汇编语言还是面向一台具体的机器(人们要根据计算机不同指令系统再来编写汇编语言,因此还是不方便),和数学语言的差别很大
    • 再后来,为了进一步实现程序自动化和便于程序交流,人们又创造了算法语言(比较接近数学语言,与具体的机器无关),用算法语言编写的程序叫做源程序,源程序是不能直接被计算器识别的,于是通常的做法是:给计算机配置一套用机器语言写的编译程序,它源程序翻译成目的程序。由于目的程序一般不能独立运行,还需要一种叫运行系统的辅助程序来帮助。运行系统和编译程序合称为编译器
    • 随着计算机的发展,原始的操作方式越来越不适应了。用户使用计算机时,觉得事事都要依赖它,计算机又觉得用户“太笨”,常常使他处于无事可做的状态。于是,人们又创造了一类程序:操作系统。操作系统的出现,使计算机的使用效率成倍地提高,用户操作计算机的方式也变简单的!
    • 随着计算机信息的发展,要求处理大量的数据,要使得检索、管理更方便,数据 库应用软件也就应运而生了

    计算机系统的层次结构

    五级计算机层次系统

    机器指令和微指令的关系归纳如下:

    一条机器指令对应一个微程序,这个微程序是由若干条微指令构成的。因此,一条机器指令的功能是若干条微指令组成的序列来实现的。简而言之,一条机器指令所完成的操作划分成若干条微指令来完成,由微指令进行解释和执行。

    从指令与微指令,程序与微程序,地址与微地址的一一对应关系上看,前者与内存储器有关,而后者与控制存储器(它是微程序控制器的一部分)。

    计算机系统被分成了5级

    • 第一级是微程序设计级:由机器硬件直接执行微指令。这是一个实在的硬件级
    • 第二级是一般机器级:它由微程序解析指令系统,也是硬件级
    • 第三级是操作系统级:由机器指令和广义指令组成,广义指令指的是操作系统定义的指令和解析的软件指令。这是一层混合级
    • 第四级是汇编语言级:它给程序人员提供一种符号形式语言,以减少程序编写的复杂性
    • 第五级是高级语言级:面向用户,为方便用户编写应用程序设计的。

    这里写图片描述

    软件与硬件的逻辑等价性

    随着大规模集成电路技术的发展和软件硬化的趋势,可以把许多复杂的、常用的程序制作成固件。

    也就是说,本来通过软件手段来实现的某种功能,现在可以通过硬件来直接解析执行。由于通过硬件直接解析执行程序的语句不需要通过编译的处理,所以效率是会快很多的。

    当然啦,软件与硬件的逻辑是等价性的,硬件相关的操作也能转换成软件的


    如果您觉得这篇文章帮助到了您,可以给作者一点鼓励



  • 相关阅读:
    Linkerd 2.10(Step by Step)—将 GitOps 与 Linkerd 和 Argo CD 结合使用
    Linkerd 2.10(Step by Step)—多集群通信
    Linkerd 2.10(Step by Step)—使用 Kustomize 自定义 Linkerd 的配置
    Linkerd 2.10(Step by Step)—控制平面调试端点
    Linkerd 2.10(Step by Step)—配置超时
    Linkerd 2.10(Step by Step)—配置重试
    Linkerd 2.10(Step by Step)—配置代理并发
    本地正常运行,线上环境诡异异常原因集合
    Need to invoke method 'xxx' declared on target class 'yyy', but not found in any interface(s) of the exposed proxy type
    alpine 安装常用命令
  • 原文地址:https://www.cnblogs.com/zhong-fucheng/p/7203026.html
Copyright © 2011-2022 走看看