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

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

相关推荐

  • 根号下的数的取值范围,根号里面的数的取值范围

    技术根号下的数的取值范围,根号里面的数的取值范围根号下的数可以等于零根号下的数的取值范围。
    通常说的根号都是只二次根号,即√,它表示对根号下的数开平方。根号下的数叫做“被开方数”。所以根号下的数需要满足的条件:是某个数的

    生活 2021年10月28日
  • C++中怎么使用try和catch捕获异常

    技术C++中怎么使用try和catch捕获异常这篇文章主要介绍“C++中怎么使用try和catch捕获异常”,在日常操作中,相信很多人在C++中怎么使用try和catch捕获异常问题上存在疑惑,小编查阅了各式资料,整理出

    攻略 2021年11月29日
  • maven pom文件规范是什么样的

    技术maven pom文件规范是什么样的maven pom文件规范是什么样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。今天遇到个问题,架构项目的时候

    攻略 2021年10月19日
  • 用java技术实现网上聊天系统(java聊天室系统整体设计)

    技术基于Java怎么实现简易的局域网对话系统基于Java怎么实现简易的局域网对话系统,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。先说一下写的确实比较一般,

    攻略 2021年12月20日
  • 怎么实现spring mvc SSE服务端发送事件

    技术怎么实现spring mvc SSE服务端发送事件这篇文章主要讲解了“怎么实现spring mvc SSE服务端发送事件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“

    攻略 2021年11月16日
  • Python中如何遍历特定目录下的文件提取指定信息

    技术Python中如何遍历特定目录下的文件提取指定信息这篇文章给大家分享的是有关Python中如何遍历特定目录下的文件提取指定信息的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。需求需要遍历某目

    攻略 2021年11月24日