第一章 计算机系统概论
1.1计算机系统简介
前言:
-
1964年 美国 ENIAC 电子管
-
1946-1957 电子管
-
1958-1964 晶体管
-
1965-1971 中小规模集成电路
-
1971 微处理芯片
-
1970 存储芯片
-
Moore定律:微芯片上集成的晶体管数目每三年翻两番
一、计算机系统:硬件+软件
1.软件:
(1)系统软件:用来管理整个计算机系统:语言处理程序,操作系统,服务性程序、数据库管理系统、网络软件
(2)应用软件:按任务需要编制成各种程序
(3)计算机解题过程:高级语言程序---->翻译(编译-链接)-->目标程序(exe)--->运行-->结果
ps:语言处理程序:将汇编语言翻译成机器语言的汇编程序,或将高级语言翻译成机器语言的编译语言
2.固件:
(1)指那些存储在能永久保存信息的器件(如ROM)中的程序,是具有软件功能的硬件。
(2)固件的性能指标介于硬件与软件之间,吸收了软、硬件各自的优点,其执行速度快于软件,灵活性优于硬件,是软、硬件结合的产物。
二、计算机系统的层次结构
1.软件:
(1)高级语言:用编译程序翻译成汇编语言程序
(2)汇编语言:用汇编程序翻译成机器语言程序
(3)操作系统:用机器语言解释操作系统,介于软件与硬件之间
2.硬件:
(1)机器语言:用微指令解释机器指令,计算机只能执行机器指令
(2)微指令系统:用硬件直接执行微指令(在组合逻辑电路中控制开关)
3.控制器的实现方式:组合逻辑(采用此方法到机器语言就完事)或微程序
三、计算机体系结构和计算机组成
1.计算机体系结构:指令系统、数据类型、寻址技术、I/O机理---有无乘法指令
2.计算机组成:具体指令的实现---如何实现乘法指令
1.2计算机的基本组成
一、冯·诺依曼计算机的特点
(1)计算机有五大部件组成:输入、输出、存储、运算、控制
(2)指令和数据以同等地位存于存储器,可按地址寻址
(3)指令和数据用二进制表示
(4)指令由操作码和地址码组成
(5)存储程序:指令数据先存储,后结合CPU执行
(6)以运算器为中心
1.1 冯·诺依曼计算机硬件框图
二、计算机硬件框图
1.以存储器为中心的硬件框图
1.2 以存储器为中心的硬件框图
减少了运算器在运算的时候对输入设备的等待,以及运算器输出的时间
2.现代计算机硬件框图
1.3 现代计算机硬件框图
(1)主存:内存。
(2)辅存:外存,硬盘。
(3)内存与CPU的数据流动是双向的,CPU与I/O设备的数据流动也是双向的;
(4)蓝色箭头代表:I/O对CPU有一个反馈信息
3.指令格式
6 10
(1)ACC : 累加器
(2)RTL级描述:寄存器转换语言来进行描述
(3)指令长度:16bit
(4)操作码必须有,地址码可以为空。
4.计算机的解题过程
(一)存储器的基本组成
(1)机器字长:CPU中在同一时间内一次能够处理的二进制的位数,即:运算器中参加的寄存器的位数(能存几个二进制的数)
(2)指令字长:一条指令的二进制代码位数。有定长和不定长两种。
(3)MAR:存储器地址寄存器,反映存储单元的个数。(address)
(4)MDR:存储器数据寄存器,反映存储字长。(data)
(5)存储容量:存放二进制信息的总位数。
例:设MAR=4位,MDR=8位;
则存储单元有2^4个,存储字长为8。存储容量大小为:2^4*8=128bit=16B
(二)运算器的基本组成及操作过程
MQ:乘商寄存器
ACC:只能放一位
(1)加法操作过程
(2)减法操作过程
(3)乘法操作过程
(4)除法操作过程
(三)控制器基本组成
(1)IR:指令寄存器
(2)PC:程序计数器
(四)主机完成一条指令的过程
例如:ax^2+bx+c
-
将程序通过输入送至计算机;
-
程序首地址 PC;
-
启动运行程序;
-
取指令:PC--->MAR--->M--->MDR--->IR; (PC+1)--->PC ;
-
分析指令:OP(IR)--->CU ;
-
执行指令:Ad(IR)--->MAR--->M--->MDR--->ACC ;
……
-
打印结果 ;
-
停机 ;
1.3计算机硬件的主要技术指标
注:
(1)主频G:1.2G=1.2*10^9,此处主频G与10有关的,与总线频率一样,其单位是Hz(赫兹)
(2)主频:1秒钟有多少脉冲信号,也可以说是1秒钟有多少时钟周期数;
(3)时钟周期:一个脉冲有多长;时钟周期 = 1秒/1G=1*10^9=1ns(纳秒)
(4)吉普森法:基本没有考过,了解。
(5)此处的MIPS不是MIPS指令集
(6)根据平均CPI,MIPS=G(MHz) / CPI ;(1MHz=10^6赫兹=百万条指令)
(7)程序执行时间 = P(指令的条数) * CPI / G
Pa = 指令条数 * CPIa / Ga =10s
Pb= 指令条数 * CPIb / Gb =6s ----------------->Gb = 800MHz
CPIb =1.2*CPIa
Ga=400MHz
注:单纯的提高机器上的主频,不一定提高运行速度。
至此第一章总结完毕,欢迎大家挑错。