Go Back   AnandTech Forums > Hardware and Technology > CPUs and Overclocking

Forums
· Hardware and Technology
· CPUs and Overclocking
· Motherboards
· Video Cards and Graphics
· Memory and Storage
· Power Supplies
· Cases & Cooling
· SFF, Notebooks, Pre-Built/Barebones PCs
· Networking
· Peripherals
· General Hardware
· Highly Technical
· Computer Help
· Home Theater PCs
· Consumer Electronics
· Digital and Video Cameras
· Mobile Devices & Gadgets
· Audio/Video & Home Theater
· Software
· Software for Windows
· All Things Apple
· *nix Software
· Operating Systems
· Programming
· PC Gaming
· Console Gaming
· Distributed Computing
· Security
· Social
· Off Topic
· Politics and News
· Discussion Club
· Love and Relationships
· The Garage
· Health and Fitness
· Merchandise and Shopping
· For Sale/Trade
· Hot Deals
· Free Stuff
· Contests and Sweepstakes
· Black Friday 2012
· Forum Issues
· Technical Forum Issues
· Personal Forum Issues
· Suggestion Box
· Moderator Resources
· Moderator Discussions
   

Reply
 
Thread Tools
Old 11-15-2012, 07:17 PM   #26
Ajay
Golden Member
 
Ajay's Avatar
 
Join Date: Jan 2001
Posts: 1,278
Default

Quote:
Originally Posted by Idontcare View Post
Reminds me of DEC's FX!32 software.
Wow, thanks for the trip on the way back machine!
__________________
Asus P6T Deluxe V2, Ci7 920 @ 4GHz, Corsair H100, 2x240GB SanDisk Extreme SSDs in Raid 0, WD VR 300 HD, MSI GTX 680 Power Edition @ 1200MHz, 12GB G.Skill Riojaws DDR3 1600, Corair 850HX, Corsair 800D case. Win7 x64 Ultimate.
Heatware

Last edited by Ajay; 11-15-2012 at 08:52 PM.
Ajay is offline   Reply With Quote
Old 11-15-2012, 07:33 PM   #27
Tuna-Fish
Senior Member
 
Join Date: Mar 2011
Posts: 490
Default

Quote:
Originally Posted by cytg111 View Post
hrmmm .. one of these genius compiler guys should invent the binary compiler. Take a binary, say targetted 386 and recompile it towards a new arch.
Should be doable.
These things exist, however, they are horribly slow, and generally cannot really improve anything. Compilers can extract speed by relying on provided constraints and invariants. A binary provides almost none -- you really cannot do much better than the original one.

(TSX)
Quote:
Originally Posted by ShintaiDK View Post
Also supported in VS2012 and Intel compilers (v13). And from GCC 4.8.
Proper use of RTM is not just a recompile away. We need a lot of software infrastructure that isn't there yet to make full use of it.
Tuna-Fish is offline   Reply With Quote
Old 11-15-2012, 11:33 PM   #28
Cerb
Lifer
 
Cerb's Avatar
 
Join Date: Aug 2000
Posts: 12,044
Default

Quote:
Originally Posted by cytg111 View Post
- You dont have to wait for your favorite software vendor to get benefit from your new arch. Your software vendor may never get around to it or may even not be in business anymore. There's a ton of scenarios where this makes sense IMO.
We have libre software, and languages based on IRs, both of which are quite efficient ways to do it.

With AVX(2), there is the option to get a performance boost just from vector SSE2 code recompilation (scalar won't get anything). That's not the norm. Getting any kind of meaningful performance boost from an existing binary will not be an easy feat, and may be close to impossible, without taking the time to analyze all code side effects, and determine which ones are and are not made use of.

The information that you really want, to make it work well, is in some form of AST and/or object file set, worked out from the source code. Most of that is, "thrown away," as part of making the final binary. Most of it can still be made use of with an abstract virtual machine language, made to describe the program's activity, not some other machine's activity. The JVM and .NET CLR are the premier examples of this, today, and LLVM is getting pervasive in the odd places you wouldn't normally look (drivers, FI). These pseudo-machine languages are very much made to have enough semantic information for a compiler left in them, while being far enough from the code that the CPU time to compile won't need to be too much. Binaries for actual machines, however, have all their quirks wrapped up in them, and use every little trick the compiler (or programmer, in highly-optimized cases) could figure out, to speed them up. In the case of whole new sets of instructions, the code would need to be reverse-engineered, refactored, and re-optimized.

Now, for compatibility, I'm all for it, like making a program that breaks in 64-bit work fine in 64-bit (I really do wish MS supported thunking all the way down, for that, because I occasionally do need to read files from ancient programs). But, for performance, it may not even be possible to improve things that way, but if it is, it would take an insane amount of work.
__________________
"The computer can't tell you the emotional story. It can give you the exact mathematical design, but what's missing is the eyebrows." - Frank Zappa

Last edited by Cerb; 11-15-2012 at 11:37 PM.
Cerb is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 11:04 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, vBulletin Solutions, Inc.