--> ap/xxxxx

__

http://www.voti.nl/blink/index_1.html 17:28 (tech_notes#302)

as PIC test reference

For Interface and Society presentation: 17:23 (interface_and_society_notes#6)

Opening slide as forest with script (from Byte July 1978. A Short History of Computing):

A few weeks ago a master's degree candidate in computer science confided, with an embarrassed laugh, that he had never seen a computer. His experience with the machine of his chosen vocation had consisted entirely of submitting punched cards through a hole in the wall and later getting the results the same way.

Further notes from other Byte magazines (particularly of interest: A Microprocessor for the Revolution Jan, Feb, Mar 1979 on the design of the 6809 microprocessor):

1] The large computer, being a very expensive resource, quickly justified the capital required to investigate optimum use of that resource. Among the principle results of these projects was the development of batch mode multiprocessing. The computer itself would save up the various tasks it had to do then change from one to the other at computer speeds. This minimised the wasted time between jobs and spawned the concept of an operating system (itals).

2] GOTOlocks and the Three Sorts. Gwen Hadley. Byte Jan 1979

3] Filling 6800 Op Code Holes:

Table 1:

A table of "holes" in the 6800 op code space. Analysing the holes involves tabulating the effect of each instruction on the condition code register, computing the number of machine cycles, and most importantly, finding suitable applications for these instructions.

Tabulated as Instruction Length, Hex Code, Label, Commentary

Hole are nonimplemented op codes in data chart

concludes with:

It would be interesting to find out if all 6800s follow the patterns in my table, or if the results are specific to my individual unit. (ie. unshared as officially undocumented - they may just be an anomaly).

further:

What is position independent code?

In computing, position-independent code (PIC) or position-independent executable (PIE) is machine instruction code that executes properly regardless of where in memory it resides. PIC is commonly used for shared libraries, so that the same library code can be loaded in a location in each program address space where it won't overlap any other uses of memory (for example, other shared libraries). PIC was also used on older computer systems lacking an MMU, so that the operating system could keep applications away from each other even within the single address space of a MMU-less system.

Position-independent code can be copied to any memory location without modification and executed, unlike relocatable code, which requires special processing by a link editor or program loader to make it suitable for execution at a given location. Code must generally be written or compiled in a special fashion in order to be position independent. Instructions that refer to specific memory addresses, such as absolute branches, must be replaced with equivalent program counter relative instructions. The extra indirection may cause PIC code to be less efficient, although modern processors are designed to ameliorate this.

http://en.wikipedia.org/wiki/Position_independent_code

x____

An economy of design and implementation/white rabbit economies of the physical as a thematic.

CPU (and its double) as tied into the OS. An unwritten history of this entry of the OS, a story of protected modes, privilege, segmentation, of rings, by way also of system calls and interrupts - the economic OS enters into and dictates economies of hardware and of the physical

System calls often use a special CPU instruction which causes the processor to transfer control to more privileged code, as previously specified by the more privileged code. This allows the more privileged code to specify where it will be entered as well as important processor state at the time of entry.

Economic interdependency of OS and CPU.

x86: four rings starting at ring 0 (can do anything).

also virtualisation: ring -1

Rings (circles of hell):

In computer science hierarchical protection domains, often called protection rings, is a mechanism to protect data and functionality from faults (fault tolerance) and malicious behaviour (computer security). This approach is diametrically opposite to that of capability-based security.

esp:

http://en.wikipedia.org/wiki/Kernel_mode#Interoperation_between_cpu_and_OS_levels_of_abstraction

links:

http://rr0d.droids-corp.org/ ___ Ring 0 OS independent x86 debugger

http://www.homebrewcpu.com/links.htm

http://incolor.inebraska.com/bill_r/elf/html/elf-1-33.htm ___>

Build The COSMAC "ELF" A Low-Cost Experimenter's Microcomputer Part 1