Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #130153
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: "C Is Not a Low-level Language" |
| Date | 2018-05-04 14:37 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <pchk5d$d5t$1@dont-email.me> (permalink) |
| References | <pcda5a$5nk$1@dont-email.me> <bhtGC.33054$7b4.3563@fx12.am4> <pch4hk$9ip$1@dont-email.me> <4ed7c06d-9608-4b04-a601-9d1bfae1c7b0@googlegroups.com> |
On 04/05/18 13:51, already5chosen@yahoo.com wrote: > On Friday, May 4, 2018 at 11:10:50 AM UTC+3, David Brown wrote: >> >> Some of his points about cpus being designed to be fast for C are true - >> but most aspects here also make the cpus fast for other compiled >> languages. (And the "register rename engine" which he rightly calls a >> cost in power and die area is mainly a requirement of binary backwards >> compatibility in the x86 world - high register count RISC processors >> don't have them, and they are not required in any way for C.) >> > > Why do you feel oblidged to comment on things that you have no > slightest idea about? > > MIPS R1000 and derivatives have no "register rename engine"? > HP PA-8000 and derivatives have no "register rename engine"? > DEC Alpha 21264 and 21364 have no "register rename engine"? > IBM Power from 3 to 9, excluding 6 have no "register rename engine"? > Fujitsu SPARC64 from V to XII have no "register rename engine"? > Apple A cores starting from Typhoon have no "register rename engine"? > ARM Cortex A57/A72 series and A73/A75 series have no "register rename engine"? > > The answer is "No, all of above have it". > And unless you don't know (which sounds unlikely) all above > mentioned > architectures feature at least 32 programmer-visible general-purpose > registers. > I stand corrected here - the architectures whose details I am most familiar with are either older or simpler (the embedded ARM and PPC cores I have used most do not have register renaming). Let me just note that register renaming is not necessary for C. And the benefits (and costs) of it are unrelated to the language. It is a matter of taking a sequential instruction stream and trying to achieve instruction level parallelism and out-of-order execution (as distinct from getting parallelism from having multiple virtual cores or threads). It is particularly important when you are trying to get higher speeds while keeping binary compatibility with existing code that is written without considering scheduling or parallel execution of instructions. Secondly, register renaming is most necessary, and most costly, when handling an architecture with few registers, where much of the data passes through a bottleneck register or accumulator, or where you have a substantial proportion of operations of the form "A = A op B". On processors with lots of registers you can already run "A = B op C" and "D = E op F" in parallel without register renaming - and compilers understand that and pick registers appropriately. (But yes, once you are trying to do more out-of-order or superscaler execution then even 32 registers gets limited.)
Back to comp.lang.c | Previous | Next — Previous in thread | Find similar | Unroll thread
"C Is Not a Low-level Language" Lynn McGuire <lynnmcguire5@gmail.com> - 2018-05-02 16:21 -0500
"C Is Not a Low-level Language" Chad <cdalten@gmail.com> - 2018-05-02 16:35 -0700
Re: "C Is Not a Low-level Language" bartc <bc@freeuk.com> - 2018-05-03 02:07 +0100
Re: "C Is Not a Low-level Language" 1alvinalbrecht1@gmail.com - 2018-05-02 21:48 -0700
Re: "C Is Not a Low-level Language" Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-05-03 02:14 -0700
Re: "C Is Not a Low-level Language" David Brown <david.brown@hesbynett.no> - 2018-05-04 10:45 +0200
Re: "C Is Not a Low-level Language" Steven Petruzzellis <frelwizzen@gmail.com> - 2018-05-04 02:15 -0700
Re: "C Is Not a Low-level Language" David Brown <david.brown@hesbynett.no> - 2018-05-04 10:14 +0200
Re: "C Is Not a Low-level Language" supercat@casperkitty.com - 2018-05-04 08:12 -0700
Re: "C Is Not a Low-level Language" David Brown <david.brown@hesbynett.no> - 2018-05-06 21:18 +0200
Re: "C Is Not a Low-level Language" supercat@casperkitty.com - 2018-05-06 15:44 -0700
Re: "C Is Not a Low-level Language" Richard Damon <Richard@Damon-Family.org> - 2018-05-06 19:45 -0400
Re: "C Is Not a Low-level Language" supercat@casperkitty.com - 2018-05-07 09:47 -0700
Re: "C Is Not a Low-level Language" Steve Carroll <frelwizzen@gmail.com> - 2018-05-07 13:15 -0700
Re: "C Is Not a Low-level Language" Richard Damon <Richard@Damon-Family.org> - 2018-05-07 22:03 -0400
Re: "C Is Not a Low-level Language" supercat@casperkitty.com - 2018-05-08 06:46 -0700
Re: "C Is Not a Low-level Language" Richard Damon <Richard@Damon-Family.org> - 2018-05-08 20:59 -0400
Re: "C Is Not a Low-level Language" supercat@casperkitty.com - 2018-05-09 10:03 -0700
Re: "C Is Not a Low-level Language" Steve Carroll <frelwizzen@gmail.com> - 2018-05-09 10:57 -0700
Re: "C Is Not a Low-level Language" supercat@casperkitty.com - 2018-05-08 07:58 -0700
Re: "C Is Not a Low-level Language" Tim Rentsch <txr@alumni.caltech.edu> - 2018-05-18 20:18 -0700
Re: "C Is Not a Low-level Language" supercat@casperkitty.com - 2018-05-19 15:49 -0700
Re: "C Is Not a Low-level Language" Steve Carroll <frelwizzen@gmail.com> - 2018-05-07 05:58 -0700
Re: "C Is Not a Low-level Language" bartc <bc@freeuk.com> - 2018-05-03 10:58 +0100
Some course material (was Re: "C Is Not a Low-level Language") Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-05-03 14:41 +0000
Re: Some course material (was Re: "C Is Not a Low-level Language") bartc <bc@freeuk.com> - 2018-05-03 16:02 +0100
Re: Some course material (was Re: "C Is Not a Low-level Language") Steven Petruzzellis <frelwizzen@gmail.com> - 2018-05-03 10:25 -0700
Re: "C Is Not a Low-level Language" Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-05-03 09:17 -0700
Re: "C Is Not a Low-level Language" bartc <bc@freeuk.com> - 2018-05-03 17:39 +0100
Re: "C Is Not a Low-level Language" Wouter Verhelst <w@uter.be> - 2018-05-04 11:40 +0200
Re: "C Is Not a Low-level Language" bartc <bc@freeuk.com> - 2018-05-04 10:59 +0100
Re: "C Is Not a Low-level Language" Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-05-04 03:18 -0700
Re: "C Is Not a Low-level Language" scott@slp53.sl.home (Scott Lurndal) - 2018-05-04 14:59 +0000
Re: "C Is Not a Low-level Language" supercat@casperkitty.com - 2018-05-04 08:57 -0700
Re: "C Is Not a Low-level Language" David Brown <david.brown@hesbynett.no> - 2018-05-06 23:24 +0200
Re: "C Is Not a Low-level Language" Robert Wessel <robertwessel2@yahoo.com> - 2018-05-07 12:27 -0500
Re: "C Is Not a Low-level Language" Robert Wessel <robertwessel2@yahoo.com> - 2018-05-04 11:15 -0500
Re: "C Is Not a Low-level Language" Wouter Verhelst <w@uter.be> - 2018-05-04 18:13 +0200
Re: "C Is Not a Low-level Language" Robert Wessel <robertwessel2@yahoo.com> - 2018-05-04 11:45 -0500
Re: "C Is Not a Low-level Language" scott@slp53.sl.home (Scott Lurndal) - 2018-05-04 17:31 +0000
Re: "C Is Not a Low-level Language" already5chosen@yahoo.com - 2018-05-05 11:10 -0700
Re: "C Is Not a Low-level Language" Wouter Verhelst <w@uter.be> - 2018-05-05 11:48 +0200
Re: "C Is Not a Low-level Language" Steve Carroll <frelwizzen@gmail.com> - 2018-05-07 17:57 -0700
Re: "C Is Not a Low-level Language" Steve Carroll <frelwizzen@gmail.com> - 2018-05-08 00:11 -0700
Re: "C Is Not a Low-level Language" David Brown <david.brown@hesbynett.no> - 2018-05-06 23:28 +0200
Re: "C Is Not a Low-level Language" already5chosen@yahoo.com - 2018-05-06 15:48 -0700
Re: "C Is Not a Low-level Language" Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-05-08 20:01 +0000
Re: "C Is Not a Low-level Language" already5chosen@yahoo.com - 2018-05-08 13:20 -0700
Re: "C Is Not a Low-level Language" scott@slp53.sl.home (Scott Lurndal) - 2018-05-08 20:34 +0000
Re: "C Is Not a Low-level Language" Steve Carroll <frelwizzen@gmail.com> - 2018-05-09 06:15 -0700
Re: "C Is Not a Low-level Language" Wouter Verhelst <w@uter.be> - 2018-05-08 02:12 +0200
Re: "C Is Not a Low-level Language" Dan Purgert <dan@djph.net> - 2018-05-04 10:42 +0000
Re: "C Is Not a Low-level Language" David Brown <david.brown@hesbynett.no> - 2018-05-04 13:44 +0200
Re: "C Is Not a Low-level Language" Wouter Verhelst <w@uter.be> - 2018-05-04 18:11 +0200
Re: "C Is Not a Low-level Language" bartc <bc@freeuk.com> - 2018-05-04 17:47 +0100
Re: "C Is Not a Low-level Language" Keith Thompson <kst-u@mib.org> - 2018-05-04 10:57 -0700
Re: "C Is Not a Low-level Language" Wouter Verhelst <w@uter.be> - 2018-05-05 14:57 +0200
Re: "C Is Not a Low-level Language" Ian Collins <ian-news@hotmail.com> - 2018-05-04 15:05 +1200
Re: "C Is Not a Low-level Language" bartc <bc@freeuk.com> - 2018-05-04 10:01 +0100
Re: "C Is Not a Low-level Language" David Brown <david.brown@hesbynett.no> - 2018-05-04 13:51 +0200
Re: "C Is Not a Low-level Language" bartc <bc@freeuk.com> - 2018-05-04 13:14 +0100
Re: "C Is Not a Low-level Language" David Brown <david.brown@hesbynett.no> - 2018-05-04 15:19 +0200
Re: "C Is Not a Low-level Language" bartc <bc@freeuk.com> - 2018-05-04 14:38 +0100
Re: "C Is Not a Low-level Language" Dan Purgert <dan@djph.net> - 2018-05-04 13:56 +0000
Re: "C Is Not a Low-level Language" David Brown <david.brown@hesbynett.no> - 2018-05-04 16:24 +0200
Re: "C Is Not a Low-level Language" already5chosen@yahoo.com - 2018-05-04 07:36 -0700
Re: "C Is Not a Low-level Language" already5chosen@yahoo.com - 2018-05-04 06:01 -0700
Re: "C Is Not a Low-level Language" scott@slp53.sl.home (Scott Lurndal) - 2018-05-04 14:57 +0000
Re: "C Is Not a Low-level Language" Ian Collins <ian-news@hotmail.com> - 2018-05-05 06:49 +1200
Re: "C Is Not a Low-level Language" already5chosen@yahoo.com - 2018-05-05 10:55 -0700
Re: "C Is Not a Low-level Language" David Brown <david.brown@hesbynett.no> - 2018-05-04 10:10 +0200
Re: "C Is Not a Low-level Language" already5chosen@yahoo.com - 2018-05-04 04:51 -0700
Re: "C Is Not a Low-level Language" David Brown <david.brown@hesbynett.no> - 2018-05-04 14:37 +0200
csiph-web