8080是一个8位的微处理器,可以一次从存储器读取或向存储器写入8位数据。该芯片还包括标记为 $\mathbf { D } _ { 0 } \sim \mathbf { D } _ { 7 }$ 的8个信号,这些信号是芯片仅有的几个既可以用做输入又可以用做输出的信号。当微处理器从存储器中读取一个字节时,这些管脚的功能是输入;当微处理器向存储器写入一个字节时,其功能又变成了输出。
芯片的其余10个管脚是控制信号(control signals)。例如,RESET(复位)输入用于控制微处理器的复位。输出信号WR的功能是指明微处理器需要向 RAM中写入数据(WR信号对应于RAM阵列的写输入)。此外,当芯片读取指令时,在某些时刻一些控制信号会出现在 $\mathrm { D } _ { 0 } \sim \mathrm { D } _ { 7 }$ 管脚处。使用8080 芯片构建的计算机系统通常使用8228系统控制芯片来锁存附加的控制信号。本章在后面将会讲述一些控制信号。但8080的控制信号是极其复杂的,因此,除非你准备用该芯片搭建一台计算机,否则最好不要在这些控制信号上过多花费时间。
假设8080微处理器连接了一个64KB的存储器,这样我们就能独立地读写数据而不依赖于微处理器。
8080芯片复位后,它把锁存在存储器0000h地址处的字节读入微处理器,通过在地址信号端 ${ \bf A } _ { 0 } \sim { \bf A } _ { 1 5 }$ 输出16个0实现该过程。它读取的字节必须是8080指令,读取该字节的过程被称为取指令(instruction fetch)。
在第17章设计的计算机中,所有的指令(除了HLT指令)都是3个字节长,包括1字节的操作码和2字节的地址。在8080中,指令的长度可以是1字节、2字节,或者3字节。有些指令使8080从存储器的一个特定地址读取字节到微处理器,有些指令使8080将一个字节从微处理器写入存储器的特定地址;还有些指令使8080在其内部执行而不需要访问RAM。8080执行完第一条指令后,接着从存储器读取第二条指令,并依此类推。这些指令组合在一起构成了计算机程序,可以用来做一些很有趣的事情。
当 8080 以最高速度 2 MHz 运行时,每个时钟周期是 500ns(1 ÷ 2,000,000 =0.000000500s)。第17章中的计算机的所有指令都需要4个时钟周期,8080的每条指令需要4\~18个时钟周期,这就意味着每条指令的执行时间为 $2 \sim 9 \mu \mathrm { s }$ o
19 两种典型的微处理器
279