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

技术计算机速成课 第八集 指令和程序 计算机速成课 第八集 指令和程序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)

相关推荐

  • oracle merge into用法(oracle awr性能分析报告)

    技术Oracle sharding database的示例分析这篇文章主要为大家展示了“Oracle sharding database的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一

    攻略 2021年12月13日
  • mysql如何给大表添加字段(mysql数据表怎么添加字段)

    技术MySQL中大数据表如何增加字段这篇文章将为大家详细讲解有关MySQL中大数据表如何增加字段,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言增加字段相信大家应该都不陌生,随手就可

    攻略 2021年12月24日
  • swingworker处理中间结果的方法(swing项目实例)

    技术如何实现SwingWorker的实例化本篇文章给大家分享的是有关如何实现SwingWorker的实例化,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Sw

    攻略 2021年12月24日
  • 乘方的意义,30 用乘方的意义计算

    技术乘方的意义,30 用乘方的意义计算求n个相同因数乘积的运算,叫做乘方,乘方的结果叫做幂(power)乘方的意义。 其中,a叫做底数(base number),n叫做指数(exponent),当aⁿ看作a的n次方的结果

    生活 2021年10月20日
  • mysql如何实现查表空间大小的SQL语句

    技术mysql如何实现查表空间大小的SQL语句这篇文章将为大家详细讲解有关mysql如何实现查表空间大小的SQL语句,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

    攻略 2021年10月30日
  • 第292天学习打卡,知识点回顾 java运行时数据区)

    技术第292天学习打卡,知识点回顾 java运行时数据区) 第292天学习打卡(知识点回顾 java运行时数据区)知识点回顾
    java 运行时数据区程序计数器 :程序计数器(Program Counte

    礼包 2021年10月28日