挑战408——组成原理(1)——看看我们要学什么

计算机的发展历程

我一直觉得,要想深入理解,学习一门课程,就必须了解一下它的发展史,尤其是计算机发展对比其他的专业来说可以说是相当的晚了。才100多年历史。所以有机会我一定要好好看看这100年计算机都发生了什么。 言归正传。世界上第一台计算机是1946年在美国诞生的ENIAC。1945年,冯诺依曼提出了存储程序的思想:必须将事先编好的原始程序和数据一同送入主存后,才能执行程序,一旦程序被执行,计算机能在无须人工操作的干预下,自动完成逐条取出指令,并执行的任务。 1965年,Intle公司的缔造者Gordon提出,“微芯片上的集成的晶体管数目,每三年番2倍”的规律,这就是著名的摩尔定律

硬件发展带来的问题

微处理器的发展,几乎每3年,处理器的性能就提高4—5倍,但计算机上的一些其他部位性能提高的速度达不到该水平 。影响不同部件性能不匹配的主要处理因素为CPU与主存间接口和CPU与外设的接口问题,具体体现在:

  • CPU与主存之间:是整个计算机最重要的通路,负责在主存和处理器之间传送指令和数据。试想如果与CPU之间的数据传送跟不上CPU的要求,那么CPU就会处于等待状态。一般的我们采取如下方式进行处理:
    • 加宽数据总线的宽度(道路太挤,扩宽一下)
    • 在两者之间设置高速缓存(Cache,先给CPU提前准备好原料),并发展为片内缓存和分级缓存。
    • 利用高速连接总线和分层总线,来缓冲和分流数据。以提高处理器与存储器之间的连接宽带。
  • CPU与外设之间的接口:常见的处理方式:
    • 加入缓冲机制
    • 用高速互连总线以及更快的总线结构来解决。

这些问题都是硬件发展中带来的问题,也是这门课程重点讨论的问题。下面介绍一下软件的发展历程。个人认为仅做了解即可。

软件的发展

软件技术的发展主要体现在编程语言之间的进步。编程语言大致经历了如下的阶段:
机器语言(0 1 代码)——>汇编语言(与机器语言对应)——>高级语言(C++,JAVA)
而高级语言不能直接运行,而是需要由程序翻译成机器语言,所以将高级语言程序翻译为机器语言程序的软件,称为翻译程序。而翻译程序又根据翻译形式的不同,分为两种形式:

  • 编译程序:先把所有的程序都全部翻译完,再执行
  • 解释程序:翻译一次,执行一次,边翻译边执行
计算机系统的层次结构

先上图:
在这里插入图片描述
说白了,这个体系就分为两个部分,软件范围(M4 - M 2)和硬件范围(M1-M0).而软件与硬件之间需要有一个桥梁,以便软件和硬件能相互合作,交互。这个桥梁位于 M2和M1之间,这个桥梁称为指令集体结构(ISA)。也就是说,软件与硬件的交互是通过指令来进行的。
典型的冯诺依曼体系结构及其特点
在这里插入图片描述

  1. 机器以运算器为中心。I/O设备与存储器之间的数据传送通过运算器完成
  2. 计算机由运算器,控制器,存储器,I/O设备 五大部件组成。
  3. 指令和数据地位相同,按地址访问,按顺序存放

这门课程就是以2为主线,讲解计算机的组成原理的。

计算机软件的分类

一般的我们将计算机软件分为:系统软件和应用软件。其中系统软件包括操作系统,数据库管理系统,语言处理系统等等。

计算机的性能指标

机器字长:指CPU一次能处理的数据的位数。字长越长,数的表示范围越大,精度越高
存储容量:包括主存和辅存容量。具体的到讲了存储器再说。
运算速度:
MIPS:单位时间内执行指令的平均条数
CPI:执行一条指令所需要的时钟周期
FLOPS:每秒的浮点数运算的次数
最常见的问题:指令和数据如何区分?


修订记录

  • 2022-09-01 16:48:04
    修改格式,核定内容
  • 2019-10-18 08:50:03
    发布文章
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值