Presentation is loading. Please wait.

Presentation is loading. Please wait.

Developing a 64-bit Strategy Craig McMurtry Developer Evangelist, Software Vendors Developer and Platform Evangelism Microsoft Corporation.

Similar presentations


Presentation on theme: "Developing a 64-bit Strategy Craig McMurtry Developer Evangelist, Software Vendors Developer and Platform Evangelism Microsoft Corporation."— Presentation transcript:

1

2 Developing a 64-bit Strategy Craig McMurtry Developer Evangelist, Software Vendors Developer and Platform Evangelism Microsoft Corporation

3 By the middle of [2005], virtually all our server products will be 64-bit capable. – Phil Brace, Intel Server Marketing Group

4 AMD’s processors are already (almost) all 64- bit capable!

5 Objects in the mirror are closer than they appear.

6 Developing a 64-bit Strategy Agenda 64-bit Hardware What Microsoft is doing about it What you can do about it

7 64-bit Hardware What is a 64-bit Processor? Processors work on data in chunks. Bigger chunks = higher throughput On a 32-bit processor, max chunk size = 4 GB On a 64-bit processor, max chunk size > 16TB!!!

8 64-bit Hardware What is a 64-bit Processor? Processors work on data in chunks. Bigger chunks = higher throughput On a 32-bit processor, max chunk size = 4 GB On a 64-bit processor, max chunk size > 16TB!!!

9 64-bit Hardware Two different species of 64-bit Processors Intel Itanium Processor  EPIC Instruction Set  Explicitly Parallel Computing  Bundling Instructions  Predication  64-bit  EPIC Instruction Set NOT x86 Instruction Set!!!  Has decoder to translate x86 instructions  Can’t boot x86 Operating Systems  6 Floating Point Calculators  6.4 Gigaflops of single-precision floating point power

10 64-bit Hardware Two different species of 64-bit Processors x64 Processors  64-bit processor  Built-in memory controller  x86 Instruction Set  Runs 32-bit x86 applications at machine speed!!!  Stunning performance

11 64-bit Hardware Two different species of 64-bit Processors x64 Processors  Stunning performance  Opteron outpaced pre-x64 Xeons by 45% in some tests  At Microsoft, reduced Windows OS build times by 2 / 3 Source: http://www.anandtech.com/IT/showdoc.aspx?i=1935&p=9

12 64-bit Hardware Two different species of processors Both revolutionary designs Itanium is the floating-point champ x86 is the software compatibility champ Number-crunching Broad utility

13 64-bit Hardware Two different species of processors Both revolutionary designs Itanium is the floating-point champ x86 is the software compatibility champ Number-crunching Broad utility

14 What is Microsoft doing about 64-bit? Operating Systems? Developer Tools? Applications?

15 What is Microsoft doing about 64-bit? Operating Systems Itaniumx64 Windows XP ProfessionalAvailableWith WS2K3 SP1 (H2 2005) Windows Server 2003, StandardWith WS2K3 SP1 (H2 2005) Windows Server 2003, EnterpriseAvailableWith WS2K3 SP1 (H2 2005) Windows Server 2003, DatacenterAvailablen/a

16 What is Microsoft doing about 64-bit? Operating Systems Windows Code Base x86 compiler x64 compiler Itanium compiler 64-bit Windows for Itanium 64-bit Windows for x64 32-bit Windows for x86 One code base

17 What is Microsoft doing about 64-bit? Operating Systems Features not supported on any 64-bit Windows  Microsoft DOS  16-bit applications  OS/2 Subsystem  POSIX Subsystem  Obsolete transport protocols

18 What is Microsoft doing about 64-bit? Operating Systems  Windows Firewall  Windows Security Center  DVD video playback  NetMeeting  Fax  Movie Maker  Windows Messenger  MSN Internet Access  ZIP Folders  Home Networking  Fast user switching  Remote Assistance  File and Settings Transfer Wizard  Search Companion  OpenGL  DirectX  Themes  Power Management  System Restore  BlueTooth x64 Windows has many features not on Itanium

19 What is Microsoft doing about 64-bit? Operating Systems 32-bit support at O/S level via WoW64  Intercepts calls from 32-bit apps to O/S

20 What is Microsoft doing about 64-bit? Operating Systems 32-bit support at O/S level via WoW64  Intercepts calls from 32-bit apps to O/S  Separate sets of system folders  64-bit apps in Program Files folder  64-bit libraries in System32 folder  32-bit apps in Program Files (x86) folder  32-bit libraries in SysWOW64 folder

21 What is Microsoft doing about 64-bit? Operating Systems 32-bit support at O/S level via WoW64  Intercepts calls from 32-bit apps to O/S  Separate sets of system folders  Registry keys for 32-bit apps under HKEY_LOCAL_MACHINE\Software\WOW6432Node

22 What is Microsoft doing about 64-bit? Operating Systems 32-bit support at O/S level via WoW64  Intercepts calls from 32-bit apps to O/S  Separate sets of system folders  Registry keys for 32-bit apps under HKEY_LOCAL_MACHINE\Software\WOW6432Node  Limitations:  16-bit installers  32-bit drivers

23 What is Microsoft doing about 64-bit? Operating Systems Summary  64-bit Windows for Itanium today  64-bit Windows for x86 in H2 2005  Part of Windows Server 2003 SP1 Release  WOW64 subsystem supports 32-bit apps at O/S level

24 What is Microsoft doing about 64-bit? Developer Tools For C and C++  Itanium compiler & MFC, ATL, C-Runtime libs today  x64 versions with WS2K3 SP1 (libs7164@microsoft.com)  New Itanium and x64 versions with VS 2005 For.NET  VS.NET 2003 may be supported on WS2K3 SP1  VS 2005 includes 64-bit 2.0.NET Framework for Itanium and x64

25 What is Microsoft doing about 64-bit? Applications SQL Server 2000 for Itanium today SQL Server 2005 for x64 and Itanium in H2 2005

26 What can you do about 64-bit? Extend your Microsoft-based apps to support it  Architectural Issues  Code migration  Testing and debugging

27 What can you do about 64-bit? Architecture Support a 64-bit Database Extending your code  Cannot access 32-bit DLLs from 64-bit code … So plan to access 32-bit DLLs via remote interfaces

28 What can you do about 64-bit? Architecture Support a 64-bit Database Extending your your code  Cannot access 32-bit DLLs from 64-bit code … So plan to access 32-bit DLLs via remote interfaces

29 What can you do about 64-bit? Extending your code Aim for one version for both 32-bit and 64-bit!

30 What can you do about 64-bit? Extending your code C and C++  Consider moving it to managed code  If you stick to C and C++ note:  On 64-bit Windows, long integer is 32-bits, pointer is 64 ImageBase = (PVOID)((ULONG)ImageBase|1)  Use the Windows data types exclusively  New fixed precision types, eg. DWORD32 – 32-bits on both 32-bit and 64-bit  New polymorphic types, eg. ULONG_PTR – 32-bits on 32-bit, 64-bits on 64 ImageBase = (PVOID)((ULONG_PTR)ImageBase|1) X √

31 What can you do about 64-bit? Extending your code C and C++  If you stick to C and C++ note:  0xFFFFFFFF is not -1 on a 64-bit system  Memory alignment is critical especially on Itanium #pragma pack (1) struct AlignSample { ULONG size; void *ptr; }; void foo(void *p) { struct AlignSample s; s.ptr = p; }

32 What can you do about 64-bit? Extending your code C and C++  If you stick to C and C++ note:  0xFFFFFFFF is not -1 on a 64-bit system  Memory alignment is critical especially on Itanium #pragma pack (1) struct AlignSample { ULONG size; void *ptr; }; void foo(void *p) { struct AlignSample s; s.ptr = p; }

33 What can you do about 64-bit? Extending your code C and C++  If you stick to C and C++ note:  Use SIZE_T to determine if you are on 32- or 64-bit

34 What can you do about 64-bit? Extending your code Managed Code  1.0 & 1.1 executables run as 32-bit apps  For 2.0 64-bit executables  Floating points are more precise  Examine interfaces to unmanaged code  SYSTEM.INPOINTER tells if you are on 32- or 64-bit  Components in the GAC are tagged as 32- or 64-bit

35 What can you do about 64-bit? Migration Building and testing  Build & test on 32-bit, then compile for 64 and test  Debugging is remote on 64-bit

36 Conclusions The market for x64 hardware is exploding You need to take advantage of it There never was a better time to adopt.NET

37 © 2002 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Download ppt "Developing a 64-bit Strategy Craig McMurtry Developer Evangelist, Software Vendors Developer and Platform Evangelism Microsoft Corporation."

Similar presentations


Ads by Google