标签:信息 硬件 hello 管理员 流程图 四种 方便 调试 读写
1946年,普林斯顿高等研究院(the Institute for Advance Study at Princeton,IAS )开始设计“存储程序”计算机,被称为IAS计算机.
冯·诺依曼结构是怎样的?
冯·诺依曼结构的主要思想
CPU:中央处理器;PC:程序计数器;
MAR:存储器地址寄存器 ALU:算术逻辑部件;
IR:指令寄存器;MDR:存储器数据寄存器 GPRs:通用寄存器组(由若干通用寄存器组成,早期就是累加器)
程序在执行前
开始执行程序
简单的流程图:
指令和数据
程序启动前,指令和数据都存放在存储器中,形式上没有差别, 都是0/1序列 • 采用”存储程序“工作方式: – 程序由指令组成,程序被启动后,计算机能自动取出一条一条 指令执行,在执行过程中无需人的干预。 • 指令执行过程中,指令和数据被从存储器取到CPU,存放在CPU 内的寄存器中,指令在IR中,数据在GPR中。 指令中需给出的信息: 操作性质(操作码) 源操作数1 或/和 源操作数2 (立即数、寄存器编号、存储地址) 目的操作数地址 (寄存器编号、存储地址) 存储地址的描述与操作数的数据结构有关!
计算机的基本部件及功能:
计算机实现的所有任务都是通过执行一条一条指令完成的
用机器语言编写程序,并记录在纸带或卡片上
输入:按钮、开关;
输出:指示灯等 所有信息都 是0/1序列!
机器语言编写程序不仅难读,难写而且非常不灵活.
若用符号表示跳转位置和变量位置,是否简化了问题?
• 于是,汇编语言出现
– 用助记符表示操作码
– 用标号表示位置
– 用助记符表示寄存器
用汇编语言编写的优点是: 不会因为增减指令而需要修改其他指令 不需记忆指令编码,编写方便 可读性比机器语言强
不过,这带来新的问题,是什么呢?
人容易了,可机器不认识这些指令了.
需将汇编语言转 换为机器语言! 我们用汇编程序作为中介进行转换
汇编语言(源)程序由汇编指令构成
• 用一句话描述什么是汇编指令
– 用助记符和标号来表示的指令(与机器指令一一对应)
• 指令又是什么呢?
– 包含操作码和操作数或其地址码
(机器指令用二进制表示,汇编指令用符号表示)
– 只能描述:取(或存一个数)
两个数加(或减、乘、除、与、或等)
根据运算结果判断是否转移执行
• 想象用汇编语言编写复杂程序是怎样的情形?
(例如,用汇编语言实现排序(sort)、矩阵相乘)
– 需要描述的细节太多了!程序会很长很长!而且在不同
结构的机器上就不能运行!
机器语言和汇编 语言都是面向机 器结构的语言, 故它们统称为机 器级语言
结论:用汇编语言比机器语言好,但是,还是很麻烦!
高级编程语言
经典的“ hello.c ”C-源程序
#include <stdio.h> int main() { printf("hello, world\n"); }
数据经常在各存储部件间传送。故现代计算机大多采用“缓存”技术
所有过程都是在CPU执行指令所产生的控制信号的作用下进行的
用高级语言开发程序需要复杂的支撑环境(怎样的环境?)
语言处理程序+人机接口+操作系统+操作系统内核+语言的运行时系统+指令集体系结构+计算机硬件
支撑程序开发和运行的环境由系统软件提供
最重要的系统软件是操作系统和语言处理系统
语言处理系统运行在操作系统之上,操作系统利用指令管理硬件
最早的计算机用机器语言编程
机器语言称为第一代程序设计语言
汇编语言编程
现代计算机用高级语言编程
语言处理系统包括:各种语 言处理程序(如编译、汇编、 链接)、运行时系统(如库 函数,调试、优化等功能)
操作系统包括人机交互界面、 提供服务功能的内核例程
可以看出:语言的发展是一 个不断“抽象”的过程,因 而,相应的计算机系统也不 断有新的层次出现
功能转换:上层是下层的抽象,下层是上层的实现 底层为上层提供支撑环境!
最终用户工作在由应用程序提供的最上面的抽象层
系统管理员工作在由操作系统提供的抽象层
应用程序员工作在由语言处理系统(主要有编译器和汇编器)的抽象层
语言处理系统建立在操作系统之上
系统程序员(实现系统软件)工作在ISA层次,必须对ISA非常了解
编译器和汇编器的目标程序由机器级代码组成
操作系统通过指令直接对硬件进行编程控制ISA处于软件和硬件的交界面(接口)
ISA是对硬件的抽象所有软件功能都建立在ISA之上
SA指Instruction Set Architecture,即指令集体系结构,有时 简称为指令系统
ISA和计算机组成(微结构)之间的关系
ISA是计算机 组成的抽象
不同ISA规定的指令集不同,
如,IA-32、MIPS、ARM等 计算机组成必须能够实现ISA规定的功能,如提供GPR、标志、运算电路等 同一种ISA可以有不同的计算机组成,
如乘法指令可用ALU或乘法器实现
标签:信息 硬件 hello 管理员 流程图 四种 方便 调试 读写
原文地址:https://www.cnblogs.com/chenxuming/p/9609463.html