博客
关于我
计算机组成原理 第一篇:总概
阅读量:359 次
发布时间:2019-03-04

本文共 1457 字,大约阅读时间需要 4 分钟。

计组是在学习什么?(基于唐朔飞的计算机组成原理)

计组是一门学习计算机硬件的课程,涉及一定的数字电路的知识(其实也没涉及多少,了解基本电路知识,触发器,加法器等电路芯片的使用和作用即可).

计算机的硬件,也就是计算机的实体部分,主要有中央处理机(控制单元和运算逻辑单元),存储器,I/O设备.

计算机如何工作的呢?

我们应该已经知道,使用编译器编译源代码,可以产生一个.exe文件,这个文件是可以直接运行的.那为什么我们不能直接运行源代码,而要做这样一系列处理呢?大致来说是这样的:

计算机不能够直接识别源代码

当我们告诉计算机,i++时,计算机时无法理解这些符号的.因为它本身由电路构成,故而只能够理解和处理高低电平.而高低电平的表现就是一串0,1代码.正因为如此,需要同过编译程序将i++翻译成01代码让计算机来识别.

计算机处理源代码的具体过程

这一部分在学习完中央处理器部分知识后会感触更深,才能完全理解.

以下是程序员在使编写程序时,所面对的运行环境.计算机是如何一级一级处理程序的.

第4级,虚拟机器M4,(高级语言机器):

高级语言编写成源代码,由编译器编译成汇编代码.高级语言是计算机不能直接识别的,单句高级语言也会对应相当多条的汇编代码.好处也正在于此,因为每条代码所完成的事情更加的多,为程序设计者编写大型程序提供了可能.程序设计者面对是可以运行高级语言的虚拟机器(这个虚拟机器可以理解高级语言,即在机器语言机器上覆盖了一层有编译高级语言,再将编译结果翻译成机器语言等功能的软件,形成的高级语言虚拟机器)

第3级,虚拟机器M3,(汇编语言机器):

汇编语言是一种将机器语言可视化的语言,每一条汇编语言都对应一条机器指令.因此,汇编语言虽然本身不能直接被存储在主存中被运行,但只要通过简单的翻译就可以直接在机器上运行.所面对的编程环境即是一台上层覆盖了能够将汇编语言翻译成机器语言的软件和能够运行机器语言的机器.

第2级,虚拟机器M2,(操作系统机器):

操作系统相当于是覆盖在实体机器第一层软件,所构成的操作系统机器比实体机器更多更容易使用的功能.而程序设计者则可以通过命令直接调用或者程序间接调用的方式使用操作系统的功能.

第1级,传统机器M1(机器语言机器):

机器语言直接存放在主存中,在运行时调入CPU,是机器可以识别的语言.机器语言虽然可以直接在实际机器上运行,但是编写难度提高了很多.原先机器语言设计也是直接面向机器硬件的,但是后来有了微指令系统后,就可以基于微指令系统设计了.可以说是底层设计中的封装思想了.

第0级,微指令机器M0(微指令系统):

第0级是从机器语言机器向下拓展的.原先的机器并没有微指令系统.机器指令的操作控制字段部分,会对应一系列单一的控制信号.但是微指令系统下将控制信号整合成一个个微命令,对应一系列原子级的微操作.用户一般通过机器指令来间接控制微指令,微指令往往是开发者在开发之初所设计好的,面对的是完全的硬件.

计算机的解题模式基本就是这样子

计算机运行时的基本流程

首先了解计算机的基本结构

现代计算机的组成框图

主存储器即时我们平常看到的内存条.CPU由算术逻辑单元和控制单元构成,I/O设备来负责人机交互.
程序员使用时,先通过I/O设备之类的方式,将程序存储到主存储器中.然后程序开始运行,控制单元发出控制信号,控制主存储器将其中程序逐条传到控制单元中,控制单元根据传入的指令,再发送相应的控制信号,控制主存储器将程序中的操作数传到算术逻辑单元中进行相应的计算.就这样不断的取指令和执行指令来完成.

转载地址:http://xvbr.baihongyu.com/

你可能感兴趣的文章
mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
查看>>
MYSQL 查看最大连接数和修改最大连接数
查看>>
MySQL 查看有哪些表
查看>>
mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
查看>>
MySql 查询以逗号分隔的字符串的方法(正则)
查看>>
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
查看>>
mysql 查询,正数降序排序,负数升序排序
查看>>
MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
查看>>
mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
查看>>
mysql 死锁(先delete 后insert)日志分析
查看>>
MySQL 死锁了,怎么办?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 添加列,修改列,删除列
查看>>
mysql 添加索引
查看>>
MySQL 添加索引,删除索引及其用法
查看>>
MySQL 用 limit 为什么会影响性能?
查看>>
MySQL 用 limit 为什么会影响性能?有什么优化方案?
查看>>
MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)
查看>>
mysql 用户管理和权限设置
查看>>