last day (15 days later) » 

01:31
67
A: Would the US government of the 1960’s be able to feasibly recreate a modern laptop?

CadenceNot any time soon. In the 1960s, MOS transistors were in their infancy, with a typical size of 10 micrometers. Modern transistors are more in the 10 nanometer range, 1000 times smaller. Even if they had all of the schematics and specifications (and raw materials, about which I know less) they wou...

Can you copy the functionality of a chip at a different scale and speed without having to change lots of stuff due to timing issues or somesuch?
@JollyJoker My impression was it wouldn't be that simple, because you have to take things into account like heat dissipation and the physical speed that currents are traveling through the circuit. But I'm not an integrated circuit engineer, so I can't say for sure.
JRE
JRE
@Cadence: It tickles my funnybone that a person using the name Cadence answers a question about IC design, and then has to deny really knowing anything about IC design.
I imagine the laptop had a password. The govt would have no way to crack such a password or the encryption being used. so software is out of the picture. Unless the forgetful user had a password spelled "password"
Also note that the machines building chips are way more complicated that the actual chips and they are also driven by computers. To just replicate the laser needed to build such chips, you would need important advancements in physics. Would they even know that the chips are printed by a laser? Probably not.
01:31
Yes. A 2019 laptop would be like alien technology to an electronic engineer in 1969. No way could they begin to replicate the important bits.
About the cross-device communication: If you have access to the source code, you could fairly easily(1) work out how the actual communication happens across the entire system. (1) If you have the time, resources and know-how.
bta
bta
Note that in the 60's many of the reverse-engineering processes for chips destroyed the chips in the process (file down the layers of the chip and X-ray the exposed layers as you go). Your success rate improved greatly if you had more chips to take apart. Your chips will have no more than a handful of available samples, so it's unlikely they can perfectly RE all of them on the first pass. That's not even accounting for those modern chips that are design to resist reverse-engineering.
I disagree about the advances on programming languages. First of all, you wouldn't be able to get C by decompiling an existing program. At most, you would get assembly. With the added that in this case you don't even know what the opcodes do! Things like C++ and C would be pretty much indistinguishable, and for them, even if they managed to figure out assembly, people could be writing odd assembly for all that they care (modern compilers do lots of advanced tricks). Not to mention reversing a program that used a another VM (e.g. Java).
OTOH, a small amount of C source code should be enough to make engineers from the sixties to understand the basics of the language. I would however that it would "propel the state of the art forward considerably". C originated in 1972, and C18 isn't that different than K&R. In the end, it is just a tool. It may even be argued that C would be the Wrong language™ to promote
Programming languages don't work how you are implying in this answer. Compiled languages are no longer associated with the source language. You can take machine code compiled from C and you could decompile it back to whatever language you like, and you have no way of even knowing it came from a C compiler unless you are a compiler engineer or have similar knowledge. In fact, some languages don't even compile directly to machine code; some early C++ compilers compiled into C and then compiled the C into machine code. So the 60's people don't need any OO or language-specific knowledge.
@Loduwijk On the other hand, the instruction set it's compiled into won't likely be the same as the ones they're familiar with. I was angling more for the fact that not all of the code on a given computer is compiled - between samples left in source code, interpreted languages, intermediate languages, compilers, runtime environments, etc. there's a lot to be learned about what's going on under the hood.
01:31
I don't think you could do it in a decade. You've got too many supporting technologies you need to develop, and some of them require advanced computers themselves. For example, modern photomasks aren't literal images of the pattern that needs to be projected onto the wafer, they're complicated patterns that use non-geometric optics to generate the desired pattern -- and you're not making that without a computer to back-calculate the interference patterns needed.
To be clear, it would be the most valuable machine in the world and the government would be controlling access to it very, very tightly.
MacBooks come with several compilers, including a C compiler as well as more advanced languages, and the base operating system is similar enough to Unix, which had just started development in 1969.
@Ángel agreed, this answer seems very optimistic about the software side. If the laptop had a C compiler (probably Apple's version of clang as part of XCode tools) and disassembler (llvm-objdump, or MacOS otool -d), that would help immensely. Assembly language had been invented as of 1969, and while x86-64 is arcane and obscure with some instructions having implicit operands, for the most part someone that knows asm for another ISA could figure out a lot of the basic unprivileged instructions (that compilers use) by compiling simple C functions into asm text. It's fairly descriptive
And with a debugger to single-step and view registers, you could test what any other opcodes do. If XCode tools came with much locally-installed documentation, that could help a lot in discovering such tools.
As far as reverse-engineering the transistors of the CPU (and GPU and chipset...), that's super hard. Modern x86 is the opposite of simple, with out-of-order superscalar execution. And extensive clock and power-gating of logic that isn't being used right now enabling low idle power consumption, and freeing up power budget for what is being used. And running at minimal voltage means using extra transistors to make sure SRAM cells are stable, and maybe extra complications in other places. (But extracting a mask you can just manufacture without understanding the design is implausible.)
You dance around it a bit, but maybe you could make it more explicit: they might be able to reverse engineer the design of the processor (for example) given enough time, but examining the processor would likely not give them enough information to reverse engineer the manufacturing process, which is what they would really need to duplicate it.
Just think about the amount of data storage required to describe any modern silicon let alone the entire circuit - it didn't exist in 1969. Imagine the size of the sheets of the transparencies for a single layer of the die using 1969 techniques... inconceivable!
01:31
Modern silicon involves grading extremely pure wafers based on defect size and count. 1960's they couldn't make the silicon, let alone cut it to the requisite thinness. Then you need interference lithography to carve the feaures, and ... it doesn't get better at any step. Making everything bigger slows it down, and the slowdown compunds - slower clock with more cycles per cache read cripples instruction throughput... The advantage would be seeing what's done and mining ideas, not copying the tech.
@AdamEberbach so how big is a full chip design and maufacturing specification expressed in number of 240kB 8" floppy disks :)

last day (15 days later) »