• Welcome to the new COTI server. We've moved the Citizens to a new server. Please let us know in the COTI Website issue forum if you find any problems.
  • We, the systems administration staff, apologize for this unexpected outage of the boards. We have resolved the root cause of the problem and there should be no further disruptions.

Book 8: Robots, explain "Storage" to me

ddamant

SOC-10
Perhaps I am missing something but I don't understand the concept of "Storage" and "CPU" Space. I have looked at a couple of examples of pre built robots and they are not really helping. From my understanding of the rules the robot needs enough space to hold: Fundamental Logical Programs, Fundamental Command Programs and all Programs.

Example:
TL12 Low Autonomous Logic Program - 15 CPU, 25 storage
Full Command Program - 3 CPU, 5 storage
Steward 3 - 6 storage

What I don't understand is CPU space. What does CPU space have to do with anything? Is that the sum of the programs that can be run simultaneously (Logic/Command/Skills)?
 
Each program is rated by how big it is in storage (hard drive), and how much CPU space is needed to run the program.

CT had computers set up so that they could NOT "run a program from the hard drive" - they had to copy a program from that to the CPU before the program could be run.

CPU space for the computer is the sum of the programs that can be run simultaneously.

Storage for the computer is where programs sleep while waiting to be copied to the CPU for use.

Programs usually took up more space in storage than in the CPU (files recording data from previous runs, other things that aren't needed to run the program, but which need to be preserved for later, data-sets the program uses one section at a time, etc).




Remember, CT is based on 1970s computer tech.
 
See the Brain Components table on page 26. You build a brain with CPU "units" (of various types) and storage "units".

The CPU is the "Central Processing Unit" and you need enough units to run the sum of all programs you want to run. The storage is the same. You need enough storage units in your brain for the sum of all programs.

The Fundamental Logic Programs require specific number of units of CPU (and types) storage to make it work.

For application programs (i.e. skills) you need additional CPU and storage equal to the space units as calculated (Application Programs Table space time skill level).
 
What I don't understand is CPU space. What does CPU space have to do with anything? Is that the sum of the programs that can be run simultaneously (Logic/Command/Skills)?

'Storage' is memory, while 'CPU space' is processing power.

You can have as many programs in 'storage' as you want, but unless you have enough CPU cycles you have to pick and choose which ones are 'running' at any given time.

From your example -
TL12 Low Autonomous Logic Program - 15 CPU, 25 storage
Full Command Program - 3 CPU, 5 storage
Steward 3 - 6 storage

So to have you Steward robot working you need 18 CPU cycles to run the basic robot, with an addition 6 (total 24 cycles) to run as a steward 3.

If the robot steward had a Language program (say Aslan - 5 storage) installed, it could 'unload' the steward program from the processor (freeing up 6 CPU cycles) and load the Language program (uses 5 CPU cycles), but it can not do both at once as that would exceed the 24 CPU brain processing capacity.

Simple 'one task' robots don't need extra CPU capacity as they only do one thing, but multifunction bots need more, but the CPU cost is very expensive. So to cheat you load/unload programs as needed.

Eg: A repair robot could have Electronic and Mechanical repair skills. To save on CPU space and cost it only loads the program which is relevant to the task it is doing. It load 'electronics' and wanders around repairing the electronic systems. Once finished it unloads 'electronics' and loads 'mechanical' and starts welding. But then it hits a task which requires 'Electronics' and 'Mechanical' and stops because it cant do both at the same time.
 
Ok. I am still a little confused. I am looking at a robot example. Here is the Universal Robot Profile Stats for the brain/software:

MP324
Medical - 1, Instruction - 1, Steward - 1, Emotion Simulation

The CPU is rated at 30. Storage at 50.
The Logic & Command requires 23 CPU, leaving 7; they also require 30 storage, leaving 20.

Medical takes 4 storage, Steward 2, Instruction 10. If programs require 1 CPU to run per space then there would be enough space to run medical and steward, but not instruction. Indeed there would not be enough to run instruction at all.

If I want a High Autonomous Logic/Full Command robot is it correct that I need 23 CPU (of various types) AND 30 Storage units (dedicated to these two features)? Any programs added would also require 1 CPU and Storage per program "space"? Do all programs require storage or can you just add enough CPU units to keep them all "running" so to speak all the time, holding them in essence I the CPU?

Here is another example:
LM324
Valet 1, Steward 1, Medical 1, Emotion Simulation 1

With a CPU space of 20 (L) it would appear that this thing cannot run the Logic & Command programs listed, much less the skill programs. Either this is an error in the robot listing or I am missing the boat completely.
 
Last edited:
I believe that programs require EITHER CPU to run or STORAGE to wait to run.

Conceptually, imagine a CD player with a 5 CD changer built in and a case that holds 20 CDs on the shelf next to it. CPU is the 5 CD changer so it is CPU=5, and the 20 CD case is STORAGE=20. Each "program" takes one or more CDs. So any CD can either be loaded in the changer for you to instantly select a song from, or it can be stored in the case waiting to be loaded into the changer.

Logic & Command is REQUIRED all of the time, so it only needs space in the CPU. If you load it in STORAGE, you no longer have a robot. The skills, on the other hand can be loaded into either CPU (when being used) OR into STORAGE (when waiting to be used later).

Instruction in your example not fitting in CPU may simply be an error in that design. It needed more CPU memory.
 
I believe that programs require EITHER CPU to run or STORAGE to wait to run.

Conceptually, imagine a CD player with a 5 CD changer built in and a case that holds 20 CDs on the shelf next to it. CPU is the 5 CD changer so it is CPU=5, and the 20 CD case is STORAGE=20. Each "program" takes one or more CDs. So any CD can either be loaded in the changer for you to instantly select a song from, or it can be stored in the case waiting to be loaded into the changer.

"What's a CD?"

:rofl:


Alternate version:

Conceptually, imagine a dual 5.25" floppy disk drive and a case that holds 20 diskettes on the shelf next to it. CPU is the disk drive (capable of holding two 5.25" floppy disks) so it is CPU=2, and the 20 diskette case is STORAGE=20. Each "program" takes one or more diskettes. So any diskette can either be loaded in the disk drive for you to instantly run, or it can be stored in the case waiting to be loaded.

:rofl:

OR

Conceptually, imagine a jukebox that holds 20 vinyl 45 records. CPU is the turntable (capable of holding one 45) so it is CPU=1, and the 20 records is STORAGE=20. Each "program" takes one or more records (however, our turntable can only play one record at a time). So any record can either be on the turntable and playing, or it can be stored, waiting to be loaded.

:coffeegulp:
 
"What's a CD?"

:rofl:


Alternate version:

Conceptually, imagine a dual 5.25" floppy disk drive and a case that holds 20 diskettes on the shelf next to it. CPU is the disk drive (capable of holding two 5.25" floppy disks) so it is CPU=2, and the 20 diskette case is STORAGE=20. Each "program" takes one or more diskettes. So any diskette can either be loaded in the disk drive for you to instantly run, or it can be stored in the case waiting to be loaded.

:rofl:

OR

Conceptually, imagine a jukebox that holds 20 vinyl 45 records. CPU is the turntable (capable of holding one 45) so it is CPU=1, and the 20 records is STORAGE=20. Each "program" takes one or more records (however, our turntable can only play one record at a time). So any record can either be on the turntable and playing, or it can be stored, waiting to be loaded.


Actually, if we step outside of the world of PCs. Game machines still have slots for memory cards and commercial computers have swapable drives and slots for special network hardware that just plugs in. So imagine a tower with slots for fully integrated components containing specialized hardware and software, and a big storage bin of currently unused modules waiting to plug in.
 
Mmmm, guess I interpret CPU and storage a little differently, and always have.

To me CPU is the processor plus memory, the total capacity to run 1 or more programs realtime.

Storage is storage, disk or cassettes or low speed memory/buffer or plug-in cartridges or tape or papertape.

Swapping in programs means those are going into real memory to get priority processing, while the other programs get dropped back to storage.

So when you boot your PC, it is loading the OS and immediate desired programs like security from a disk or SSD (STORAGE) to memory and executed by it's processors (CPU).
 
In 1978, the only "storage" that wasn't an integral part of the computer itself was that rack of magnetic tape reels in the corner*.

If you wanted to either access data or a program stored thereon, you had to physically place it on the spindle, run the tape through the capstans past the read/write heads, and onto the take-up reel - then start the computer spooling through the reel at high speed to find where the data desired was stored, then read the data at a slower speed - which took quite a few minutes.


All a "data cassette" was was a miniaturized magnetic tape reel with the tape permanently affixed to both reels.

Yes, sci-fi had already postulated magnetic memory matrixes, crystalline data matrixes, and some data-storage methods we still haven't actually developed - but Classic Traveller computer tech was designed around the "proven & in service' equipment of 1977.



* Or you had a box full of thick paper cards with holes punched in them, the pattern of which was the stored data (or a reel of perforated ribbon)... :rofl:
 
What you do is breed flies, then surgically remove the part of their brains that controls flight.

Superglue and network them together on a piece of glass.

Alternating current makes them think they're either flying or not flying.

A million of them is a megamite.
 
In 1978, the only "storage" that wasn't an integral part of the computer itself was that rack of magnetic tape reels in the corner*.

If you wanted to either access data or a program stored thereon, you had to physically place it on the spindle, run the tape through the capstans past the read/write heads, and onto the take-up reel - then start the computer spooling through the reel at high speed to find where the data desired was stored, then read the data at a slower speed - which took quite a few minutes.


All a "data cassette" was was a miniaturized magnetic tape reel with the tape permanently affixed to both reels.

Yes, sci-fi had already postulated magnetic memory matrixes, crystalline data matrixes, and some data-storage methods we still haven't actually developed - but Classic Traveller computer tech was designed around the "proven & in service' equipment of 1977.



* Or you had a box full of thick paper cards with holes punched in them, the pattern of which was the stored data (or a reel of perforated ribbon)... :rofl:

I was gonna call you on it if you didn't include punch cards.

By 1981 when I started the disks held the programs, but they were called in sequence by job strings loaded by punch.

And of course the program was input initially by card.

Some of the physical switches ofth e previous model had already been virtualized to logical switches and lights- PROGRESS!
 
What you do is breed flies, then surgically remove the part of their brains that controls flight.

Superglue and network them together on a piece of glass.

Alternating current makes them think they're either flying or not flying.

A million of them is a megamite.

I feel hate.

Incidentally, Cordwainer Smith was big on biological computers, particularly brains laminated between plastic. May still be a bit with the synaptic processors in robots.

http://www.technovelgy.com/ct/content.asp?Bnum=1073
 
CT had computers set up so that they could NOT "run a program from the hard drive" - they had to copy a program from that to the CPU before the program could be run.

CPU space for the computer is the sum of the programs that can be run simultaneously.

Storage for the computer is where programs sleep while waiting to be copied to the CPU for use.

Programs usually took up more space in storage than in the CPU (files recording data from previous runs, other things that aren't needed to run the program, but which need to be preserved for later, data-sets the program uses one section at a time, etc).

Remember, CT is based on 1970s computer tech.

Although this is from the 1970s, most computers still run on the same basis, separating execution memory from storage memory, there is no need to bring in analogies with CDs or FDDs.

A majority of designs, from Wintel PCs to smartphones, still have volatile memory (RAM) for executing instructions, and non-volatile memory for storage, the latter can be magnetic disks, or more often some form of solid state design, SSDs, memory sticks, SD Cards, etc, it is still different from the memory found in RAM and to all intents is a "disk" even though it is not actually round, spinning or made of magnetic material. The important point is the volatility (does it get wiped when the power is cut).

For CT the volatile memory (RAM) is called "CPU" and the non-volatile is called "Storage". This probably stems from the days when CPU and RAM where one combination rather than separate components as they are in modern PCs. The confusion can lie in that a modern CPU does have it's own memory which is used for caching and multi-threading, but it is clear that CT CPU memory is referring to what we'd call RAM.

The principal still exists that programs run in volatile memory because it is faster performance. for most Windows and Mac based architecture the program is loaded into RAM and executed there, the interim storage the program needs is also kept in RAM, it only ever passes to non-volatile (saves) when absolutely necessary.

The exception to this are some designs like Palm, where the execution memory and storage are one and the same because the memory was all-in-one non-volatile, but modern smartphones are still using the RAM/Storage model.

It should be noted that programs are often zipped up on disk and then unzipped once loaded into memory, combined with the massive amounts of execution memory they require as most data is pre-loaded, so the only difference with CT is that CPU and Storage are not really one-to-one alike and a running program can easily occupy more RAM than disk space.

In cases where the memory (RAM) runs out, most operating systems will "swap" the memory to non-volatile storage, but it gets swapped back in again when it needs to be executed, there is never really a case when a program is "executed on disk" (even if the "disk" is solid state).
 
In 1978, the only "storage" that wasn't an integral part of the computer itself was that rack of magnetic tape reels in the corner*.

If you wanted to either access data or a program stored thereon, you had to physically place it on the spindle, run the tape through the capstans past the read/write heads, and onto the take-up reel - then start the computer spooling through the reel at high speed to find where the data desired was stored, then read the data at a slower speed - which took quite a few minutes.


All a "data cassette" was was a miniaturized magnetic tape reel with the tape permanently affixed to both reels.

Yes, sci-fi had already postulated magnetic memory matrixes, crystalline data matrixes, and some data-storage methods we still haven't actually developed - but Classic Traveller computer tech was designed around the "proven & in service' equipment of 1977.



* Or you had a box full of thick paper cards with holes punched in them, the pattern of which was the stored data (or a reel of perforated ribbon)... :rofl:
Lots of wrong in that...

Hard Disks were introduced in 1956 - with a 3.75 MB IBM 350 Disk File.
1962 saw a removable media hard drive, the IBM 1311, with 2 million characters memory, 4" tall, 15"x15" 2 MB disk packs. swappable, and up to 5 could be stacked. Cassettes included the read-write heads (so called "winchester" drives")

Floppy disks were 1971, with the 8" 70kb IBM floppy for use with the System/360.

IBM had a very limited voice recognition command system running in 1960! It was called Shoebox

The scan-tron type form was introduced in 1938...[https://www-03.ibm.com/ibm/history/exhibits/specialprod1/specialprod1_9.html]IBM 805 Test Scoring Machine[/url]

1977 also saw ROM carts in home devices - the Atari 2600.

1974 saw the introduction of the 1kb DRAM memory chip. Intel 1103 chip.
 
Back
Top