Stories
Slash Boxes
Comments

SoylentNews is people

posted by hubie on Sunday May 22 2022, @01:50PM   Printer-friendly

An interesting, and very brief, history of the Zilog Z80 microprocessor from the IEEE Computer Society's IEEE Micro magazine:

[...] At the beginning [1974], Faggin intended to develop a single-chip computer (microcontroller), but soon realized that it is difficult to compete in the microcontroller market with a company who has its own semiconductor fabrication facility. [...] Faggin came up with an idea of developing a 5-V microprocessor, which was machine core compatible with then popular Intel 8080, and adding most of the functionalities available in Motorola 6800, so that they could pinch both markets. [...]

Zilog managed to introduce the first working prototype of Z80 on March 9, 1976, created by an 11-member team, exactly on the scheduled date. [...] The developed Z80 microprocessor had an 8-bit data bus and a 16-bit address bus with the capability of running all 78 instructions of Intel 8080 and additional instructions. It had 20 × 8-bit registers and 4 × 16-bit registers and could handle up to 64k bytes of memory.

[...] Z80 was very popular as a microprocessor not only in PC applications, but also in industrial embedded applications, and some of the big manufacturers have Z80 core inside their ASIC chips still today or use enhanced versions of Z80 in consumer electronic devices. [...] To this day, Zilog produces a range of Z80-based microprocessors and intelligent peripheral controllers, and they are available from reputed electronics component suppliers. This microprocessor is one of the longest living microprocessors of all time.

Not too shabby for the first product out of a new company. These days it would probably be developed as a Kickstarter.


Original Submission

This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1)
  • (Score: 4, Informative) by Rocky Mudbutt on Sunday May 22 2022, @03:30PM (2 children)

    by Rocky Mudbutt (4659) on Sunday May 22 2022, @03:30PM (#1247030) Homepage Journal

    It is a great design, minimal but sufficient. The dynamic memory refresh built in was a great feature at the time, static RAM was more expensive and the Z80 didn't use it.

    --
    Ethics II Axiom 2. "Man thinks." B. Spinoza
    • (Score: 4, Funny) by DannyB on Sunday May 22 2022, @03:42PM (1 child)

      by DannyB (5839) Subscriber Badge on Sunday May 22 2022, @03:42PM (#1247033) Journal

      From a BYTE magazine of the day (sorry I don't have which issue and page handy).

      Customer: what is the difference between static and dynamic memory?

      Computer Salesman: static memory works, dynamic memory doesn't.

      --
      The lower I set my standards the more accomplishments I have.
      • (Score: 2) by DannyB on Monday May 23 2022, @09:22PM

        by DannyB (5839) Subscriber Badge on Monday May 23 2022, @09:22PM (#1247326) Journal

        I found it.

        BYTE 1978-July, pg 42
        Conversation overheard in local computer store:
        Customer: What's the difference between static and dynamic memory?
        Salesman: Static memory works, and dynamic memory doesn't.

        --
        The lower I set my standards the more accomplishments I have.
  • (Score: 5, Interesting) by Snotnose on Sunday May 22 2022, @03:30PM (20 children)

    by Snotnose (1623) on Sunday May 22 2022, @03:30PM (#1247031)

    I taught myself Z-80 assembly on my TRS-80. At work our systems were 8080 based, so I started writing programs to help diagnose hardware problems. Engineering found out about it, asked if I wanted to be an engineer, and I jumped at it.

    That's how a 40 year career as a software engineer began.

    The Z-80 was a lot better to program on that the 8080. Just like the Motorola 68000 was a much better ISA than the 8086.

    --
    When the dust settled America realized it was saved by a porn star.
    • (Score: 5, Interesting) by DannyB on Sunday May 22 2022, @03:53PM (3 children)

      by DannyB (5839) Subscriber Badge on Sunday May 22 2022, @03:53PM (#1247037) Journal

      I had long term to a TRS-80 16 K Level II in high school. I dabbled with Z80. I realized that people writing Z80 code must be using some kind of advanced development tools which I did not have access to. The effort required to do anything significant on a TRS-80 with cassette tape was simply too high a bar.

      A few years later, out of college at my job I had to write some 8088 code to manipulate the contents of the IBM PC screen more rapidly than could be done through the BIOS calls. I needed to be able to copy, restore and scroll arbitrary rectangular areas of characters in order to have pop up windows.

      A few more years later as a Macintosh developer, I occasionally had to write 68000 assembly. The 68000 was a pleasure to work with. Plenty of registers and a very nice calling conventions defining how the registers were used and what one could expect.

      If I had some better tools in high school I might have tried to do something useful in Z80.

      TRS-80 graphics? What a mess! The lower seven bits of a byte defined what character to display in a character cell on screen. If the high bit of the byte was set, then the upper 128 characters had a group of 64 characters that formed the graphics. A character cell was split into 3 rows and two columns. Some 64 of the characters in the high 128 space of the byte defined every possible combination of those six cells being light or dark. THAT is how graphics were drawn on screen. By putting certain characters into certain positions on screen.

      Now BASIC had (very slow) routines to turn on or off any single graphics pixel. So you would write loops to draw lines, etc. Very slowly. It was impossible to do anything useful like a game in BASIC with graphics. Even anything useful like draw a bar chart in BASIC at any reasonable speed.

      --
      The lower I set my standards the more accomplishments I have.
      • (Score: 3, Interesting) by janrinok on Monday May 23 2022, @12:01PM (2 children)

        by janrinok (52) Subscriber Badge on Monday May 23 2022, @12:01PM (#1247186) Journal

        I realized that people writing Z80 code must be using some kind of advanced development tools which I did not have access to.

        Well that certainly wasn't the case with me. I also used tape cassette but on a different machine (Nascom1, followed by Nascom2). Initially I only used the free assembler - and by today's standards that was very basic indeed. But having less than 4K of memory to play with then I wouldn't have expected much more. The instruction set meant that one could do so much in a single instruction - although some instructions took as many a 4 clock cycles or more to complete. Subsequently, after a memory expansion which cost almost as much as the computer hardware itself, I moved on to Pascal, then Modula2.

        I then upgraded the entire system to the Gemini Galaxy. The OS was CP/M and it hada 5Mb hardrive (yes, 5Mb hardrive, 1 x 8" floppy drive and 1 x 5.25" floppy drive) but it was all still Z80A (4Mhz) based. I remember thinking that I would never fill the hard drive. I still have the Galaxy downstairs in my cave packed away in a box since my last home move 15 years ago. Perhaps if I find the time I will dust it off again.

        • (Score: 0) by Anonymous Coward on Monday May 23 2022, @04:35PM

          by Anonymous Coward on Monday May 23 2022, @04:35PM (#1247258)

          The OS was CP/M and it hada 5Mb hardrive (yes, 5Mb hardrive, 1 x 8" floppy drive and 1 x 5.25" floppy drive) but it was all still Z80A (4Mhz) based. I remember thinking that I would never fill the hard drive.

          looking back, it seems the only hard drive i never filled with the 5 megabyte on one my trusty decmate ii. and that was shared between three operating systems (wps, cp/m-80, and os/278).

        • (Score: 1, Interesting) by Anonymous Coward on Monday May 23 2022, @07:13PM

          by Anonymous Coward on Monday May 23 2022, @07:13PM (#1247290)

          That "or more" is doing a lot of work, since four cycles is the fastest possible instruction on the Z-80. Many instructions take more than ten, sometimes up to 23.

          Compare this to the 6502, which can do simple instructions in 2 cycles, most in 4 and nothing takes more than 7 (or 8, depending on the model). If an instruction didn't write to memory, the next instruction could fetch while the previous one was executing, saving a cycle (an early form of pipelining). That's why the 6502 was just as good even though it was usually clocked slower. It only needed one cycle to actually execute most of its instructions - the extra cycles are needed for memory access.

          Even at this stage the difference between RISC and CISC philosophy was clear, even though nobody was using those terms yet.

    • (Score: 2, Flamebait) by mcgrew on Sunday May 22 2022, @06:20PM (13 children)

      by mcgrew (701) <publish@mcgrewbooks.com> on Sunday May 22 2022, @06:20PM (#1247068) Homepage Journal

      TRS-80? I thought they used the 6802? I taught myself assembly on my TS-1000 after learning BASIC. That chip was only 1 kHz IIRC and powered the whole damned computer, so when I wrote a battle tanks game it was unplayably slow. In assembly I had to add loops to slow its operations down because it was unplayably fast.

      --
      mcgrewbooks.com mcgrew.info nooze.org
      • (Score: 2, Flamebait) by Snotnose on Sunday May 22 2022, @09:33PM (11 children)

        by Snotnose (1623) on Sunday May 22 2022, @09:33PM (#1247102)

        TRS-80? I thought they used the 6802?

        How about no. The TRS-80 had a Z-80. One would think idiots like you would get a clue from people like me saying "I learned Z-80 on the TRS-80", and thinking something like which processor I learned on, let alone the machine running it, would be lost to the mists of time. Let alone I have 2 40+ year old books on my bookshelf teaching me how to program the Z80, and exactly 0 on the 6802. Those 2 books will be on my bookshelf, unread for 40 years, until the day I die. Then they join my ashes.

        Go back to 4chan and whatever fake news sites you frequent, as it's clear you can't do even the most basic google search to find the truth.

        Feel free to pack horse medicine up your ass and post "Trump won stolen election" as you let Google show you what a clueless ass you are.

        / too harsh?
        // too bad, modern society is too easy on idiots now days
        /// plus I've been drinking

        --
        When the dust settled America realized it was saved by a porn star.
        • (Score: 1, Touché) by Anonymous Coward on Sunday May 22 2022, @10:23PM

          by Anonymous Coward on Sunday May 22 2022, @10:23PM (#1247112)

          Get a room, you two.

        • (Score: 5, Insightful) by anubi on Monday May 23 2022, @12:23AM (3 children)

          by anubi (2828) on Monday May 23 2022, @12:23AM (#1247129) Journal

          Don't go down too hard on McGrew. He's a writer with a passion. You have a passion for the art of precise coding. And it shows. You speak of things that only those with similar passion could possibly understand.

            Machine code. Assembler. Very few people are aware of this. That is the heart of the machine. You are running God mode.

          Yes, I detect errors in McGrew's post. And I have also read several of his literary works. And I have the utmost respect for each of you.

          McGrew has a gift for expressing concerns of technology going horribly wrong given human greed.

          And you, I respect highly as you express such concern over the elegance of code as only someone who understands it from the ground up could express.

          I learned mine from building an IMSAI 8080 from a kit I got from Synchro-Sound in San Leandro California, when on my first job as an engineer at the Chevron Oil Refinery in Pascagoula, Mississippi. I programmed it in machine code via it's front panel switches. If you've seen the movie "War Games", Matthew Broderick had one just like mine. I still have it.

          We are all in this together, striving to make the best of what we can do. Hopefully, karma ( aka butterfly effect ) kicks in and our short lifetime will have been useful for those that follow us.

          --
          "Prove all things; hold fast that which is good." [KJV: I Thessalonians 5:21]
          • (Score: 0) by Anonymous Coward on Monday May 23 2022, @01:12AM (2 children)

            by Anonymous Coward on Monday May 23 2022, @01:12AM (#1247133)

            Machine code. Assembler. Very few people are aware of this. That is the heart of the machine. You are running God mode.

            Yes... and no. Maybe on those primitive 8-bit and 16-bit processors, but the modern processors with superscalar pipelines and out-of-order execution with multiple layers of caches, assembly coding is all but impractical if not impossible except for optimizing very small super targetted secions, most likely in compilers.

            • (Score: 1) by anubi on Monday May 23 2022, @08:41AM (1 child)

              by anubi (2828) on Monday May 23 2022, @08:41AM (#1247166) Journal

              I see your point.

              I only use the big machines to run someone else's code. Still run win95/DOS. Had GWBasic up last night working on a quickie algorithm to give me a closest match for an integer numerator/denominator, if I give it a real number 0 X1.

              However, I still build little machines ( Arduino compatibles ) and program them for specific tasks. Am also into Chip Gracey's 8X32 Propeller and Nextion HMI panels, both of which are far more sophisticated than what I make.

              I am just happy enough to have something that I can understand. Seems I hit my limit with the 68000.

              It's Assembler or C++ for me. Just a two trick pony. But it does what I need.

              --
              "Prove all things; hold fast that which is good." [KJV: I Thessalonians 5:21]
              • (Score: 1) by anubi on Monday May 23 2022, @08:46AM

                by anubi (2828) on Monday May 23 2022, @08:46AM (#1247167) Journal

                0 < X < 1

                Hope this works, I can't seem to get "less than" to print.

                --
                "Prove all things; hold fast that which is good." [KJV: I Thessalonians 5:21]
        • (Score: 3, Interesting) by SDRefugee on Monday May 23 2022, @02:20AM (3 children)

          by SDRefugee (4477) on Monday May 23 2022, @02:20AM (#1247138)

          Boy! your handle REALLY suits you.. You immediately go to the name-calling. Perhaps your "idiot" was thinking of the TRS-80 COLOR computer, which DID use the 6502. You might try wiping your nose, snotnose. People like you REALLY make the internet fun (NOT).

          --
          America should be proud of Edward Snowden, the hero, whether they know it or not..
          • (Score: 1, Funny) by Anonymous Coward on Monday May 23 2022, @04:46AM

            by Anonymous Coward on Monday May 23 2022, @04:46AM (#1247147)

            Given the content of his posts I thought it was just a case of "Old man yelling at The Cloud".

          • (Score: 2) by coolgopher on Monday May 23 2022, @07:17AM

            by coolgopher (1157) on Monday May 23 2022, @07:17AM (#1247160)

            According to wikipedia [wikipedia.org] the TRS-80 Color actually used a 6809E, but your point still stands.

          • (Score: 2) by ncc74656 on Monday May 23 2022, @07:29PM

            by ncc74656 (4917) on Monday May 23 2022, @07:29PM (#1247297) Homepage

            Perhaps your "idiot" was thinking of the TRS-80 COLOR computer, which DID use the 6502.

            6809, not 6502. The CoCo was basically an implementation of a Motorola app note (?) for the 6809. Tandy never used the 6502 in anything AFAIK...it was Apple, Atari, and Commodore that used the 6502 in their 8-bitters.

        • (Score: 0) by Anonymous Coward on Monday May 23 2022, @02:40AM

          by Anonymous Coward on Monday May 23 2022, @02:40AM (#1247140)

          Maybe you should go back to Fark and leave the technical discussion for the adults?

          /Slashies!
          //Wooooooo!!!

        • (Score: 2) by janrinok on Monday May 23 2022, @12:14PM

          by janrinok (52) Subscriber Badge on Monday May 23 2022, @12:14PM (#1247189) Journal

          You have both been here since the start of the site - I don't think that there is any need to imagine that one of you has just arrived from 'out of town', so to speak.

          However, many of us have had days like yours I suspect. It happens sometimes....

      • (Score: 0) by Anonymous Coward on Monday May 23 2022, @09:53PM

        by Anonymous Coward on Monday May 23 2022, @09:53PM (#1247331)

        Commodore PET, with 6502, was what I learned assembly in. For the same reason. Little tank game was too slow in BASIC. And full of timing loops in assembly to be playable.

        TRS-II Z80 assembly let me turn an overnight sorting job that was delaying start of business into something done in under an hour. Not bad for a 4 bay 8" floppy diskette subsystem.

    • (Score: 2) by Muad'Dave on Monday May 23 2022, @03:16PM (1 child)

      by Muad'Dave (1413) on Monday May 23 2022, @03:16PM (#1247230)

      Same here! I POKEd hand-assembled machine code into memory then called it. I loved the Z-80 instruction set, and didn't like the cheesy 6502.

      • (Score: 0) by Anonymous Coward on Monday May 23 2022, @06:02PM

        by Anonymous Coward on Monday May 23 2022, @06:02PM (#1247273)

        The 6502 was an exercise in extreme minimalism.
        The Z-80 was easier to work with in some ways.

  • (Score: 4, Informative) by Quicksilver on Sunday May 22 2022, @04:12PM

    by Quicksilver (1821) on Sunday May 22 2022, @04:12PM (#1247043)

    Last week this very good video about the background and design of the Z80 was posted.
    https://www.youtube.com/watch?v=P1aqtfXUCEk [youtube.com]

  • (Score: 5, Interesting) by weeds on Sunday May 22 2022, @06:50PM (1 child)

    by weeds (611) on Sunday May 22 2022, @06:50PM (#1247071) Journal

    My first engineering job back in the early 80’s was maintaining and eventually building scanners. Oh, these weren’t the kind of scanners you have on your desk, these were drum scanners that could scan a 24 x 36 inch black and white original (two newspaper sized pages back in the day - known as a double truck) held on to a drum spinning at 1400 rpm by vacuum.
    The controller was a rack of multibus cards that handled the interface to a 32 bit mini (Perkin Elmer 3200) and controlled the scanner. Except for the Z80 card and memory, all of the cards were a wire wrapped pipeline consisting of: 16 bit interface, 8 bit interface, raster and step, screen generator, a/d, d/a, and I can’t remember the rest. And it was a film plotter (for printing) too, hence the screen generator and d/a.
    The original was built by an engineering company in town and we reverse engineered the whole thing including the microcode (which we fixed) and built a set of spares and two more scanners.
    I think I still have the acousto-optic modulator. A crystal that deflected the laser (for the plotter) controlled by an RF signal.
    That was a cool project.

    • (Score: 2) by Muad'Dave on Monday May 23 2022, @03:21PM

      by Muad'Dave (1413) on Monday May 23 2022, @03:21PM (#1247233)

      a 32 bit mini (Perkin Elmer 3200)

      OMG! My first job out of college was with Concurrent, which was the successor to Perkin Elmer's computer division. I helped write OS/32!

  • (Score: 3, Insightful) by mcgrew on Sunday May 22 2022, @07:14PM

    by mcgrew (701) <publish@mcgrewbooks.com> on Sunday May 22 2022, @07:14PM (#1247076) Homepage Journal

    Takes me back to my first computer, in 1982.

    --
    mcgrewbooks.com mcgrew.info nooze.org
  • (Score: 0) by Anonymous Coward on Monday May 23 2022, @01:12PM

    by Anonymous Coward on Monday May 23 2022, @01:12PM (#1247200)

    The Commodore-128 was a weird hybrid beast.

    Ok, technically it had an 8502 (6502 derivative) and a Z-80A (supposedly might be a Z-80B in some machines).
    It had 3 modes:

    * C-64 used 8502
    * C-128 used 8502
    * CP/M used Z-80

    I programmed some in assembly language for both with tiny little programs since I didn't have a "real" assembler.

    https://en.m.wikipedia.org/wiki/Commodore_128 [wikipedia.org]

    I liked the ISA of both chips. Many years later, I wrote some x86 assembly programs and hated every minute of it. What a shit ISA.

(1)