当前位置: 首页 > article >正文

第1章计算机系统概论

1.1计算机系统简介

1.1.1 计算机软、硬件的概念

硬件:计算机的实体部分,看得见摸得着的各种电子元器件。

软件:由实现编制的具有各类特殊功能的程序组成,看不见摸不着。

1.1.2 计算机系统的层次结构

1.现代计算机的解题步骤:

2.计算机系统的层次结构:

一级层次:早期计算机只有机器语言(即用0、1代码表示的语言),用户必须用二进制0、1代码来编写程序(即机器语言)。

二级层次:符号式的程序设计语言,即汇编语言。它用符号ADD、SUB、MUL、DIV等分别表示作加、减、乘、除等操作,并用符号表示指令或数据所在存储空间的地址。

三级层次:高级语言,接近于人们使用习惯的语言,如FORTRAN、BASIC、PASCAL、C等。

四级层次:由于软件的发展,使实际机器M1向上延申构成了各种虚拟机器。

M1机器内部也可向下延申而形成下一级的微程序机器M0。

M0机器是直接将M1机器中每一条机器指令翻译成一组微指令,即构成一个微程序。

实际上,在实际机器M1与虚拟机器M2之间,还有一级虚拟机器,它是由操作系统软件构成的。

1.1.3 计算机体系结构和计算机组成

计算机体系结构(有无乘法指令):程序员所见到的计算机系统的属性,概念性的结构与功能特性(指令系统、数据类型、寻址技术、I/O机理)

计算机组成(如何实现乘法指令):实现计算机体系结构所体现的属性(具体指令的实现)

1.2 计算机的基本组成

1.2.1冯.诺伊曼型计算机

冯.诺伊曼提出了“存储程序”和“采用二进制编码”的思想、新型计算机五大组成部件和逻辑设计。

现代计算机都是建在冯.诺伊曼提出的“存储程序”和“程序控制”的理论基础上的。其特点是:

.计算机由五大部件组成

.指令和数据以同等地位存于存储器内,并可按地址寻访

.指令和数据用二进制表示

.指令由操作码和地址码组成

.指令按顺序存放,自动执行

.以运算器为中心

1.2.2计算机的硬件框图

冯.诺伊曼计算机硬件框图—以运算器为中心

输入设备:将信息转换成机器能识别的形式

输出设备:将结果转换成人们熟悉的形式

存储器:存放数据和程序

控制器:指挥程序运行

运算器:算数运算、逻辑运算

现代计算器硬件框图--以存储器为中心

现代计算机组成框图

现代计算机可认为由三大部分组成:CPU、I/O设备、主存储器MM(Main Memory) 。

CPU与MM合起来又可称作主机,I/O设备可叫做外部设备。

1.2.3计算机的工作步骤

1.上机前的准备

.建立数学模型

.确定计算方法

.编制解题程序

编程举例:计算a*x2+bx+c程序清单:

2.计算机的工作过程

ALU:Arithmetic logic unit ,算术逻辑单元

ACC:Accumulator,累加器

MQ:multiplier-quotient register,乘商寄存器

CU:Control Unit,控制单元

IR:Instruction Register,指令寄存器

PC:Program Counter,程序计数器

MAR: Memory Address Register,存储器地址寄存器

MDR:Memory Data Register,存储器数据寄存器

  1. 存储器的基本组成

存储体——存储单元——存储元件(0/1)

大楼——房间——床位(无人/有人)

.存储单元:存放一串二进制代码

.存储字:存储单元中二进制代码的组合

.存储字长:存储单元中的二进制代码的位数

.按地址寻访:每一个存储单元赋予一个地址号

MAR:存储器地址寄存器,反应存储单元的个数

MDR:存储器数据寄存器,反应存储字长

设 MAR=4位,MDR=8位

存储单元个数24,存储字长8

2.运算器的基本组成和操作过程

.包括3个寄存器(现代计算机内部往往设有通用寄存器组)和1个算术逻辑单元(ALU)

.ACC:累加器,MQ:乘商寄存器,X:操作数寄存器

.不同的运算,所存放的操作数类别各不相同

.加法操作过程

.减法操作过程

.乘法操作过程

.除法操作过程

  1. 控制器的基本组成

  1. 主机完成一条指令的过程   

. 以取数指令为例

. 以存数指令为例

1.3 计算机硬件的主要技术指标

1.3.1机器字长

.CPU一次能处理数据的位数,与CPU中的寄存器位数有关。

.字长越长,数的表示范围也越大,精度也越高。

.机器字长也会影响机器的运算速度。如果CPU字长较短,又要运算位数较多的数据,需要经过两次或多次的运算才能完成,这样势必影响整机的运行速度。

.机器字长对硬件的造价也有较大的影响。

.直接影响加法器(或ALU)、数据总线以及存储字长的位数。

.机器字长的确定不能单从精度和数的表示范围来考虑。

1.3.2存储容量

.存放二进制信息的总数量

1.3.3运算速度

普通法

.用完成一次加法或乘法所需要的时间来衡量运算速度(早期使用、不合理

吉普森(Gibson)法 

.综合考虑每条指令的执行时间以及它们在全部操作中所占的百分比

.TM为机器运行速度

.fi为第i种指令占全部操作的百分比数

.ti为第i种指令的执行时间

现代计算机的运行速度

CPI:Cycle Per Instruction,执行一条指令所需要的时钟周期数

MIPS:Million Instructions Per Second,每秒执行的百万条指令数

主频:每秒的时钟频率,即每秒产生多少时钟周期数

MIPS:主频/CPI

CPU的性能(CPU执行时间)取决于三要素:主频、CPI、指令条数

CPU执行时间=CPU的时钟周期数/主频=指令条数*CPI/主频


http://www.kler.cn/a/408478.html

相关文章:

  • java @Override 详解
  • 【视频】二维码识别:libzbar-dev、zbar-tools(zbarimg )
  • 力扣.5.最长回文子串力扣.14最长公共前缀力扣219.存在重复元素II力扣.67二进制求和
  • Android mk/bp构建工具介绍
  • 【终端美化】Ubuntu 下 Zsh 与 Oh-My-Zsh 美化与插件配置指南
  • 软件工程导论 选填题知识点总结
  • 基于Java Springboot高校体育运动会比赛系统
  • leetcode 排序算法汇总
  • 对sklearn库中的鸢尾花数据集内容和结构的详解认识和load_iris()函数查找学习举例
  • 瀚海微SD NAND之SD 协议(34)1.8V信号的时序
  • MYSQL-查看存储过程状态和基本信息语法(二十八)
  • docker使用阿里云容器镜像服务下载公共镜像
  • java抽奖系统(二)
  • java 二分查找 方法 详解
  • 一文学会Golang里拼接字符串的6种方式(性能对比)
  • 【jvm】java对象头
  • C指针之舞——指针探秘之旅(2)
  • CentOS 7安装SSHFS 实现远程主机目录 挂载为本地目录
  • 计网-命令行实现收发邮件
  • 【算法】BFS解决最短路径问题
  • Python脚本消费多个Kafka topic
  • WebStorm 2024.3/IntelliJ IDEA 2024.3出现elementUI提示未知 HTML 标记、组件引用爆红等问题处理
  • Spring Boot OA管理系统:提升企业运营效率
  • 【Stable Diffusion】 超大尺寸绘制、分区控制,详解Tiled Diffusion VAE插件功能
  • 人工智能大趋势下软件开发的未来
  • 【论文复现】BERT模型解读与简单任务实现