Java程序员需掌握的计算机基础

一、计算机系统概述

一个完整的计算机系统包括:硬件系统和软件系统,如下图所示

硬件:计算机装置,即物理设备。

硬件系统:组成计算机系统的各种物理设备的总称。是计算机完成工作的物质基础,是软件建立和依托的基础。

软件:某种计算机语言编写的程序、数据和相关文档的集合。指示计算机完成特定工作任务,是计算机系统的灵魂。

软件系统:在计算机上运行的所有软件的总称。

裸机:仅有硬件组成,没有软件的计算机。

二、计算机硬件系统及工作原理

计算机硬件系统

冯·洛伊曼计算机体系结构特征:

  • 计算机由5个部分组成:运算器、控制器、存储器、输入设备、输出设备
  • 程序和数据以同等地位存储在存储器中,并按地址寻访
  • 程序和数据以二进制表示

运算器:全称算术逻辑单元(Arithmetic and Logic Unit,ALU),主要功能是进行算术运算和逻辑运算。算术运算:加减乘除等基本运算。逻辑运算:逻辑判断、关系比较以及其他基本逻辑运算(与或非)。

控制器:Control Unit,CU,是指挥计算机的各个部件按照指令的功能要求协调工作的部件。通俗来说,控制器采用程序控制方式,在解决某问题时,首先编写好解决该问题的程序代码,通过编译程序代码自动生成计算机可执行程序保存到内存中,由控制器依次取出内存的指令、分析指令、向其他部件发出控制信号,指挥计算机工作。控制器由程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、时序控制电路以及微操作控制电路等组成。

CPU由ALU和CU组成。

32位CPU一次可以计算4个字节(1个字节8位,也就是32位)

64位CPU一次可以计算8个字节

这里的32位和64位,称为CPU的位宽

说32位CPU只能装4G内存是什么意思?

2^32=4,294,967,296

4G=1024M*4=4096M=4,194,304KB=4,294,967,296B

可见即使装了超过4G的内存,CPU也无法一次用完

存储器:存放程序和数据的记忆装置。主要功能是能够按照指定位置存入和读取二进制信息。分为内存和外存

内存储器分为:随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)

RAM:通常说的计算机的内存就是指RAM,CPU对其可读可写,断电数据全丢失。

ROM:CPU只读不写,由计算机制造厂写入并经固化处理,用户无法修改。断电不丢失数据。一般ROM存放计算机系统管理程序:BIOS(Basic Input-Ouput System)

外存储器:设置在主机外部,外存得名于此。通常指硬盘、光盘、U盘等。

存储器基本单位是字节(Byte,B),每个byte包含8位(bit),即1B = 8 bit。

1KB = 1024 B

1MB = 1024 KB

1GB = 1024MB

1TB = 1024GB

数据是如何通过线路传输的?

数据是通过操作电压传输的,低电压为0,高电压为1

比如高低高电压对应就是101,十进制就是5

计算机工作原理

计算机的工作过程就是执行程序的过程。

要了解计算机如何工作的,就必须要了解指令和程序的概念。

指令:能被计算机识别并执行的二进制代码,规定了计算机能够完成某一种操作。

指令由操作码和操作数组成

操作码:指明该指令要完成的操作的类型或者性质,如:取数、做加法、输出数据等。

操作数:指明操作对象的内容或所在的单元地址,大多数情况是地址码。

所有指令的集合称为计算机的指令系统。

所有计算机的指令系统都包含以下功能的指令:

  • 数据传送指令:将数据在CPU和内存之间进行传递
  • 数据处理指令:进行数据的算术、逻辑或关系运算
  • 程序控制指令:控制程序指令的执行顺序
  • 输入、输出指令:外部设备与主机之间的数据传输
  • 其他指令:对计算机的硬件进行管理等

程序是能完成一定功能的指令序列,程序是计算机指令的有序集合。

前面提到:计算机的工作过程就是执行程序的过程,学完指令过后,其实计算机的工作过程就是快速地执行指令的过程。

指令执行过程中,有两种流在其中流动,分别是:数据流和控制流。

数据流:原始数据、中间结果、结果数据、源程序等

控制流:控制器对指令进行分析、解释后向各部件发出的控制命令,指挥各部件协调工作

指令的执行过程(分析指令执行过程就是认识计算机工作原理)

  1. 取指令
  2. 分析指令
  3. 执行指令

取指令:按照程序计数器中的地址(0100H),从内存中取出指令(070270H),并送往指令寄存器

分析指令:对指令寄存器中存放的指令(070270H)进行分析,由指令译码器对操作码(07H)进行译码,将指令的操作码转换成相应的控制电位信号,由地址码(0270H)确定操作数地址

执行指令:操作控制线路发出完成该操作所需要的一系列控制信息,去完成该指令所要求的的操作

运行一个程序的过程就是依次执行每条指令的过程,一条指令执行完成,程序计数器加1或者将转移地址码送入程序计数器,继续重复执行下一条指令

三、计算机软件系统

软件分为:系统软件和应用软件

系统软件:控制计算机的运行、管理计算机的各种资源、并为应用软件提供支持和服务的一类软件

操作系统引入目的:

  1. 将裸机改造成功能更强、服务质量更高、用户使用更加灵活方便、更加安全可靠的工具,提高用户工作效率
  2. 合理地使用系统内包含的各种软硬件资源,提高整个系统的使用效率

程序设计语言

1.机器语言

由二级制代码0或1按一定规则组成的、能被机器直接理解和执行的指令集合

2.汇编语言

使用一些反应指令功能的助记符来代替机器语言的符号语言

3.高级语言

一种接近于自然语言和数学公式的程序设计语言,程序员可以不用与计算机硬件打交道,可以不必了解机器的指令系统,这样 程序要就可以集中来解决问题本身而不必受机器制约,极大提高了编程效率

语言处理程序

以上所有语言,除了机器语言,其他语言都不能直接被计算机直接理解和执行,其他语言编写的程序称为源程序。源程序必须经过翻译才能够被机器识别和执行,这个翻译过程的工具就是语言处理程序。

1.汇编程序

2.高级语言翻译程序

  • 编译方式

  • 解释方式

解释方式执行速度慢:其一,每次运行必须重新解释,而编译方式只需要编译一次,可重复运行多次;其二,若程序较大,且错误发生在程序后面,前面运行的结果是无效的;其三,解释程序只看到一条语句,无法对整个程序进行优化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值