| Deutsch English Français Italiano |
|
<biaf7j90qmtir41uphv2l02n57jn6vmc8i@4ax.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!npeer.as286.net!npeer-ng0.as286.net!3.eu.feeder.erje.net!feeder.erje.net!news2.arglkargh.de!news.in-chemnitz.de!news.swapon.de!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: John Savard <quadibloc@servername.invalid> Newsgroups: comp.arch Subject: Re: Concertlina II: Full Circle Date: Sat, 22 Jun 2024 23:04:28 -0600 Organization: A noiseless patient Spider Lines: 58 Message-ID: <biaf7j90qmtir41uphv2l02n57jn6vmc8i@4ax.com> References: <50c85586e1aec0eef53e83cef7cb1d5d@www.novabbs.org> <4mb37jdb25571s1q1pjlc3ludaaks7tukr@4ax.com> <e4c37jd4l9spbi5b23b525unp9p60ird8q@4ax.com> <1401408dead0bbc0b1e2ea7e053c873a@www.novabbs.org> <fbn37jpc0banppburc1t6r4hnp3kih23ui@4ax.com> <adc60d6b4791061485b8290897609bb3@www.novabbs.org> <el047jt94n4eb0l3f829p1jnatncunm5dj@4ax.com> <b9790766475e970e390f6c88acba0577@www.novabbs.org> <4dk47j1pimbd443oeh06p36ickbdklr2ni@4ax.com> <ii877jl5vj4h1ip4uk16v7n6hdl7hfk2bs@4ax.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Injection-Date: Sun, 23 Jun 2024 07:04:31 +0200 (CEST) Injection-Info: dont-email.me; posting-host="aafb3593bc3a44a97f850a6fc49bbade"; logging-data="223999"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX199uiH7taGmZ1V96CVcSI3dUWskmBszzSc=" Cancel-Lock: sha1:Of0oKRsXzPyfLGb+xY1NwdO2REY= X-Newsreader: Forte Free Agent 3.3/32.846 Bytes: 4174 On Wed, 19 Jun 2024 21:39:11 -0600, John Savard <quadibloc@servername.invalid> wrote: >So I've added operate instructions that allow operations where one >operand is in a normal register, and the other operand is in a >selected element of a vector register. The element is itself specified >by the contents of an integer register, for convenient use within >loops. > >Thus, a VVM-alike loop, instead of going from some vectors in memory >to other vectors in memory, could go from some vector registers to >other vector registers. The vectors aren't virtual any more. Because it seemed to me that any VVM-alike instruction I had would have to have at least an alternate form longer than 32 bits, despite my efforts to squeeze it in to much less space than you use... I felt that I needed to go back to an earlier iteration of Concertina for a method of making it easier to use long instructions in programs. Doing that, though, required me to reserve some opcode space, and one of the consequence is that the instructions referred to above had to be moved to an alternate instruction set! I haven['t yet added the additional long instructions to the pages. If I'm reserving that much opcode space (1/32nd of the total opcode space) I'm thinking I should do something amazing with it, not something ho-hum. Meanwhile, though, I have added something "amazing" to the ISA for a very tiny cost in opcode space. I've added an eleventh header type which applies *four* prefix bits to every 16 bits in what's left of the block after the header. What does this do? Well, it used to be I had 16-bit instructions occupying 1/4 of the opcode space which included register-to-register instructions that could involve only two registers from the same group of eight registers. Partly because I was told this was a very bad thing, and because I needed to take that 1/4 of the opcode space back so I could have load-store instructions that were not heavily restricted to squeeze them into less space, I used prefix bits to change the 15-bit instructions to 17-bit instructions that could use any two registers. Well, the new header type adds the option to also, by using some prefix bits, assign a 19-bit instruction to a 16-bit slot... and these 19-bit instructions add memory-reference instructions to the half-word instructions. So now, in addition to containing up to 8 ordinary 32-bit instructions, a 256-bit block can contain up to 24 instructions belonging to a mix of 17-bit and 19-bit instructions, short instructions that now are a complete set, including load and store memory reference instructions. John Savard