<- previous    index    next ->

Lecture 28 Architecture


Some computers I have programmed since 1960:
LGP 30
IBM 650
IBM 704
IBM 709
IBM 7090
PDP 11
DEC 10
Univac 1107
Univac 1108
IBM 360
DEC Alpha
SGI mips
Sun Sparc
TI 99
IBM PC
Intel PC
AMD PC
IBM Power PC
...            in at least 17 programming languages

32-bit and 64-bit  ALU  architectures are available.
Time to retire all 32 bit machines and software.

A 64-bit architecture, by definition, has 64-bit integer registers.
Many computers have had 64-bit IEEE floating point for many years.
The 64-bit machines have been around for a while as the Alpha and
PowerPC yet have become popular for the desktop with the Intel and
AMD 64-bit machines.



Software has been dragging well behind computer architecture.
The chaos started in 1979 with the following "choices."



The full whitepaper www.1.org/whitepapers/64bit.html

My desire is to have the compiler, linker and operating system be ILP64.
All my code would work fine. I make no assumptions about word length.
I use sizeof(int)  sizeof(size_t) etc. when absolutely needed.
On my 8GB computer I use a single array of over 4GB thus the subscripts
must be 64-bit. The only option, I know of, for gcc is  -m64 and that
just gives LP64. Yuk! I have to change my source code and use "long"
everywhere in place of "int". If you get the idea that I am angry with
the compiler vendors, you are correct!

big.out

The early 64-bit computers were:

DEC Alpha

DEC Alpha

IBM PowerPC

Some history of 64-bit computers:




Java for 64-bit, source compatible


Don't panic, you do not need to understand everything about
the Intel Itanium architecture:

IA-64 Itanium

Some history of the evolution of Intel computers:

Intel X86 development

long list

More cores are better, more parallel execution.



Note: Python integer is multiple precision integer.
You can computer 52! with no extra flags or libraries or code.
Java and many other languages now have integer as 64-bits.
The laggert is the "C" language, even with -m64, int is still 32 bits

    <- previous    index    next ->

Other links

Go to top