APPENDIX

INTRODUCTION

This benchmark report compares the capabilities of Intel's iAPX 88/10 microprocessor with those of the Zilog Z80. The purpose of the report is to aid the user in his evaluation of the two processors, and to provide him with some of the information he will need in making a knowledgeable decision regarding which processor best satisfies the requirements of his application.

Because system requirements can vary greatly from one application to the next, no one program can adequately display the capabilities of each processor. For this reason, ten programs have been chosen to demonstrate the performance of the iAPX 88/10 and Z80 in several areas. The benchmark programs cover some ofthe basic tasks which are relevant to many of the applications for which these two processors might be considered. These ten programs demonstrate the processors capabilities in the areas of Data Manipulation, Computation, and Processor Control. Each program was defined in such a way as to be relatively straightforward, while still allow- ing the processors to use their instruction set efficiently in implementing the program.

The benchmark programs were used to evaluate the iAPX 88/10 and Z80 on the basis of execution speed, ease of programming (number of lines of code) and memory usage. These factors were considered because they are often the key requirements evaluated when a design decision is made. Execution speed is a direct measure of how fast a processor will complete a task. This can be the critical requirement for many real-time control or multi-user systems. Here, cost may not be the primary issue because a less expensive but slower system may be inadequate, regardless of the cost savings. On the other hand, many systems do have critical cost requirements for which it may make sense to sacrifice some execution speed in order to reduce costs. For a memory intensive system, the cost can be reduced significantly by using less memory, or less expensive lower speed memory. For this reason, coding efficiency and memory access time were examined to help evaluate price/performance tradeoffs. Another factor, the ease of programming, is becoming more and more important as the cost of memory decreases and the amount of soft- ware in the typical microprocessor application rapidly grows. For many applications, software development costs have become greater than hardware development costs. This means that the total development costs of such a project can be substantially reduced by using the processor which accomplishes the most in the least number of lines of code. To demonstrate performance in this area, the processors have been evaluated on the basis of the number of lines of code required for each program which has been defined as "ease of pro- gramming."

The benchmark programs in this report were written for the purpose of comparing the iAPX 88/10 and Z80 microprocessors. They should be used only as a guide in

evaluating processor performance and are not an abso- lute measure of performance for all applications. The programs were written to perform the tasks in a clear and straightforward manner. They do not necessarily show an optimized implementation of the task for either processor. The benchmark programs do, however, pro- vide relevant information and a consistent comparison which may be useful to the designer in choosing the microprocessor whiCh delivers the best solution to the requirements of his design.

PROCESSOR DESCRIPTION

A brief description of some of the key features of the iAPX 88 and Z80 is included here and in Table 1. The topics discussed are Architecture, Memory Timing, Instruction Sets, and Addressing Modes. For more com- plete descriptions, refer to Intel's 8086 Family Users Manual and Zilog's Z80 Programming Manual or other related literature. Throughout this document iAPX 88 will refer to a 5 MHz system using the 8088 CPU, while Z80A and Z80B will refer to 4 MHz and 6 MHz systems using the Z80 CPU.

Intel iAPX 88

The Intel 8088 (or 88110) is the host processor of the iAPX 88 microcomputer system. The 88/10 is an N-channel MaS microprocessor which currently has a maximum clock rate of 5 MHz. Internally the 88/10 is a microcoded 16-bit processor which multiplexes a 16-bit internal data bus onto an 8-bit system data bus for external communication. The address space is 1 Megabyte which is segmented to support modular pro- gramming. Except for the implementation of the Bus Interface Unit, the 88/10 is identical to the Intel 86/10 microprocessor.

The architecture of the 88/10 is divided into two separate processing units, the Bus Interface Unit (BIU) and the Execution Unit (EU). These two units perform separate functions in parallel to maximize throughput.

The EU contains the 16-bit arithmetic/logic unit (ALU) as well as the general registers and flags of the CPU. It is responsible for executing instructions, and communi- cates only with the BIU. The BIU performs all bus operations needed by the EU. It contains the segment registers, the instruction pointer, the bus control logic and the instruction queue. Because the BIU operates in parallel with the EU, instruction fetches overlap instruc- tion execution. The result is efficient utilization of the system bus and transparent instruction prefetch.

The 88/10 contains three sets of four 16-bit registers, and nine one-bit flags. The four data group registers, AX, BX, CX and DX, as well as the four pointer and in- dex registers, SP, BP, SI and DI, are all 16-bits wide and can be used as source and destination in most arithmetic and logic operations. All eight of these general registers function as accumulators for many instructions. The data group registers, AX, BX, CX and DX can also be

AFN-01664A

Page 270
Image 270
Intel 210200-002 manual Processor Description