Deutsch English Français Italiano |
<v1rdbq$205$1@gal.iecc.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!not-for-mail From: John Levine <johnl@taugh.com> Newsgroups: comp.arch Subject: Re: Compiler use of instructions (was: Oops) Date: Sun, 12 May 2024 21:46:34 -0000 (UTC) Organization: Taughannock Networks Message-ID: <v1rdbq$205$1@gal.iecc.com> References: <ofeq3j9ni63e7tmccf2qbkb9t0naui44ei@4ax.com> <2024May11.194851@mips.complang.tuwien.ac.at> <46067b1e52e8998acdd607199d3dbf30@www.novabbs.org> <2024May12.083633@mips.complang.tuwien.ac.at> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Date: Sun, 12 May 2024 21:46:34 -0000 (UTC) Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="2053"; mail-complaints-to="abuse@iecc.com" In-Reply-To: <ofeq3j9ni63e7tmccf2qbkb9t0naui44ei@4ax.com> <2024May11.194851@mips.complang.tuwien.ac.at> <46067b1e52e8998acdd607199d3dbf30@www.novabbs.org> <2024May12.083633@mips.complang.tuwien.ac.at> Cleverness: some X-Newsreader: trn 4.0-test77 (Sep 1, 2010) Originator: johnl@iecc.com (John Levine) Bytes: 2716 Lines: 32 According to Anton Ertl <anton@mips.complang.tuwien.ac.at>: >Of course, if the performance cost of these features is so high that >compiler writers prefer to avoid the full-featured call instruction, >the instruction misses the target, too. The Vax suffered badly from the second system syndrome, in which its designers loaded it up with all the stuff that wouldn't fit on a PDP-11. Its design also seems to assume a world where main memory is expensive and microcode ROM is much faster, hence the dense byte coded instructions that demand to be decoded one operand at a time and the tiny 512 byte pages. I also don't think they thought through the costs of implementing their design. The Vax chapter in the Computer Engineering book says that they wanted to have a single system wide procedure call, which is fine, but it should have been evident even at the time that all of the memory traffic for saving and restoring registers, including ones the routine doesn't need, would be really slow. It's perfectly possible to have a standard calling sequence without baking it all into microcode. All of the languages on S/360 use the same calling sequence, but it's made from several instructions, and you can leave out the ones you don't need, e.g., providing a new save area in leaf routines, or stack management in non-recursive routines. -- Regards, John Levine, johnl@taugh.com, Primary Perpetrator of "The Internet for Dummies", Please consider the environment before reading this e-mail. https://jl.ly