These were designed for use with or similar processors and used an 8-bit data bus. Bill took steps to be sure that the chip could support a yet-to-be-developed math chip. In Pohlman got the go ahead to design the math chip. Bruce Ravenel was assigned as architect, and John Palmer was hired to be co-architect and mathematician for the project. The two came up with a revolutionary design with 64 bits of mantissa and 16 bits of exponent for the longest-format real number, with a stack architecture CPU and 8 bit stack registers, with a computationally rich instruction set.
|Published (Last):||22 July 2011|
|PDF File Size:||6.85 Mb|
|ePub File Size:||4.33 Mb|
|Price:||Free* [*Free Regsitration Required]|
It is a high performance numeric co-processor. It can work on integer, decimal and real type numbers. It has an instruction set capable of doing complex arithmetic and trigonometric calculations. It follows IEEE floating-point standard. Architecture of The architecture of NDP is divided into control unit and numerical execution unit. Control unit: It receives all instructions for the numeric data processor NDP. Instructions involving the register stack are given to the numeric execution unit NEU while the control unit executes the remaining instructions.
Its main components area. Instruction queue: maintains an instruction queue identical to that of the host processor Any instruction having an ESC prefix is decoded and executed by the , other instructions are ignored by it. This queue is synchronized by monitoring the QS0 and QS1 lines.
Control word: Control words are sent to by writing them to a memory location and having execute an instruction which reads in the control word from the memory. The control word is shown in the figure below: Status word: To read the status word from an , you have it execute an instruction which writes the status word to memory where you can read or check it with an instruction.
The status word is shown in the figure below: Instruction pointer: It mainly contains address of the ESC instruction.
Its 32 bit complete composition is 20 bits address of ESC instruction. Data pointer: It mainly contains address of data.
Its 32 bit complete composition is 20 bits memory address of data. It uses operands from the register stack During arithmetic operations, handles exponents and mantissa separately. Example: For addition, it will first compare and equalize the exponents by shifting and only then add the mantissa Its main components are Register stack: has eight 80 bit numeric data registers available to the programmer.
Each register is 80 bits as the data is stored internally in the temporary-real format. On initialization the stack pointer contains i. Register 0 is the ST. It is a circular stack i.
So register 7 becomes ST 0. Tag word: contains 2 tag bits for each stack register. These tag bits indicate the type of number stored in the respective register. Tag bits.
8087 Numeric Data Processor