Re: What Tektronix means to me
Grin! Things were different back then. In high school we had dial up line to a HP2000 at the Stanford business school using DECWriters, and one could wander through the directories, browsing students projects. It was usually very responsive, but sometimes it would really bog down, and we'd have to use one of the in-class micros (PET/APPLEII/TRS80) to work on our projects. But they were all more reliable than our PDP8/E; we had to use that for Fortran, and it was always breaking down. I think I was one of the last people to learn how to use a keypunch machine!toggle quoted messageShow quoted text
On Saturday, January 18, 2020, 09:43:04 AM PST, Dennis Tillman W7PF <@Dennis_Tillman_W7pF> wrote:
Something similar happened to me when I tried counting clock cycles on a mainframe:
I learned assembly language programming by myself on the S-100 microcomputer I built. When you need a delay in a microcomputer program you use a software loop. You look up how many clock cycles are in each loop instruction and then you divide the time delay you want by the total clock cycles in the loop. That gives you your loop count.
I learned the hard way this doesn't always work. I was working on some simple software that ran on an IBM 370 mainframe when I needed my program to wait a few seconds when a particular situation arose. I had no way to know how long the 370 clock cycle was or how many cycles each instruction used. So I just guessed. I started out with a small number at first and kept raising the loop count until I got a long enough delay. It was not that straightforward however. For one thing I couldn't figure out why the delay was not consistent. Sometimes it seemed shorter than I wanted and other times it seemed longer. It was good enough so I forgot about it.
A few days later my manager called me into his office. He asked me to explain the latest computer bill he had received which showed I used over $7,000 worth of computer time that week. I was stunned and had no explanation. When he took a look at my program he broke out laughing. I was on a timesharing system and each time my program put the IBM 370 in a loop the entire mainframe was dedicated to me for those few seconds. During normal business hours that mainframe was handling anywhere from 200 to 300 other users and I was sharing it with everyone else. But I was developing and testing my software in the evening when I almost always had the entire 370 to myself. Each time the 370 encountered my delay loop it ran full out doing nothing at all. What I did not know was when you are using a time shared computer you pay for how much of the mainframe's CPU cycle time you consume. Fortunately the billing department also had a sense of humor and forgave me for making a novice mistake.
When you want a delay on a mainframe you insert a "pause" instruction in your code and specify how many seconds you want to wait. The mainframe sets a timer and takes care of everyone else until the timer goes off and then it resumes running your program.
Dennis Tillman W7PF
From: TekScopes@groups.io [mailto:TekScopes@groups.io] On Behalf Of Dave Seiter
Sent: Friday, January 17, 2020 11:20 PM
Subject: Re: [TekScopes] What Tektronix means to me
I took an assembly language class once where we had to build a working traffic light simulator for a normal intersection using a very simple assembler. One of the primary objectives was understanding the cycle counts of commands and how they related to the micro's timing. We discovered that published data is not always correct...
Dennis Tillman W7PF