回覆列表
  • 1 # 使用者7289934270743

    簡單堆一些基礎概念,理解從矽到C語言,計算機是怎麼動起來的

    兩種含量成分不同矽可以構成PN接面,這是一切運算電路的物理基礎PN接面的特性使得二極體,三極體等電流調整元件成為可能,這些管可以簡單稱為電晶體,靈活使用他們可以自由切換電路高低電平不同的電晶體堆在一起可以構成一系列基本的數位電路,可以用來計算高電平的反(非門),高電平的或(或門),以及其他一系列門等不同的門堆在一起又可以實現一些基本運算,比如簡單的二進位制位的相加等當然只能計算加減乘除是不夠的,計算機想動起來不能只有計算,還需要有存東西的地方,有移動東西的功能,所以我們再用電晶體搭一些門構成鎖存器等儲存部件,構成快取器等有移動功能的電路把上面說的一坨電路拼在一起,在用線把他們連一起,衝上電,就算是一個能實現基本計算功能的CPU了為了讓我們的弱雞CPU能執行起來,需要給他點指令,比如我們規定00是加法,11是第一個加數,01是第二個加數,先存在有儲存功能的比如鎖存器裡,我們的CPU再透過其他有讀取功能的電路把001101讀取出來,透過一根線扔到有計算功能的電路里算出來,在把結果扔回儲存器裡存好透過手動加01指令太反人類了吧! 那麼聰明的人類就構想了一個抽象標示方式,組合語言,比如001101可以寫為 add 3 + 1,取可以說是move,寫回去可以說是write彙編這套指令表示以及其他能從基本的數位電路中抽象出來的東西叫做指令集體系架構,是刻在你的CPU裡的,同樣是由一系列基本邏輯元件構成的彙編依然十分反人類,於是人類搞出了高階語言,你不需要移動記憶體取指令也不需要放到哪裡去計算再放回儲存器,只要寫出你的目的就行了,比如直接寫3+1那麼好,再倒回去就行了,你寫了一句3+1,然後透過編譯器轉化為組合語言,透過你的指令集體系架構把彙編搞成一系列機器數放在儲存器裡,然後一些基本數位電路就把這些0101010拿出來放到有加法功能的計算電路那裡,算完後一根線接回去,這些東西都需要電,也就是都需要由電晶體來不斷地調控來調整高低電平來達到操作0和1的目的那麼電晶體為什麼能調整呢,背後就是PN接面在起作用,這個基礎物理結構決定了不同位置的電壓大小那麼為什麼PN接面牛逼呢,這就涉及到一些質子電子的電荷密度等問題了,迴歸到了物質的起點

    在床上一口氣敲的,大方向還是可信的一些用詞用語可能會很不準確,求輕噴

  • 中秋節和大豐收的關聯?
  • 朋友分很多種,有工作上能幫得上忙的,有純吃飯的飯友,有純聊天的聊友,什麼朋友最好?