''' The foundation of computer circuits ''' Page by [Theo Verelst] Of course feel free to comment (with initials or some other way to distinguish comments from my writing), this page is supposed to at least raise dust or make people think. I don't think the tcl/tk community is much prone to the thinking, but in not so forward circles who often seem to think they can understand computers by realy miserable and even evil ideas and projections of human functioning, a lot of wrong and dangerous ideas exist and wither which make people pray to a neon God I don't want to take part in. Computers are great fun, the best computers, and probably almost the most advanced in the world make me play wonderfull music and sounds, or do graphics as I did professionally, and even just playing about with some interesting tcl commands can be fun enough, and certainly challenge ones' functional (decomposition) thinking for hours easily, without thinking about abusing children, ruling and exploiting the world and destroying all human existence. I've already made this point on the [bwise applications and examples] page by mentioning the so called '' Flip Flop '' circuit, which is basically a circuit which is feeding back data to itself in a consistent way, and can therefore remember a bit of information. Because of the nature of the constituents of the circuit, it can be made to remember, be set to one or to zero, all within even the logic of an infinetely fast and 'unspecial' mathematical construct. [http://195.241.128.75/Diary/Ldi6/flipflop1.jpg] Every electrical engineer should be aware of it's existence, though it seems to me that some forget when they enter the world of software engineering. All messages datastructures and algorithms are essentially changing the state of such circuits in a computer chip, and in fact almost exclusively that. Sending a message to and object, or instantiating something from a class, is essentially doing the same: fiddling bits stored by flip flop or similar circuits in a pentium, supersparc, precision architecture, armrisc, cache or dynamical memory chip. Or changing and regularly updating the magnetisation orientation in a ring memory of and anchient machine. And no matter what mind images we'd like to see, or like others to see subdued to, those are the boundaries or the prerequisites of software of any kind, wether it in the end makes a mobile phone beep, a screen turn some colour, or certain dot patterns on paper. There is nothing else which is the carrier or basic material or construct of software, except maybe for using materials which exhibit quantum behaviour or which are used to generate noise. The flip flops contain binary data, which can be used to generate new data, which is a process which can be theorized or designed around by seeing it such that all remembered data in a computer, or in its core to begin with, is taken as the input to the big function which is all of the logic circuits of the computer or CPU chip acting on the current state of all memory elements. This is possible because we use not singular memory elements, but two flip flops on a row, which is called a 'master-slave' flip flop arrangement (I didn't invent the terminology, it's common amoung digital electronicists), which are driven by the rising and fallen edges of the 'clock' signal which paces all activities in the processor, so that only one change at the time happens. The jtag connection on a modern pentium (I did an article on the subject at uni long ago) is a clear indicator of such thinking: it puts all memory elements on the chip on a row, allowing an outside machine to shift data into and out of the chip, so all circuits can be tested by applying suitable test patterns.