• 1 Post
  • 43 Comments
Joined 1 year ago
cake
Cake day: June 24th, 2023

help-circle






  • Right, apologies for dumping it down so far, I find it hard to properly gauge the knowledge of others on the internet, and just try and play safe.

    I wasn’t aware that one could serial program gate arrays, as, as far as I know, the definition of serial programming is code that is governed by a processor, and which prohibits anything but serial execution of commands. So it’s new to me that gate arrays can run serial code without any governance or serialization process, since gate arrays by themselves are anything but serial. Or rather, you need to synchronize anything and everything that is supposed to be serial by yourself, or use pre-built and pre-synced blocks, I guess.

    Anyway, going by the definition that serial programming can only be performed using some kind of governance or synchronizing authority, that alone would be another layer of security.

    As serial implies, it rid us, or lessened the burden, of those timing related issues, some of which included:

    • All the problems of accessing in-use resources that multi-cored serial “parallel” programming reintroduced.
    • Making a block and not properly timing it resulting in the clock changing while it’s still flipping gates and produce unexpected behavior.
    • As the above, just generally having to time everything, as having too many clock blocks or sync checks results in unnecessary speed loss, and having too few checks might result in unexpected behavior.
    • Over/underclocking and other slight power and clock variations.
    • Uninitialized gates producing random behavior.
    • And by extension: the power up process not being exactly the same every time, resulting in more unexpected behavior. Very annoying to debug when it looks all right to start with.
    • Reading through seconds of timing diagrams (that’s a lot of reading with a clock time of nano seconds).
    • Block placement and connection problems.
    • Using gate array layouts/code with differing transistor specs.

    And the list goes on, but you know.

    Serial also has a lot of pitfalls, and you can definitely screw things up bad, but at least you don’t have to think much about clock or timing, or memory placement, unless communicating between devices or cores, and those sync problems tend to be rather tame and simple compared to intra-processor problems.

    At least from my experience.


  • I think you are misunderstanding me. Are you perhaps thinking about multithreading or multi core? Because some people have also started calling that “parallel”, even if it is nothing like low-level parallel.

    A CPU does not build upon a CPU, a CPU builds upon transistors which are collected into gates, and which can be assembled into the correct order using parallel programming.

    EDIT: as an example, you do not actually need a computer to parallel program. Get yourself a box of transistor, some cable, and a soldering iron, and you can build some very rudimentary gate arrays, like a flip-flop.

    This link might give a better understanding of our confusion.

    EDIT 2: One could perhaps illustrate the confusion which this topic is often victim of as such:

    Transistors are part of the hardware and are parallel programmed to form complex gate arrays called “Processors”, which feature instruction sets used by machine code, which is made using assembly, which is called “serial programming”, which enables high-complexity operations such as multi-core “parallel” programming.

    I’m talking about the former “PGA parallel programming”, and not the latter “multi-core parallel programming”.


  • A CPU is a very complex gate array which handles bothersome tasks such as synchronization (run conditions) and memory access, and presents you with a very limited set of instructions. All serial programming builds upon this very limited set of instructions, and the instructions have been thoroughly tested over the past 6 decades.

    Not to say that CPU architecture or microcode is fail-safe, but the chance of your computer blue-screening because of a failure of your CPU is rather small.

    Now, parallel programming (the low level variant, not the hijacked definition) is the art of “wiring” those gate arrays. A CPU is actually made using parallel programming, so all the safeties it presents for serial programming will not be present in parallel programming, as parallel programming does not use a CPU.

    EDIT: the above is of course simplified, there exist multiple architectures, collected into more common instructions sets such as amd64, armhf, arm64, etc. but even the most barebone processing unit contains a lot of securities and nicities that parallel does not have.


  • Lots of buzzwords indeed, author apparently doesn’t even know what a smart sensor is, as they described a regular sensor in their first paragraph.

    That said, you can absolutely program analog ICs, such as by using a Field Programmable Gate Array instead of just your regular Gate Array (your usual, ‘stupid’ IC). Though, while a random IC might cost you less than half a dollar, a FPGA will cost you around 100$ for a simple chip.

    On the other hand, skipping any GPU or CPU and their limitations by clock speed should speed up the AI considerably, though parallel programming (not concurrent programming, and not multi-core “parallel” programming either) is much harder and comes with almost no safety when compared to serial programming.






  • Not a dumbass, we all have to start somewhere, and the only way to really fail is to stop trying to improve oneself.

    That’s also what in the oh so olden days set apart the script kiddies from the makers. The script kiddies found some readily available tools and boasted about their skill, while the makers tried to dig into the tools to get a better understanding, and ultimately be able to hack together the tools to better fit their needs. Many makers started out as script kiddies.

    People nowadays often get introduced to programming in computer games, such as Minecraft’s redstone, and I don’t think that perchance is much different.

    Next steps would be to find a programming or scripting language and start learning about common syntaxes and logic, perhaps even make your own generator!



  • Usually you draw this line by “locking” a title behind some kind of education or certification. If someone carries this title, then it must mean that they at least have a basic understanding about x skill.

    “Programmer” and “developer” aren’t protected in any meaningful way, and I’m trying to hammer that into my brain, as I did not really see someone who hosts a template Wordpad Wordpress site as a webdev, or a Python scripter as a programmer (scripting is programming, but programming is much more than scripting, so comparing the two doesn’t make much sense to me).



  • You’re not making a generator either. The tool itself is already the generator, you just make content packs for it. The result will then be a generator for your content pack.

    I guess an analogy could be an industrial harbor which loads ships with containers. Can the harbor say that it made the loaded ships? (yes it can, but people will rise eyebrows.)

    Perhaps the generator can be seen as a very high-level programming language, so OP can call themselves a programmer, but I wouldn’t go boasting about it.


  • Are you this dense and uninformed on purpose, or are you just trolling us? I’ll apologies for that remark, it does not contribute to the discussion, though your points are rather misinformed.

    France has a lot of old plants who will be at their end of life after some 50 years of service.

    The exact same thing you just said also counts for windmills. Contrary to popular belief, windmills do not last forever and will need to be rebuilt or deconstructed at the latest after some 30 years.

    Does this mean that windmills do not work because they aren’t perpetual machines? No! There’s a myriad of problems with wind and solar, but them having a finite lifespan is very normal.


  • You do realise how much space windmills would need to produce as much power as a single nuclear plant, right? That is also the reason we try to build them in the water.

    And when did I write anything about nuclear waste? I specifically pointed out that I was talking about deconstruction waste, where cooling towers turbines, and general facilities can be reused, and only the core shielding of the nuclear reactor has to be specially disposed of, versus the wings and foundation of windmills, which we don’t really know what to do with right now, so we kinda just bury them wherever and hope it doesn’t come back to bite us later.