Please consider a donation to the Higher Intellect project. See https://preterhuman.net/donate.php or the Donate to Higher Intellect page for more info. |
Difference between revisions of "PowerPC 603"
(Created page with "The 603 is a model of PowerPC processor under the AIM alliance (Apple/IBM/Motorola). The 603 was not known for having impressive performance and the processor appears to have...") |
|||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
The 603 is a model of PowerPC processor under the AIM alliance (Apple/IBM/Motorola). The 603 was not known for having impressive performance and the processor appears to have been mostly used for low-cost or portable applications. | The 603 is a model of PowerPC processor under the AIM alliance (Apple/IBM/Motorola). The 603 was not known for having impressive performance and the processor appears to have been mostly used for low-cost or portable applications. | ||
+ | |||
+ | __TOC__ | ||
==PowerPC 603e== | ==PowerPC 603e== | ||
Line 6: | Line 8: | ||
==PowerPC 603ev== | ==PowerPC 603ev== | ||
The 603ev is an improved version of the 603e and allowed for clock speeds up to 300MHz. | The 603ev is an improved version of the 603e and allowed for clock speeds up to 300MHz. | ||
+ | |||
+ | ==Split Cache== | ||
+ | Unlike the PowerPC 601, which has a unified cache, the PowerPC 603 has separate caches for instructions and data. This can lead to cache coherency problems in applications that mix code and data. In the Macintosh Operating System, the Code Fragment Manager loads almost all native code to ensure that the code is suitable for execution. If your code is loaded by the Code Fragment Manager, you don’t have to worry about cache coherency. If, however, your application generates code in memory for execution, problems can arise. Examples include compilers that generate code for immediate execution and interpreters that translate code in memory for execution. For such cases, you can use the call MakeDataExecutable to notify the Macintosh Operating System that data is subject to execution. This call is defined in OSUtils.h. | ||
[[Category:Computing]][[Category:Processors]] | [[Category:Computing]][[Category:Processors]] | ||
+ | [[Category:IBM]] | ||
+ | [[Category:Motorola]] | ||
+ | [[Category:PowerPC]] |
Revision as of 13:28, 24 June 2020
The 603 is a model of PowerPC processor under the AIM alliance (Apple/IBM/Motorola). The 603 was not known for having impressive performance and the processor appears to have been mostly used for low-cost or portable applications.
PowerPC 603e
The 603e improves performance over the 603 with the expansion and enhancement of the L1 cache. Clock speeds of the 603e typically reached 200MHz.
PowerPC 603ev
The 603ev is an improved version of the 603e and allowed for clock speeds up to 300MHz.
Split Cache
Unlike the PowerPC 601, which has a unified cache, the PowerPC 603 has separate caches for instructions and data. This can lead to cache coherency problems in applications that mix code and data. In the Macintosh Operating System, the Code Fragment Manager loads almost all native code to ensure that the code is suitable for execution. If your code is loaded by the Code Fragment Manager, you don’t have to worry about cache coherency. If, however, your application generates code in memory for execution, problems can arise. Examples include compilers that generate code for immediate execution and interpreters that translate code in memory for execution. For such cases, you can use the call MakeDataExecutable to notify the Macintosh Operating System that data is subject to execution. This call is defined in OSUtils.h.