这里我们漏掉的就是软件。当一个微处理器首次上电或复位时,它会从特定的内存地址开始执行机器代码。在英特尔的8080系统中,这个地址就是0000h。在一台设计精良的计算机中,通过上电启动,将会有一条机器代码指令被载入到该内存地址中(一般情况下是一段程序的第一条指令)。
机器代码指令是怎么加载到那个内存地址中的呢?把软件安装到一台新设计的计算机的过程,可能是整个过程中最令人困惑的部分了,怎样理解它呢?让我们先从第16章所讲的一个控制面板入手吧,这个控制面板的功能是把字节写入随机访问存储器,之后还可将其读出。
与前面介绍过的有所不同,这个控制面板上设计了一个复位开关。复位开关与微处理器的复位输入相连接。一旦复位开关闭合(置1),微处理器就会停止工作;当此开关断开后(置0),微处理器就开始执行机器代码。
使用此控制面板的方法是:打开复位开关,微处理器复位并停止执行机器代码;打开控制开关,就会接收总线上的地址信号和数据信号。在该状态下,你可以通过开关 ${ \bf A } _ { 0 } \sim$ $\mathbf { A } _ { 1 5 }$ 来指定一个16位的存储器地址;通过灯泡 $\mathbf { D _ { 0 } } \sim \mathbf { D } _ { 7 }$ 的明灭组合来显示该存储器地址中的8位数据。那么怎样把一个新的字节写入到此地址中呢?首先通过开关 ${ \bf D } _ { 0 } \sim { \bf D } _ { 7 }$ 来设置想要写入的字节,然后把写入开关先打开再关闭。当你已经完成向存储器中插入字节的工作后,关上控制及复位开关,微处理器就会执行程序。
上面这个过程展示了向这台我们刚刚打造出来的计算机输入第一条机器代码的步骤。
22 操作系统
347