指令与程序
本课链接:计算机科学速成课第八课
本节主要内容:指令与程序的作用和表示方法
一、程序的介绍
CPU是可以被软件控制的硬件(具有可编程性),写入不同的指令就会执行不同的任务。
程序可以创造功能,例如:ALU没有除法功能,程序给了ALU功能(移位相减)
二、跑一个程序
在第七课中,我们运行了一条指令(LOAD_A指令)。而程序是由多条指令组成的,运行程序也就是运行多条指令。
此处不进行讲解,视频讲解的很细致。
三、表示更多指令
8位的指令,前四位是操作码,后四位是操作数。也就是说,最多可以表示16条指令,操作16个地址,明显不够。
那有什么可以表示更多种指令的方法吗?
1、直接法
用更多位来代表指令,如直接使用更多位数(32bit/64bit)来表示指令。
2、可变指令长度
令不同指令的长度不同。
如果某指令不需要操作内存,则可省去寻址的位数。
举例:
- JUMP指令不需要操作内存,只需要连接要跳转的地址,我们省去它寻址的位数(无操作码),将8位全部用于表示内存地址,一共可以表示256个单元。
- HALT(程序终止指令)指令不需要,我们可以省去它操作数的位数。
总结:
1、CPU具有可编程性,是程序使得CPU能够执行不同的任务
2、程序给了部件功能,通过编程可以创造不同的功能
3、可通过加长指令长度和使用可变指令长度从而表示更多指令
以上均为个人学习所得见解,若有错误或不足欢迎补充和指正