{'fraction_non_alphanumeric': 0.02269861286254729, 'fraction_numerical': 0.0058848255569567045, 'mean_word_length': 5.329787234042553, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Trends in programmable instruction-set processor architectures �

A computer is a system which processes data according to a specified algorithm. It contains one or more programmable (in the sense that the user can specify its operation) digital processors, also called central processing units (CPUs), memory for storing data and instructions, and input and output devices1. The science which researches the design of those systems is called computer architecture. Although the architecture of a computer system is usually defined as a specification of its functional appearance [5], i.e. its external behavior, the science of computer architecture has to take into account the characteristics of the implementation and realization of computer systems, the operating system and even the methods available for generating efficient code. The latter is necessary because human specified algorithms have to be translated (compiled) into code which is ‘understandable’ by the system. With the advances of VLSI technology one or more CPUs can be realized on a single chip; these single chip processors are called microprocessors. To appreciate the importance of multi-media processor architectures, it is necessary to understand the trends in computer architecture and the developments which led to those trends. The trends are largely influenced by the aim of achieving a higher performance, or a better performance-cost ratio. The performance of a computer is dependent on the complete mapping trajectory, from application to operations performed by the data path. Therefore, to understand the architecture developments, we will look at compiler and VLSI developments as well. This chapter discusses past developments and the most important trends. To begin with, section 1.1 looks at the role of computer architecture in the mapping trajectory of applications to hardware. It introduces some terminology and shows that architectures can be considered at different semantic levels. Section 1.2 gives an overview of the performance increase of computer systems during the latest years. The primary developments contributing to the performance increase are described in the following sections: VLSI developments are detailed in section 1.3, architecture developments in sections 1.4, and compiler developments in section 1.7. Meanwhile, section 1.5 presents a classification model for