01.计算机组成原理 概述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
计算机硬件唯一识别的数据  0/1,用高电平和低电平来区分01
 
问题:
数字、文字、图像如何用二进制表示?
CPU如何对二进制进行加减乘除
如何存储这些二进制数据?
如何从内存中取出想要的数据?
CPU如何识别和执行我们的程序?
 
计算机组成原理
 
1.计算机的发展
 
计算机系统=硬件+软件
硬件:物理基础,计算机性能的天花板
软件: 性能 系统软件(OS、DBMS、标准程序库、网络软件、预言处理程序、汇编程序)和应用软件
 
 
硬件的发展历程:
     发展阶段    逻辑元件 代表作  速度  内存  外存   编程语言   特点                           备注
Gen1:电子管时代  电子管   ENIAC    慢                机器语言   体积大、耗电高、计算速度慢     计算机纸带上有虫子:bug
Gen2:            晶体管                                         比电子管体积小                 出现操作系统FORTRAN
Gen3:中小规模集成电路                   半导体存储器
Gen4:大规模集成电路                     半导体存储器                                          微处理器 PC 微型计算机
 
 
摩尔定律:
    集成电路上可容纳的晶体管数目大约每18月增加一倍,换言之,处理器的性能每两年翻一倍。
 
软件的发展:
    机器语言
    汇编语言
    高级语言
     
发展趋势:微型化 网络化 高性能  多用途 智能化 超高速
 
2.计算机硬件的基本组成
 
冯诺依曼结构:
    EDVAC  
    以运算器为核心 
    五大部件:输入设备、输出设备、 存储器、运算器、控制器
    指令和数据以同等地位存储于存储器,可按地址寻访
    指令和数据都是二进制来存储的
    指令由操作码和地址码组成   操作码:+-*/  地址码:数据所在的地址
    存储程序   
现代计算机结构:
    以存储器为核心
    CPU = 运算器+控制器  四大部件:主机(CPU+主存)+I/O (辅助存储+IO)
     
3.主存储器的基本组成
 
    主存储器=存储体+MAR+MDR
    菜鸟驿站=货架+店员+柜台
     
    二者一一对应。
     
    存储单元:每个存储单元存放一串二进制代码。 MAR=4位,则存储单元的个数=24次方
    存储字:存储单元中二进制代码的组合。
    存储字长:存储单元中二进制代码的位数。   MDR=16位,则存储字长 word=16bit
    存储元:每个存储元可存1个bit
    B:Byte  b:bit  1B=8bit    100M的宽带:是100Mbps的宽带。下载器是B为下载单位,所以下载速度大概是100Mb/8=12MB
      
4.运算器的基本组成
    用于实现算术运算、逻辑运算的部件
     
    ACC:累加器  存储操作数和结果
    MQ:乘商计算器  存储操作数和结果
    X:通用计算器
    ALU:算术逻辑单元,核心部件。实现算术运算和逻辑运算。
     
5.控制器:
    CU:控制单元,分析指令,给出控制信号。Control Unit
    IR:指令寄存器,存放当前执行的指令。Instruction Register
    PC:程序计数器,存放下一条指令的地址,自动+1的功能 Program Counter
     
    完成一条指令:取指令,分析指令,执行指令。取指阶段,执行阶段。
6.计算机工作过程:
    前提: 
    1.高级语言 经过编译 装入主存。
    2.指令:操作码+地址码
     
    开始执行:
    初:(PC)=0,指向第一条指令的存储地址。
    #1:(PC)->MAR,导致(MAR)=0
    #3:M(MAR)->MDR,导致(MDR)=000001 000000101
    #4: 通过数据总线,(MDR)-> IR,导致(IR)= 000001 000000101
    #5:指令的操作码送到CU,CU得知后是取数的指令,然后去取数放入MDR
    MDR再放入ACC,完成后PC=+1 
    其他步骤类似。
原文地址:https://www.cnblogs.com/wanyp/p/14886507.html