计算机组成原理
计算机系统概述
计算机如今广泛存在于我们的身边,小到单片机手机,大到超算
在进行学习之前,先对刘琉球学长之前讲过的知识进行一次回忆
计算机之父
提到计算机之父,我们通常可以想到两个人,艾伦·麦席森·图灵与冯诺依曼,。他们二人各有贡献,缺一不可。
首先是艾伦·麦席森·图灵,他在计算机界有着举足轻重的作用,如今计算机界至高奖项为图灵奖,他提出了图灵机,图灵机是最早的一种计算机,虽然是个理论模型,但其确实可以实现很多的算法功能,它的结构较为完整,与当代计算机的组成有一定的相似性:
1.一条无限长的纸带 TAPE。纸带被划分为一个接一个的小格子,每个格子上包含一个来自有限字母表的符号,字母表中有一个特殊的符号 表示空白。纸带上的格子从左到右依此被编号为 0,1,2,… ,纸带的右端可以无限伸展。
2.一个读写头 HEAD。该读写头可以在纸带上左右移动,它能读出当前所指的格子上的符号,并能改变当前格子上的符号。
3.一套控制规则 TABLE。它根据当前机器所处的状态以及当前读写头所指的格子上的符号来确定读写头下一步的动作,并改变状态寄存器的值,令机器进入一个新的状态。
4.一个状态寄存器。它用来保存图灵机当前所处的状态。图灵机的所有可能状态的数目是有限的,并且有一个特殊的状态,称为停机状态。
接下来是冯诺依曼,他真正制造出了第一台计算机,将图灵机变成现实,提出了冯诺依曼结构
其由五个部分组成: 运算器 、 控制器 、 存储器 、 输入设备 、 输出设备
图灵机纸带应对应诺依曼计算机体系中的存储器,读写头对应输入和输出设备,规则对应运算器,纸带怎么移动对应控制器
[1]什么是计算机系统?
计算机系统简单来说就是软件+硬件
硬件:计算机的实体,如主机,外设等
软件:程序
计算机性能取决于”软“件+”硬“件的性能总和
[2]软件
<1>系统软件
用来管理整个计算机系统
e g:操作系缆数据库管理系统(DBMS)、标准程序库网络软件、语言处理程序、服务程序
<2>应用软件
按照任务需要编制成的各种程序
e g:各种应用软件如微信,淘宝
<3>计算机语言
机器语言:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指指令系统令的集合。
计算机发展早期程序员们将用0, 1数字编成的程序代码打在纸带或卡片上,1打孔,0不打孔,再将程序通过纸带机或卡片机输入计算机,进行运算。
如今我们利用高低电平来区分 0 和 1,让计算机能够识别 。
计算机语言的发展经历了面向机器的机器语言和汇编语言、面向问题的高级语言。其中高级语言的发展真正促进了软件的发展,它经历了从科学计算和工程计算的 FORTRAN、结构化程序设计的 PASCAL到面向对象的C++和适应网络环境的Java。
注:同时,直接影响计算机系统性能提升的各种系统软件也有了长足的发展,特别是操作系统,如 Windows、UNIX、 Linux等。
[3]硬件
硬件是计算机组成原理中最重要的部分,说到这就不得不提到计算机历史
第一台电子数字计算机:1946年 E N I A C 诞生:
由计算机之父冯诺依曼
占地面积约170平方米
耗电量150千瓦
运算速度:5000次加法/秒
有趣的是,一开始的计算机利用的外存是穿孔的纸带,通过是否打孔代表 0 1 ,难免会遇到虫子,所以bug就成为了错误的代名词并沿用至今
年份 | 事件 |
---|---|
1947年 | 贝尔实验室晶体管之父:肖克利(1956年诺贝尔物理学奖得主)发明了“晶体管 |
1957年 | "八叛徒"创立了仙童半导体 |
1959年 | 仙童半导体发明了“集成电路” |
1968年 | 摩尔离开仙童,创立intel |
1969年 | 仙童销售部负责人桑德斯离开仙童,创立AMD |
由以上图片可以看到计算机的我逻辑元件的一步步提升
此外还有由Intel的创始人摩尔提出的摩尔定律:集成电路上的晶体管数量每18月就会翻一翻,所以每18月计算机的处理效率就会提高一倍。
早期使用继电器为机械继电器
真空管出现,由机械走向电子
晶体管出现,走向现代化
[4]为什么是二进制
二进制在计算机领域的运用甚广,可是在日常生活中我们使用的明明是十进制,为什么计算机要使用二进制呢,十进制岂不是更符合我们的使用习惯吗?
前面我们提到,处理信号我们使用开关为晶体管,让电信号传递信息来控制,如果电信号代表的太多,比如5种信号,那么区分它们真的太难太难,在探索过程中,一门数学分支解决了这个问题,只用开关两种操作,非常简洁明了,刚好达到理想的效果
布尔代数,运算的元素只有两个 1 (TRUE, 真) 和 0 (FALSE, 假)。 基本的运算只有**“与” (AND)、“或” (OR) 和“非” (NOT)** 三种,可以非常巧妙的用晶体管来实现,由此,由二进制作为信号传递的方式解决了各种不适配的问题,成为了计算机界的宠儿