Community Discussions
Explore the latest discussions and community conversations related to this domain.
How Computers Work: The Basics
Main Post:
Novice networking student here and I'm very interested in getting a better understanding of how computers work. The "smallest" part of the computer that I've learned about so far is binary. The thing is that I don't know where binary comes from. I've asked around and gotten the answer that it comes from electricity that is either above or below a certain voltage threshold.
So from the wall outlet electricity is fed to the power unit of my tower. From there the motherboard is powered, but how is the binary (which is digital) created? I'm looking for a simple explanation if at all possible. I'm not super technical and I'm honestly not wanting that kind of explanation, but if that's what you can offer, please send it my way.
Top Comment: the binary is just a numerical representation of a physical reality. the ones and zero's are ons and offs of switches or more technically they are the high and low voltages that turn on and off transistors. there are some key electrical components that make up the computer. there are probably more than I list here too. multiplexers - demultiplexers - memory - clocks - buses and custom circuits for dedicated functions like doing math with a binary number system or outputting to a screen or speaker ect. multiplexers take a series of inputs (ons and offs) (typically in parallel I think) and produce a single output on or off de-multiplexers take a single input on or off and output a series of outputs (in parallel again usually I think) memory are special circuits that use their own output as part of their input (via a feedback mechinism) that lets them store signals to be used later. importantly the ability to store a specific signal can be turned on or off. a buss is just a line in common to different parts of the computer and a clock is a circuit that oscillates it's output. one important use of a multiplexer is that it lets you send signals down a bus that only one unit will respond too. a example of this is computer memory. the address of a memory unit is a series of bits say (1001 0100) for example and that data to be stored is sent with it to the memory unit. say the value (0000 0101) then inside the memory unit their is a multiplexer that turns on a specific memory "cell" when it receives the address (1001 0100) it then checks if it needs to reed or write (in this example it's write) and it stores the value of the data (0000 0101) to be used later. a de-multiplexer is used when several pieces of machinery need to coordinate you can have a multiplexer check for a pattern or "instruction" and then send out a series of signals turning on different parts of the machine. this might be a bad example but maybe a "load" instruction would have a multiplexer turn on the "load" de-multiplexer which would turn send a signal as address to the memory unit from a specific memory "cell" it then would send another signal to another memory cell in say the ALU or somewhere else to listen to the signal from the memory unit. all of this so far has been abstracted away from time. in reality each one our operations will take some amount of time how long exactly depends on the operation involved. the clock is a oscillating circuit that everything else in the computer (basically I think) listens too so that operations can be synced up and work at the same time. asynchronous circuit design is a thing but I'm not aware of any mainstream uses of it could just be ignorant however. buses are just wires connecting other wires together all at once so every unit can "hear" the others when they "communicate" so that's how the hardware works used to make one but how does a actual computer put it all together? there are different architectures but basically a computer has two main components and very often some very common and important peripherals. the two main components are the memory unit and the processing unit. the memory unit is conceptually really simple its just a lot of memory cells that can read our write data depending on a address signal interpreted by a multiplexer and a read or write command which can just be a on or off signal. the processing unit is either a command matrix (basically de-multiplexers hooked up to multiplexers) or has a tiny memory unit of it's own that has a stored program that just executes some specific commands in a fixed pattern. I could be wrong but it's my understanding is that the basic program structure is load a specific register X with the value in memory of the register PC (program counter which usually starts at 0) read the instruction of the instruction section of the contents of register X apply the instruction check if a new value needs to be executed (because the instruction might have put a new value in X) add 1 to the value in PC and repeat. so now if that works you have a machine that will read through memory sequentially unless it's given a jump instruction and will send out a series of commands or do nothing based on what's in that memory. at it's most basic that's all a computer is. you could make it "compute" functions by storing tables of values in memory (similar to the CADET system) but that would be inefficient so typically there is at the very least a component that does the math on a binary number system for you called the ALU. (arithmetic and logic unit.) as for other hardware add-ons like screens mice keyboards and speakers its my understanding that the implementation will vary but that either there will be dedicated hardware support for it or the computer will "pretend" that hardware for such is just computer memory and rely on a software interface to send "magic values" to make the things work. so that's my summery in both too little and too much detail https://www.allaboutcircuits.com/textbook/ for basic electronics info more details on a certain kind of computer
ELI5: Explain how a modern computer works at the most basic level.
Main Post:
How do you go from some silicon wafer with some metallic lines printed on it to having a GUI desktop. I don’t understand the intersection between hardware and software at the fundamental level.
Top Comment: It starts with setting up a binary system. You can do it anyway you like, but binary (two possible states per signal) is robust and works well with electricity. You define for example 5V to be 1 and 0V to be 0. Then you get a bunch of logic gates. The basic building block for a logic gate is transistors. For example, an AND gate outputs a 1 if both inputs are 1, and 0 otherwise. Now put a bunch of gates together and add a clock signal. Now you can feed sequences of 1's and 0's into your logic network at the pace of the clock. You can make a network that lights a little lamp every time the sequence "0011" is fed into the network. You can make the sequence "1100" light a different lamp. You can make the sequence "0000" turn off both lamps. You can make "1111" mean do nothing. 0011 1100 1111 1111 0000 According to what we've defined, the above would essentially be a software, a program. It would turn on lamp 1, turn on lamp 2, wait for two cycles, then turn off both lamps. That's how software interfaces with hardware. Then keep improving the system over 50 years together with hundreds of thousands of other developers, and you arrive at a modern computer! This area of expertise is called digital technology. As a fun fact: you don't actually need electronics to make a digital computer. You can do it with literally anything that can transfer energy in any way. Sticks and levers, fluids, falling objects, sound waves. The reason we use electronics is because electrons are unbelievably tiny while still being able to carry a lot of power, while also moving that power at almost the speed of light. This allows us to make our circuits small in turn, and circuit size is directly tied to the maximum speed the circuit can operate at.
Goodwill Computerworks
Main Post:
Anyone know the story with the Anderson computer works store inside goodwill? Are they moving to a new location? Closing altogether?
Top Comment: It seems to have been on a downward spiral for a long time. Lower and lower quality at higher prices, often more than new. My buddy who used to go there all the time said they've started selling anything good on eBay or whatever.
Should you learn C to "learn how the computer works"?
Main Post: Should you learn C to "learn how the computer works"?
Top Comment: https://www.nand2tetris.org/
F5 key not working on one computer but works on other computers.
Main Post:
Weird issue here. Built a TH80 keyboard. Tested it on my laptop and every key works. Move it to my Desktop, test again, F5 doesn't work. Plug it back into my laptop and the key works.
So, only on my desktop does my F5 key not work. However everywhere else I plug it in it does work. Is there a setting somewhere I don't know about that disables F5 or something? I also tested other keyboards and no F5 key seems to work.
Top Comment: First things first, update your drivers. Was it ever working and suddenly stopped or is this a new build?
Kindle as computer second screen, it works. : kindle
Main Post: Kindle as computer second screen, it works. : kindle
Yes, it works! 60Hz combinator computer
Main Post: Yes, it works! 60Hz combinator computer
Top Comment:
Holy shit! Amazing!
Next up: Factorio in factorio
What is it doing? Prime numbers?
It Works On My Computer
Main Post: It Works On My Computer
Top Comment:
when someone gives me that as a fault description i assumed their monitor is switched off. people gotta learn that "it doesnt work" doesnt help me jack shit with fixing problems
Goodwill Computer Works occasionally has good finds, like Power Mac G3 desktops - and then you see that they left the expansion cards in...
Main Post: Goodwill Computer Works occasionally has good finds, like Power Mac G3 desktops - and then you see that they left the expansion cards in...
Top Comment: Man the PC stuff I find at my Goodwill is unbelievable. I’m glad someone else sees it too. There’s ALWAYS old school “Big Box” games complete in box somehow, (just the other day picked up 2 Diablo Battle Chests that were PC/Mac and a new copy of Zoo Tycoon complete that apparently is pretty sought after) and the vintage peripherals tend to exclusively be extremely popular or valuable ones. I swear if I bought every set of speakers I’ve seen there, I’d probably be sitting in a mint right now. (I just fucking love speakers despite only having 2 devices to use em with 🤣 but it’s so hard to say no to a set of Altec Lansing A3440s even if I don’t have the SCSI port to use em with) I’m waiting to find something really crazy rare and Apple related. I did find a brand new 8Gb Crucial MacBook Pro RAM kit specifically for my 2012 Pro for $10 a few months ago, but Im waiting to find a set of Apple Pro Speakers, or an old school Apple Extended Keyboard or something like that. Like you, I’m always asking to see the computers to check for upgrades, and more recently, digital cameras too. They sell em dirt cheap but you never know when you’ll find an expensive CF card you can use for a SSD setup in an iBook or even a big SD card for an iFlash build.
Scientists Increasingly Can’t Explain How AI Works - AI researchers are warning developers to focus more on how and why a system produces certain results than the fact that the system can accurately and rapidly produce them.
Main Post: Scientists Increasingly Can’t Explain How AI Works - AI researchers are warning developers to focus more on how and why a system produces certain results than the fact that the system can accurately and rapidly produce them.
Top Comment: The problem is being mis-stated. It isn't that scientists can't explain how AI works. There are endless academic papers explaining how it all works, and real-world application is pretty close to what those papers describe. The problem is that people aren't asking how the AI works; they are asking us to give them a step-by-step explanation of how the AI produced a specific result. That's not quite the same question. One artificial neuron, for example, is almost cartoonishly simple. In its most basic form, it's a lambda function that accepts an array of values, runs a simple math problem, and returns a result. And when I say "simple" I mean like "what is the cosine of this number" simple. But if you have a network of 10 layers with 10 neurons each, a "normal" neural network becomes incomprehensibly complex. Even if you just feed it one input value, you have around 10×(1010)10—possibly even 10×((1010)10)10—cosine functions being combined. The answer to "how does it work" is "it is a Fourier Series"; but the answer to "how did it give me this result" is ̄_(ツ)_/ ̄. Not because I cannot explain it; but because you may as well be asking me to explain how to rewrite Google in Assembler. Even if I had the time to do so, nobody is going to run that function by hand. The only part of this that is "mysterious" is the training process, and that's because most training has some randomness to it. Basically, you semi-randomly fiddle with weights in the AI, and you keep the changes that perform better. Different techniques have different levels of randomness to them, but the gist is very simple: if the weight "0.03" has a better result than the weight "0.04" but worse than "0.02" then you try "0.01"... but millions of times. Occasionally, an AI training algorithm will get stuck in a local maximum. This is the AI equivalent of how crabs can't evolve out of being crabs because every change reduces their survivability. This is not good, but it is explainable. So yeah. AI is not becoming so complex that we don't know how it works. It is just so complex that we mostly describe it to laypeople via analogies, and those laypeople take the analogies too seriously. They hear that we refuse to solve a 101001 term equation and conclude that the math problem is on the verge of launching a fleet of time-traveling murder-bots. TL;DR - Explaining how AI works is simple; showing how a specific result was calculated strains the limits of human capability.
tf2 on my computer works very poorly with linux (arch, on mint it was a bit better)
Main Post: tf2 on my computer works very poorly with linux (arch, on mint it was a bit better)