处理器架构、指令集和汇编语言,三者有何关系?

2023-05-16

问题

处理器架构、指令集和汇编语言,三者有何关系?

1.处理器架构和处理器指令集的关系式什么?
2.是否指令集决定了处理器的架构?
3.MIPS属于处理器架构还是还是指令集的一种?
4.汇编语言的种类和处理器架构的关系?


回答

作者:young cc
链接:https://www.zhihu.com/question/23474438/answer/119887585

先简短回答:

  1. 处理器架构就是处理器的硬件架构,称为微架构。是一堆硬件电路,去实现指令集所规定的操作运算。
  2. 是的,指令集决定了处理器的架构,因为处理器架构就是用硬件电路实现指令集。但是具体用什么样的处理器架构,设计怎样的硬件电路,每个人设计的都可以不一样。
  3. MIPS是一种采取精简指令集(RISC)的处理器架构,既有指令集,也有相应的处理器架构。大名鼎鼎的龙芯就是MIPS的。
  4. 汇编语言是用人类看得懂的语言来描述指令集。否则指令集的机器码都是一堆二进制数字,人类读起来非常麻烦,但汇编是用类似人类语言的方式描述指令集,读起来方便多了。

要设计处理器,首先就需要有指令集,规定处理器相应操作,通过指令集去控制处理器实现相应功能。但处理器是一堆硬件电路,只能识别二进制数据,所以指令集是由一堆二进制数据组成。而二进制数据对人类来说读起来很麻烦。为了方便人类操作指令集,发明了汇编语言来描述指令集。汇编语言类似人类语言,读起来方便多了。

虽然汇编语言读起来方便了,但也有缺陷。首先汇编语言操作起来还是挺麻烦的。其次汇编语言对应一条条指令集,所以当指令集改变时,就得修改相应汇编语言,导致其可移植性很差,不能跨平台使用,如ARM的汇编语言与Intel X86的就不同。这时人们就想开发一种更方便操作,超越指令集的语言,于是有了C,C++等高级语言

但处理器只能识别二进制码,那怎么能识别高级语言呢?于是人们开发了编译器,依照如下顺序,将高级语言翻译成二进制码: 高级语言 →\rightarrow \rightarrow 汇编语言 →\rightarrow \rightarrow 二进制机器码。

至此,人类可以很方便的利用高级语言编写程序,控制处理器完成相应功能。然后程序员这个红火的职业就此大规模诞生了。



作者:Magicianlyx
链接:https://www.zhihu.com/question/23474438/answer/39173229

先回答4个问题,

1,处理器架构即微结构,指令集架构决定微结构的一部分(解码逻辑和执行单元)

2,指令集决定微结构的一部分硬件逻辑设计

3,mips有多个意思,既是一个公司;也可以是一个单位,百万指令每秒。

4,汇编指令是让人看得懂的,只是指令集的另外一种表示形式。

指令集ISA:他是CPU的一个特性,决定CPU的解码电路和执行单元,但并不存储在CPU内部。是微结构提供给上层一个接口,类似于程序员写码是用到的api。某CPU能执行哪个指令集的所有指令就称为兼容此指令集。

我打个比方,一个人买回来一个电灯,他使用时并不需要知道电灯发光的原理,只要看说明书使用方法:怎样接线就能实现发光的效果。这里电灯就像是CPU,说明书就像是指令集,使用电灯的人做汇编程序员的角色。

指令集包括汇编语言形式和二进制机器码格式,CPU执行的是二进制代码(这叫机器指令,机器能理解的),汇编就是给人看的,人能理解的。每条汇编指令都有对应的机器码指令。完成汇编语言和二进制机器码的转换时汇编器(现在都和编译器打包在一起了)。

微结构:每个cpu都有他的微结构,他描述cpu的一切逻辑。前端怎么实现取指令啊,解码怎么让其他部件的得知将要执行的指令,怎样分发指令,执行,写回,操作数旁路转移,预取指令,分支预测,分支出错流水线中指令如何回退,如何恢复,寄存器怎样实现存储等等还有很多很多,写都写不完。

——补——

汇编器,负责汇编代码——>机器码的转换,集成在编译器中。软件实现。

我以mips为例

汇编代码add s 0 , s0, s0s0转换成mips32机器码就是000000 00000 00000 00000 00000 100000 (共32位)每一段有其意义,分别是『操作码 第一个操作数寄存器号 第二个操作数寄存器号 目的寄存器号 shamt funct』

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

处理器架构、指令集和汇编语言,三者有何关系? 的相关文章

  • 软件测试入门

    文章目录 软件测试入门系列之一 xff1a 软件测试基础 测试基础 什么是软件测试为什么软件测试很重要 xff1f 软件测试有什么好处 xff1f 软件工程测试软件测试类型软件工程中的测试策略程序测试软件测试概要 软件测试入门系列之二 xf
  • 一款专业且全面的嵌入式开发调试工具

    已剪辑自 https mp weixin qq com s UH h kxdvYz7A6eUMoYbew 不知道大家平时做嵌入式开发时用调试工具进行调试 xff0c 今天给大家分享一款专业且全面的嵌入式调试工具集 xff1a Micro L
  • 城市空中交通,万亿蛋糕?

    已剪辑自 https mp weixin qq com s biz 61 MzkzMDIxMjY3Mg 61 61 amp mid 61 2247484941 amp idx 61 1 amp sn 61 d27a1ac4054f91a2e
  • EVTOL适航

    已剪辑自 https mp weixin qq com s biz 61 MzkzMDIxMjY3Mg 61 61 amp mid 61 2247491691 amp idx 61 1 amp sn 61 c3dea36069299d2de
  • 无人机适航

    文章目录 无人机适航 xff0c 你起跑了吗 xff1f 调查谁当其冲怎么做 无人机 适航审定新政来了 xff01 01新政解读02管理分类03管理要求 无人机适航 xff0c 你起跑了吗 xff1f 无人驾驶航空器飞行管理暂行条例 xff
  • CAAC、FAA和ICAO的适航法规文件体系

    文章目录 CAAC的适航法规文件体系适航审定管理的行政体系和法规体系FAA的适航法规文件体系ICAO的适航法规文件体系 CAAC的适航法规文件体系 已剪辑自 https mp weixin qq com s KJu3 qBX5AIvRnNI
  • 适航批准形式汇总

    以下内容 xff0c 总结于公众号适航思维 文章目录 田莉蓉老师的机载电子产品设计保证实践中的说明在中国 xff0c 适航 到底有多少种证件 xff1f CTSOA取证入门来自一位适航监察员的 避坑指南 xff1a CTSOA篇PMA取证入
  • 适航工作清单

    已剪辑自 https mp weixin qq com s g2AZCqnVjuI2AUezswfr2w 编者注 xff1a 本文作者翱坤科技是一家航空工程综合服务机构 适航思维 在此衷心感谢其无私的知识和经验分享 在民用航空制造单位 xf
  • 一个应用于嵌入式的通用工具包!

    已剪辑自 https mp weixin qq com s fsVpIRmPOIkIT5lVOqt5xw 来源 xff1a https github com cproape toolkit 1 介绍 ToolKit是一套应用于嵌入式系统的通
  • 可靠性设计基础知识大全,一起来学

    xff08 一 xff09 xff1a 理解可靠性 01 理解与可靠性定义 我们总是会说 xff1a 某某公司的东西 好用 xff1b 某某公司的产品 质量好 xff1b 我也会经常抱怨某某系统 不稳定 xff1b 某某公司的产品 不可靠
  • 嵌入式中程序错误如何处理?

    文章目录 一 错误概念1 1 错误分类1 2 处理步骤 二 错误传递2 1 返回值和回传参数2 2 全局状态标志 errno 2 3 局部跳转 goto 2 4 非局部跳转 setjmp longjmp 2 5 信号 signal rais
  • CLion添加第三方库

    cmake minimum required VERSION 3 23 project test set CMAKE CXX STANDARD 14 set INC DIR Include OpenSSL Include set LINK
  • Clion的下载安装配置使用总结

    已剪辑自 https codeantenna com a s1M0flG7NJ 相必经常学C或者C 43 43 的同学们一定用过dev c 43 43 vc 43 43 VS等等各种编译器 xff0c 相比他们来说 xff0c clion还
  • 下载和安装配置 MinGW-w64(免安装版)

    文章目录 1 找到downloads2 找到SourceForge3 找到一个合适的版本 xff08 我这里是下拉找到免安装版 xff09 下载 xff0c 其他的都试过了 xff0c 都不行 xff08 可能是因为外网的关系连接不稳定 x
  • Clion Debug模式使用实践

    文章目录 一 背景二 开启调试三 编译代码四 调试代码 已剪辑自 https segmentfault com a 1190000040698380 一 背景 最近为了考研 xff0c 在学习C语言与数据结构 xff0c 最开始使用Visu
  • 技术交底书怎么撰写?看这一篇就够了

    文章目录 技术交底书怎么撰写 xff1f 看这一篇就够了专利技术交底书格式1 发明 xff08 或实用新型 以下同 xff09 的名称2 技术领域3 背景技术4 发明内容5 附图说明6 具体实施方式 技术交底书各部分应该怎么写技术交底书的典
  • 计算机软件著作权材料模板

    https github com AlexanderZhou01 China software copyright 自己申请软件著作权流程 超详细 xff0c 内含材料模板等 计算机软件著作权模板及个人申请全套攻略 软著
  • ACP敏捷项目管理认证考试科普

    文章目录 说在最前面 xff1a 1 PMI ACP考试介绍 xff1a 2 PMI ACP考试报名流程如下 xff1a 3 PMI ACP报名条件 xff1a 4 资格审查的目的 xff1a 5 ACP与PMP难度对比 6 考试费用 7
  • 你如何理解敏捷开发?

    文章目录 一 对敏捷开发的理解 什么是敏捷 xff08 Agile xff09 xff1f 1 什么是敏捷软件开发 xff1f 2 敏捷的起源3 敏捷有哪些优点 xff1a 4 敏捷的缺点和不足 xff1a 5 为什么敏捷在企业中越来越流行
  • 民机适航取证过程

    转自田莉蓉老师的书籍 机载电子产品设计保证实践

随机推荐

  • 机载产品类别、层级及各自需要满足的适航要求

    转自田莉蓉老师的书籍 机载电子产品设计保证实践
  • 机载产品符合性方法

    田莉蓉老师的机载电子产品设计保证实践中的说明
  • 系统设计保证指南(ARP 4754)

    田莉蓉老师的机载电子产品设计保证实践中的说明
  • 设计保证指南应用实践

    田莉蓉老师的机载电子产品设计保证实践中的说明
  • 结构化开发方法

    文章目录 6 1 系统分析与设计概述6 1 1 系统分析概述6 1 2 系统设计的基本原理6 1 3 系统总体结构设计6 1 4 系统文档 6 2 结构化分析方法6 2 1结构化分析方法概述6 2 2 数据流图6 2 3 数据字典 6 3
  • 需求工程简析

    已剪辑自 https zhuanlan zhihu com p 36145396 什么是需求工程 需求工程是指应用已证实有效的技术 方法进行需求分析 xff0c 确定客户需求 xff0c 帮助分析人员理解问题并定义目标系统的所有外部特征的一
  • 如何做好软件需求分析?

    文章目录 一 需求分析定义二 软件需求分析目标三 软件需求分析原则1 能够表达和理解问题的信息域2 建立描述系统信息 功能和行为的模型3 能够对所建模型按一定形式进行分解4 分清系统的逻辑视图和物理视图 四 软件需求分析内容1 功能性需求2
  • 需求分类维度

    已剪辑自 https mp weixin qq com s biz 61 MzI5Njg3NTU3MQ 61 61 amp mid 61 2247483758 amp idx 61 1 amp sn 61 fb4057d595db4f4d3
  • 什么是理想的需求分类方法

    已剪辑自 https mp weixin qq com s biz 61 MzI5Njg3NTU3MQ 61 61 amp mid 61 2247483740 amp idx 61 1 amp sn 61 d8101a0f16f5a41f1
  • 51单片机系列二:中断与延时

    本篇通过闪烁led和数码管两个实验来分析延时与中断概念 xff0c 以及实现软件仿真 Chapter1 中断的概念 中断就是当CPU执行主程序时 xff0c 突然被打断一下 xff0c 去干别的事情 xff0c 干完再回来执行主程序 这个过
  • ARP4754A的需求分类方法

    已剪辑自 https mp weixin qq com s biz 61 MzI5Njg3NTU3MQ 61 61 amp mid 61 2247483801 amp idx 61 1 amp sn 61 38b7f78712d05bc52
  • ARP4754A中的需求捕获是什么意思

    已剪辑自 https mp weixin qq com s biz 61 MzI5Njg3NTU3MQ 61 61 amp mid 61 2247483809 amp idx 61 1 amp sn 61 9289506bd3ac5ada6
  • 基于ARP4754A的民用航空系统需求管理

    已剪辑自 https mp weixin qq com s biz 61 MzI5Njg3NTU3MQ 61 61 amp mid 61 2247483792 amp idx 61 1 amp sn 61 6979d87b5ec936113
  • ARP4754A的需求分类V2(AIR6110版本)

    已剪辑自 https mp weixin qq com s biz 61 MzI5Njg3NTU3MQ 61 61 amp mid 61 2247483842 amp idx 61 1 amp sn 61 086ca9bedd2a9011d
  • 最新!国内eVTOL整机厂商融资数据一览

    以下是根据公开资料整理的国内eVTOL领域整机厂商融资数据 xff0c 仅供参考 其中 xff0c 除了已上市的亿航外 xff0c 小鹏汇天 峰飞 时的 御风未来均已迈入亿元俱乐部 xff0c 沃兰特也很接近了 xff08 有风的地方 xf
  • 我用 ChatGPT 干的 18 件事!

    文章目录 1 语法更正2 文本翻译3 语言转换4 代码解释5 修复代码错误6 作为百科全书7 信息提取8 好友聊天9 创意生成器10 采访问题11 论文大纲12 故事创作13 问题类比14 创建 SQL 需求15 情感分析16 将产品描述转
  • 需求工程综述及需求管理解决方案-VISSLM REQ需求管理工具

    已剪辑自 https mp weixin qq com s IrRs4f79wHrtHNhJdrggQA 通俗的讲 xff0c 需求 就是用户的需要 xff0c 它包括用户要解决的问题 达到的目标 以及实现这些目标所需要的条件 xff0c
  • 需求管理工具汇总

    文章目录 一 使用比较广泛的 10 大需求管理工具适用于个人 小微团队的需求管理工具1 Excel2 在线文档 专业的需求管理工具3 PingCode4 Worktile5 Doors6 jira7 Polarion8 JAMA Softw
  • x86 CPU汇编语言入门教程

    文章目录 一 汇编语言是什么 xff1f 二 来历三 寄存器四 寄存器的种类五 内存模型 xff1a Heap六 内存模型 xff1a Stack七 CPU 指令7 1 一个实例7 2 push 指令7 3 call 指令7 4 mov 指
  • 处理器架构、指令集和汇编语言,三者有何关系?

    问题 处理器架构 指令集和汇编语言 xff0c 三者有何关系 xff1f 1 处理器架构和处理器指令集的关系式什么 xff1f 2 是否指令集决定了处理器的架构 xff1f 3 MIPS属于处理器架构还是还是指令集的一种 xff1f 4 汇