From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: from minnie.tuhs.org (minnie.tuhs.org [IPv6:2600:3c01:e000:146::1]) by inbox.vuxu.org (Postfix) with ESMTP id 3EB0324106 for ; Tue, 9 Jul 2024 00:17:45 +0200 (CEST) Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 267B442853; Tue, 9 Jul 2024 08:17:41 +1000 (AEST) Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com [IPv6:2a00:1450:4864:20::433]) by minnie.tuhs.org (Postfix) with ESMTPS id EAA43427FD for ; Tue, 9 Jul 2024 08:17:34 +1000 (AEST) Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-3679e9bfb08so2601672f8f.1 for ; Mon, 08 Jul 2024 15:17:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rikfarrow-com.20230601.gappssmtp.com; s=20230601; t=1720477053; x=1721081853; darn=tuhs.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=L3ZWk0klc6muBD5MJoDq8tuhRCQ+a6+Im9b4STmeDY0=; b=FEW+pzrxWu2S2kXBh+p6RbO7pE+0jyse94MtEUEP7o3d/YzcnIKoHG6fnId0K/4jA5 aMBqX2hBxq9V9DPSSVSixfaiYw2aM5IKoBu8U8ZBN87dcEl6g5gzJVx4/lBtYRblJRCf +D2Hy012DEiDPmS1+AF0VtXbz2u7hmLclr9SsnrKIPr8koaYKDlgxjw+DVu5sMPNBwvN MJjTbPPUc34LoqAaw1RmUa/UYqYGEY9LTlJ7BhKxuLmFWScGo3tFPxZnIabqzfQOUTEE YG9IW/j8+FOH4GYyzLOxifmjXzXo76tsX72Hy1f3Px7az9hcJ6H+dKd7Yvp+V92tyvSs PoYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720477053; x=1721081853; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=L3ZWk0klc6muBD5MJoDq8tuhRCQ+a6+Im9b4STmeDY0=; b=G0fkWpXwyw2lJvYuS4cZiu0sZBNcPjlXlEMk+sr9eJxXmKkowA6//TFD9fLYnt17mY 1IecjWpZoK1ftZkxdtu3ujisxit5n7Q1vlyt2WCjrE/bohnIDzZ9Sa+M6smz/0dEWcqN D27hynbkbVtON5cwHhjfDoqEM7zV0m835M9xmXmAJAt/XFoYoqu6vtVoB+cUXng6mZ85 xH9ok8nVIJW43JVb1poWf8mm9D0rlQL+AztaVmCBOHzX6gQKfM+tcXaRX/xTd3GTJiJD 0eButRVYBwg3YmFd8ClNTKpLZgkejogjGUn1INyupl9Pazem+qPVfcGNI+fhBltA0xvs vPJg== X-Forwarded-Encrypted: i=1; AJvYcCUW4HHzmZjwrTC9rxHvS/EDc/gCOqqiVXxB4jtyzKaVSGtPGO7Emu1zhQG+xEEuIU7DLGbKPjsMDGG99b8I X-Gm-Message-State: AOJu0YwkBrZeGaeP70+75bIzUukrNFcpJAiUNHR2hZdd6Zcv1UQBPrSe XIqrKJMLwS6w2QDj05GDUXIUMOlrSwySUFWJkFTIDTRirIJ0SvpA7ImKOuzM2sV83wRD+/62zGT lGcLmxLuFTct7oTOGba704CRrvvP5RBI+OGU/+Eqw2/bmNPXp X-Google-Smtp-Source: AGHT+IFv6Nr9KuoYaO8X9Kd6vczkTzs1Up66Zj/8yMyr6rjoIIKJlsb70OCS7Zt5Jyl19Wk+4YA04ZxwbiUmPlpWA6s= X-Received: by 2002:adf:f9cd:0:b0:366:dee6:a9ea with SMTP id ffacd0b85a97d-367d2e6ab02mr326655f8f.26.1720477053033; Mon, 08 Jul 2024 15:17:33 -0700 (PDT) MIME-Version: 1.0 References: <20240705213804.550128EDF53C@ary.qy> <20240705214901.GR26356@mcvoy.com> <20240705231714.5F0E58EE123E@ary.qy> <6DEE0364-13BF-4DDF-8B42-8EE9DE010211@canb.auug.org.au> <6c797638-8fef-a587-0f73-cdb564568950@taugh.com> <7e4a089d-038d-4054-b315-ff41c8396a47@insinga.com> In-Reply-To: <7e4a089d-038d-4054-b315-ff41c8396a47@insinga.com> From: Rik Farrow Date: Mon, 8 Jul 2024 15:17:17 -0700 Message-ID: To: Aron Insinga Content-Type: multipart/alternative; boundary="000000000000973b8d061cc3c7bd" Message-ID-Hash: SMDIQ47P5OIHWFCSYQCMPNVPOFZEP66R X-Message-ID-Hash: SMDIQ47P5OIHWFCSYQCMPNVPOFZEP66R X-MailFrom: rik@rikfarrow.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tuhs.tuhs.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: tuhs@tuhs.org X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: mental architecture models, Anyone ever heard of teaching a case study of Initial Unix? List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --000000000000973b8d061cc3c7bd Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable When I was tech editing "Operating Systems Concepts", tenth edition, around seven years ago, I downloaded the Linux source and searched all .c and .h files for float and double. There aren't any. Linux does not require floating point support, and that's likely true of other operating systems, where performance is key. It also means that Linux can run on RISC V without floating point support (I know the basic CPU doesn't include it). As for microcode in Intel chips, translation of CISC instructions into its internally used RISC is done as lookups into a table that takes up a good portion of the chip die. Rik On Mon, Jul 8, 2024 at 2:40=E2=80=AFPM Aron Insinga wrote= : > See https://www.cs.tufts.edu/~nr/cs257/archive/ronald-brender/bliss.pdf > > C allowed writing Unix with a limited amount of assembly code, but CMU's > original BLISS-10 was designed to write an operating system with *no* > outside assembly code. Features like the 'MACHOP' (machine operation) > builtin function made use of the orthogonality of the PDP-10 > instruction format to execute machine-specific instructions in-line. > (cf. the 'asm' extensions in some implementations of C.) The PDP-10's > 36-bit word allowed single-precision floating point numbers to fit in > machine words, so it had infix operators for both integer and > single-precision floating point operations (which I presume were > adequate for an operating system). > > When DEC chose an implementation language, they knew about C but it had > not yet escaped from Bell Labs. PL/I was considered, but there were > questions of whether or not it would be suitable for a minicomputer. On > the other hand, by choosing BLISS, DEC could start with the BLISS-11 > cross compiler running on the PDP-10, which is described in > https://en.wikipedia.org/wiki/The_Design_of_an_Optimizing_Compiler > BLISS-11 > > and DEC's Common BLISS had changes necessitated by different > word lengths and architectures, including different routine linkages > such as INTERRUPT, access to machine-specific operations such as INSQTI, > and multiple-precision floating point operations using builtin functions > which used the addresses of data instead of the values. > > In order to port VMS to new architectures, DEC/HP/VSI retargeted and > ported the BLISS compilers to new architectures. > > What I find amazing is that they also turned the VAX MACRO assembly > language (in which some of the VMS operating system was written) into a > portable implementation language by 'compiling' the high-level CISC VAX > instructions (and addressing modes) into sequences of RISC > instructions. I believe that this is similar to how modern CPU chips > dynamically translate x86_64 instructions (or whatever) to an internal > RISC format. > > - Aron > > (Disclaimer: I worked at DEC for a long time and VSI for a short time, > but I wasn't responsible for the above work.) > > > On 7/6/24 17:32, Charles H Sauer (he/him) wrote: > > On 7/6/2024 3:56 PM, John R Levine wrote: > >> On Sat, 6 Jul 2024, Clem Cole wrote: > >>> Other systems programming languages followed, BCPL, BLISS, PL/360 > >>> and even > >>> B before C. > >> The original version of BLISS was only for the PDP-10. DEC > >> retargeted it to the PDP-11 and VAX, but I think that was after Unix > >> moved to the Interdata and possibly other machines. > --000000000000973b8d061cc3c7bd Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
When I was tech editing "Operating Systems Conce= pts", tenth edition, around seven years ago, I downloaded the Linux so= urce and searched all .c and .h files for float and double. There aren'= t any. Linux does not require floating point support, and that's likely= true of other operating systems, where performance is key. It also means t= hat Linux can run on RISC V=C2=A0without floating point support (I know the= basic CPU doesn't include it).

As for microco= de in Intel chips, translation of CISC instructions into its internally use= d RISC is done as lookups into a table that takes up a good portion of the = chip die.=C2=A0

Rik


On Mon, Jul 8, 2= 024 at 2:40=E2=80=AFPM Aron Insinga <= aki@insinga.com> wrote:
See https://www.cs= .tufts.edu/~nr/cs257/archive/ronald-brender/bliss.pdf

C allowed writing Unix with a limited amount of assembly code, but CMU'= s
original BLISS-10 was designed to write an operating system with *no*
outside assembly code.=C2=A0 Features like the 'MACHOP' (machine op= eration)
builtin function made use of=C2=A0 the orthogonality of the PDP-10
instruction format to execute machine-specific instructions in-line.=C2=A0 =
(cf. the 'asm' extensions in some implementations of C.)=C2=A0 The = PDP-10's
36-bit word allowed single-precision floating point numbers to fit in
machine words, so it had infix operators for both integer and
single-precision floating point operations (which I presume were
adequate for an operating system).

When DEC chose an implementation language, they knew about C but it had not yet escaped from Bell Labs.=C2=A0 PL/I was considered, but there were <= br> questions of whether or not it would be suitable for a minicomputer.=C2=A0 = On
the other hand, by choosing BLISS, DEC could start with the BLISS-11
cross compiler running on the PDP-10, which is described in
https://en.wikipedia.org/w= iki/The_Design_of_an_Optimizing_Compiler
BLISS-11
and DEC's Common BLISS had changes necessitated by differe= nt
word lengths and architectures, including different routine linkages
such as INTERRUPT, access to machine-specific operations such as INSQTI, and multiple-precision floating point operations using builtin functions which used the addresses of data instead of the values.

In order to port VMS to new architectures, DEC/HP/VSI retargeted and
ported the BLISS compilers to new architectures.

What I find amazing is that they also turned the VAX MACRO assembly
language (in which some of the VMS operating system was written) into a portable implementation language by 'compiling' the high-level CISC= VAX
instructions (and addressing modes) into sequences of RISC
instructions.=C2=A0 I believe that this is similar to how modern CPU chips =
dynamically translate x86_64 instructions (or whatever) to an internal
RISC format.

- Aron

(Disclaimer: I worked at DEC for a long time and VSI for a short time,
but I wasn't responsible for the above work.)


On 7/6/24 17:32, Charles H Sauer (he/him) wrote:
> On 7/6/2024 3:56 PM, John R Levine wrote:
>> On Sat, 6 Jul 2024, Clem Cole wrote:
>>> Other systems programming languages followed, BCPL, BLISS, PL/= 360
>>> and even
>>> B before C.
>> The original version of BLISS was only for the PDP-10.=C2=A0 DEC <= br> >> retargeted it to the PDP-11 and VAX, but I think that was after Un= ix
>> moved to the Interdata and possibly other machines.
--000000000000973b8d061cc3c7bd--