4 ms·
Yes, because these chips follow certain design goals the simple examples don't care about. For example, assume you start scaling things up, there is the problem
by pixelfarmer 3y ago
Yes, because these chips follow certain design goals the simple examples don't care about. For example, assume you start scaling things up, there is the problem of "load" (aka current). If you look at the chip manuals you will see how much current the inputs require to work, you will see how much max. current the outputs are able to handle, and now imagine you have to wire many of these chips together or drive other stuff with it. This is why for example for LEDs you may need an additional transistor or even a driver IC (for multiple LEDs) to get the LEDs working, because the chip itself is not able to handle the current load. There are things like switching frequencies, current load related stable output voltages which may require replacing passive elements (e.g. resistor) with active ones (diode / transistor), and so on. Read: This goes far beyond the core gate functionality to actually have something usable in a wide range of applications.
- MichaelZuo 3y agoRight, so it seems impossible, currently, to completely understand even the simplest 8 bit CPU's boot-up process. The difference between the SN7400 and gates on a breadboard seems to be a black-box. At least there is not any published material in the whole world that actually explains this gap, that I could find. Have you managed to find any yet? As an aside, this surprised me, there's not a record of anyone, prior to this conversation, even raising the question, across all the major search engines, academic libraries, published books, etc...
- pixelfarmer 3y agoIf I remember correctly there are actual simulations of a 6502 (the CPU used in C64 and other machines of that time) around, e.g. there was one done in Javascript even. Simulation as in simulating all the gates of the actual chip, and you can follow the process of what is happening. People have been recreating CPU parts and I think also full blown CPUs in Minecraft with this redstone stuff (and had to "de-pig" their machines). That runs at about the same level as the above simulation, sort of. There is also no "black magic" to a 7400, but with just superficial knowledge there is no way to break through that wall, i.e. you will have to go down that rabbit hole for quite some time before all the puzzle pieces fall into place. Then you should also be able to recreate a full 7400 on a breadboard, however, it may not look 1:1, but by then you are able to say why. What I wonder though: What do you hope to gain from that? These are "just" transistor circuits, you provide power, they are "ready". Yes, there are timings involved: Nothing is instant, power is ramped up, signal distribution takes time. There are many 8 bit CPUs/SoCs around, just grab one of the manuals, often they are split into 2, one aiming at the hardware side of things (voltages, currents, frequencies / timings, etc.), and one at the "logic" and how to program all the parts and pieces. One thing that is shared by all of them: A reset line or at least some reset timings for things to settle in the chip to a defined state, because, as noted, things are not instant. Afterwards the initial piece of software takes over.
- MichaelZuo 3y agoI don't understand how the behaviour of simulations and Minecraft CPUs relate to the real world. Can you explain how you know they are correct approximations? From my perspective it seems to still require knowledge, of the actual SN7400 for example, to verify.
- pixelfarmer 3y agoHave a look at http://www.visual6502.org/JSSim/ http://www.visual6502.org/JSSim/ That aside, I'm still wondering what you are on about. The "internal logic" of something like a 7400 is fully defined by the transistors, so to understand that, you have to understand how transistors work. Luckily, we are not dealing with analogue computers, but digital/binary ones, so things can be simplified to on/off. Transistors are something like switchable resistors, ideally between zero resistance ("on") and infinite one ("off"). This state is controlled by the "base" (BJT) or "gate" (FET). Which means if this base/gate has a defined state, the output will have a defined state, and that is where the specifics of the respective 74XX chip are important -> chip manual will give all the required details. But as such there is no "start-up procedure" or anything with these things as long as they have no internal state, and NAND gates don't have that. Once we talk about flip-flops, latches, registers, and similar things, then we have state, and usually also some way to reset that state. 8 bit CPUs all come with a reset line for some reason, or handle this automatically as part of their power-up. And that is where these "we build stuff from 74XX chips to a 8 bit CPU" video series come in, because they show all the CPU components, their wiring, and potentially also give access to a full schematic so you can follow the traces and see + understand what happens as part of the power-up.
- MichaelZuo 3y agoThanks for posting the link, that's pretty cool, but it leads to my question of how do you know they are correct approximations? > That aside, I'm still wondering what you are on about. The "internal logic" of something like a 7400 is fully defined by the transistors, so to understand that, you have to understand how transistors work. What I'm on about is precisely that the 'internal logic' of the 7400 is unknown and not fully defined. You make an assumption here, that does not seem to be backed up by any published source, "it's fully defined by the transistors". For example, it might very well be reliant on other aspects, such as the length of the circuit traces to function correctly.