计算机原理基本概念_2019-10-23

a 夏天 提交于 2019-12-02 03:57:40

计算机的发展简史

  计算机发展的四个阶段:

    第一阶段电子管计算机。代表:埃尼阿克(ENIAC)
    第二阶段为晶体管计算机。代表:TX-0、PDP-1(拥有4K内存和512*512显示器)
    第三阶段为集成电路(IC)计算机。代表:IBM-7094、IBM-1401,两台电脑功能不同且互相不兼容,为了解决兼容问题,出现了操作系统的雏形System360。
    第四阶段为超大规模集成电路计算机 。代表:Apple 和 Apple二代
    未来计算机:生物计算机、量子计算机。

  微型计算机的发展历史:

    CPU从单核心到多核心,主要是因为单核心存在瓶颈,无法大跨度的突破。

计算机的分类

    超级计算机。运算速度的单位是TFlop/s,1TFlop/s=每秒一万亿次浮点计算。代表:太湖之光、Summit(IBM)。
    大型计算机。IBM-IBM Z9,COBOL编程语言。阿里巴巴的去“IOE”行动 --> 去“I(IBM),O(Oracle),E(EMC)”,IOE代表着高维护费用的存储系统,不够灵活,伸缩性弱。
    迷你计算机(普通服务器)。普通服务器已经代替了传统的大型机,成为大规模企业计算的中枢。
    工作站。高端的通用微型计算机,提供比个人计算机更强大的性能
    微型计算机(个人计算机)。从构成的本质上来讲,个人计算机与前面的分类无异

计算机的体系结构

  冯诺伊曼体系。

    背景:早起计算机只能拥有特定的功能,如果想要增加功能或减少功能,就必须重新设计电路和更改结构。如果把程序储存起来,并且设计一套通用电路,就可以打打提高计算机的能力。

    概念:将程序指令和数据一起存储的计算机设计概念结构。从一定本质上来讲,现代计算机都是冯诺依曼机
    内容:必须有一个储存器、控制器、运算器、输入设备、输出设备。其中控制器和运算器为CPU。
       能够把数据和程序送入计算机,能够长期的记忆程序、数据、中间结果及最终运算结果;能够具备算数和数据传送、逻辑运算和数据加工的能力;并且能够按照要求将处理结果输出给用户。
    瓶颈:CPU和存储器速率之间的问题无法调和,大多数时候,CPU处理速度会比存储器要快很多,造成CPU空转等待数据,浪费算力。

  现代计算机的结构

    现代计算机结构是在冯诺依曼的基础上进行修改,可以解决CPU与存储设备之间的性能差异问题。

    现代计算机的结构,CPU为运算器、控制器和存储器。主要是因为拥有了更加高速的设备,比如内存和CPU寄存器。

计算机的层次与编程语言

  程序翻译与程序解释。

    翻译和解释都是为了语言转换,既将人类的自然语言转换为机器语言。计算机最后执行的都是低级别的语言。
 
    翻译:使用较高等级的计算机语言来进行程序的逻辑描述后,使用编译器进行编译,生成较为低级的计算机语言逻辑程序,最终计算机执行较为低级的计算机语言(如机器语言)。编译的过程会生成一个新的程序。如C/C++、Golang。    
    解释:使用较高等级的计算机语言来进行程序的逻辑描述后,把这些高级的语句作为输入,输入给一个较低级语言L0实现的一个程序(解释器),获得较为低级的计算机语言L0。过程中并没有生成一个新的程序,而是解释器解释一条语句,计算机就执行一条语                           句。解释器必须使用L0去解释高级语言编写的程序。如:python、js、php。
    翻译+解释:Java和C#严格上来说属于编译解释型语言,Java程序通过编译器进行编译成为JVM字节码.class文件,再对此进行解释为机器码让计算机执行。
 

  计算机的层次与编程语言。

    计算机共分为7个层次,自底向上为硬件逻辑层、微程序机器层、传统机器层,这三层又叫做实际机器。操作系统层、汇编语言层、高级语言层、应用层,这四层又叫做虚拟机器,其中前三层称为系统软件,应用层为应用软件。
 
    硬件逻辑层。属于电子工程领域,由门、触发器等逻辑电路组成。
    微程序机器层。编程语言为微指令集,微指令集可组成微程序,微程序直接交由硬件执行。
    传统机器层。编程语言是CPU指令集(机器指令),编程语言和硬件是直接相关的,不同架构的CPU使用不同的CPU指令集。
    一组微指令可构成一个微程序,一般一个微程序可对应一条机器指令。机器指令-->微程序-->微指令。
 
    操作系统层。向上提供了简易的操作界面,向下对接了指令系统,管理硬件资源,操作系统层是软硬件之间的适配层。
    汇编语言层。汇编语言可以使用汇编器把汇编语言翻译成可直接执行的机器语言。
    高级语言层。本质上就是编写程序让机器运行。
    应用层。针对某种用途而专门设计的运行在计算机上的程序。是为了用途而专门设计的。
 

计算机的计算单位

  容量单位

    在物理层面上,使用高电平来表示1,低电平来表示0,所以理论上只认识 0/1。      

    0/1 称为一个bit(比特位),字节:1Byte=8bits,除此之外,其他都是1024的进制,包括 B --> KB --> MB --> GB --> TB --> PB --> EB 。

    1G = 1024^3Bytes = 1024^3*8bits,注:1024=2^10。
    硬盘商一般用10进位标记容量

  速度单位

    网速:100M宽带中的100M并非是指100MB,而是指100Mbps,既是100Mbit / s,转换为MB每秒为 (100/8)MB / s  = 12.5 MB / s。

    CPU速度:CPU的时钟频率的单位一般是赫兹(Hz),它是每秒中的周期性变动重复次数的计量,如果每条动15下那频率就是15赫兹。2GHz = 2*1000^3Hz = 每秒20亿次(算到Byte就可以了)

计算机的字符与编码集 

    ASCII码,7个bits即可表示全部字符,2^7=128 个字符 ,95个可打印,33个不可打印。
    Extended ASCII码,扩充ASCII码由7bits => 8bits,共256个字符。
    GB2312,6763 个汉字和 682 个其它符号,共7445个字符。
    GBK,向下兼容2312,向上支持国际ISO标准,共收录21003个汉字,支持全部中日韩汉字。中文Windows系统默认使用GBK编码。
    Unicode,统一码、万国码、单一码,UTF-*,UTF-8以字节为单位对Unicode进行编码。编程时推荐使用UTF-8编码。
 

今日内容:

    对之后四个月的学习所制定的框架已经初步的搭建(学什么,怎么学,什么时候学,要学要怎么样的程度、要学多长时间)。
    复习了计算机原理中部分重要的知识点。
 
2019-10-23
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!