计算机速成课 第八集 指令和程序

技术计算机速成课 第八集 指令和程序 计算机速成课 第八集 指令和程序1. 给 CPU 一些指令来运行CPU 强大,是因为可编程
写入不同指令,就会执行不同任务
是一块硬件,可以被软件控制2. 举例:0

计算机速成班第八集说明和程序

1. 给 CPU 一些指令来运行

CPU之所以强大,是因为它是可编程的。

写不同的指令会执行不同的任务。

是一个可以被软件控制的硬件。

2. 举例:00101110

假设前四位是操作码,后四位指定存储器地址或寄存器。

假设0010代表LOAD_A指令,然后将最后四位数字1110(十进制14)放入寄存器A,因此我们将0010 1110视为“LOAD_A 14”的指令

例:“LOAD_A 14”是从地址14中获取数字3,放入寄存器A中(最好是看图,可以更清晰的观看原视频)

当两个寄存器中的数字相加时,顺序非常重要,因为结果将存储在第二个寄存器中。

视频中使用的命令:load _ a、load _ b、store _ a、add、sub、jump、jump _ neghalt

减法

跳转:跳转:让程序跳转到一个新的位置。

JUMP 0可以跳回开头。

的基本实现是用“指令地址寄存器”中的值重写由指令的最后四位表示的存储器地址的值

只有当某些条件满足时,我们才能跳跃。例如,JUMP否定就是条件跳转的一个例子。

其他类型的JUP

如果相等,跳转:如果相等

如果更大,跳3360

JUML _否定

只有当ALU的“负标志”(算术结果为负,且“负标志”为真)为真时,才执行JUMP,如果为假,则执行JUMP。

停止

计算机需要知道什么时候停止,否则CPU会一直运行,这叫无限循环。

以及指令和数据:都存储在同一个内存中,在基础层面没有区别。它们都是二进制数。HALT非常重要,可以区分指令和数据。

3. 软件强大之处

让我们做硬件做不到的事情。比如ALU没有除法功能,程序给了我们这个功能。

两种策略:

原因:因为4位二进制不能表示数字17,所以真正的现代CPU采用了两种策略:最直接的方式就是用更多的位来表示指令,比如32位或者64位,这就是所谓的指令长度。

策略1:指令长度

策略2:变长指令:

例如,一个中央处理器使用8位操作码。如果看到HALT指令,HALT不需要额外的数据,那么就会立即执行。

如果你看到JUMP,它需要知道位置值,它在JUMP后面。这叫做“即时价值”。

有了这种设计,指令可以是任何长度,但它会使阅读阶段稍微复杂一点。

4. 真实的例子

1971年,英特尔发布了4004处理器,这是首次将CPU制成芯片,为后来的英特尔处理器奠定了基础。

它支持46条指令,足以成为一台工作的计算机。

自1971年以来,处理器有了很大的发展。现代CPU,如英特尔酷睿i7,有数千条指令和指令变体,长度从1字节到15字节不等。

因为越来越多的功能是为CPU设计的,所以指令越来越多。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/139159.html

(0)

相关推荐

  • kendall和spearman相关系数的关系(pearson spearman kendall)

    技术pearson, spearman与kendall的关系是什么本篇内容主要讲解“pearson, spearman与kendall的关系是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让

    攻略 2021年12月21日
  • Python源代码的编制技巧是什么

    技术Python源代码的编制技巧是什么本篇文章为大家展示了Python源代码的编制技巧是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。下面进行详细说明Python源代码的编程

    攻略 2021年10月28日
  • CSS同级元素浮动怎么实现

    技术CSS同级元素浮动怎么实现本篇内容主要讲解“CSS同级元素浮动怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS同级元素浮动怎么实现”吧!1.同级浮动(1)使块

    攻略 2021年12月10日
  • 白凡士林的作用与用途,白凡士林可以用来护肤吗

    技术白凡士林的作用与用途,白凡士林可以用来护肤吗凡士林是当今世界性价比最高的护肤品,它的价格并不高,但是它的价值很高。因此有很多经济拮据却非常爱美的人会选择凡士林。不过,也有人担心凡士林会有副作用,担心用凡士林擦脸是不合

    生活 2021年10月19日
  • java中什么方法名是程序的入口(java中使用什么关键字定义类)

    技术Java线型代数的核心是什么本篇内容介绍了“Java线型代数的核心是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成

    攻略 2021年12月21日
  • 退烧按摩手法图解法,小儿发热推拿方法有哪些

    技术退烧按摩手法图解法,小儿发热推拿方法有哪些小儿发烧推拿手法有什么小儿发热是指小儿体温超过正常范围,可见于多种急、慢性疾病过程中退烧按摩手法图解法。根据小儿发热病因可将其分为外感发热、肺胃实热和阴虚内热,临床可采用按摩

    生活 2021年10月22日