欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

北大计算机组成原理笔记2.1为什么要有指令系统

程序员文章站 2022-05-13 17:07:19
...

设计自己的处理器 标题有点大,其实就是从零开始,探讨学习处理器是怎么被设计出来的思想。 问题来了,为什么会有那些不同架构的CPU,然后有不同配套的汇编语言? 计算机由两部分组成,软件和硬件(没有软件的计算机连废铁都不如,哈哈半导体)。 那么硬件工

设计自己的处理器


标题有点大,其实就是从零开始,探讨学习处理器是怎么被设计出来的思想。


问题来了,为什么会有那些不同架构的CPU,然后有不同配套的汇编语言?

计算机由两部分组成,软件和硬件(没有软件的计算机连废铁都不如,哈哈半导体)。


北大计算机组成原理笔记2.1为什么要有指令系统

那么硬件工程师要和软件工程师共同沟通并开发我们想要的计算机,沟通需要一个标准,就像谍战人员的密码电报一样,你得“自己人懂自己人的语言”。硬件工程师和软件工程师达成一致,于是这个标准就是—— 指令系统。


起初为了便于人类记忆,于是就把相应指令尽可能的用人类语言的单词简单写法代替,ADD,JMP(jump为便于记忆写成了JMP)

北大计算机组成原理笔记2.1为什么要有指令系统

实际上,计算机是不认识这些人类字符的。他只能识别两种逻辑——0和1.但是基于这两种逻辑表达形式0和1,利用不同的序列能够衍生出其他丰富的逻辑表达形式。比方说0001表示 ADD 0000表示LOAD等等。


下面是指令的格式,假定我们设计的计算机CPU的指令长度都是2byte(实际上x86就不是指令等长度的)

我们可以假定如下设计理念。

北大计算机组成原理笔记2.1为什么要有指令系统




只要建立好这种对应的字符对应01组合的对应关系,我们就可以很方便的“翻译字符到01组合”。实际上这个过程是汇编语言编译之后得到机器代码。

北大计算机组成原理笔记2.1为什么要有指令系统


任何事情真正弄明白都要知道来龙去脉,以上就回答了,blog开头提出的问题。为什么我们需要一套指令系统?

为了更好的协同合作!

----------------------------------------------------------------------------------------------------------------------------------------------

仅作个人笔记用,推荐有心人一起学习交流讨论北大在coursera出的《计算机组成原理》。陆老师讲的很好!

我打算把自己遇到的问题或学到的东东总结出来。仅做个人交流讨论用。