计算机基础知识

计算机的产生和发展

  • 计算工具的发展:
    在近代计算机技术的发展中,起奠基作用的是 19 世纪的英国数学家查尔斯·巴贝奇,他于 1822 年设计的差分机,是最早采用寄存器来存储数据的计算机,体现了早期程序设计思想的萌芽。1834年巴贝奇又提出了分析机的设计。巴贝奇设计的分析机采用了三个具有现代意义的装置:

    *使用齿轮式装置保存数据的寄存器;
    *从寄存器中取出数据进行运算的装置,并且机器的乘法运算以累次加法来实现
    控制操作顺序、选择所需处理的数据以及输出结果的装置。
    虽然受当时科学技术条件和机械制造工艺水平的限制未能最终实现,但分析机的结构组成和设计思想成为现代电子计算机的雏形,巴贝奇也因此被国际计算机界公认为“计算机之父”。

  • 现代计算机的发展:
    在现代计算机科学的发展中,有两个最杰出的代表人物。一个是现代计算机科学的奠基人,英国科学家艾兰·图灵(AlanMathison Turing,1912 年~1954 年)。图灵在计算机科学方面的主要贡献有两个:一是建立了图灵机(TuringMachine,TM 机)的理论模型,对计算机的一般结构、可实现性和局限性都产生了深远的影响,奠定了可计算理论的基础。二是提出了定义机器智能的图灵测试(Turing Test),奠定了人工智能的理论基础。
    另一个是也被称为“计算机之父”的美籍匈牙利数学家冯·诺依曼(Johon Von Neumann,1903 年~1957 年)。他在参与研制 EDVAC(Electronic Discrete Variable AutomaticComputer,电子离散变量自动计算机)时,提出了“存储程序”的概念,并以此概念为基础确定了计算机硬件系统的基本结构。“存储程序”的工作原理也因此被称为冯·诺依曼原理。60 多年来,虽然现代的电子计算机系统从性能指标、运算速度、工作方式和应用领域等各个方面与早期的电子计算机有了极大的差别,但基本结构和工作原理并没有改变,仍属于冯·诺依曼式计算机。

  • 计算机的分代:
    根据制造电子计算机所使用的电子器件的不同,通常将电子计算机的发展划分为电子管、晶体管、集成电路以及大规模集成电路等四个时代。
    (1)第一代计算机(1946年 ~ 1957年)
    通常称为电子管计算机时代。电子管计算机因为体积庞大、笨重、耗电量大、运行速度慢、工作可靠性差、难以使用和维护,且造价极高,所以主要用于军事领域和科学研究工作中的科学计算。
    (2)第二代计算机(1958年 ~ 1964年)
    通常称为晶体管计算机时代。晶体管计算机的体积减小、重量减轻、耗电量减少、可靠性增强、运算速度提高。应用范围已从军事和科研领域中单纯的科学计算扩展到了数据处理和事务处理
    (3)第三代计算机(1964年 ~ 1970年)
    通常称为集成电路计算机时代。集成电路计算机的体积、重量、耗电量进一步减少,可靠性和运算速度进一步提高。开始应用于科学计算、数据处理、过程控制等多方面领域。软硬件都向通用化、标准化、系列化方向发展。
    (4)第四代计算机(1971 年~至今)
    通常称为大规模、超大规模集成电路计算机时代。随着集成电路集成度的大幅度提高,计算机的体积、重量、功耗急剧下降,而运算速度、可靠性、存储容量等迅速提高。多媒体技术蓬勃兴起,将文字、声音、图形、图像各种不同的信息处理集于一身。计算机的应用已广泛地深入到人类社会生活的各个领域,特别是计算机技术与通信技术紧密结合构建的计算机网络,标志着计算机科学技术的发展已进入了以计算机网络为特征的新时代。
    (5)未来新型计算机
    ① 光子计算机
    光子计算机是利用光信号进行数据运算、处理、传输和存储的新型计算机。在光子计算机中,以光子代替电子,用不同波长的光代表不同的数据,远胜于电子计算机中通过电子的“0”、“1”状态变化进行二进制运算。
    但尚难以进入实用阶段。
    ② 量子计算机
    量子计算机是根据量子力学原理设计,基于原子的量子效应构建的完全以量子比特为基础的计算机。它利用原子的多能态特性表示不同的数据,从而进行运算。
    ③ 生物计算机
    生物计算机即脱氧核糖核酸(DNA)分子计算机,主要由生物工程技术产生的蛋白质分子组成的生物芯片构成,通过控制 DNA 分子间的生化反应来完成运算。

计算机硬件组成及原理

传统电脑系统的硬件单元一般可分为输入单元、输出单元、算数逻辑单元,控制逻辑单元、记忆单元;其中算数逻辑单元和控制单元合称中央处理器。
在这里插入图片描述

1. CPU:

  • 简介:
    CPU是中央处理器的缩写,其功能主要是解释计算机指令以及处理计算机软件中的数据,是负责读取指令,对指令译码并执行指令的核心部件,主要由运算器和控制器组成,还包括告诉缓冲存储器以及实现他们之间联系的数据,控制的总线;
    电子计算机的三大核心部件就是CPU,内部存储器,输入输出设备;
    CPU的主要功效为:处理指令,执行操作,控制时间,处理数据.
    CPU是对所有硬件资源(存储器、输入输出单元)进行控制调配、执行通用运算的核心硬件单元。
  • 发展历史:
    CPU出现于大规模集成电路时代,处理器架构设计的迭代更新以及集成电路工艺的不断提升促使其不断发展完善。从最初专用于数学计算到广泛应用于通用计算,从4位到8位、16位、32位处理器,最后到64位处理器,从各厂商互不兼容到不同指令集架构规范的出现,CPU 自诞生以来一直在飞速发展。 [1]
    CPU发展已经有40多年的历史了。我们通常将其分成 六个阶段。 [3]
    (1)第一阶段(1971年-1973年)。这是4位和8位低档微处理器时代,代表产品是Intel 4004处理器。 [3]
    1971年,Intel生产的4004微处理器将运算器和控制器集成在一个芯片上,标志着CPU的诞生; 1978年,8086处理器的出现奠定了X86指令集架构, 随后8086系列处理器被广泛应用于个人计算机终端、高性能服务器以及云服务器中。 [1]
    (2)第二阶段(1974年-1977年)。这是8位中高档微处理器时代,代表产品是Intel 8080。此时指令系统已经比较完善了。 [3]
    (3)第三阶段(1978年-1984年)。这是16位微处理器的时代,代表产品是Intel 8086。相对而言已经比较成熟了。 [3]
    (4)第四阶段(1985年-1992年)。这是32位微处理器时代,代表产品是Intel 80386。已经可以胜任多任务、多用户的作业。 [3]
    1989 年发布的80486处理器实现了5级标量流水线,标志着CPU的初步成熟,也标志着传统处理器发展阶段的结束。 [1]
    (5)第五阶段(1993年-2005年)。这是奔腾系列微处理器的时代。 [3]
    1995 年11 月,Intel发布了Pentium处理器,该处理器首次采用超标量指令流水结构,引入了指令的乱序执行和分支预测技术,大大提高了处理器的性能, 因此,超标量指令流水线结构一直被后续出现的现代处理器,如AMD(Advanced Micro devices)的K9、 K10、Intel的Core系列等所采用。 [1]
    (6)第六阶段(2005年至今)。是酷睿系列微处理器的时 代,这是一款领先节能的新型微架构,设计的出发点是提供卓然出众的性能和能效。 [3]
    为了满足操作系统的上层工作需求,现代处理器进一步引入了诸如并行化、多核化、虚拟化以及远程管理系统等功能,不断推动着上层信息系统向前发展。 [1]
  • 工作原理:
    冯诺伊曼体系是现代计算机的基础,据冯诺依曼体系,CPU的工作分为五个阶段:
    取指令阶段、指令译码阶段、执行指令阶段、访存取数、结果写回;

取指令(IF,instruction
fetch),即将一条指令从主存储器中取到指令寄存器的过程。程序计数器中的数值,用来指示当前指令在主存中的位置。当一条指令被取出后,PC中的数值将根据指令字长度自动递增。

指令译码阶段(ID,instruction decode),取出指令后,指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类 别以及各种获取操作数的方法。

执行指令阶段(EX,execute),具体实现指令的功能。CPU的不同部分被连接起来,以执行所需的操作。

访存取数阶段(MEM,memory),根据指令需要访问主存、读取操作数,CPU得到操作数在主存中的地址,并从主存中读取该操作数用于运算。部分指令不需要访问主存,则可以跳过该阶段。

结果写回阶段(WB,write back),作为最后一个阶段,结果写回阶段把执行指令阶段的运行结果数据“写回”到某种存储形式。结果数据一般会被写到CPU的内部寄存器中,以便被后续的指令快速地存取;许多指令还会改变程序状态字寄存器中标志位的状态,这些标志位标识着不同的操作结果,可被用来影响程序的动作。

  • 核心部分:
    运算器:

运算器是指计算机中进行各种算术和逻辑运算操作的部件, 其中算术逻辑单元是中央处理核心的部分。 [2]
(1)算术逻辑单元(ALU)。算术逻辑单元是指能实现多组 算术运算与逻辑运算的组合逻辑电路,其是中央处理中的重要组成部分。算术逻辑单元的运算主要是进行二位元算术运算,如加法、减法、乘法。在运算过程中,算术逻辑单元主要是以计算机指令集中执行算术与逻辑操作,通常来说,ALU能够发挥直接读入读出的作用,具体体现在处理器控制器、内存及输入输出设备等方面,输入输出是建立在总线的基础上实施。输入指令包含一 个指令字,其中包括操作码、格式码等。 [2]
(2)中间寄存器(IR)。其长度为 128 位,其通过操作数来决定实际长度。IR 在“进栈并取数”指令中发挥重要作用,在执行该指令过程中,将ACC的内容发送于IR,之后将操作数取到ACC,后将IR内容进栈。 [2]
(3)运算累加器(ACC)。当前的寄存器一般都是单累加器,其长度为128位。对于ACC来说,可以将它看成可变长的累加器。在叙述指令过程中,ACC长度的表示一般都是将ACS的值作为依据,而ACS长度与 ACC 长度有着直接联系,ACS长度的加倍或减半也可以看作ACC长度加倍或减半。 [2]
(4)描述字寄存器(DR)。其主要应用于存放与修改描述字中。DR的长度为64位,为了简化数据结构处理,使用描述字发挥重要作用。 [2]
(5)B寄存器。其在指令的修改中发挥重要作用,B 寄存器长度为32位,在修改地址过程中能保存地址修改量,主存地址只能用描述字进行修改。指向数组中的第一个元素就是描述字, 因此,访问数组中的其它元素应当需要用修改量。对于数组成来说,其是由大小一样的数据或者大小相同的元素组成的,且连续存储,常见的访问方式为向量描述字,因为向量描述字中的地址为字节地址,所以,在进行换算过程中,首先应当进行基本地址 的相加。对于换算工作来说,主要是由硬件自动实现,在这个过程中尤其要注意对齐,以免越出数组界限。

控制器:

控制器是指按照预定顺序改变主电路或控制电路的接线和 改变电路中电阻值来控制电动机的启动、调速、制动与反向的主令装置。控制器由程序状态寄存器PSR,系统状态寄存器SSR, 程序计数器PG,指令均存器等组成,其作为“决策机构”,主要任务就是发布命令,发挥着整个计算机系统操作的协调与指挥作用。 控制的分类主要包括两种,分别为组合逻辑控制器、微程序控制器,两个部分都有各自的优点与不足。其中组合逻辑控制器结构相对较复杂,但优点是速度较快;微程序控制器设计的结构简单,但在修改一条机器指令功能中,需对微程序的全部重编。

2. 主板:

主板是电脑中各个部件工作的一个平台,它把电脑的各个部件紧密连接在一起,各个部件通过主板进行数据传输。也就是说,电脑中重要的“交通枢纽”都在主板上,它工作的稳定性影响着整机工作的稳定性。

3. 内存:

内存又叫内部存储器或者是随机存储器(RAM),分为DDR、SDRAM、ECC、REG,(但是SDRAM由于容量低,存储速度慢,稳定性差,已经被DDR淘汰了)内存属于电子式存储设备,它由电路板和芯片组成,特点是体积小,速度快,有电可存,无电清空,即电脑在开机状态时内存中可存储数据,关机后将自动清空其中的所有数据。 内存有DDR、DDR2、DDR3、DDR4三大类,容量1-256GB。

4. 硬盘:

硬盘属于外部存储器,机械硬盘由金属磁片或玻璃磁片制成,而磁片有记忆功能,所以储到磁片上的数据,不论在开机,还是关机,都不会丢失。硬盘容量很大,已达TB级,尺寸有3.5、2.5、1.8、1.0英寸等,接口有IDE、SATA、SCSI等,SATA最普遍。移动硬盘是以硬盘为存储介质,强调便携性的存储产品。市场上绝大多数的移动硬盘都是以标准硬盘为基础的,而只有很少部分的是以微型硬盘(1.8英寸硬盘等)为基础,但价格因素决定着主流移动硬盘还是以标准笔记本硬盘为基础。因为采用硬盘为存储介质,因此移动硬盘在数据的读写模式与标准IDE硬盘是相同的。移动硬盘多采用USB、IEEE1394等传输速度较快的接口,可以较高的速度与系统进行数据传输。固态硬盘用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片)组成。固态硬盘在产品外形和尺寸上也完全与普通硬盘一致但是固态硬盘比机械硬盘速度更快。

5. 显卡:

显卡在工作时与显示器配合输出图形、文字,作用是将计算机系统所需要的显示信息进行转换驱动,并向显示器提供行扫描信号,控制显示器的正确显示,是连接显示器和个人电脑主板的重要元件,是“人机对话”的重要设备之一。

6. 网卡:

网卡是工作在数据链路层的网路组件,是局域网中连接计算机和传输介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存的功能等。网卡的作用是充当电脑与网线之间的桥梁,它是用来建立局域网并连接到Internet的重要设备之一。
在整合型主板中常把声卡、显卡、网卡部分或全部集成在主板上。

7.调制解调器:

英文名为“Modem”,俗称“猫”,即调制解调器,类型有内置式和外置式,有线式和无线式。调制解调器是通过电话线上网时必不可少的设备之一。它的作用是将电脑上处理的数字信号转换成电话线传输的模拟信号。随着ADSL宽带网的普及,内置式调制解调器逐渐退出了市场。

李忠《穿越计算机的迷雾》总结

1. 从电了解计算机:

  1. 用电表示一个数字
    在机械计算机时代,人们通常用一些零件移动到合适的位置来将参与运算的数送进计算机;
    通常,用电压来表示计算机要运算的数据,计算机的数学运算功能被构造成一个类似于盒子的部件,它从外面接收一些数据,经过运算后再把它送出来,而由于很多需要运算的数字太大,所以仅仅用一根导线来表示是不够的(例如上万的数字我们就要用上万伏特的电压),所以采用多根导线来表示,且每根导线都表示数据的一个位(221 779 // 六个位,六根导线),这样,基本解决了运算数据太大的问题;这种想法最早起源于1940年,被称作模拟计算机,但是后人发现了另一种更好的方法:二进制!!

  2. 二进制
    详见C语言。。。
    十进制具有不同的位数,个位、十位、百位。。。,但是再二进制中不需要这样细分,因为二进制通常都很长,对于单个的二进制数位,他们都只有一个称呼“比特(bit)”,每个比特具有两个可能值:0 或 1 ;

  3. 用开关来表示二进制数字
    因为二进制的每个位只有两种可能性,所以用开关来表示二进制数字,断开表示0,接通表示1,所以表示一个二进制数字,有多少个位(bit),就需要多少个开关,二进制在1672 ~ 1676年间由莱布尼茨发明

2. 计算机加法:

  1. 全加器
    二进制加法要完成一系列的操作,相加、进位、处理上一列的进位,还有本位相加的数值,所以有了全加器的存在:
    在这里插入图片描述
    A 和 B 分别是来自被加数和加数的一个比特,Ci是来自右边的一列的进位,C0是本列的进位,S是本列的和。全加器解决了二进制加法中每一列的计算问题;在这里插入图片描述
    图中,参与运算的是两个二进制数:a2a1a0、b2b1b0组成他们的每一个比特都可以用开关的闭合与断开来得到。

3. 从逻辑学到逻辑电路:

1. 数字逻辑和逻辑电路
香农1916年出生在美国密歇根州,1936年在麻省理工攻读硕士期间,他像布尔把逻辑学和数学结合起来开创了数理逻辑一样,把布尔代数和电学结合起来,开创了新的领域:开关电路!
联言命题演算:相当于两个开关X和Y串联,只有两个开关都接通,电路才是连通的,任意一个断开,电路就是断开的;
选言命题演算:相当于两个开关X和Y并联,只要任何一个接通,电路就是连通的,两个都断开,电路才是断开的。
在这里插入图片描述

  • 非门:
    初始状态继电器J就控制F的开关为闭合状态,当A通电后,J便会使F为断开状态,所以输出呈现出来的状态与输入相反
    在这里插入图片描述
    简化后:
    在这里插入图片描述
  • 与门:
    在这里插入图片描述
  • 或门:
    在这里插入图片描述

4. 加法机的诞生:

  1. 全加器的构造
    在这里插入图片描述
    全加器控制的是0和1,这就和逻辑的真假非常相似了,所以有了全加器的逻辑电路实现:
    在这里插入图片描述
    2. 加法机的组成:
    把所有加法器连接在一起,封装在一起
    在这里插入图片描述
    而要使他真正的工作起来,需要用一些开关从电源取电,为他输入二进制数;
    在这里插入图片描述
    显然,整个电路使用的是同一个电源 ,电流从正极通过各个开关,且每个开关的接通和闭合决定了每个比特是 1 还是 0 ;(加法机内部的各个加法器,继电器都需要供电)
    世界上第一台能进行四则运算的计算机器于1937年诞生,发明者为乔治·斯蒂贝兹。

5. 触发器:

1. 反馈和振荡器:
这样一个电路,当接通电源时,灯泡会亮,紧接着继电器通电,又使开关断开,灯泡熄灭,继电器断电,使开关闭合,灯泡又亮,如此循环往复
在这里插入图片描述
这本质上是一个输入输出相连的非门,叫做震荡器;
非门震荡器的输出图像:
在这里插入图片描述
2. 触发器:
该电路上下对称,都是一个或门连接一个非门,且或门的输出连向另一电路的或门
在这里插入图片描述
当R闭合时,R= 1,经过非门变为0,所以Q = 0;而R = 0进入了下面电路的或门, 又经过下面电路的非门,变为 1 ,所以Q‘ = 1,此时若断开R,R = 0 ,并不会对整个电路造成影响,所以只要开始闭合R 断开S,后面再断开或合上R,对电路都没有影响;这个电路就是触发器。
触发器工作依赖于两个开关:S 和 R ,闭合一个断开另一个,总会得到两个相反的的输出Q 和 Q‘;要是断开这两个开关,取决于Q和Q’刚才处于什么状态,他们依旧保持这种状态;
2. 触发器的符号:
在这里插入图片描述

6. 几种触发器(循环移位寄存器):

1. 能保存一个比特的触发器:
触发器不同于普通电路以及逻辑门,他的输出不依赖于输入,当输入不存在时,输出依旧保持不变;这说明了触发器具有记忆功能,即,可以保存比特!!!
在这里插入图片描述
约定把Q作为触发器输出;而一个比特只需要一根导线就可以保存,但想使Q = 1 ,就要满足 S = 0,R = 1 ;所以可以引入非门:
在这里插入图片描述
使用触发器保存比特“0”的过程:
电路刚接通的时候,开关是断开的,相当于要保存一个比特 “ 0 ” ;
此时 S = 0, R = 1,Q= 0 ;
在这里插入图片描述
使用触发器保存比特“1”的过程:
按下开关,电路接通,S= 1,R = 0;Q = 1;即使开关随后会立刻断开,Q依旧保持不变
在这里插入图片描述
改良后的而触发器:
在这里插入图片描述
改良后的触发器变得可以操控了,方法为:在触发器的 S 和 R 输入端接入两个与门,然后分别把与门的一个输入共同由 “CP” 控制,这样,当CP = 0 时,无论D的输入为多少,经过与门,到达S 、 R 的都为 0 ,而只有当CP = 1 时,D的输入才会不受影响;
简而言之,就是CP为 0 ,触发器保持原数值,CP为1,触发器开始工作!
这就是D触发器!!!
dwww’w’w’w’w’w’w’w’w’w’w’d’s在这里插入图片描述
2. 边沿触发:
对于D触发器来说,控制端CP就像是门票、通行证一样,且是有时限的,期限就是CP = 1 时,当CP = 0 时,D触发器便不在工作;
也就是说,想要保存一个比特,要将其放在D端,等到CP从0变为1,再从1 变为 0,才算保存完毕。

  • 边沿触发器:
    上升沿触发器:
    D在这里插入图片描述

由两个D触发器组成,要在这个电路保存一个比特,必须先使控制端为 0,这时左边的D触发器CP = 1,在工作状态,可以保存任何比特,它很快将保存的比特传给右边的触发器,但是此时右边的触发器CP端为 0,不在工作状态,无法保存数据;

当改变控制端为1 时(此时称位上升沿),左边触发器CP端立即改变为0,退出工作状态,右边触发器立即进入工作状态,便保存了刚才左边触发器传来的比特;

此后若控制端经历下降沿,即从 0 变为 1,左边触发器回到工作状态,右边触发器停止工作,但它时D触发器!所以他仍有能力保持原有数据不变。

总的来说,上升沿触发器无论控制端是 0 还是 1 ,或是下降沿,都无法保存比特,只有经历上升沿才会保存数据。
在这里插入图片描述
3. 循环移位寄存器:
把若干个上升沿D触发器首尾相连,并把他们的CP端连在一起,这样他们便可以同时触发,当我们让初始状态最左边的上升沿D触发器保存比特1,其他的D触发器保存比特0时,按一下开关,在电路接通的瞬间,所有的触发器都会经历一个上升沿,于是他们便会将上一个触发器的输出 Q保存起来,并输出为自己的Q,一瞬间之后上升沿结束,在这一瞬间,第一个触发器的比特被存进了第二个触发器,以此类推;如果不停的按动开关,这个比特一就会在触发器之间依次传递,循环往复;这就是循环移位寄存器!
在这里插入图片描述

循环移位寄存器只是众多移位寄存器的特例,移位寄存器可以用来保存多个比特,并将这些比特顺序左移或右移,用加法机做加法时,加数和被加数的比特同时进入加法机,这称为并行
但在另一些场合,需要把二进制数按顺序拆开,然后一个比特一个比特传送,到达目的后再按原来的顺序组装,这称为串行,例如往U盘里复制资料。
为了将原本并行的数据串行的发送出去,就要用到移位寄存器。

** 4. 反复触发器(T触发器)**
起初,我们假设Q = 1,Q非 = 0,灯泡是亮着的,此时D = 0,但触发器此时并没有工作,不会保存D = 0,按下开关,CP = 1,触发器经历上升沿,开始工作,触发器保存D = 0,这会导致Q和Q非反转,Q = 0,Q非 = 1,灯泡熄灭,而当Q和Q非翻转之后,CP上升沿已经过去,触发器停止工作,下一次按下开关,Q、Q非又会翻转,灯泡再次亮起,如此反复:按下开关,灯泡两栖,再次按下,熄灭,再按,亮起。。。这便是T触发器!
在这里插入图片描述

7. 计数器:

1. 纯电子化的计算时代:

世界上第一只电子二级管发明于1904年,第三年,1906年,福雷斯特才发明了电子三极管,电子二极管和电子三极管的发明并不是为了制造计算机,他们被广泛应用于电话、电报,和无线电通信;
1936年,香农发表《继电器和开关电路的符号化分析》,但香农的工作是基础性的,数字电路的的第一个应用并不是电子计算机,而是电话交换,当电话号码拨出后,交换机就会产生一个输出,使某个继电器吸合,从而将两部电话接通;
1937年,被称为电子计算机元年,34岁的阿塔纳索夫找到了使计算机实现纯电子化运算的答案,他的核心思想是使用二进制,采用电子管进行加减乘除所需要的逻辑电路,电子管有着更优于继电器的功效,也完全涵盖了其作用,电子管在各行各业的应用如日中天;

2. 晶体管时代:

电子管虽然发挥了很大的功效,但还是具有很多缺点,体积大、昂贵、耗時、不耐用等。。。
1947年,肖克利和两名同事发明了晶体管,晶体管是电子管更好的替代品,被称为“20世纪最重要的发明”。

硅和锗
他们为半导体,用一块纯净的本征半导体,一边掺上硼,一边掺上磷,这样做之后,他的导电性获得了很大的改善,而且具有像电子二极管一样的单向导电性,因为硅和锗都是晶体,所以这个具有单向导电性的装置就叫做晶体二极管。
之后没过多久,人们便发明了发光二极管(LED);
再往后,人们发明了晶体三极管,他拥有放大的作用。
和电子管一样,晶体管也是制作逻辑门,各种触发器的好材料,且他更省电、体积更小、轻巧耐用。
但后来肖克利为人傲慢,八个徒弟集体出逃,他还公然宣称黑人的智商比白种人低20%,引起了众怒,虽然他获得了诺贝尔物理学奖,但也正如那句话“他是一个十足的天才,但也是一个十足的废物!”
在这里插入图片描述
3. 计数器:

  • 计数器的初始状态所有Q = 0,Q非=1,当第一个上升沿脉冲输入时,FF0的内部翻转,Q=1,Q非=0,输出Q4Q3Q2Q1Q0=00001;此后的下降沿脉冲并不会对T触发器造成影响,且此时FF0的Q非 = 0,使得后面的FF1的CP = 0,即不在工作状态;(上升沿输入后只有经过前一个触发器的Q非 = 1时,本触发器才进入工作状态,才有翻转资格)
  • 当第二个上升沿脉冲输入后,FF0的内部翻转,Q=0,Q非=1,输出Q0=0,而FF1的CP=FF0的Q非=1,进入工作状态,FF1内部翻转,Q=1,Q非=0,此时输出Q1=Q=1,FF2的CP = FF1的Q非 = 0,不在工作状态,总体输出为 00010;
  • 当第三个上升沿脉冲输入后,FF0的CP= 1,经历上升沿,内部翻转,Q = 1,Q非 = 0,FF1 的CP = FF0的Q非 = 0,不在工作状态,但此时FF1 的Q仍保持上一次的输出状态,即Q = 1,整体输出为00011;
  • 以此类推,就得到了二进制计数器的效果!且该计数器为五比特;
    在这里插入图片描述

8. 全自动加法器(寄存器):

1. 由寄存器构成的计算器:
寄存器通常由多个边沿D触发器组成,分别将要保存的二进制数的每个比特存在D1,D2…一旦按下保存按钮,所有触发器的CP均经历一次上升沿,进入工作状态;
在这里插入图片描述
在这里插入图片描述
将寄存器命名为RA,案件开关Kra和RA的CP端相连,当我们用左边的一排开关传入一个二进制数,按下开关,RA就会锁住这个数,同时他把这个数送到了加法器,作为第一个加数

在这里插入图片描述
但为了让计算器保存每一次计算所得输出,就需要把输出也接入寄存器前,但这种方法使得输入,被加数,等都走在一条路上,很容易崩溃,所以需要引入电子开关(传输门):
在这里插入图片描述
2. 轮流使用总线:
通过电子开关来控制每一个需要输入寄存器的线路,电子开关的学名为"传输门",打开他,信号便可以传输;如传输门GA,GB;这避免了他们的互相干扰;其中多了临时寄存器TR,他用来临时保存加法器的计算结果
在这里插入图片描述

  • 简化:
    为了简化电路,我们将刚才电路中控制每一个输入输出的开关通过某个电路连在一起;
  • 合上K装载,断开K相加,就是要装载一个数到寄存器RA中;
  • 断开K装载,合上K相加,就是要开始做加法了;
    在这里插入图片描述

9. 全自动加法计算机:

1. 存储器:

  • 存储容量最小的存储器为:上升沿D触发器,它只能存储一个比特;

当需要保存一个比特时,首先在DB上准备好这个比特,然后使W从0变为1(上升沿),便保存了该比特。而写入比特时,读取端R应保持平时的状态,传输门G是断开的;

需要输出一个比特时,只需要让R=1,使得传输门打开,Q便被送至DB总线;

写入和读取不可同时进行!
在这里插入图片描述
在这里插入图片描述

  • 可以保存多个比特二进制数的存储器:
    当要写入一个二进制数时,可以把它的每一位分别放在D1~D5,保持读线为0,通过写线发送一个上升沿;
    在这里插入图片描述

  • 当需要保存多个二进制数时,引进了新的方法,像楼层一样:
    这样便可以存储多个二进制数了,但是该怎样读取指定的二进制数呢,我们可以通过编号,来告诉存储器需要取出哪一层的二进制数,
    在这里插入图片描述

  • 引入地址译码器对指定的存储单元进行标记:
    A1,A0是用来指定存储单元的,A1A0=00为第0层,01为第2层;

    该电路还有另外两个输入:R和W,他们用于指明对所选择的地址进行读还是写;

    一旦A0和A1给出一个存储单元的地址,再结合R和W的输入情况,就能使相应的存储单元开始读或写,所以称之为“地址译码器”
    在这里插入图片描述在这里插入图片描述
    这个存储器可以任意决定访问哪个存储单元,所以通常称之为“随机访问存储器”(RAM)由于他的基本组成是触发器,所以不管它记下什么,一断电就会失去数据,属于易失性存储器。
    2. 磁芯存储器:

  • 该存储器利用了电生磁的原理,原材料为剩磁做的磁芯,不同方向的电流使磁芯磁化的方向不同,这就意味着,把一种磁化方向的磁芯看作比特0,另一种方向就是比特1,磁芯便可以保存一个二进制的比特;

  • 如图,利用驱动线向磁芯中写入一个比特0,如果磁芯中原本保存的就是比特0,那么这个写入电流不会对原有磁场产生太大影响,以至于读出线上感应出的电压很小,这表示读出的是比特0

  • 如果磁芯原本保存的是比特1,那么驱动线的写入(0)将使磁芯磁场翻转,这使得读出线上感应的电压非常大,这表示读出的是比特1;

  • 但磁芯的读出是破坏性的,因为驱动线的的读入会改变磁芯中磁化的方向,比如原本磁芯中保存的是比特1,驱动线若写入比特0,会读出比特1,但磁芯中保存的比特也由1变为0,所以就需要重新将读出来的1写回磁芯!

  • 和触发器不同,磁芯有一个优点,即使断电后,也能维持写入的数据;

  • 磁芯存储器于1949年美国华裔科学家王安申请专利,中国第一台计算机用的就是磁芯存储器。

在这里插入图片描述3. 先存储,后计算:
如图是一个存储器,地址是上一节中的地址译码器A0A1,它给存储器的每一个地址命名,存储器中存储几个我们需要的二进制数,每一个存储单元由五个读写比特的比特单元组成;
地址译码器中的A0A1由四位组成,所以需要四个开关来形成地址;
在这里插入图片描述如图,假设存储器里已经存放了五个二进制数,

  • AC是计数器,用以提供存储器的地址,又称地址计数器,一开始他的内容为0000,每次按下Kac开关,便自动加一,以得到下一个存储单元二点地址;
  • AR是一个寄存器,用来临时存放存储器的地址,称为地址寄存器;
  • Krd是给存储器发送命令的,要求它将数据送出;
  • DR为数据寄存器,用于暂存读出的二进制数,等待进一步指示;
    在这里插入图片描述简化后:
  • RR就是循环移位寄存器,每次按下开关,t0、t1、t2按顺序由比特0变为比特1;
  • 还没有按下K,电路刚启动时,t0 = 1,Iar` = 1;
  • 一旦按下K,则 Iar`和从K传来的“1”一起进入与门,使Iar = 从0翻转为1,于是地址寄存器AR将地址计数器的地址保存,并提供给存储器,而此时对于RR来说,从非门得到的是一个下降沿,所以它不会被影响;
  • 当K松开时,RR得到一个上升沿脉冲 t0 = 0,t1 = 1,因此使得Ird = Ird` = 1,存储器开始向外送出数据,但还不能被DR寄存器保存;
  • 当K第二次按下,RR经历下降沿不工作,但Idr = 1,于是寄存器DR便将存储器送出来的数据保存;
  • K再次松开,t2 = 1,Iac` =1,;
  • 第三次按下K,Iac = 1,地址计数器加一;
  • 第三次松开K,RR再循环移位一次,使得t0 = 1,这又回到了开始,如果连续按下三次,将会把存储单元里的数取出来。
    在这里插入图片描述
    在这里插入图片描述4. 半自动操作:
    在这台新的电路上,把上一章的存储器和以前的加法机合并在了一起,直接从存储器取出数据,然后再加法机进行一系列操作;
  • 总共分5个阶段:t0 ~ t3 阶段,将完成从存储器取出数据到寄存器DR中,并将地址自动加一的操作;
  • t3 和 t4 阶段,执行的功能主要取决于 K装载 和 K相加 的状态,若 K装载 = 1,K相加 = 0,则将DR的数据装载到寄存器 RA中,若相反则将DR中的数与RA中的数相加,并将结果保存在RA;
  • 具体操作:合上 K装载 ,断开 K相加 ,按五次K,然后断开 K装载,合上 K相加 ,按五次K;
  • 这已经非常符合自动化操作的要求了,这台机器也是按照不同的指令执行不同的操作,但这两个开关还是显得非常笨拙;
    在这里插入图片描述冯·诺伊曼为了简化操作,提出开关等相关操作应该由一些指令代替,也就是说,存储器里存储的内容不仅仅只有二进制了,还有一些类似于二进制的指令码:
    一条完整的指令总是以操作码开始,后面跟着操作数,而也有些指令只需要操作码就够了;
    在这里插入图片描述简化后:
  • 启动机器,随着开关K被按动,在t0 ~ t2 阶段,第一个存储单元(地址0000)里的操作码被取出,地址计数器自动加一,这个阶段称为取指令阶段;
  • 此时,第一条指令的操作码已经位于寄存器DR中了,t3阶段,Iir产生一个上升沿,使得寄存器IR将该操作码保存起来,IR是一个普通的寄存器,但专门用来保存指令,所以称为指令寄存器;
  • IR的输出直接通向译码电路EC,EC的任务是翻译当前指令,当他的输入为某个二进制时(比如10001)时,I装载 = 1,I相加 = 0,若输入为另一个二进制数(比如10010)时,I装载 = 0,I相加 = 1,对于其余任何输入,I装载和I相加都为0,所以t3称为指令译码阶段;
  • 注意:I装载和I相加对 t0 ~ t3 阶段没有任何影响,无论他们输入什么,机器所执行的都是取指令和翻译指令;
  • 该机器的第一条指令应该是装载指令,所以 I装载 = 1,而 I相加 = 0,于是从 t4 ~ t8阶段依次执行:从下一个存储单元里取数,地址计数器AC加一,把取出来的数装载到寄存器RA中;
  • 至此,第一条指令执行完毕,循环移位寄存器RR经历了一次完整的循环移位;
  • 在第二个 t0 ~ t3 阶段,将取出第二条指令(相加指令),并进行译码,使得I装载 = 0,I相加 = 1,于是在第二个t4 ~ t8阶段,将再次取数,并与RA中的数相加(结果依然返回RA中);
    在这里插入图片描述
    5. 全自动计算:
  • 将开关换做震荡器,可以不同的发出震荡脉冲;
  • 重置了译码电路EC,使它除了可以译出I装载和 I相加之外,还能译出"停机",即 I停机;
  • 平时,IHLT = 1,震荡器的脉冲可以顺利通过与门,一旦执行停机指令,则I停机 = 1,导致IHLT = 0,于是不再有震荡器脉冲到达控制器,控制器停止工作;
  • 计算机想要可靠的工作,指令的正确性至关重要,再存储器里指令和普通的二进制数,没有差别,但却有着独特的含义和用途,如果计算机执行了并非指令的"指令",指令译码器将不能输出正确的信号给控制器,整个计算机就瘫痪了;而现代计算机则会自动从这种不正常状态恢复过来!

10. 现代通用计算机:

至此,已经完成了基本计算机的雏形,他有存储器,运算器,控制器,驱动控制器的心脏:震荡器;这一切都是组成一台现代计算机必不可少的

  • 把指令放在存储器里,然后执行,这是冯·诺伊曼的主意,为此很多人称他为计算机之父,但他却说计算机的基本概念属于图灵;
  • 阿兰·图灵(1912—1954)是英国的数学家和逻辑学家...
    1. 更多指令:
  • 立即数:
    我们把装载指令的操作码定为10001,他指示了三层意思:
    第一,这是一个装载数字的指令
    第二,目的地时寄存器RA
    第三,该指令还包括一个操作数,他位于操作码后面的下一个存储单元里;
    这条指令的操作码为10001,操作数为00100,表示把数字00100装载到寄存器RA中,一旦执行这条指令,寄存器RA里的数字就是00100,换句话说,当执行该指令的时候,装载到RA的数字直接来自于指令本身,是该指令的组成部分,可以从指令中立即得到,所以称为立即数!
    装载指令被称作:传送指令.即:MOV RA,16//表示把立即数传送到寄存器RA中
  • 非立即数:
    指令中并不包含数字本身,他告诉了数字在哪:11001,他表达了三层意思:
    第一:这是个装载指令
    第二:目的地是寄存器RA
    第三:跟在操作码后面的不是一个立即数,而是另一个存储单元的地址;
    同样是装载指令,但他需要新的写法:MOV RA,(12);
  • 将寄存器RA中的数字传送到某个存储单元里,需要在指令中指定一个地址:MOV(30),20
  • 相加指令:我们以前做过的一个,寄存器RA中的数字和指令中的立即数相加,结果返回RA:ADD RA,25
    但在指令中直接指定立即数会很不方便,因为一旦数字改变,就要重写指令,而用某个存储单元的数字和寄存器RA中的数字相加: ADD RA,(12)
    如果想把结果放在存储单元中:ADD (12),RA
    存储单元中的数字亦可以和指令中的立即数相加:ADD(22),9
    2. 进位加法
    一般的,存储器的每个存储单元和寄存器具有相同的比特数,即数据宽度,比如我们5个比特,这意味着每个存储单元,以及寄存器RA,所能表达的最大的二进制数为11111,那么当执行11001 + 10110 时,结果应该是101111,结果应为六个比特,而我们的存储器只有五个比特…
    阿兰·图灵和冯·诺伊曼早就给出了答案,
    例如,把存储单元17,18里的数相加:

MOV RA,(17) 先把17存进寄存器RA
MOV (20),RA 把RA中的数据(17)取出放进20中
MOV RA,(18) 把18放进RA
ADD(20),RA  把20中的数据(17)和RA中的数据(18)相加

判断是否产生了进位来进行不同的处理,如果没有产生进位,就把19号存储单元写"0":MOV (19),0/否则写"1":MOV (19),1
把加法器的进位线拉出来,接到一个D触发器上,这样,每次计算结果出来的时候,若没有进位,则Q = 0,否则Q = 1,如图,触发器的Q通向整台计算机的控制器,对于控制器来说,这个输入称为进位标志,他和指令译码结果一起,可能改变很多指令的执行过程;
在这里插入图片描述
我们需要根据是否产生进位来跳到其他指令那里去执行:JC 51;意思是如果进位则跳转至存储器地址为51的地方接着往下执行;
如图:
一旦指令:ADD (20),RA没有产生进位,那么接下来的JC 12将什么也不做,计算机接着执行MOV (19),0,但如果产生了进位,那么将发生跳转,计算机跳转到存储地址12(即01100)那里执行指令:MOV(19),1
在这里插入图片描述
为了进位我们做了很多复杂的操作,实际上,两个数相加在很多计算机中都设计了一条带进位加法指令:ADC RA,30,这条指令的执行取决于前一条指令,如果前一条指令没有产生进位,那么他就是单纯的加法,和ADD一样,但是如果前一条指令产生了进位,那么它将RA中的内容和30相加后,还要再加上进位"1":

MOV (19),0
MOV RA,(17)
ADD RA,(18)
ADC (19),0
MOV (20),RA

3. 现代计算机的特征:

  • 字长:
    表示一台计算机在一次操作中可以处理的二进制比特数,就是每个寄存器可以保存的二进制数是几个比特,或者加法器每次计算的二进制数是几个比特,且存储器的字长 = 寄存器 = 加法器,他们能操作的二进制比特是相等的;
    在这里插入图片描述
  • 字节:
    二十世纪五十年代,有一个计算机公司决定把他们的产品设计成8位的字长,8位的字长又称为字节(byte);即一个字节等于八位(1B = 8b)

寄存器多了虽好,但这会增加计算机内部的复杂程度,需要更多的连线,传输门,更复杂的控制器,制造成本太高,所以现代寄存器内部也只有少量的寄存器;
任意两个寄存器之间,或寄存器和存储单元间,都可以互相传送数据,比如有一条指令将寄存器RC中的内容装载(复制)到RA中,再比如,可以把寄存器RB中的内容装载到存储器地址为255的存储单元里;
寄存器与寄存器间或寄存器与存储单元之间,都可以互相进行数学运算;

11. 集成电路时代:

1. 电子管和晶体管时代:
冯·诺伊曼体系:一台计算机应包括一个存储器和一个运算器,指令和数据都放在存储器里,在控制器的指挥下一条指令一条指令的自动执行;
电子管,晶体管的发明使得计算机的成长有了新的可能性,性能也得到了很大的提升,但还是显得笨拙;
2. 集成电路时代:
身高两米的温和巨人:基尔比发明了集成电路,1959年罗伯特·诺伊斯发明了新的工艺:在一块本征硅上制造大量晶体管;
在这里插入图片描述

比起晶体管,集成电路更小,更便于使用,而且耗电量更低;
磁芯曾经是制造存储器的主要材料,但集成电路的发明很快终结了磁芯的历史,晶体管是构造触发器的材料,然后大量的触发器可以形成大容量的存储器,传统上这就是静态存储器(SRAM)的制造方法;
触发器的工作速度很快,所以静态存储器一直是制造计算机存储器的首选,但5~6个晶体管才能保存1个比特,很快,有人想到了其他办法,使得存储一个比特只用一只晶体管和一个电容就可以办到;
最早的电容器是18世纪发明的莱顿瓶,人们把它看作历史上第一个电池;

  • 可以利用电容充放电的特点来保存1个二进制比特,充了电的电容相当于保存了1,没有充电则是0,这样,用一只具有开关效能的新型晶体三极管和一只电容就可以存储一个比特;
    电容在充电之后,即使放在那里不用,也会通过隔在两极间的空气或其他介质慢慢放电,这称位泄漏,但由于晶体管和电容可以做的非常微小,这样就能得到密度和容量很大的集成电路存储器,而且成本低,但这样微小的电容器泄漏的极快,通常会在几十个毫秒内漏的一干二净,由于这种原因,这种存储器必须以极快的速度重写,这称位刷新,该存储器称为:动态存储器(DRAM);
  • ROM只读存储器:
    半导体存储器除了RAM,还有ROM,意思是只读存储器,除了无法把数据写入每个存储单元以外,它和RAM一样,可以通过给出地址而读出任一个存储单元的内容;
    ROM只读存储器最大的优势在于可以一直维持他所保存的内容,即使去掉电源之后也是这样。但是,如果既能在不需要电源的情况下不丢失数据,又 能在需要的时候擦掉重写,可能更符合人的心意,所以只读存储器一直也在发展变化之 中。最早的只读存储器是永久不能擦除重写的,它的内容在当初制造的时候就已经固化到里面了。很显然,如果用户买回来之后想自己往里面存储一些数据,就无能为力了。所以后来又发展出可编程只读存储器,用户可以根据自己的要求,对里面的内容重写一次。再往后,又发展出可擦除可编程只读存储器,可以根据自己的需要随时擦除重写,写完之后照样不会因为断电而丢失数据。这种只读存储器的一个典型产品是快闪存储器,从MP3播放器到手机里的存储卡,或者是你手中的U盘,用的都是这种材料。
  • ROM代替逻辑门
    传统上,所有的逻辑电路都是由与或非门构建的,而对于一个特定的逻辑电路来说,每一组输入都会都会在另一端产生设计好的期望的输出,如果把所有不同的输入看作存储器的地址,同时把对应的输出固化在存储单元里,就可以取代传统的逻辑电路;

用ROM来实现全加器的功能,最早控制器全部采用逻辑门搭建而成,后来很多计算机舍弃这种方法,转而采用ROM,也就是"微代码ROM",这样做的好处是,即使计算机的设计发生了很大的变化,也能很方便的修改它的功能;
在这里插入图片描述

  • 现代计算机控制器:
    硬件就是制造出来并定型的逻辑门组合,软件就是驱动这些硬件的指令;
    在这里插入图片描述
  • CPU:
    存储器被集成化后,人们把运算器和控制器也集成到了一个单独的芯片里,这就是微处理器;
    它需要向外部提供一些地址引线和数据引线,还有控制信号线,但他没有自己的震荡器,所以它需要从外部引进时钟信号;
    在这里插入图片描述
    3. 流水线和高速缓存技术:
  • 流水线技术:
    假定有一个字节的数据X需要用两个步骤加工成Z:
    再假设数据通过这两个逻辑电路都需要50皮秒,那么从X到Z的整个传输延迟就是100皮秒,而且在数据加工期间,X必须一直保存,直到100皮秒后,Z出现在右端,然后X才允许换上新的数据开始下一轮加工,只有这样才能确保输出Z是稳定的;
    这意味着,每个X的加工时间都是100 皮秒,同时也意味着,每隔100 皮秒,才有一个Z输出;
    在这里插入图片描述
    为了改善加工速度,应用了流水线,每一次对X的加工后的结果用寄存器保存,这样,在逻辑电路1加工完X后,就会被寄存器保存,逻辑电路1就成为空闲状态,而输入X也可以在逻辑电路2启动的同时输入新的数据并由逻辑电路1加工,同理,当第一个X的加工结果出现在寄存器B时,第二个X正在被第二级加工,第三个X正在被第一级加工,这样尽管每个X的加工时间不变,还是100皮秒,但是我们却可以每隔50皮秒就能在寄存器B得到一个新的Z,而以前却是100皮秒;
    在这里插入图片描述
    为了在处理器中使用流水线技术,可以将整个指令的执行过程分为三级:取指令,译码和执行,让他们重叠执行;使用流水线技术,现代计算机可以改进其设计和结构,允许在一个时钟周期内运行多条指令,着称为超标量体系结构;
  • 高速缓存技术:
    也是用来平衡处理器和内存速度的手段;
    这种技术基于计算机运行的一个特点:局部性:就是程序在被执行的过程中常常会访问最近刚访问过的数据,或者该位置附近的数据;
    SRAM的优点是速度快,但是制造成本太高,通常不做内存使用,基于局部性原理,可以在处理器和内存之间放置一小块SRAM,当处理器从一个新的内存地址开始执行时,将那一整片的东西都搬到这块SRAM中,这样一来,如果下次要访问的内容正好在SRAM中,就不需要再内存中去找了,从而节省了时间;这一小块SRAM就是高速缓存;
    直观上来讲,高速缓存像两个表格,第一个表格存放的是从内存取出来的一块块数据,第二个表格存放的是每一个数据块所在的地址;
    高速缓存有一个控制器,即途中所示的Cache控制器,平时中央处理器送出地址,要从内存中取数据时,控制器把该地址和高速缓存中的地址进行比较,如果要取的数据刚好在高速缓存中,称为命中,处理器可以直接拿到数据;
    若不在称为不中,这种情况下,处理器需要重新装载高速缓存,装载也需要时;
    高速缓存能否大幅度提升计算机的性能和速度,取决于命中的概率,命中率受很多因素影响,包括高速缓存的设计和软件的编写技巧;
    在这里插入图片描述

计算机疑难知识点

1. 寄存器和存储器:

1. 寄存器:
寄存器是中央处理器内的组成部份。它跟CPU有关。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。
寄存器的基本单元是D触发器,按照用途分为基本寄存器和移位寄存器

不同的寄存器有不同的作用,如:通用寄存器(GR)用以存放操作数、操作数的地址或中间结果;指令寄存器(IR)用以存放当前正在执行的指令,以便在指令执行的过程中,控制完成一条指令的全部功能。

CPU计算时,先预先把要用的数据从硬盘读到内存,然后再把即将要用的数据读到寄存器。最理想的情况就是CPU所有的数据都能从寄存器里读到,这样读写速度就快,如果寄存器里没有要用的数据,就要从内存甚至硬盘里面读,那样读写数据占的时间就比CPU运算的时间还多的多。

特点:
①寄存器位于CPU内部,数量很少,仅十四个
②寄存器所能存储的数据不一定是8比特,有一些寄存器可以存储32比特数据
③每一个内部寄存器都有一个名字,而没有类似存储器的地址编号;

用途:
①可将寄存器内的数据执行算数及逻辑运算
②存于寄存器内的地址可用来指向内存的某个位置,即寻址
③可以用来读写数据到电脑的周边设备
2. 存储器:
构成存储器的存储介质为存储元,他可以存储一个二进制代码,由若干个存储元组成一个存储单元,然后再由许多存储单元组成存储器,每个存储单元可存放一个字节(按字节编址),每个存储单元的位置都有一个编号,即地址,一般用十六进制表示, 存储器范围最大,它几乎涵盖了所有关于存储的范畴。你所说的寄存器,内存,都是存储器里面的一种。凡是有存储能力的硬件,都可以称之为存储器,这是自然,硬盘更加明显了,它归入外存储器行列,由此可见。
3. 寄存器和存储器的区别:

  1. 寄存器存在于CPU,速度很快,数目有限;
    存储器就是内存,速度稍慢,但数量很大;
    计算机做运算时,必须将数据读入寄存器才算运算;
  2. 存储器包括寄存器,存储器有ROM和RAM;
  3. 存储器在CPU外,一般指硬盘,U盘等,可以在切断电源后保存资料,容量一般较大,缺点是读写速度都很慢,普通的机械硬盘读写速度一般在50MB/S左右; 内存和寄存器就是为了解决存储器读写速度慢而产生的多级存储机制,从20世纪50年代开始,磁芯存储器曾一度成为主存的主要存储介质,但从20世纪70年代开始,逐步被半导体存储器所取代,目前的计算机都是用半导体存储器。现在的DDR2内存的读写速度一般为6~8GB/S,跟机器性能也有关系。
  4. 寄存器(又称缓存)一般是指由基本的RS触发器结构衍生出来的D触发器,就是一些整合在与非门构成的结构;
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值