Chapter 2. Computer Structures and Data Representations

When you develop applications in a high-level language, such as C or FORTRAN, you have to understand the features, capabilities, and limitations of the programming language more thoroughly than you need to know the nature of the computer architecture for which that language has been implemented. The computer appears to you to be a machine that executes C or FORTRAN statements and manipulates high-level data elements. For example, while standard FORTRAN provides for the storage and use of Boolean variables, the computer itself may not; the FORTRAN compiler implements Boolean variables using some other intrinsic data type that the computer architecture does support.

The actual structure of the underlying hardware is thus virtually invisible to the high-level language programmer. Not so for the assembly language programmer, who gets a much closer feel for the actual machine and thus needs to understand the structure of a computer system, the nature of memory addressing, and the process of program execution. Once you have attained this foundation, you can begin to focus on learning instructions and elementary assembly language programming for a particular architecture.

Compiler writers need architectural information, as well as specific details about new processor implementations, so that compilers can create application programs that achieve optimal performance. Not every program written to perform well on, say, a Pentium III is guaranteed to perform as well on a Pentium 4 system running at the same, or a faster, clock rate. Different implementations may put different machine instructions at a relative disadvantage.



ItaniumR Architecture for Programmers. Understanding 64-Bit Processors and EPIC Principles
ItaniumR Architecture for Programmers. Understanding 64-Bit Processors and EPIC Principles
ISBN: N/A
EAN: N/A
Year: 2003
Pages: 223

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net