汇编语言(1)-----基础知识

在这里插入图片描述计算机系统结构,即软硬件的说明。告诉你怎么样,能完成什么功能,怎么完成这些功能。这些功能的对外体现,是指令集。(又称为指令集体系结构)汇编语言是指令集的助记符。

指令集就是软、硬件接口。
为后续课程打下指令集、汇编语言以及微体系结构入门的基础。
在这里插入图片描述
任何一门编程语言都是对目标计算机系统结构的一种“抽象“”,很多抽象是高层的。比如Java,在虚拟机上。
汇编是针对特定计算机系统结构的汇编。比如:ARM汇编,x86汇编。MIPS汇编。
汇编语言是能够充分体现目标计算机系统结构的语言。(特点)
不同编程语言体现了对于系统结构的不同层面的“视角”。
计算机系统结构定义:计算机系统的物理或硬件结构、各部分组成的属性以及这些部分的相互联系。
系统软件开发人员看到的计算机系统的功能行为和概念结构
计算机系统的结构与实现(计算机组成)
在这里插入图片描述逻辑实现(处理器逻辑上怎么实现)
物理实现(微电子方面)
计算机系统结构是研究计算机系统自身的学科
计算机学科分为两种研究方向。
1 怎么用好计算机,
2 怎么设计好计算机(汇编是这个,也是基础)

计算机系统结构其他定义:
是从程序员的角度所看到的系统的属性,是概念是的结构和功能上的行为
程序员:系统程序员(包括:汇编语言,机器语言,编译程序,操作系统)
看到的:编写出能在机器上正确运行的程序所必须了解的

它不同于数据流程和控制的组织,不同于逻辑设计以及物理实现方法。

广义定义
指令系统(Instruction set architecture ISA)
机器语言,还包括机器字长、内存地址模式、处理器寄存器等程序员可见的系统状态,数据格式等。
微体系结构(Micro-architecture)
如何实现指令集
处理器内部的实现、包括流水线、处理部件、缓存等内容。

计算机系统
计算机系统里的其他硬件,包括总线,交换开关(switch)、内存控制器、DMA控制器等

其他内容
虚拟化、计算机集群等

汇编语言主要是指令系统会稍微涉及微体系结构。
指令系统(汇编语言可以看做是它的一种助记符)
计算机处理器对外提供的主要接口与规格(能干什么,怎么用)
软硬件的分界
系统程序员看到的计算机的主要属性

CISC和RISC
正在走向融合

基本知识

各类指令集初步
数制与整数表示
浮点数表示

x86汇编

80x86计算机组织与保护模式
x86指令系统与寻址方式
C与x86汇编
x86汇编语言程序格式与基本编程

MIPS汇编

MIPS计算机组织初步(贯穿始终)
指令系统介绍
汇编代码与异常处理

学校目标与要求

了解汇编语言与计算机系统结构的关系及其起到的作用
了解已x86系列微处理器为基础的PC机的编程结构,建立起“机器”与“程序”、“时间”与“空间”的概念

基本掌握x86系列微处理器的指令系统寻址方式,能够编写程序掌握C语言基本代码段与汇编语言的对应关系

掌握MIPS指令集的指令类型,初步了解对应的系统结构

x86是cisc代表 MIPS是risc的代表

指令集简介——CISC

向下兼容
变长指令(码字利用率高)
1~15字节,多数为2 ~ 3字节长度
多种寻址方式(可访问不对齐内存地址)
目前,个人电脑 服务器,超级计算机 主导地位
指令集的通用寄存器个数有限
X86-32系统下拥有8个通用寄存器(x86-64扩展到16个)
至少能有一个操作数在内存中,另一个操作数为立即数或寄存器。
为什么x86成功?
商业上的成功是其主要原因(生态环境)
技术上注重向下兼容。
缺点:
向下兼容导致指令集越来越大、越来越复杂
类RISC内涵,采用micro-op模式进行翻译,使得功耗相对增大,这导致其在注重低功耗的领域不易占优势
对很多领域而言,资源利用率低
在高性能计算领域,300余条X86指令中,大致只有80余条是被科学计算所需要的

指令集简介——RISC

MIPS精简指令集的典范。
MIPS 第一个商业上比较成功risc指令集。思想早都有。
80/20法则
不常用的指令 踢出去,软件技术编译技术提升了
依赖编译器,实现复杂指令的功能。
(简化指令集设计)为充分利用处理器的流水线结构,其设计思想是使得各个指令的流水线分段较为均匀 运行频率提高
分段一直,每段的操作时延相差不大,以提高主频。
尽量利用软件办法避免流水线的控制相问题

复杂事情不做,能扔给软件做。
以寄存器为中心 32个。只有load/store能访问内存,所有类型的指令俊从寄存器堆中读取数据并把结果写入寄存器堆中。MIPS32还定义了32个浮点寄存器。

MIPS32指令集的指令格式非常规整,所有的指令长度一定,而且指令操作码在固定的位置上。
MIPS指令的寻址方式非常简单,每条指令的操作也较为简单。

指令格式只有三种
R(register)从寄存器堆中读取两个源操作数,计算结果写回寄存器堆
I(immediate)16为立即数作为源操作数
J(jump)类型指令使用一个26位立即数作为跳转的目标地址(target address)

之前是历史条件下看
cisc和risc正在走向融合
一定区分risc cisc 本质区别是:risc只能通过load和store访问内存,cisc不受此限。
load和store指令都为立即数(I-type)类型,用来在存储器和通用寄存器之间的付村和装载数学。MIPS指令集只有该类指令能访问内存,而其它指令操作寄存器

arm指令集

risc通用特点

  1. 复杂事情不做,能扔给软件做。
  2. 只有load/store能访问内存
  3. 指令集具有相同字节长度

+大多数指令有“条件执行”模式
具有16位压缩指令集(thumb)(更凝练)

小结
cisc与risc指令集互为借鉴,走向融合
arm博取众长,成功并不偶然
兼容性考虑是指令集发展的关键性因素

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值