[HN Gopher] The PERQ Computer
___________________________________________________________________
The PERQ Computer
Author : mpweiher
Score : 139 points
Date : 2024-09-07 09:58 UTC (13 hours ago)
(HTM) web link (graydon2.dreamwidth.org)
(TXT) w3m dump (graydon2.dreamwidth.org)
| jll29 wrote:
| I was not aware that between Alto and Lisa there was the PERQ, a
| first commercial attempt, so thanks for point that out.
|
| Of course the deeper you dig anywhere, the more complexity gets
| unearthed, and the more fair credit must be distributed across
| more clever engineers, dilluting the "single genius" picture that
| movie makers and often sadly also journalists try to portray
| ("reality distortion field").
|
| I would quite like a minimalistic b/w GUI as the PERQ had on the
| screen shot.
|
| Leaving out all the transparency/rounded corners nonsense this
| should be bleeding fast, too, with today's graphics capabilities.
|
| EDIT: typo fixed
| rjsw wrote:
| There was the Lilith [1] too in the same timeframe. The PERQ
| and Lilith used AMD bitslice chips instead of the TI ones in
| the Alto.
|
| [1] https://en.wikipedia.org/wiki/Lilith_(computer)
| lispm wrote:
| Lisp Machines from LMI and Symbolics, too.
| kragen wrote:
| while those gave a lot of attention to usability and
| certainly had graphics and windows, i don't think they really
| belong to the smalltalk/perq/lisa/macintosh lineage; they
| were sort of a parallel development track with different,
| less graphical, less event-driven conventions
| pjmlp wrote:
| Maybe not the ones listed above, but Xerox PARC's
| Interlisp-D is another matter.
| kragen wrote:
| i feel like even interlisp-d, especially the 01970s
| version, has a pretty different style of interaction than
| smalltalk and the macintosh. i know a lot less about the
| perq
| lispm wrote:
| Definitely. Interlisp and Smalltalk were early on mostly
| driven by research (Interlisp -> everything AI, Smalltalk
| -> UI research, OOP, AI) and specific early applications.
| The Mac UI was early on more direct manipulation
| oriented.
|
| One thing to keep in mind: the UI state of the Art was
| fast evolving and applications under some of these
| systems might have UIs different from the underlying
| operating system. That would also be true on the Mac:
| HyperCard had a look&feel very different from the
| underlying Mac OS.
|
| For example Xerox developed "The Analyst" in Smalltalk 80
| for the CIA: http://www.bitsavers.org/pdf/xerox/xsis/XSIS
| _Smalltalk_Produ...
|
| I would think that NoteCards (written by Xerox in
| Interlisp-D) had similar customers and that there might
| also be some joint UI influence.
| kragen wrote:
| yeah, ui stuff was changing _extremely_ fast. shneiderman
| 's keynote where he introduced the term 'direct
| manipulation' wasn't even until 01982. his canonical
| examples of what he meant by 'direct manipulation' were,
| in order, emacs, visicalc, zooming in and out of gis data
| or a conceptual 2-d information space with a joystick,
| pong, missile command, space invaders, light-pen-driven
| cad/cam systems (into which category he shoehorns
| newspaper page layout and process control dashboards in
| continuous-flow plants), driving a car, recording and
| replaying robot motions, zloof's 01975 query by example,
| and finally, at the end, "advanced office automation
| systems" like the xerox star and ibm's pictureworld
|
| in this context, it's amusing that p.6/36 of that scan
| you linked cites user interface uniformity as a key
| advantage of smalltalk: 'the environment's window
| facilities consistently adhere to a small number of user
| interface conventions that are quickly learned by casual
| and experienced users alike.'
|
| [39]: https://dl.acm.org/doi/10.5555/2092.2093 "The
| future of interactive systems and the emergence of direct
| manipulation, by Ben Shneiderman, originally presented as
| the Keynote Address at the NYU Symposium on User
| Interfaces, 01982-05-26-28, then published with numerous
| typographical errors in 01982, Behaviour & Information
| Technology, 1:3, 237-256, DOI 10.1080/01449298208914450"
| lispm wrote:
| They were among the first graphical workstations: Large
| bitmap screen, disks, network, color option, mouse, window
| system, object-oriented software, fonts, gui framework, ...
|
| Before the Apple Lisa, the SUN-1, the Mac, ...
|
| These are Lisp Machine images/screen shots from MIT from
| 1980:
|
| https://bitsavers.org/pdf/symbolics/LM-2/LM_Screen_Shots_Ju
| n...
|
| * a dual screen machine with a electronics design system
|
| * Macsyma with plots
|
| * Inspector, Window Debugger, Font Editor
|
| * Music notation
|
| * first tiled screen/window manager
|
| * another electronic CAD tool
|
| The UI was developed using Flavors, the object-oriented
| system for the Lisp Machine (message passing,
| classes&objects, multiple inheritance, mixins, ...).
| Brian_K_White wrote:
| But unrelated. Merely another machine from the same time.
| lispm wrote:
| Like the PERQ is largely unrelated to the Smalltalk /
| Interlisp-D systems from Xerox, to LISA or the early Mac.
| It is somewhat related to the later NeXT (founded 1985,
| first release in 1988) -> Mach/Unix, ...
|
| The PERQ was just in the timeline between the Alto and
| the LISA/Mac. But there isn't much of a relationship to
| the latter two and not much to the Alto. The Alto was
| used to write stuff like its OS in BCPL, the Office
| software written in Mesa, Smalltalk, Interlisp, ... but
| AFAIK no UNIX and no PASCAL system. The PERQ did not run
| Alto-Software.
|
| Background information about the PERQ history:
| http://bitsavers.informatik.uni-
| stuttgart.de/pdf/perq/RD_Dav...
| pjmlp wrote:
| Also lots of influences, all the stuff Smalltalk
| influenced, Mesa influenced Modula-2, Cedar influenced
| Oberon and Modula-3.
|
| Followed by all the languages, those ones influenced as
| well.
| lispm wrote:
| And all that is independent of the PERQ.
|
| The article states (and it makes sense) that the PERQ had
| influence on the modern Mac, the Macs running Mac OS X
| and later. Since NeXT and then Apple used UNIX on a Mach
| Kernel, the latter came as a direct influence from CMU.
|
| Influence on the LISA or the early Mac (before Mac OS X)?
| Not so much..., those were influenced directly from Xerox
| PARC ideas, people and technology.
|
| Related to PERQ: The SPICE project from CMU, using PERQs,
| was also developing SPICE Lisp, which was influenced by
| the LISP stuff from MIT, including an EMACS variant,
| influenced by the ZWEI editor from the Lisp Machine.
| SPICE Lisp from the PERQ, evolved into CMU CL and later
| SBCL.
| kragen wrote:
| i'd be surprised if the lisa folks had _no_ knowledge of
| the perq. i mean it was exhibited at trade shows, wasn 't
| it?
| lispm wrote:
| Probably. They may have seen such a machine. But both the
| LISA and the Mac were very different from UI, Software
| and Hardware. Steve Jobs vision was eventually to get to
| the Dynabook (-> MacBook, iPad). LISA and the early Mac
| were stepping stones...
|
| But the Xerox PARC -> Apple route is broad and is well
| documented. Steve Jobs got a demo of the secret Xerox
| stuff in exchange of some Apple stock, including the
| Smalltalk system (though the Smalltalk team were less
| then happy about it). He hired Larry Tesler. Apple was
| also one of the selected companies getting Smalltalk-80
| access and ported it to their machines (later the Apple
| sources were open sourced). Steve was also interested in
| the office domain, desktop publishing was one of the
| first applications of the Mac (incl. Postscript, the
| Laserwriter, Adobe Pagemaker, ...).
| kragen wrote:
| i would rather say that steve jobs's vision was to make
| the dynabook impossible; the central feature of the
| dynabook is that it is a tool for computational thinking
| for the masses, while the central feature of most of the
| designs of the projects jobs led (mac 128, imac, ipod,
| iphone, ipad--though not next) is that they're closed to
| the users, requiring special tools to open and modify
| that are only available to a chosen elite, and nowadays,
| even to write software for. it's a vision of society that
| sees it primarily as a market for products, not a
| community of intellectual collaboration or autonomous
| individual flourishing, which was the intent of the
| dynabook
|
| the story of smalltalk at apple is fairly complex
|
| apple did also implement smalltalk-80 on the lisa, and
| there's a screenshot of that in the smalltalk-80 book
| (01984), but it was apparently never released, even as
| proprietary software. apple shipped a macintosh smalltalk
| in august 01985 (according to http://basalgangster.macgui
| .com/RetroMacComputing/The_Long_V...) but i don't think
| squeak (the apple smalltalk that eventually became open-
| source) was derived from it
|
| alan kay didn't join apple until 01984 (the year after
| jobs hired sculley as ceo), jobs left in september 01985,
| and squeak wasn't announced until 01996, which is about
| the time kay left, and i think squeak as a whole departed
| for disney at that point. jobs came back in 01997, and
| though he didn't kill squeak, he did kill hypercard, the
| other main environment for individual computational
| autonomy. jobs's apple did eventually make squeak open-
| source--in 02006!
|
| jecel assumpcao in
| https://news.ycombinator.com/item?id=23392074 explains
| that the reason for finally open sourcing squeak a decade
| after the project ended was that olpc (itself fairly
| locked down, though less so than iphones) demanded it.
| also, though, he _does_ heavily imply that it descended
| from the original apple smalltalk
| linguae wrote:
| Thank goodness for Jean-Louis Gassee and his advocacy for
| user-serviceable, expandable Macs, starting with the
| Macintosh SE and Macintosh II in 1987. I have strong
| respect for Steve Jobs, but I agree with Jean-Louis
| Gassee on this issue, and my favorite Macs are user-
| serviceable. Even with Steve Jobs, the NeXT was far more
| open than the original Macintosh, though this may have
| been out of necessity since NeXT competed in the
| workstation market against companies like Sun and HP.
| Also, when Steve Jobs returned to Apple, Apple maintained
| a Power Macintosh/Mac Pro with internal expansion slots
| and user-serviceable RAM and storage throughout the rest
| of Steve Jobs' life. Even the rest of the lineup was
| user-upgradable, even if it meant dealing with a lot of
| screws (like certain laptop models in the 2000s).
|
| It wasn't until Tim Cook took over that Macs became more
| locked-down in terms of user-serviceability and
| expandability, culminating with the switch to ARM, where
| Apple sells no Macs with user-upgradable RAM anymore.
|
| Had Apple's leadership been more focused in the
| "interregnum" years of 1985-1996, we could be using
| Dynabooks running some sort of modern Dylan/Common Lisp
| machine architecture with a refined Macintosh interface.
| Apple had all the pieces (Newton's prototype Lisp OS,
| SK8, Dylan, OpenDoc, etc.), but unfortunately Apple was
| unfocused (Pink, Copland, etc.) while Microsoft gained a
| foothold with DOS/Windows. What could've been...my dream
| side project is to make this alternate universe a reality
| by building what's essentially a modern Lisp machine.
| kragen wrote:
| i don't think they were unrelated; the groups developing
| them were in constant contact and had thick webs of
| mutual acquaintances. teitelman had grown up at mit
| before going off to parc to write interlisp, and parc was
| full of former arpa researchers
|
| i do think they made noticeably (and fascinatingly)
| different choices not only in what they designed for
| their user interfaces but also what they thought of as a
| good user interface
|
| other lispm-related links, other than the one lispm
| posted above:
|
| https://github.com/lisper/cpus-caddr #Lisp machine
| #gateware for the MIT CADR in modern #Verilog. "Boots and
| runs." By #lisper (Brad Parker)
|
| https://metebalci.com/blog/cadr-lisp-machine-and-cadr-
| proces... #CADR #Lisp-machine #retrocomputing
|
| at some point i came across a treasure trove of lispm
| screenshots showing many aspects of the genera ui, but
| apparently it's not in my bookmarks file
|
| one quibble: i don't think flavors was around until quite
| a bit later, maybe 01979, so the lispm software wasn't oo
| until quite late. weinreb and moon's aim-602 on it wasn't
| until 01980: https://apps.dtic.mil/sti/pdfs/ADA095523.pdf
| and of the five keywords they chose to describe it, one
| was 'smalltalk'
| lispm wrote:
| > i do think they made noticeably (and fascinatingly)
| different choices not only in what they designed for
| their user interfaces but also what they thought of as a
| good user interface
|
| Though software written originally for the Xerox
| Interlisp systems got ported to the MIT Lisp Machine
| descendants, since the hardware was more capable with
| more memory. For example Intellicorp KEE (Knowledge
| Engineering Environment) was ported. It retained much of
| its original UI (which included extensive graphics
| features and an interface builder), when running on
| Symbolics Genera. It looks like one is using an Xerox
| Interlisp UI when running it on a Symbolics.
| https://vimeo.com/909417132 For example at 08:30 the
| screen looks like an Interlisp system, even though it is
| Symbolics Genera.
|
| Xerox PARC also had real MIT CADRs in their network. I
| remember seeing a photo, with an office, where the Xerox
| PARC employee had both an Interlisp workstation and
| (IIRC) a Symbolics. There is also a video for the IJCAI
| 81 (International Joint Conference on Artificial
| Intelligence), with demos of an Interlisp system and a
| MIT Lisp Machine, both demos recorded at Xerox PARC.
| kragen wrote:
| this video is fantastic, thank you! i hadn't seen it
| before, only the ijcai demo
| ggm wrote:
| I used one in the mid eighties, the SERC scattered them around
| British unis. The vertical hard drive had a wierd sparky engine
| when it spun, and it used graphics ram to compile so it scribbled
| over the display compiling C.
|
| I used it's animated icon tool "cedra" to make tintin's captain
| haddock blow smoke out his ears.
|
| We had the icl jv one. A beauty in reddish brown and cream. Made
| outside edinburgh near dalkeith I believe
| bbarnett wrote:
| The graphics ram use is a neat optimized use of ram.
| zdw wrote:
| There was a 3rd party software tool (the name of which I
| forget) that used the same graphics memory as scratch space
| trick when copying floppies on early 128k (and probably 512k)
| Macs. This reduced the number of swaps required to copy a
| 400k floppy.
| pm215 wrote:
| I think it's more "we only have a megabyte of RAM, in some
| cases we'll just have to use the part the framebuffer is in".
| The Scavenger (its equivalent of the fsck filesystem checker)
| did the same thing.
| trebligdivad wrote:
| I scrounged one in ~1991 from the back corridors of Manchester
| Uni; fun machine; the CPU was a bitsliced type, common at the
| time using AMD chips, the microcode was loaded at boot (hence the
| different microcodes on the different OSs). It used a z80 on the
| IO board to get things started and load the microcode off disc.
| The UI on PNX was pretty nice as well for a machine with 1MB of
| RAM. My Perq 1, had it's 14" belt driven hard drive 27MB (early
| Seagate), with PNX on - try fitting a Unix system with a GUI on
| that these days!
| mikewarot wrote:
| I have the strange feeling I'm going to end up seeing one of
| these today at the Midwest Vintage Computer Festival, though I've
| never heard of them before. Amazing stuff, thanks for sharing
| this!
|
| I'm glad they didn't start out with only 128 K of RAM, that would
| have sucked.
| GeekyBear wrote:
| The Computer History Museum's long form interview with Avie
| Tevanian is a good resource for this era.
|
| https://www.youtube.com/watch?v=vwCdKU9uYnE
| pjmlp wrote:
| Thanks you just increased my TODO list. :)
| detourdog wrote:
| It is a great interview. What I love about these stories is
| the revelation of the human effort to develop a threading
| system for I/O that is not an operating system, The all
| operating systems ride on top of the universal threading.
|
| Imagine all the human hours that stretches back decades
| trying to develop this single model of computing.
|
| I'm starting to believe that oral history and tradition is
| what moves the world along. All the written texts are
| transient. What we pass directly to each generation is our
| continuity of culture.
| kragen wrote:
| other prominent multithreaded cpus have included the
| lincoln lab tx-2 on which the first graphical interface was
| developed (with cad, constraint programming, and windows),
| the cdc 6600 'peripheral processor', the xerox alto, the
| tera mta, and the higher-end padauk microcontrollers
| including the pmc251, which cost 101/2C/
| https://www.lcsc.com/product-detail/Microcontroller-Units-
| MC...
|
| some current intel and amd parts also support
| 'hyperthreading', but as i understand it they sometimes run
| many instructions from the same thread sequentially, unlike
| the others mentioned above (except the padauk pmc251), and
| they are limited to 2 or 4 threads, again unlike the others
| mentioned except the pmc251
|
| i'm a little unclear on the extent to which current gpu
| hardware supports this kind of every-clock-cycle
| alternation between different instruction streams; does
| anyone know?
| detourdog wrote:
| Never heard of the Padauk very curious to dig into the
| details. Thanks for posting.
| kragen wrote:
| sure! i hope you enjoy it! there was a lot of discussion
| of them about five years ago:
| https://jaycarlson.net/2019/09/06/whats-up-with-
| these-3-cent...
| https://cpldcpu.wordpress.com/2019/08/12/the-
| terrible-3-cent...
| pjmlp wrote:
| Agreed, unfortunately too many don't pay attention to our
| short computing history, and the pendulum keeps swinging
| back and forth, while some cool technologies keep falling
| adoption, only to be reinvented in a worse way.
| selimnairb wrote:
| Fascinating. I started undergrad at CMU in 1996 and immediately
| got jobs doing computer support. I came across many old Macs and
| even an old VAX from the 1980s, but had never heard of a PERQ. By
| then all the Andrew machines were either HP Apollos running HP-UX
| or Sun SPARCstation 4s and 5s running SunOS or early Solaris.
| rjsw wrote:
| My feeling was that Andrew and SPICE were completely separate
| workstation projects at CMU, but only from using the software
| that came out of each of them.
| eschaton wrote:
| They were; their main point of connection was at the OS
| level, as Accent on PERQ begat Mach, and Andrew originally
| ran atop CMU's Mach+BSD environment (MK+UX). That let it take
| advantage of features such as Mach IPC and dynamic loading of
| shared libraries and plug-in modules. Later Andrew was ported
| to vendor operating systems, and then to run atop X11 instead
| of wm.
| markhahn wrote:
| Not completely, but it wasn't a huge place, and the
| communities overlapped, went to some of the same seminars,
| etc. It was all in Wean, pretty much clustered by floor.
| Andrew was very much about distributed computing ala Athena;
| SPICE was more along workstation lines (and what was then
| called AI). As I recall, internet access (IMP, when
| /etc/hosts was exhaustive) was only the Vaxen and maybe some
| TOPS systems.
|
| I had access to a PERQ in about 1985, and it was running
| Pascal firmware - at the time, Pascal was the baseline
| language for CS courses. I seem to recall it had a tiling WM
| and a mouse about the size of a softball. There were Altos
| upstairs though I think they only acted as queues for the
| building's laser printers (which implemented some pre-PS page
| description language). But those were the days when 9600 baud
| was the norm...
| Isamu wrote:
| The PERQs were on display at CMU around 1980, I remember seeing
| them in Science Hall (later Wean).
|
| Fun fact, the cpu board ran Pascal P-Code as a machine
| language. The cpu wasn't a chip, they designed a board to
| execute P-Code directly.
| kragen wrote:
| not quite right. see graydon's post for the correct
| explanation
| detourdog wrote:
| I sister won buggy at CMU with PIKA in 1984...
| Isamu wrote:
| Was she short, petite? That was preferable so the pushers
| could climb the hill!
| detourdog wrote:
| Yes, PIKA designed the buggy around her dimensions.
| pfdietz wrote:
| As part of the SPICE project there was an implementation of Lisp
| on the machines. This implementation became CMU Common Lisp. CMU
| Common Lisp is still available, but it also served as the jumping
| off point for Steel Bank Common Lisp (SBCL) which is today the
| top free Common Lisp implementation.
|
| It's interesting there's a heritage of code stretching all the
| way back to these old machines, although of course the changes
| since then have been massive.
| fanf2 wrote:
| I like that Three Rivers refers to the geography of Pittsburgh.
|
| For a long time I did not know where SBCL got its name, until
| someone explained that Carnegie got his fortune from steel and
| Mellon ran a bank.
| lispm wrote:
| Note also that Spice Lisp for The PERQ was also used to
| implement Hemlock, an EMACS editor.
|
| http://www.bitsavers.org/pdf/perq/accent_S5/Accent_UsersManu...
| PaulHoule wrote:
| It is funny how the 1970s computer industry was much more
| geographically inclusive than it is today. Heck, even IBM alone
| was more geographically inclusive than the industry is today.
| kragen wrote:
| shenzhen and tel aviv are further apart than boston and menlo
| park
|
| or do you mean that shenzhen is closer to taiwan than boston is
| to menlo park? i wouldn't dismiss the importance of intel,
| nvidia, micron, berkeley, stanford, asml, samsung, apple, etc.,
| just yet
| PaulHoule wrote:
| I would point to this forgotten book from the 1970s
|
| https://www.amazon.com/Dispersing-Population-America-
| Learn-E...
|
| which describes a nearly universal perception in Europe at
| the time that it was a problem that economic and cultural
| power is concentrated in cities like Paris and London. (It
| takes a different form in the US in that the US made a
| decision to put the capital in a place that wasn't a major
| center just as most states the did the same; so it is not
| that people are resentful of Washington but rather a set that
| includes that, New York, Los Angeles and several other
| cities.)
|
| At that time there was more fear of getting bombed with
| H-Bombs but in the 1980s once you had Reagan and Thatcher and
| "globalization" there was very much a sense that countries
| had to reinforce their champion cities so they can compete
| against other champion cities so the "geographic inclusion"
| of Shenzhen and Tel Aviv is linked to the redlining of 98% of
| America and similar phenomena in those countries as well.
|
| It is not so compatible with a healthy democracy because the
| "left behind" vote so you get things like Brexit which are
| ultimately destructive but I'd blame the political system
| being incapable of an effective response for these occasional
| spams of anger.
| kragen wrote:
| interesting!
|
| i'm not quite sure what you're saying about reagan and
| shenzhen
| PaulHoule wrote:
| Things changed and 1980 looks like an inflection point
| although for China in particular the inflection point
| could have been when Nixon went to China in 1972.
|
| Until then China was more aligned with Russia but Nixon
| and Kissinger really hit it off Mao and Zhao Enlai and
| eventually you got Deng Xiaoping who had slogans like "To
| get rich is glorious" and China went on a path of
| encouraging "capitalist" economic growth that went
| through various phases. Early on China brought cheap
| labor to the table, right now they bring a willingness to
| invest (e.g. out capitalize us) such that, at their best,
| they bu make investments like this mushroom factory which
| is a giant vertical farm where people only handle the
| mushrooms with forklifts
|
| https://www.finc-sh.com/en/about.aspx#fincvideo
|
| (I find that video endlessly fascinating because of all
| the details like photos of the founders using the same
| shelving and jars that my wife did when she ran a
| mushroom lab)
|
| Contrast that to the "Atlas Shrugged" situation we have
| here where a movie studio thinks they can't afford to
| spend $150 M to make a movie that makes $200M at the box
| office (never mind the home video, merchandise, and
| streaming rights which multiply that) which is the
| capitalist version of a janitor deciding they deserve $80
| an hour.
|
| This book by a left-leaning economist circa 1980
|
| https://www.amazon.com/Zero-Sum-Society-Distribution-
| Possibi...
|
| points out how free trade won hearts and minds: how the
| US steel industry didn't want to disinvest in obsolete
| equipment which had harmful impacts on consumers and the
| rest of our industry. All people remember though is that
| the jobs went away
|
| https://www.youtube.com/watch?v=BHnJp0oyOxs
|
| That focus on winning at increased international
| competition meant that there was no oxygen in the room
| for doing anything about interregional inequality in
| countries.
| yencabulator wrote:
| "Was"? IBM headquarters are in a Armonk, NY, the nearby
| population centers are some 4000 and 12000 strong. Back when
| IBM was making Linux moves, I remember they were hiring in
| Poughkeepsie, a city of 32000. And Red Hat the linux vendor
| bought by IBM is headquartered in Raleigh, NC which a city of
| only half a million people.
|
| https://en.wikipedia.org/wiki/List_of_the_largest_software_c...
| layer8 wrote:
| It's fascinating to me how after forty years we are still piecing
| together that genealogy like it's some ancient scriptures. And
| keeping it scattered in blog posts and forum threads like this
| one.
| kragen wrote:
| i think 40 years ago it was pretty well-known; it's just the
| people it was well-known _among_ were fairly few in number,
| because personal computers like the perq weren 't yet a
| widespread cultural phenomenon. even well into the 90s, talking
| to your friends by typing text messages into a computer was
| still a 'geek' thing
| Isamu wrote:
| A nit with TFA: the cpu board didn't "emulate" P-Code, that was
| the native machine language. It was a "PASCAL machine" like the
| way we think of the Lisp Machine.
|
| So the cpu board was all logic chips implementing the P-Code
| machine language, it wasn't a cpu chip with supporting logic.
|
| That gives you an idea of computing in the old days.
|
| Back in the day PASCAL was the main teaching language at CMU.
|
| (Edit) There seems to be some pushback on what I'm pointing out
| here, but it's true, the cpu board is not built around a cpu
| chip, they built a microcode sequencer, ALU, etc to execute a
| p-code variant.
|
| You can read about it here:
| http://bitsavers.org/pdf/perq/PERQ_CPU_Tech_Ref.pdf
|
| Schematics here:
| http://bitsavers.org/pdf/perq/perq1/PERQ1A_Schematics/03_CPU...
|
| Pic:
| http://bitsavers.org/pdf/perq/perq1/PERQ1A_PCB_Pics/CPU_top....
| kragen wrote:
| the cpu tech ref you linked documents a machine with 512 20-bit
| registers (256 architectural--they duplicated the register file
| to avoid using dual- or triple-ported memory, same as the
| cadr). p-code doesn't have registers. the microcode word format
| it documents uses 48-bit instructions. p-code instructions are
| typically about 8 bits wide. the cpu tech ref also doesn't
| mention pascal or p-code
|
| based on this it seems reasonable to continue believing that,
| as graydon says, it ran pascal via a p-code interpreter, but
| that that interpreter was implemented in microcode
|
| and i don't think it's accurate to say 'the cpu board was all
| logic chips implementing the p-code machine language'. the
| logic chips implemented microcode execution; the microcode
| implemented p-code
|
| i agree that this is the same extent to which lisp machines
| implemented lisp--but evidently the perq also ran cmucl, c, and
| fortran, so i don't think it's entirely accurate to describe it
| as 'a pascal machine'
| Isamu wrote:
| This is an interesting discussion, first it's true that they
| implemented a p-code variant called q-code.
|
| Second I'm just making a distinction about what people refer
| to as emulation. Although you could change the microcode,
| that typically meant you had to reprogram the board.
| Microcode is typically inaccessible outside of the cpu.
| Microcode provides sub-operations within the cpu.
| kragen wrote:
| just to be clear, the microcode instruction set is not a
| p-code variant, and in the case of the perq, the microcode
| memory was volatile memory that had to be loaded on every
| boot, and could easily be loaded with custom microcode. you
| didn't have to burn new eproms or anything
|
| i don't think we have any substantive disagreements left,
| we're just getting tangled up in confusing, ambiguous
| terminology like 'native' and 'emulation'
| kazinator wrote:
| It's fair to say that x86 or x86-64 instructions are also
| emulated by some lower-level machine which maps the small
| number of registers onto a larger register file and
| translates instructions into something else.
| formerly_proven wrote:
| Not in the same sense that the typical minicomputer CPU
| used microcode, no.
| kragen wrote:
| i agree, but i also think it's fair to say that the i386
| and amd64 instruction sets are _the_ native machine code
| they implement. both of these contradictory points of view
| are useful oversimplifications of reality that are useful
| for certain purposes
| lispm wrote:
| > i don't think it's entirely accurate to describe it as 'a
| pascal machine'
|
| yes
|
| it would only be accurate, when one looks at BOTH the CPU and
| the microcode. The Xerox Interlisp-D machine was a Lisp
| Machine with the specific microcode. It was a Smalltalk
| machine and a Mesa machine - each with their microcode.
|
| The original MIT Lisp machine was also microcoded, though I
| don't know other Microcode than the one for Lisp. The early
| Symbolics Lisp Machines were also microcoded, but again only
| for the Lisp OS, with the microcode evolving over time to
| support features of Common Lisp, Prolog and CLOS.
|
| There were complaints that the Microcode on the Lisp Machines
| was very complex, which contributed to the death of the
| machines. For example here is an interview with Keith
| Diefendorff, who was also architect for the TI Explorer Lisp
| Machine. In his interview he talks about the Explorer Project
| and the Microcode topic:
| https://www.youtube.com/watch?v=9la7398ruXQ
| yencabulator wrote:
| What you linked to doesn't seem to conflict with the article at
| all.
|
| Article:
|
| > [...] user-written microcode and custom instruction sets, and
| the PERQ ran Pascal P-code. Through a microcode emulator.
| Things were wild.
|
| PDF:
|
| > It will also prove useful to advanced programmers who wish to
| modify the PERQ's internal microcode and therefore need to
| understand how this microcode controls the operation of the
| CPU, [...]
|
| It sounds like it came with microcode that interpreted P-code,
| but that was user-changeable.
|
| The "wild" part is doing p-code interpretation in microcode,
| instead of a normal program. See also
| https://en.wikipedia.org/wiki/Pascal_MicroEngine
| Isamu wrote:
| I think we have a mild disagreement over what is meant by
| "emulation". Typically this means the native instruction set
| is something other than what is being emulated.
|
| There is microcode inside cpu chips today too, they are used
| to implement parts of the instruction set. The microcode is
| not typically accessible outside of the cpu, and it is not
| considered the native machine language, the instruction set.
|
| The article you link to uses the word "emulator" once, to
| describe emulation on top of another system without this
| native support.
| kragen wrote:
| the 'microcode' inside cpu chips today is a totally
| different animal--it doesn't interpret the amd64 or other
| instruction set, but rather compiles (some of) it into the
| micro-operations supported natively by the hardware. but
| from the user's point of view the bigger difference is that
| the perq's microcode _was_ accessible in the sense that you
| could write your own microcode and load it into the cpu.
| current popular cpus do have the ability to load new
| microcode, but that ability is heavily locked down, so you
| cannot control the microcode you are running
|
| microcode became a popular implementation technique in the
| 01960s and fell out of favor with the meteoric rise of risc
| in the 80s
|
| i think it's reasonable to say that an instruction set
| emulated by the microcode is a 'native instruction set' or
| 'native machine language'; it's as native as 8086 code was
| on the 8086 or lisp primitives were on the cadr. but in
| this case there were evidently _several_ machine languages
| implemented in microcode, p-code being only one of them. so
| it 's incorrect to say that p-code was _the_ native machine
| language, it 's incorrect to say that 'the cpu board was
| all logic chips implementing the p-code machine language',
| it's incorrect to say that 'they built a microcode
| sequencer (...) to execute a p-code variant', and it's
| incorrect to say 'they designed a board to execute p-code
| directly'
| Isamu wrote:
| Except that the literature from Three Rivers Computing
| describes the "native instruction set is the P-code byte
| sequences that a compiler generates for an "ideal" PASCAL
| (or other structured language) machine."
|
| So I think we are quibbling, but it's their words.
| kragen wrote:
| the literature you linked in
| https://news.ycombinator.com/item?id=41473755 (the cpu
| technical reference, bill of materials, and photo)
| doesn't say that, nor does it mention pascal or p-code.
| and the microcode instruction set documented in the cpu
| technical reference doesn't look anything like p-code.
| perhaps you're referring to some advertising materials?
|
| i think we agree that it supports p-code as _a_ native
| instruction set, but it 's easy to draw incorrect
| inferences from that statement, such as your claim that
| the microcode sequencer executed a p-code variant. it
| would be reasonable inference from the literature you
| quote, but it's wrong
| pm215 wrote:
| They did design the CPU board absolutely with the
| intention of the "user facing" instruction set being a
| bytecode, though. In particular there's hardware support
| for an opcode file of up to the next 8 bytes in the
| instruction stream, which gets auto filled with a 64 bit
| memory load when it's empty. And there's a "256 way
| branch on the next byte in the opcode file" microcode
| instruction. The core of the thing is some standard AMD
| bitslice ALUs, but the board as a whole is clearly
| designed to let you implement a fast p-code interpreter.
|
| The other thing the CPU board is designed for is fast
| graphics -- the rasterop hardware is set up so that with
| the right carefully designed microcode sequences it can
| do a 'load two sources, do a logical op and write to
| destination' as fast as the memory subsystem will let you
| do the 64 bit memory operations. It takes about four CPU
| cycles to do a memory operation, so you kick it off, do
| other microcode ops in the meantime, and then you can
| read the result in the microinsn that executes in 4
| cycles' time. The rasterops microcode source code is all
| carefully annotated with comments about which T state
| each isnn executes in, so it stays in sync with the
| memory cycles.
|
| The other fun thing is that the microcode sequencer gives
| you a branch "for free" in most insns -- there's a "next
| microinsn" field that is only sometimes used for other
| purposes. So the microcode assembler will happily scatter
| flow of execution all over the 4K of microcode ram as it
| places fragments to ensure that the parts that do need to
| go in sequence are in sequence and the parts at fixed
| addresses are at their fixed locations, and them fills in
| the rest wherever...
| kragen wrote:
| i see, thanks! i hadn't investigated it that deeply, and
| that definitely does sound optimized for implementing
| things like p-code interpreters (or 8080 emulators)
|
| next-microinstruction fields are pretty common even in
| vertical microcode like this. do you have the microcode
| assembler running? have you written custom perq
| microcode?
| Lutzb wrote:
| There is some emulation available for the PERQ A1 in PERQemu
| https://github.com/jdersch/PERQemu/tree/master/PERQemu
|
| Someone also added the PERQ A1 to Mame in 0.192, but as of now it
| is still marked as MACHINE_IS_SKELETON
| WoodenChair wrote:
| Can someone who used one comment on what GUI elements were
| actually in a PERQ?
|
| I see windows and bitmap graphics in the screenshots I can find.
|
| But I don't see menus, a desktop, standardized buttons, scroll
| bars, etc. In other words I don't see the hallmarks of the Xerox
| Star, Apple Lisa, and Macintosh. It looks influenced by the Xerox
| products but not as advanced.
| kragen wrote:
| you wouldn't see those in a screenshot of athena on x-windows
| circa 01994 either. the menus were all pop-up, so there was no
| menu bar, and the buttons weren't standardized or very
| recognizable (the xaw graphic design was abysmal, both
| aesthetically and usability-wise)
|
| the only reason my x-windows desktop at that time would have
| recognizable buttons was that at first i was running mwm, which
| was from motif, osf's ugly but comprehensible effort to fight
| off open look. later i switched to athena's twm (uglier still
| but customizable), then the much nicer olvwm, then fvwm, which
| was similarly comprehensible but looked good
| mwnorman2 wrote:
| We had at least 1 PERQ at the University of Waterloo in the early
| 1980's A friend of mine was helping the local IT folks set it up
| - arranging to read a 9" tape of PERQ's BitBlit software. A bunch
| of us wanted to see the machine first-hand but lowly undergrads
| didn't have access to the lab-room. But, wait ... is that
| acoustic tile above the door jam, only half-way across? Gimme a
| boost ... skinniest guy goes up and over ... we can SEE ;-)
| jntun wrote:
| Excellently written history on a period of time I am fascinated
| in.
|
| However, I think the author puts too fine a point on the literal
| exact geographic position of the technology, and not the
| historical & material forces that manifested. Obviously every
| computer advancement didn't occur in sunny Palo Alto directly
| (just reading where your device was "assembled" will tell you
| that). But even this article trying to highlight the other places
| where all of this was going on; the author cannot be unburdened
| by the massive forces coming out of the Bay Area. This is most
| obvious when the author has to mention Xerox PARC but not
| interrogate _why_ Xerox chose that of all locations to let them
| start a "wild unsupervised west-coast lab".
|
| https://en.wikipedia.org/wiki/Augmentation_Research_Center
|
| Very much a personal nitpick on a very well written entry so I
| hope this doesn't come off overly negative.
| peter_d_sherman wrote:
| Related:
|
| https://en.wikipedia.org/wiki/PERQ
|
| >"Processor
|
| The PERQ CPU was a microcoded discrete logic design, rather than
| a microprocessor. It was based around 74S181 bit-slice ALUs and
| an Am2910 microcode sequencer. The PERQ CPU was unusual in having
| 20-bit wide registers and a writable control store (WCS),
| allowing the microcode to be redefined.[4] The CPU had a
| microinstruction cycle period of 170 ns (5.88 MHz).[5]"
| Animats wrote:
| Oh, the PERQ. I never saw one, although I came across most of the
| weird machines of that era. Lucasfilm bought a number of them.
| They were so unhappy with them that they ran a large display ad
| offering them for sale to get rid of them. There must be a story
| there, but I don't know it. Anyone remember PERQ at Lucasfilm?
| nigwil_ wrote:
| screen capture of the present day PERQ emulator running a demo
| shown originally at SIGGRAPH 1982
|
| https://imgur.com/gallery/3-rivers-computer-corporation-perq...
___________________________________________________________________
(page generated 2024-09-07 23:00 UTC)