计算机导论复习
前言
自己做学习总结总是半途而废,看了写博客做每日视频的up就觉得写博客也许会更用动力吧,可能会有有人监督的感觉,毕竟网友无处不在,所以就决定用博客学习,同时将代码学习的代码写在github上
第一章计算机基础
课本从计算机的由来讲起,首先讲述了“算法的作用/The role of algorithms”。Algorithms is the most fundamental concept of computer science。一组算法就是定义一个task执行的步骤,在计算机上perform a task,需要这个任务的算法,且算法要被表示成这台计算机可以兼容1的形式。A representation of an algorithm is called a program。软件与硬件,我认为计算机未启动时,能看到的部分叫硬件,即机器本身,一定要启动后才能看到的部分叫软件。
计算机的发展就是人们追求更加卓越的计算能力与信息保存方式的过程。The abacus was one of the most earlier computing device.这时的算盘已经是一个数据存储系统,它是世界上第一种手动式计数器;然后1622年出现了计算尺,可以执行加、减、乘、除、指数、三角函数等运算,它一直沿用到了计算器的出现;1642年出现了加法器,1673年计算器,1812年的差分机,时间推移到1834年,分析机出现,它体现出了现代电子计算机的结构、设计思想,因此被称为现代通用计算机的雏形。
随着电子技术的发展,电子计算机问世,在德国图灵提出了图灵机模型,奠定了可计算性理论基础后,1946年第一台计算机ENIAC2但是它有两大缺点:1.没有储存器;2.用布线板进行控制,甚至要搭接几天,计算速度也就被繁重的工作抵消了。但是冯·诺伊曼体系结构计算机EDVAC3解决了ENIAC存在的问题,为现代计算机在体系结构和工作原理上奠定了基础。
主要思想:
1.采用二进制表示数据
2.“储存程序”,程序和数据一起放在内存中,计算机按照程序顺序执行
3.由五部分组成:运算器、控制器、储存器、输入设备、输出设备
世界上第一台商用计算机是UNIVAC。
计算机到现在一共经历了4代:
1.使用电子管4和磁芯存储器
2.使用晶体管5和磁芯存储器
3.使用集成电路(IC)6和磁芯存储器
4.使用大规模集成电路或超大规模集成电路和半导体存储器
计算机分为:
1.高性能计算机
指目前运行速度最快、处理能力最强的计算机
2.微型计算机(PC)
桌面型计算机笔记本电脑平板电脑
3.工作站
一种高端的通用型微信计算机拥有更强的图形处理和任务并行能力
4.服务器
WebFTP文件服务器数据库服务器
5.嵌入式计算机
电冰箱自动洗衣机数字电视数字照相机
计算机的应用
1.科学计算;
2.数据处理;
3.电子商务;
4.过程控制;
5.CAD/CAM/CIMS等辅助
6.多媒体技术
7.人工智能(AI)
第二章计算机系统
- 计算机系统的组成
计算机系统由硬件系统和软件系统组成。
硬件系统
主机
中央处理器(CPU)
CPU由运算器和控制器组成
·运算器中由算术逻辑单元和各种寄存器组成,现在还有FPU来提高浮点运算速度
·控制器是计算机的指挥中枢,使计算机各个部件协同工作
内存
由 RAM ROM Cache7三部分组成
外部设备
输入设备:键盘、鼠标、扫描仪、话筒等
输出设备:显示器、打印机、绘图仪、音响等
外存:硬盘、光盘、U盘等
磁盘既是输入设备也是输出设备
储存器:内存,外存(辅存),缓存。
内存高速,容量小,价格贵;外存速度较慢,容量大,价格低;缓存存放当前使用最频繁的指令和数据实现高速存储。
这个结构称为:多级存储器体系结构
- bit(位)。数据存储的最小单位
- byte(字节)。计算机存储容量的基本单位,单位转换为1024
- word(字)和word length(字长)。计算机CPU一次存取、加工和传送的数据单位称为“字”,每个“字”占有的二进制位称为“字长”。常见的字长有8位、16位、32位、64位。字长越长计算机一次处理的数据就越多,精度越高。
软件系统
系统软件
操作系统:Windows、Mac OS、UNIX、Linux、Android、IOS等
语言处理程序:C、C++、Java、Visual Basic等
实用程序:诊断程序、错排程序
应用软件
平时从应用商店下载的东西
通用应用软件:数据库管理系统、CAD、CAM、CIMS
专用应用软件:各单位的信息管理系统
计算机工作的基本原理
- 指令和指令系统:
操作码+地址码 - 工作原理
开始执行,取走指令,分析指令,通过条件判断指令是否执行,符合条件,执行;不符合条件,回到开始重新执行。
软件系统
- 操作系统
提高效率,无需知道许多细节就可以使用 - 程序设计语言与语言处理程序
程序设计语言分为:机器语言汇编语言高级语言
高级语言使得语言更接近自然语言使语言脱离机器,而汇编程序将语言翻译成机器语言使计算机能够执行。
第一门高级语言:FORTRAN