Hacker News new | ask | show | jobs
by roop 4594 days ago
Presumably, you're already familiar with how the text in your text editor gets converted to a binary representation. The code that gets stored in the iPad's flash memory is already represented in terms of voltages (See http://computer.howstuffworks.com/flash-memory1.htm). To run the app, iOS shall load the code in the flash memory to RAM, where again it's represented as voltages (See http://www.howstuffworks.com/ram.htm). The same is the case for the CPU executing the code.

Point of note is that transistors are used in all three cases (flash memory, RAM and the CPU), but the voltage levels for 1's can be different in each case. The voltage level is part of the design of the flash/RAM/CPU. (For example, when designing a CPU, choosing a voltage level is a tradeoff between performance (higher voltage implies faster clock speeds) and power consumption (higher voltage drains the battery more)).

If you're asking when the 0's and 1's became voltage levels, the answer is that they were created as voltage levels in the first place. At the physical level, the 1's and 0's are always voltage levels. When you compiled your code, the code generated by the compiler was represented as voltage levels in the CPU, then was written to RAM, which again was in voltage levels, and then written to the SSD of your MacBook Air, which again is in voltage levels.

1 comments

   "At the physical level, the 1's and 0's are always voltage levels."
Let me throw you a curve ball: When we're dealing with DIGITAL logic, we're dealing with DISCRETE (and finite) values of SOMETHING - and it doesn't have to always be voltages.

Just to wet your appetite, take a look at "Current-mode circuits". These are circuits whose logic values are represented by discrete current levels, not voltage levels. And by the way, this has Nothing to do with Ohm's Law.

Another example can be taken from digital communications. We have discrete finite levels for: amplitude, frequency, and phase. And I'm probably missing another component that can also be quantized, but it's been many years since I took that class.

Yes, I remember now: Duty Cycle, as used in Pulse Position Modulation and Pulse Width Modulation. These types of modulation are commonly discretized and used in digital communications. Also very common in analog systems.

You mean they don't always have to be "voltages". Agreed. I only wanted to emphasize that at the physical level, they are not discrete. In this case, they happen to be represented as voltage drops.
Agreed.

I wish more people would take the time to look at the classic CMOS inverter: Looking at the VIn vs. VOut graph, it is overwhelmingly obvious that the word "digital" refers only to a higher level of abstraction for circuits that, in reality, are analog. (And more to the point, these SAME circuits are used as amplifiers in a typical analog design.)

Good luck explaining this to a CS major.

That's funny. I am really a CS guy. Just happened to work for a semiconductor company for a few years after college.