4052: Difference between revisions

Jump to navigation Jump to search
28 bytes added ,  4 June 2020
no edit summary
No edit summary
No edit summary
Line 12: Line 12:


However, the 4051 firmware was written for the 8-bit 6800 processor so the 16-bit memory access is rarely of any benefit. The overlapping of instruction and data fetch was complicated to implement and was abandoned for the first version of the product. The result was a system with between 2 and 3 times the performance of the 4051. Early in the project, it was proposed that the 6800-assembler-coded implementation of 48-bit floating-point arithmetic used in the 4051 firmware be implemented in microcode, but Tek management vetoed the idea until it became obvious that the performance goals would not be met without it. So, late in the project, the floating-point operations were implemented in microcode by adding new opcodes in gaps in the 6800 opcode map, and the firmware was rewritten to use the new opcodes instead of calling the floating-point subroutines. The result was about a 30-times improvement in speed over the 4051. This was because graphics operations are floating-point intensive − every move or draw requires two multiplies and two adds to convert from the user's coordinate space to screen coordinates. Also other numeric-intensive operations such as matrix calculations benefited.
However, the 4051 firmware was written for the 8-bit 6800 processor so the 16-bit memory access is rarely of any benefit. The overlapping of instruction and data fetch was complicated to implement and was abandoned for the first version of the product. The result was a system with between 2 and 3 times the performance of the 4051. Early in the project, it was proposed that the 6800-assembler-coded implementation of 48-bit floating-point arithmetic used in the 4051 firmware be implemented in microcode, but Tek management vetoed the idea until it became obvious that the performance goals would not be met without it. So, late in the project, the floating-point operations were implemented in microcode by adding new opcodes in gaps in the 6800 opcode map, and the firmware was rewritten to use the new opcodes instead of calling the floating-point subroutines. The result was about a 30-times improvement in speed over the 4051. This was because graphics operations are floating-point intensive − every move or draw requires two multiplies and two adds to convert from the user's coordinate space to screen coordinates. Also other numeric-intensive operations such as matrix calculations benefited.
==See Also==
* [[4050E01]]


==Links==
==Links==

Navigation menu