电子电路->机器语言与指令集架构/CPU软核/CPU硬核->汇编语言与与编译器

1. 1 电子

元件是电子中的基本零件;而器件常由几个元件组成,有时也指较大的元件。

元件主要包括电阻、电容、电感;器件种类更多,有双极性晶体三极管、场效应晶体管、可控硅、半导体电阻电容等。

元件对电压、电流无控制和变换作用;而器件对电压、电流有控制、变换作用(放大、开关、整流、检波、振荡和调制等)。

参考:http://m.elecfans.com/article/589969.html 元件和器件的区别

1.2 电路

模拟电路:

处理模拟信号的电路,如一交流电压经运算放大器放大后输出一个较大的交流电压,处理的信号是连续变化的,如交流电流是连续的正弦波。模拟电路有运算放大器,调制和解调电路,震荡电路等。

门电路:实现基本逻辑运算(有与门或门非门与非门或非门、与或非门、异或门等几种)的单元电路。

数字电路:

处理数字信号的电路,电路处理的信号不是0就是1,0代表低电平,1代表高电平,基本组成原件就是门电路。由于它具有逻辑运算和逻辑处理功能,所以又数字逻辑电路

数字电路根据逻辑功能的不同特点,可以分成两大类:

一类叫组合逻辑电路(简称组合电路),另一类叫做时序逻辑电路(简称时序电路)。

组合电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。

时序电路是任意时刻的输出不仅取决于当时的输入信号,而且还取决于电路原来的状态,或者说,还与以前的输入有关。有触发器、计数器、寄存器等。

2.机器语言与译码器

机器语言是用二进制代码表示,计算机能执行,机器指令的集合;

机器语言与译码器

指令(指令寄存器)=操作码(译码器将操作码翻译交给操作控制器)+地址码(送到地址寄存器);

参考:http://m.elecfans.com/article/666558.html 一文读懂处理器,内核,芯片三个概念的区别

参考:http://www.360doc.com/content/15/0929/22/1564981_502326554.shtml  寄存器和内存的关系

参考:https://blog.csdn.net/alianada/article/details/82142379  计算机底层是什么东西?

参考:https://www.eefocus.com/mcu-dsp/402521/r0同样采用ARM架构,苹果处理器凭啥比别的强?

参考:https://www.cnblogs.com/voidobject/p/3975552.html(转)处理器架构、指令集和汇编语言,三者有何关系?

参考:https://blog.csdn.net/p312011150/article/details/79612379汇编指令与机器码的相互转换

参考:https://blog.csdn.net/dark_tone/article/details/52426886指令到底是什么?机器码又是什么?

3.指令集架构/微架构

3.1 Intel指令集

Intel有x86,SSE,AVX指令集结构,AMD有x86,x86-64,3D-Now!指令集。

x86泛指一系列基于Intel 8086且向后兼容的指令集

1971年,Intel发明了世界上第一个商用微处理器—4004,只有45条指令,每秒执行5万条指令,运行速度只有108KHz,甚至比不上1946年世界第一台计算机ENIAC,但集成度却要高很多,集成晶体管2300只,重量还不到一盅司。

在Pentium 4 CPU中,SSE2指令一共144条,

SSE3又新增加了13条新指令,一条用于视频解码,两条用于线程同步,其余用于复杂的数学运算

SSE4又新增加了50条有助于编译、媒体、字符/文本处理和程序指向加速指令。

参考:http://www.360doc.com/content/15/0411/07/21966267_462329844.shtmlIntel CPU 发展简史

参考:https://baike.baidu.com/item/指令集/238130指令集

3.2 ARM指令集

ARM有共三种指令集:ARM指令集,Thumb指令集和Thumb-2指令集。其具体使用了什么指令集,芯片采用ARM V?

参考:https://www.cnblogs.com/voidobject/p/3975552.html

操作系统位数/CPU架构位数/指令集位数/向上兼容

操作系统的位数是说其所依赖的指令集的位数。

32位CPU:数据总线(DataBus)有32根,ALU能处理的数据位数。

向下(前)兼容

CPU向前兼容,64位CPU兼容32位指令集,所以64位CPU可以跑32位操作系统。

32位CPU兼容16位指令集,所以32位CPU可以跑16位操作系统。

如何实现向下兼容?

64位cpu是从16位发展过来的,依然是x86结构,原理和基本指令都是一样的。

bits 16                     ; 为16 位代码而编译  

mov eax, 1  ; 机器码是:66 b8 01 00 00 00 

16位编程使用了32位寄存器,编译器会自动加上default operand-size override prefix(默认操作数大小覆盖前缀)。

bits 32                     ; 为32位代码而编译  

mov eax, 1  ; 机器码是: b8 01 00 00 00 

这段代码的汇编语句是完全一样的,只不过是为32位代码而编译,它们的机器码就是不一样的。

操作64位寄存器的低32位,高32位会清0,例如mov eax, 0FFFFFFFCH,则整个寄存器为00000000FFFFFFFCH,高32位会被清0。

参考:https://zhidao.baidu.com/question/329146909.html寄存器如何向下兼容?

参考:http://book.51cto.com/art/201210/359658.htm通用寄存器

参考:https://zhidao.baidu.com/question/2011537345660325628.htmlCPU位数,操作系统位数

指令集是CPU选择的语言,而微架构是具体的实现。

3.3  微架构

电脑语言的「指令集架构」 vs. 执行语言载具的「处理器核心微架构」

指令集无法决定架构,x86指令集也可以用ARM架构。

指令集版本微架构用途

ARM V1ARM1

ARM V2ARM2, ARM3

ARM V3ARM6, ARM7

ARM V4StrongARM, ARM7TDMI, ARM9TDMI

ARM V5ARM7EJ, ARM9E, ARM10E, XScale

ARM V6ARM11, ARM Cortex-M

ARM V7ARM Cortex-A, ARM Cortex-M, ARM Cortex-R

ARM V8

ARM V9

ARM推出的通用的架构,缓存(cache)就是在内核中的,这些内核又名公版架构。

寒武纪自行开发的指令集DianNaoYu(电脑语),看似俗得不得了的名称,却真正是属于国产的芯片指令集。计算机这个行业指令集不值钱,却掌握着这个行业的话语权,intel开发的X86指令集霸占了桌面电脑话语权数十年,AMD不得不向其获取授权。

https://new.qq.com/omn/20191113/20191113A0II1A00 这么多号称国产芯片的公司,为什么寒武纪第一个成为独角兽公司?


3.4  ARM授权模式

     ARM提供三类CPU授权:

参考:https://blog.csdn.net/weixin_34146805/article/details/85779161 ARM介绍2:授权模式

3.4.1 指令集架构授权

ARM提供指令集以及设计规范。

2016年,三星发布了Exynos8 Octa 8890(Octa代表8核),这是三星第一款拥有自研架构的ARM芯片

自研架构=自研微架构≈cortex-A53,A73(公版微架构)

高通,基于ARM v7深度开发自己的处理器微架构。

苹果,基于ARMv7开发Swift微架构。

3.4.2软核授权

ARM提供CPU设计源代码,不允许更改,且不能剽窃。

多数厂商选择直接购买ARM CPU内核设计方案,然后与其它组件(比如GPU、多媒体处理、调制解调器等等)整合,制造出完整的SoC片上系统。

参考:

https://blog.csdn.net/baidu_35679960/article/details/77606930指令集架构、arm内核、SoC、处理器、CPU、GPU等的关系

https://blog.csdn.net/zzx1045917067/article/details/78575259ARM 指令集版本和ARM 版本

3.4.3硬核授权

ARM公司不提供设计源代码,提供类似于二进制代码的网表。

4.汇编语言与编译器

汇编语言:用助记符代替机器指令操作码,用地址符号或标号代替指令或操作数的地址。

汇编语言和机器语言指令集是一一对应的,不同平台之间不可直接移植。

指令集架构(ISA):规定了处理器如何识别这些汇编指令,以及如何与上层交互,区分软件和硬件的界限。芯片的软件部分。指令集中的每一条指令对应着一条汇编指令和固定的实现电路,程序设计最小语言单位。

如add r1, r2, r3,

在XX指令集,1010代表add,所以这条指令的指令码部分就是1010,

但XX指令集,0000代表add,所以同样的二进制串在不同的指令集下有不同的解读。

在不同的汇编语言里它有不同的意思,有可能是代表r1=r2+r3 , 也有可能是代表r3=r2+r1。

参考:https://www.cnblogs.com/voidobject/p/3975552.html

参考:https://blog.csdn.net/qq_34322603/article/details/75276415

参考:https://blog.csdn.net/yangtalent1206/article/details/6247607?utm_source=jiancool

汇编语言和机器语言机器移植性差,因为针对特定指令系统,不同的CPU汇编语言机器语言不能通用。

汇编语言机器语言程序结构性差,不便于模块化设计,也造成可移植性差。

指令集架构是专利,不是版权。

ARM有ARM V1~V8指令集结构,(V8是指指令集版本号,ARM architecture)。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容