精华内容
下载资源
问答
  • 内存模型

    2021-03-17 13:57:38
    冯诺依曼计算机模型:计算机在运行时,先从内存中取出第一条指令,再通过控制器编译,按指令的要求从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来再取第二条指令,在...

    主要内容

    1、计算机的主要组成部分;

    2、CPU由那几部分组成;

    3、高速缓存存在的意义及数据流转流程;

    4、为什么JVM创建线程、销毁线程是重型操作;

    一、冯诺依曼计算机模型

    现代的计算机模型都是-冯诺依曼计算机模型

    冯诺依曼计算机模型:计算机在运行时,先从内存中取出第一条指令,再通过控制器编译,按指令的要求从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来再取第二条指令,在控制器的指挥下完成规定的操作,依次进行下去直到遇到停止指令。

    程序和数据一样存储,按程序编排的顺序,一步一步的取出指令,自动的完成指令规定的操作是计算机最基本的工作原理。这是冯.诺依曼于1945年提出的。

    计算机五大核心部分:

    1、控制器:是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解析,根据其要求进行控制。调度程序、数据、内存,协调计算机各部分工作及外设访问等。

    2、运算器:对数据进行各种算数运算和逻辑运算,即对数据进行加工处理。

    3、存储器:存储程序、数据和各种信息、命令等信息,并在需要时提供这些信息。

    4、输入设备:与输出设备统称为外部设备,简称外设。是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。

    5、输出设备:把计算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。微机常用的输出设备有显示终端CRT、打印机、激光印字机、绘图仪及磁带、光盘机等。

    具体模型如下图

    而CPU内部主要有控制单元、运算单元和数据单元。

    存储单元包含CPU片内缓存Cache和寄存器组,是CPU中暂时存放数据的地方,里面存放着等待处理或已经处理过的数据。CPU访问寄存器的效率要比访问内存的效率高很多,寄存器是CPU内的元件,寄存器具有很高的读写速度,所以在寄存器之间的数据传递传送速度非常快,采用寄存器,可以减少CPU访问内存的次数,从而大大提高CPU的工作效率。寄存器组分别专用寄存器和通用寄存器。专用寄存器的作用是固定的,分别寄存相应的数据,而通用寄存器的用途广泛并可以由程序员规定其用途。

    为提升CPU执行效率,减少CPU与内存的交互次数(交互影响CPU效率),一般会在CPU上集成多级缓存架构,常见的为三级缓存架构。

    L1 Cache:分为数据缓存和指令缓存,逻辑核独占;

    L2 Cache:物理核独占,逻辑核共享;

    L3 Cache:所有物理核共享。

    缓存是由最小存储区块-缓存行(cacheline)组成,缓存行的大小通常为64byte。

    比如你L1的缓存大小为256kb,每个缓存行大小为64byte,那么缓存行数量为256*1024/64个cacheline。

    CPU是怎么读取一个数据的呢?比如数据X

    如果从寄存器中,可以直接读取;

    如果是在L1缓存中,则需先锁住对应的cache行,取值,再解锁;

    如果在L2中,则先从L1中查,没有再到L2中查,锁住对应的缓存行,取值并复制到L1中,再执行读L1的过程,如果在L3中,逻辑与L2一致;

    如果在主内存中,则需通知内存控制器占用总线带宽,通知内存加锁,发起内存读请求,等待回应并将数据保存在L3中,如果没有L3则保存在L2中,再从L1到内存中,之后解除总线锁定。

    高速缓存存在的意义

    CPU的发展非常快,其执行效率也是非常高的,然后告诉的CPU需要的数据,为了解决这个问题,CPU厂商在CPU中内置了少量的高速缓存,已解决I/O速度与CPU运算速度不匹配的问题。

    带有高速缓存的CPU执行计算的流程如下:

    1、程序和数据加载到主内存中;

    2、执行和数据加载到高速缓存中;

    3、CPU执行指令,将运算结果写入高速缓存;

    4、缓存中的数据写回主内存。

    CPU的运行级别

    CPU有四个运行级别:ring0、ring1、ring2、ring3,但linux和windows都只用了ring0、ring3两个运行级别。

    操作系统内部程序指令通常运行在ring0,操作系统外的第三方程序运行是ring3级别,第三方程序如果要调用操作系统函数,由于运行级别不够,CPU需要切换运行状态,由ring3级别切换到ring0级别,然后执行函数,这也是为什么JVM创建线程、唤醒线程是重型操作了,因为需要切换CPU运行状态。

    JVM创建线程的主要流程如下:

    1、CPU从ring3状态切换到ring0,创建线程;

    2、创建完毕,从ring0切换回ring3;

    3、执行JVM程序;

    4、执行完毕,再切换回ring0销毁线程。

    展开全文
  • 计算机组成五章之指令周期

    千次阅读 2020-05-20 16:54:59
    取址就是说我们把指令从内存单元把它取出来,取到cpu当中,分析呢,就是把操作码部分给cpu,告诉我们这是一条什么样的指令。执行呢就是比如我们要去取操作数,我们执行完后是不是就要把结果给存回去。 另一方面,...

    一.基本概念

    指令周期的基本概念我用自顶向下来解释。
    首先呢,一个指令周期是包括取址周期和执行周期的。取址周期呢是我取出某个指令并且分析该指令;执行周期呢是我执行该指令并且把结果存放到寄存器中去。取址就是说我们把指令从内存单元中把它取出来,取到cpu当中,分析呢,就是把操作码部分给cpu,告诉我们这是一条什么样的指令。执行呢就是比如我们要去取操作数,我们执行完后是不是就要把结果给存回去。

    另一方面,指令周期呢又是由若干个机器周期来表示,机器周期呢是由若干个时钟周期来表示。在这里,时钟周期就是最小的单位了。时钟周期又称为节拍,或者T周期,或者cpu时钟周期(注意和cpu周期区别)。机器周期呢又称为cpu周期。

    二.基本的指令周期

    MOV指令的指令周期
    RR指令
    在这里插入图片描述
    取指令周期:
    1.程序计数器pc中装入第一条指令地址 101
    2.pc中的内容被放在指令地址总线ABUS上并指存进行译码
    3.在指存中读出101对应的地址指令为MOV指令,并将指令放入指令总线IBUS上面,通过IBUS装入指令寄存器IR中
    4.程序计数器内容+1,变为102
    5.指令存储器中的操作码OP被译码
    6.cpu识别出了MOV指令。至此,取址周期结束。

    执行周期:
    1.操作控制器OC送出控制信号到通用寄存器中,选择了R1作为源寄存器,R0作为目标寄存器。
    2.OC送出控制信号到ALU,制定ALU做传送操作
    3.OC送出控制信号,打开ALU三态门,将数据输出到数据总线DBUS上(任何时候DBUS只能有一个数据)
    4.OC送出控制信号,将DBUS上的数据打入到数据缓冲寄存器DR中
    5.OC送出控制信号,将DR中的数据打入到目标寄存器中,R0数据由00变为10.至此,执行周期结束。

    总结:

    1. 三条总线(指令地址总线ABUS 指令总线IBUS 数据总线DBUS)
    2. 执行周期中每一个操作都由OC操作控制器输出控制信号来执行

    LAD指令的指令周期
    在这里插入图片描述
    取址周期:
    1.在程序计数器PC中装入第二条指令地址102
    2.指令地址102进入到指令地址总线ABUS上,对指存进行译码
    3.将102号地址对应的指令放进指令总线IBUS上,通过IBUS寄存到指令寄存器IR中
    4.程序计数器+1,为取下一条指令做准备
    5.对操作码OC字段进行译码
    6.cpu识别LAD指令,至此,取址周期结束

    执行周期:
    1.OC发出控制命令给IR输出三态门,将指令中的直接地址码6传入到数据总线DBUS上
    2.OC发出操作命令,将地址码6装入到数存地址寄存器AR
    3.OC发出读命令,将数存6号单元中的数100读出到DBUS上
    4.OC发出命令,将DBUS上的数放入数据缓冲寄存器中DR
    5.OC发出命令,将DR中的数100装入通用寄存器R1,原来R1中的数被覆盖了。至此,执行周期结束

    总结:

    1. RS型指令有三个cpu周期,一次访问指存,一次访问数存,还有一次执行
    2. 取址周期都一样,具体差别在执行周期上

    ADD指令的指令周期

    在这里插入图片描述
    取址周期同上。
    执行周期:
    1.OC送出控制信号到通用寄存器,选择R1作为源寄存器,R2作为目标寄存器
    2.OC送出控制信号到ALU,指定ALU做R1和R2的加法
    3.OC送出控制信号,打开ALU输出三态门,将数据120放到DBUS中
    4.OC送粗控制信号,将DBUS上的数据打入到缓冲寄存器DR中 ,ALU产生的进位信号保存在状态寄存器PSWR中
    5.OC送出控制信号,将DR中的数放入到R2,R2原来的数被120覆盖。至此,执行周期结束。

    STO指令的指令周期
    在这里插入图片描述
    执行周期:
    1.操作控制器OC送出操作命令到通用寄存器,选择R3做数据存储器的地址单元
    2.OC发出操作命令,打开了通用寄存器三态门(不经过ALU,节省时间),将地址30放入到DBUS总线上。
    3.OC发出操作命令,将地址30打入数存寄存器AR中,并进行数存译码 4.OC发出操作命令到通用寄存器,选择120,作为数存的写入数据
    5.OC发出操作命令,打开通用寄存器输出三态门,将120放在DBUS上
    6.OC发出操作命令,将数据120写入到数存30号单元。

    JMP指令的指令周期
    执行周期:
    1.OC发出操作控制命令,打开指令寄存器IR的输出三态门,将IR中的地址码101发送到DBUS上
    2.OC发出操作控制命令,将DBUS上的地址码101打入到程序计数器PC中,PC中原先内容106被替换。于是,下一条指令不是从106号单元取出,而是转移到101号单元取出。至此,JMP执行周期结束。

    总结:

    MOV指令 和 ADD指令 都是RR指令;类型相同,执行周期过程也相同
    操作通式:

    • 到通用寄存器中找到目标寄存器和源寄存器地址
    • 告诉ALU他要做什么运算(加法还是传送)
    • 将处理好的数据通过ALU三态门输出到DBUS总线上
    • 将数据打入到DR(数据缓冲寄存器)
    • 将数据覆盖掉目标寄存器中原有的数据
    • 完。

    LAD指令和STO指令都是RS指令,之所以相较于RR多了一个周期,是因为要访问数存(cache)

    LAD指令操作通式:

    • 打开IR(指令寄存器)输出三态门,将直接地址打入到DBUS总线
    • 将数据打入到AR(数据地址寄存器)中去
    • 找到数存直接地址(6)对应的那个寄存器,将里面的数(100)放入到DBUS总线上
    • 打入到DR(数据缓冲寄存器)
    • 覆盖掉通用寄存器R1原有的数据
    • 完。

    STO指令操作通式:

    • 打开IR输出三态门,将R3传送到DBUS上面
    • 将R3打入到通用寄存器中,取出里面的数据
    • 打开通用寄存器三态门,将数据打入到DBUS总线上
    • 传入到AR,找到30对应的那个寄存器
    • 打开IR输出三态门,将R2传送到DBUS上面
    • 将R2打入到通用寄存器中,取出里面的数据
    • 打开通用寄存器三态门,将数据打入到DBUS上
    • 传入AR,将数据写入30对应寄存器中,原有的数据(40)被覆盖了
    • 完。
    展开全文
  • 第一

    2017-10-15 20:39:33
    计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下...
      1.程序在计算机内部是如何运行的
    基本原理:
    计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下完成规定操作。依此进行下去。直至遇到停止指令。
    程序与数据一样存贮,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的操作是计算机最基本的工作原理。这一原理最初是由美籍匈牙利数学家冯.诺依曼于1945年提出来的,故称为冯.诺依曼原理。
    系统结构:
    计算机系统由硬件系统和软件系统两大部分组成。美藉匈牙利科学家冯·诺依曼(John von Neumann)奠定了现代计算机的基本结构,这一结构又称冯·诺依曼结构,其特点是:
    1)使用单一的处理部件来完成计算、存储以及通信的工作。
    2)存储单元是定长的线性组织。
    3)存储空间的单元是直接寻址的。
    4)使用低级机器语言,指令通过操作码来完成简单的操作。
    5)对计算进行集中的顺序控制。
    6)计算机硬件系统运算器存储器、控制器、输入设备、输出设备五大部件组成并规定了它们的基本功能。
    7)采用二进制形式表示数据和指令。
    8)在执行程序和处理数据时必须将程序和数据从外存储器装入主存储器中,然后才能使计算机在工作时能够自动调整地从存储器中取出指令并加以执行。

    指令

    编辑
    计算机根据人们预定的安排,自动地进行数据的快速计算和加工处理。人们预定的安排是通过一连串指令(操作者的命令)来表达的,这个指令序列就称为程序。一个指令规定计算机执行一个基本操作。一个程序规定计算机完成一个完整的任务。一种计算机所能识别的一组不同指令的集合,称为该种计算机的指令集合或指令系统。在微机的指令系统中,主要使用了单地址和二地址指令,其中,第1个字节是操作码,规定计算机要执行的基本操作,第2个字节是操作数。计算机指令包括以下类型:数据处理指令(加、减、乘、除等)、数据传送指令、程序控制指令、状态管理指令,整个内存被分成若干个存储单元,每个存储单元一般可存放8位二进制数(字节编址)。每个在位单元可以存放数据或程序代码,为了能有效地存取该单元内存储的内容,每个单元都给出了一个唯一的编号来标识,即地址。
    按照冯·诺依曼存储程序的原理,计算机在执行程序时须先将要执行的相关程序和数据放入内存储器中,在执行程序时CPU根据当前程序指针寄存器的内容取出指令并执行指令,然后再取出下一条指令并执行,如此循环下去直到程序结束指令时才停止执行。其工作过程就是不断地取指令和执行指令的过程,最后将计算的结果放入指令指定的存储器地址中。计算机工作过程中所要涉及的计算机硬件部件有内存储器、指令寄存器指令译码器、计算器、控制器、运算器和输入/输出设备等,在后续的内容中将会着重介绍。

    计算机工作原理硬件

    编辑

    计算机工作原理简介

    硬件通常是指构成计算机的设备实体。一台计算机的硬件系统应由五个基本部分组成:运算器、控制器、存储器、输入和输出设备。现代计算机还包括中央处理器和总线设备。这五大部分通过系统总线完成指令所传达的操作,当计算机在接受指令后,由控制器指挥,将数据从输入设备传送到存储器存放,再由控制器将需要参加运算的数据传送到运算器,由运算器进行处理,处理后的结果由输出设备输出。

    计算机工作原理中央处理器

    CPU(central processing unit)意为中央处理单元,又称中央处理器。CPU由控制器、运算器寄存器组成,通常集中在一块芯片上,是计算机系统的核心设备。计算机以CPU为中心,输入和输出设备存储器之间的数据传输和处理都通过CPU来控制执行。微型计算机的中央处理器又称为微处理器

    计算机工作原理控制器

    控制器是对输入的指令进行分析,并统一控制计算机的各个部件完成一定任务的部件。它一般由指令寄存器状态寄存器指令译码器、时序电路和控制电路组成。计算机的工作方式是执行程序,程序就是为完成某一任务所编制的特定指令序列,各种指令操作按一定的时间关系有序安排,控制器产生各种最基本的不可再分的微操作的命令信号,即微命令,以指挥整个计算机有条不紊地工作。当计算机执行程序时,控制器首先从指令寄存器中取得指令的地址,并将下一条指令的地址存入指令寄存器中,然后从存储器中取出指令,由指令译码器对指令进行译码后产生控制信号,用以驱动相应的硬件完成指令操作。简言之,控制器就是协调指挥计算机各部件工作的元件,它的基本任务就是根据种类指纹的需要综合有关的逻辑条件与时间条件产生相应的微命令。

    计算机工作原理运算器

    运算器又称算术逻辑单元ALU(Arithmetic Logic Unit)。运算器的主要任务是执行各种算术运算和逻辑运算。算术运算是指各种数值运算,比如:加、减、乘、除等。逻辑运算是进行逻辑判断的非数值运算,比如:与、或、非、比较、移位等。计算机所完成的全部运算都是在运算器中进行的,根据指令规定的寻址方式,运算器从存储或寄存器中取得操作数,进行计算后,送回到指令所指定的寄存器中。运算器的核心部件是加法器和若干个寄存器,加法器用于运算,寄存器用于存储参加运算的各种数据以及运算后的结果。

    计算机工作原理存储器

    存储器分为内存储器(简称内存或主存)、外存储器(简称外存或辅存)。外存储器一般也可作为输入/输出设备。计算机把要执行的程序和数据存入内存中,内存一般由半导体器构成。半导体存储器可分为三大类:随机存储器、只读存储器、特殊存储器。 RAM RAM是随机存取存储器(Random Access Memory),其特点是可以读写,存取任一单元所需的时间相同,通电时存储器内的内容可以保持,断电后,存储的内容立即消失。RAM可分为动态(Dynamic RAM)和静态(Static RAM)两大类。所谓动态随机存储器DRAM是用MOS电路和电容来作存储元件的。由于电容会放电,所以需要定时充电以维持存储内容的正确,例如互隔2ms刷新一次,因此称这为动态存储器。所谓静态随机存储器SRAM是用双极型电路或MOS电路的触发器来作存储元件的,它没有电容放电造成的刷新问题。只要有电源正常供电,触发器就能稳定地存储数据。DRAM的特点是集成密度高,主要用于大容量存储器。SRAM的特点是存取速度快,主要用于调整缓冲存储器。 ROM ROM是只读存储器(Read Only Memory),它只能读出原有的内容,不能由用户再写入新内容。原来存储的内容是由厂家一次性写放的,并永久保存下来。ROM可分为可编程(Programmable)ROM、可擦除可编程(Erasable Programmable)ROM、电擦除可编程(Electrically Erasable Programmable)ROM。如,EPROM存储的内容可以通过紫外光照射来擦除,这使它的内可以反复更改。 特殊固态存储器 包括电荷耦合存储器、磁泡存储器、电子束存储器等,它们多用于特殊领域内的信息存储。 此外,描述内、外存储容量的常用单位有: ①位/比特(bit):这是内存中最小的单位,二进制数序列中的一个0或一个1就是一比比特,在电脑中,一个比特对应着一个晶体管。 ②字节(B、Byte):是计算机中最常用、最基本的存在单位。一个字节等于8个比特,即1 Byte=8bit。 ③千字节(KB、Kilo Byte):电脑的内存容量都很大,一般都是以千字节作单位来表示。1KB=1024Byte。 ④兆字节(MB Mega Byte):90年代流行微机的硬盘和内存等一般都是以兆字节(MB)为单位。1 MB=1024KB。 ⑤吉字节(GB、Giga Byte):目前市场流行的微机的硬盘已经达到430GB、640GB、810GB、1TB等规格。1GB=1024MB。 ⑥太字节(TB、Tera byte):1TB=1024GB。最新有了PB这个概念,1PB=1024TB。

    计算机工作原理输入输出设备

    输入设备是用来接受用户输入的原始数据和程序,并将它们变为计算机能识别的二进制存入到内存中。常用的输入设备有键盘、鼠标、扫描仪、光笔等。 输出设备用于将存入在内存中的由计算机处理的结果转变为人们能接受的形式输出。常用的输出设备有显示器、打印机、绘图仪等。

    计算机工作原理总线

    总线是一组为系统部件之间数据传送的公用信号线。具有汇集与分配数据信号、选择发送信号的部件与接收信号的部件、总线控制权的建立与转移等功能。典型的微机计算机系统的结构通常多采用单总线结构,一般按信号类型将总线分为三组,其中AB(Address Bus)为地址总线;DB(Data Bus)为数据总线;CB(Control Bus)控制总线

    计算机工作原理技术指标

    编辑

    计算机工作原理CPU类型

    CPU类型是指微机系统所采用的CPU芯片型号,它决定了微机系统的档次。

    计算机工作原理字长

    字长是指CPU一次最多可同时传送和处理的二进制位数,字长直接影响到计算机的功能、用途和应用范围。如Pentium是64位字长的微处理器,即数据位数是64位,而它的寻址位数是32位。

    计算机工作原理时钟频率和机器周期

    时钟频率又称主频,它是指CPU内部晶振的频率,常用单位为兆(MHz),它反映了CPU的基本工作节拍。一个机器周期由若干个时钟周期组成,在机器语言中,使用执行一条指令所需要的机器周期数来说明指令执行的速度。一般使用CPU类型和时钟频率来说明计算机的档次。如Pentium III 500等。

    计算机工作原理运算速度

    是指计算机每秒能执行的指令数。单位有MIPS(每秒百万条指令)、MFLOPS(秒百万条浮点指令)

    计算机工作原理存取速度

    是指存储器完成一次读取或写存操作所需的时间,称为存储器的存取时间或访问时间。而连续两次读或写所需要的最短时间,称为存储周期。对于半导体存储器来说,存取周期大约为几十到几百毫秒之间。它的快慢会影响到计算机的速度。

    计算机工作原理内、外存储器容量

    是指内存存储容量,即内容储存器能够存储信息的字节数。外储器是可将程序和数据永久保存的存储介质,可以说其容量是无限的。如硬盘、U盘已是微机系统中不可缺少的外部设备。迄今为止,所有的计算机系统都是基于冯·诺依曼存储程序的原理。内、外存容量越大,所能运行的软件功能就越丰富。CPU的高速度和外存储器的低速度是微机系统工作过程中的主要瓶颈现象,不过由于硬盘的存取速度不断提高,目前这种现象已有所改善。

    计算机工作原理演变

    编辑

    计算机工作原理早期的计算机

    我们先从最早的计算机讲起,人们在最初设计计算机时采用这样一个模型:
    人们通过输入设备把需要处理的信息输入计算机,计算机通过中央处理器信息加工后,再通过输出设备把处理后的结果告诉人们。
    其实这个模型很简单,举个简单的例子,你要处理的信息是1+1,你把这个信息输入到计算机中后,计算机的内部进行处理,再把处理后的结果告诉你。
    早期计算机的输入设备十分落后,根本没有现在的键盘和鼠标,那时候计算机还是一个大家伙,最早的计算机有两层楼那么高。人们只能通过扳动计算机庞大的面板上无数的开关来向计算机输入信息,而计算机把这些信息处理之后,输出设备也相当简陋,就是计算机面板上无数的信号灯。所以那时的计算机根本无法处理像现在这样各种各样的信息,它实际上只能进行数字运算。
    当时人们使用计算机也真是够累的。但在当时,就算是这种计算机也是极为先进的了,因为它把人们从繁重的手工计算中解脱出来,而且极大地提高了计算速度。

    计算机工作原理有内部存储器

    随着人们对计算机的使用,人们发现上述模型的计算机能力有限,在处理大量数据时就越发显得力不从心。为此人们对计算机模型进行了改进,提出了这种模型:
    就是在中央处理器旁边加了一个内部存储器。这个模型的好处在于。先打个比方说,如果老师让你心算一道简单题,你肯定毫不费劲就算出来了,可是如果老师让你算20个三位数相乘,你心算起来肯定很费力,但如果给你一张草稿纸的话,你也能很快算出来。
    可能你会问这和计算机有什么关系?其实计算机也是一样,一个没有内部存储器的计算机如果让它进行一个很复杂的计算,它可能根本就没有办法算出来,因为它的存储能力有限,无法记住很多的中间的结果,但如果给它一些内部存储器当“草稿纸”的话,计算机就可以把一些中间结果临时存储到内部存储器上,然后在需要的时候再把它取出来,进行下一步的运算,如此往复,计算机就可以完成很多很复杂的计算。

    计算机工作原理纸带机

    随着时代的发展,人们越来越感到计算机输入和输出方式的落后,改进这两方面势在必行。在输入方面,为了不再每次扳动成百上千的开头,人们发明了纸带机。纸带机的工作原理是这样的,纸带的每一行都标明了26个字母、10个数字和一些运算符号,如果这行的字母A上面打了一个孔,说明这里要输入的是字母A,同理,下面的行由此类推。这样一个长长的纸带就可以代表很多的信息,人们把这个纸带放入纸带机,纸带机还要把纸带上的信息翻译给计算机,因为计算机是看不懂这个纸带的。
    这样虽然比较麻烦,但这个进步确实在很大程度上促进了计算机的发展。在发明纸带的同时,人们也对输出系统进行了改进,用打印机代替了计算机面板上无数的信号灯。打印机的作用正好和纸带机相反,它负责把计算机输出的信息翻译成人能看懂的语言,打印在纸上,这样人们就能很方便地看到输出的信息,再也不用看那成百上千的信号灯了。

    计算机工作原理有键盘和显示器

    不过人们没有满足,他们继续对输入和输出系统进行改进。后来人们发明了键盘和显示器。这两项发明使得当时的计算机和我们现在使用的计算机有些类似了,而且在此之前经过长时间的改进,计算机的体积也大大地缩小了。键盘和显示器的好处在于人们可以直接向计算机输入信息,而计算机也可以及时把处理结果显示在屏幕上。

    计算机工作原理有外部存储器

    可是随着人们的使用,逐渐又发现了不如意之处。因为人们要向计算机输入的信息越来越多,往往要输入很长时间后,才让计算机开始处理,而在输入过程中,如果停电,那前面输入的内容就白费了,等来电后,还要全部重新输入。就算不停电,如果人们上次输入了一部分信息,计算机处理完了,也输出了结果;人们下一次再需要计算机处理这部分信息的时候,还要重新输入。对这种重复劳动的厌倦导致了计算机新的模型的产生。
    这回的模型是这样的:
    这回增加了一个外部存储器。外部存储器的“外部”是相对于内部存储器来说的,在中央处理器处理信息时,它并不直接和外部存储器打交道,处理过程中的信息都临时存放在内部存储器中,在信息处理结束后,处理的结果也存放在内部存储器中。可是如果这时突然停电,那些结果还会丢失的。内部存储器(或简称内存)中的信息是靠电力来维持的,一旦电力消失,内存中的数据就会全部消失。也正因为如此,人们才在计算机模型中加入了外部存储器,把内存中的处理结果再存储到外部存储器中,这样停电后数据也不会丢失了。
    外部存储器与内存的区别在于:它们的存储机制是不一样的,外部存储器是把数据存储到磁性介质上,所以不依赖于是否有电。这个磁性介质就好比家里的歌曲磁带,磁带上的歌曲不管有没有电都是存在的。当时人们也是考虑到了磁带这种好处,所以在计算机的外部存储器中也采用了类似磁带的装置,比较常用的一种叫磁盘。
    磁盘本来是圆的,不过装在一个方的盒子里,这样做的目的是为了防止磁盘表面划伤,导致数据丢失。
    有了磁盘之后,人们使用计算机就方便多了,不但可以把数据处理结果存放在磁盘中,还可以把很多输入到计算机中的数据存储到磁盘中,这样这些数据可以反复使用,避免了重复劳动。

    计算机工作原理有文件系统

    可是不久之后,人们又发现了另一个问题,人们要存储到磁盘上的内容越来越多,众多的信息存储在一起,很不方便。这样就导致了文件的产生。
    这和我们日常生活中的文件有些相似。我们日常生活中的文件是由一些相关信息组成,计算机的文件也是一样。人们把信息分类整理成文件存储到磁盘上,这样,磁盘上就有了文件1、文件2……。

    计算机工作原理有操作系统

    可是在使用过程中,人们又渐渐发现,由人工来管理越来越多的文件是一件很痛苦的事情。为了解决这个问题,人们就开发了一种软件叫操作系统。
    其实操作系统就是替我们管理计算机的一种软件,在操作系统出现之前,只有专业人士才懂得怎样使用计算机,而在操作系统出现之后,不管你是否是计算机专业毕业,只要经过简单的培训,你都能很容易地掌握计算机。
    有了操作系统之后,我们就不直接和计算机的硬件打交道,不直接对这些硬件发号施令,我们把要的事情告诉操作系统,操作系统再把要作的事情安排给计算机去做,等计算机做完之后,操作系统再把结果告诉我们,这样就省事多了。
    在操作系统出现之前,人们通过键盘给计算机下达的命令都是特别专业的术语,而有了操作系统之后,人们和计算机之间的对话就可以使用一些很容易懂的语言,而不用去死记硬背那些专业术语了。
    操作系统不但能在计算机和人之间传递信息,而且还负责管理计算机的内部设备和外部设备。它替人们管理日益增多的文件,使人们能很方便地找到和使用这些文件;它替人们管理磁盘,随时报告磁盘的使用情况;它替计算机管理内存,使计算机能更高效而安全地工作;它还负责管理各种外部设备,如打印机等,有了它的管理,这些外设就能有效地为用户服务了。
    也正因为操作系统这么重要,所以人们也在不断地改进它,使它的使用更加方面,功能更加强大。对于咱们现在使用的微机来说,操作系统主要经历了DOS、Windows 3.X、Windows95和Windows98、windows2000、windows2003、windowsXP、windows vista、windows7、windows8和最新的windows10这几个发展阶段。
    在DOS阶段,人们和计算机打交道,还是主要靠输入命令,“你输入什么命令,计算机就做什么,如果你不输入,计算机就什么也不做”。在这一阶段,人们还是需要记住很多命令和它们的用法,如果忘记了或不知道,那就没有办法了。所以说,这时的计算机还是不太好用,操作系统也处于发展的初级阶段。Windows的出现在很大程度上弥补了这个不足,人们在使用Windows时,不必记住什么命令,只需要用鼠标指指点点就能完成很多工作。

    计算机工作原理软件系统

    编辑
    应用软件
    上面说的是硬件的工作原理,那么在软件上,我们又是如何使用计算机的呢?
    在前面我们讲过,我们可以通过操作系统给计算机布置工作,操作系统也可以把计算机的工作结果告诉我们。可是操作系统的功能也不是无限的,实际上计算机的很多功能是靠多种应用软件来实现的。操作系统一般只负责管理好计算机,使它能正常工作。而众多的应用软件才充分发挥了计算机的作用。但这些应用软件都是建立在操作系统上的,一般情况下,某一种软件都是为特定的操作系统而设计的,因为这些软件不能直接和计算机交换信息,需要通过操作系统来传递信息。

    计算机工作原理硬件和软件的结合

    这就是所谓的“硬”、“软”结合。硬件就是我们能看见的这些东西:主机、显示器、键盘、鼠标等,而软件是我们看不见的,存在于计算机内部的。打个比方,硬件就好比人类躯体,而软件就好比人类的思想,没有躯体,思想是无法存在的,但没有思想的躯体也只是一个植物人。一个正常人要完成一项工作,都是躯体在思想的支配下完成的。电脑和这相类似,没有主机等硬件,软件是无法存在的;而一个没有软件的计算机也只是一堆废铁。

    计算机工作原理操作系统对文件的管理

    还有一个重要的概念没有讲,就是操作系统是如何管理文件的呢?其实也很简单,文件都有自己的名字,叫文件名,用来区分不同的文件的。计算机中的文件有很多,成千上万,光用名字来区分也不利于查找,所以计算机中又有了文件夹的概念,把不同类型的文件存储在不同的文件夹中,查找起来就快多了,也不会太乱。文件多了,可以分别存储在不同的文件夹中,而当文件夹多了之后,再把一些相关的文件夹存储在更大的文件夹中,这样管理文件是比较科学的。
    2. 程序开发的基本步骤是什么

    1.问题的定义及规划
    此阶段是软件开发与需求放共同讨论,主要确定软件的开发目标及其可行性。
    2.需求分析
    在确定软件开发可行性的情况下,对软件需要实现的各个功能进行详细需求分析。需求分析阶段是一个很重要的阶段,这一阶段做的好,将为整个软件项目的开发打下良好的基础。“唯一不变的是变化本身”,同样软件需求也是在软件爱你开发过程中不断变化和深入的,因此,我们必须定制需求变更计划来应付这种变化,以保护整个项目的正常进行。
    3.软件设计
    此阶段中偶要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计、数据库设计等。软件设计一般分为总体设计和详细设计。还的软件设计将为软件程序编写打下良好的基础。
    4.程序编码
    此阶段是将软件设计的结果转化为计算机可运行的程序代码。在程序编码中必定要制定统一、符合标准的编写规范。以保证程序的可读性、易维护性。提高程序的运行效率。
    5.软件测试
    在软件设计完成之后要进行严密的测试,一发现软件在整个软件设计过程中存在的问题并加以纠正。整个测试阶段分为单元测试、组装测试、系统测试三个阶段进行。测试方法主要有白盒测试和黑盒测试。




    展开全文
  • 数据结构第一周作业

    2020-09-27 09:24:20
    计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下...

    一.计算机的工作原理

    计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下完成规定操作。依此进行下去。直至遇到停止指令。程序与数据一样存取,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的操作是计算机最基本的工作原理,这一原理最初是由美籍匈牙利数学家冯.诺依曼于1945年提出来的,故称为冯.诺依曼原理,冯诺依曼体系结构计算机的工作原理可以概括为八个字:存储程序、程序控制

    存储程序 : 将解题的步骤编成程序(通常由若干指令组成),并把程序存放在计算机的存储器中(指主存或内存);-》应该是运行内存
    程序控制 : 从计算机主存中读出指令并送到计算机的控制器,控制器根据当前指令的功能,控制全机执行指令规定的操作,完成指令的功能。重复这一操作,直到程序中指令执行完毕。

    注:计算机硬件设备中的五大设备:运算器,控制器,存储器,输入设备和输出设备。
    主存储指的是内存条,辅存一般指硬盘

    二.计算机的存储程序工作原理

    存储程序原理是冯·诺依曼于1946年提出的将程序像数据一样存储到计算机内部存储器中的一种设计原理。

    1、首先:把程序和数据通过输入输出设备送入内存。

    一般的内存都是划分为很多存储单元,每个存储单元都有地址编号,这样按一定顺序把程序和数据存起来,而且还把内存分为若干个区域,比如有专门存放程序区和专门存放数据的数据区。

    2、其次:执行程序,必须从第一条指令开始,以后一条一条地执行。

    一般情况下按存放地址号的顺序,由小到大依次执行,当遇到条件转移指令时,才改变执行的顺序。每执行一条指令,都要经过三个步骤:
    ①第一步,把指令从内存中送往译码器,称为取指;
    ②第二步,译码器把指令分解成操作码和操作数,产生相应的各种控制信号送往各电器部件;
    ③第三步,执行相应的操作。这一过程是由电子路线来控制,从而实现自动连续的工作。

    三.引用型变量的使用

    详细在我之前写的一篇博客中:引用型变量的使用

    展开全文
  • 计算机在运行时,CPU根据IP存放的指令地址先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去,这个过程中IP自动指向...
  • 操作系统(内存

    2020-11-20 20:55:43
    由于程序有汇编指令(call 40),意味着跳转到40这个地址开始执行(40这个地址是main函数的第一条指令),为了让这个程序可以运行(为了让call 40)这行命令有用,main的第一条指令必须放在物
  • 计算机组成与体系结构,6章指令流水线学习 时钟周期、机器周期、指令周期 时钟周期也称为振荡周期,定义为时钟脉冲的倒数,是计算机中最基本的、最小的时间单位。 ...取出:从内存单元中取出放出
  • 计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下...
  • 现代计算机模型是基于-冯诺依曼计算机模型 计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存 储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接...
  • 计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存贮器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下...
  • 2021-03-28

    2021-03-28 18:22:14
    计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下...
  • 处理器从内存中取出指令,译码然后执行。这条指令执行完毕后就又去执行新的指令,一直这样继续下去,直到程序执行完毕。这里,我们所描绘的就是计算机的基本模型-冯诺依曼模型。听起来很简单不是吗?但是在这个课堂...
  • 计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下...
  • 计算机工作原理

    千次阅读 2017-08-16 10:13:13
    基本原理> 计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器...
  • 计算机五大组成部件

    万次阅读 2015-09-21 00:31:32
    计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下...
  • 汇编第一章知识总结

    2018-12-23 22:00:00
    机器语言依赖硬件,是机器指令的集合,机器可以直接识别。机器码都是0和1组成,不易查错。 汇编语言是给程序员看的,机器不能直接识别,需要由编译器转成机器语言。 两者都不可移植,效率...中取出指令一条一条地...
  • 计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按照指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等,然后再按照地址将结果送到内存中存储。接下来再取出第二条指令,在控制器的指挥下...
  • 计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器
  • 操作系统

    2021-04-30 13:33:47
    计算机在运行时,先从内存中取出第一条指令,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后按地址把结果送到内存中去,接下来,在取出第二条指令,在控制器的指挥下完成规定操作。...
  • 2021-01-13

    2021-01-13 13:52:32
    计算机的基本原理是存储程序...计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二
  • 计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址 把结送到内存中去。接下来,再取出第二条指令,在控制器的指挥下...
  • 由于指令地址在内存中按顺序安排,当执行一段程序时,通常是一条指令一条指令地顺序进行。也就是说,存储器取出第1条指令,然后执行这条指令;接着存储器取出第2条指令,再执行第二条指令;接着再取出第3条...
  • 计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令(机器码)的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器...
  • 计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下...
  • 计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存 储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下 来,再取出第二条指令,在控制器的...
  • 计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存 储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下 来,再取出第二条指令,在控制器的指挥下...
  • 计算机硬件

    2020-08-12 22:59:35
    计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下...
  • 计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下
  • 计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存^储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下...
  • 计算机在运行时候,先从内存获取一条指令,通过控制器进行编译,按照指令的要求获取从存储器中取出数据进行运算和逻辑操作,然后再地址的结果送到内存中去。接下来在取出第二条指令,在控制器的中完成,直到遇到停

空空如也

空空如也

1 2 3 4 5
收藏数 85
精华内容 34
关键字:

从内存中取出第一条指令