Deutsch English Français Italiano |
<vqjfab$k5sa$2@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Thomas Koenig <tkoenig@netcologne.de> Newsgroups: comp.arch Subject: Re: Split instruction and immediate stream Date: Sun, 9 Mar 2025 07:17:31 -0000 (UTC) Organization: A noiseless patient Spider Lines: 27 Message-ID: <vqjfab$k5sa$2@dont-email.me> References: <vqhjpv$65am$1@dont-email.me> <vqiikd$c35o$1@dont-email.me> Injection-Date: Sun, 09 Mar 2025 08:17:32 +0100 (CET) Injection-Info: dont-email.me; posting-host="cf86517914ff84cfc8bef7c7a4010536"; logging-data="661386"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/00b4iNZzRE2EiUv+rnbDwPWt0W6qBbQQ=" User-Agent: slrn/1.0.3 (Linux) Cancel-Lock: sha1:6rQKrJryJKJj6L0c+FaWUAzQfbs= Bytes: 2074 Robert Finch <robfi680@gmail.com> schrieb: > I think splitting the code and constant into separate streams requires > another port(s) on the I$. The port may already be present if > jump-through-table, JTT, is supported. There is also the problem of additional cache (page, ...) misses with the instruction stream. Maybe an extra "constant data" cache? That would depend on how far the extra data is from the code. But branches are going to be more expensive because it is not only the PC that needs to changed, but also the data pointer. Thinking about this a bit more... conceptually, this is not so far off from the /360 base pointer addressing mode, but with the base pointer implied instead of explicit. > I guess that the constant tables for a subroutine would be placed either > before or after a subroutine. Like what was usually done for the /360, I believe. But much more "fun" could be had if the base pointer was supplied by the caller. Want a routine that does something different, just call it with a different constant stream for instructions. (OK, you could also pass an argument, but that would offer less possibilities for quasi self-modifying code).