日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

计算机系统 学习笔记(0)南京大学(一)第一周

發(fā)布時(shí)間:2023/11/30 windows 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机系统 学习笔记(0)南京大学(一)第一周 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

課程:計(jì)算機(jī)系統(tǒng)基礎(chǔ)

核心理念:人類世界與計(jì)算機(jī)世界的異同

  • 人類世界
    • 直觀感受
    • 數(shù)學(xué)
  • 計(jì)算機(jī)世界
    • 與數(shù)學(xué)不同,存儲(chǔ)首先,各層次與現(xiàn)實(shí)世界不同

我們關(guān)注點(diǎn)是差異點(diǎn)!

一樣的你就不用關(guān)心了,關(guān)心差異!差異在哪里呢?

  • 計(jì)算機(jī)存儲(chǔ)是首先了
  • 編譯器規(guī)則
  • 編碼轉(zhuǎn)換規(guī)則
  • ……

計(jì)算機(jī)這個(gè)工具,最重要的就是將人類思維產(chǎn)物,使用計(jì)算機(jī)實(shí)現(xiàn)

因此說,有很多地方,是直接可以直觀地去實(shí)現(xiàn)邏輯思維過程的(語義上就能理解),但是也有計(jì)算機(jī)的一些特點(diǎn),需要我們專門去把握(從計(jì)算機(jī)本身處理方式和規(guī)則去理解)!

面向機(jī)器描述,機(jī)器級(jí)語言:機(jī)器語言和匯編語言

二者都是面向機(jī)器結(jié)構(gòu)的語言,與機(jī)器有關(guān),不同機(jī)器(不同的系統(tǒng)結(jié)構(gòu))就不一樣了,移植性不好。

面向算法描述:高級(jí)語言

根據(jù)人的邏輯思維方式,產(chǎn)生的產(chǎn)物來編程,越來越接近人類思考方式。機(jī)器無關(guān)!因?yàn)閮?nèi)些部分交給編譯器處理了,編譯器來完成機(jī)器相關(guān)性的處理,這也是一種封裝

執(zhí)行hello world程序

這里值得注意的關(guān)鍵點(diǎn)是緩存技術(shù),我們將存儲(chǔ)器進(jìn)行分層設(shè)計(jì),從而 平衡了存儲(chǔ)的容量、速度和價(jià)格等多方面因素:

  • 緩存1:磁盤存儲(chǔ)可執(zhí)行程序的二進(jìn)制信息,速度慢容量大價(jià)格低
  • 緩存2:執(zhí)行程序的時(shí)候調(diào)入內(nèi)存中,速度比磁盤快的多
  • 緩存3:內(nèi)存中的二進(jìn)制代碼調(diào)入cache中,速度更快
  • 緩存4:cache內(nèi)容調(diào)入到CPU寄存器中,速度最快

我們可以體會(huì)到,計(jì)算機(jī)通過多層次緩存完成了程序的一步步緩沖,通過CPU控制它們,從而有了我們現(xiàn)在看見的計(jì)算機(jī)系統(tǒng)。

使用高級(jí)語言開發(fā)程序需要的環(huán)境

早期原始程序開發(fā)方式

早期沒有高級(jí)語言,也沒有那么多的復(fù)雜上層環(huán)境,我們只需要直接使用匯編語言/機(jī)器語言輸入到計(jì)算機(jī)中執(zhí)行即可,這個(gè)過程,對(duì)于計(jì)算機(jī)來說很簡(jiǎn)單,也不需要有太多復(fù)雜的處理,但是對(duì)于人類來說,編程是一件非常痛苦的事情啊……

現(xiàn)代高級(jí)語言程序開發(fā)方式

高級(jí)語言的但是,解決了匯編語言開發(fā)時(shí)代的困難,不過也因此,計(jì)算機(jī)需要處理的工作復(fù)雜起來了,也就是,人類世界通往計(jì)算機(jī)世界的通道變復(fù)雜了


那么這里都具體包括了什么呢,我們依次說明一下

人類世界:高級(jí)語言

我們發(fā)明高級(jí)語言,其實(shí)是一種對(duì)計(jì)算機(jī)的權(quán)衡與妥協(xié)。

高級(jí)語言

  • 相對(duì)來說比較符合人類思維,雖然不是自然語言,但是人類也容易接受
  • 計(jì)算機(jī)也容易接受高級(jí)語言,如果是自然語言,那計(jì)算機(jī)是接受不了的
  • 權(quán)衡之下,高級(jí)語言成了人類與計(jì)算機(jī)世界溝通的通行語言。就像英語是國(guó)際通行語言內(nèi)樣。

    任何事務(wù)都有實(shí)體抽象,人類的是:

    • 實(shí)體:人類的肉體
    • 抽象:高級(jí)語言

    橋梁/通道

    橋梁和通道,也可以叫翻譯官,它負(fù)責(zé)連接人類世界和計(jì)算機(jī)世界

    • 傳入和轉(zhuǎn)換
      • 傳入:鍵盤,鼠標(biāo)
        • 通過鍵盤和鼠標(biāo),還有文本編輯器,我們就能夠往計(jì)算機(jī)中輸入高級(jí)語言并存儲(chǔ)在磁盤中 ,完成源程序的編輯
      • 轉(zhuǎn)換:人類世界傳入的,它給轉(zhuǎn)換成計(jì)算機(jī)世界能夠接受的
        • 對(duì)于源程序,我們需要進(jìn)行一系列的轉(zhuǎn)換,最終將其轉(zhuǎn)換為二進(jìn)制
        • 源程序 –編譯器–> 匯編代碼 –匯編器–> 可重定位二進(jìn)制 –鏈接–> 二進(jìn)制的可執(zhí)行文件
    • 傳出和轉(zhuǎn)換
      • 傳出:顯示器
        • 計(jì)算機(jī)傳出信息,通過顯示器轉(zhuǎn)換為人類可以識(shí)別的信息
      • 轉(zhuǎn)換:計(jì)算機(jī)世界傳出的,它給轉(zhuǎn)換為人類世界能夠接受的

    它的實(shí)體和抽象是

    • 實(shí)體:鍵盤、鼠標(biāo)、顯示器、存儲(chǔ)器…
    • 抽象:轉(zhuǎn)換邏輯(邏輯的實(shí)現(xiàn)構(gòu)成了編譯器、匯編器等)

    計(jì)算機(jī)世界:二進(jìn)制的世界

    計(jì)算機(jī)世界是最終處理二進(jìn)制指令和數(shù)據(jù)的地方。

    • 實(shí)體:CPU
    • 抽象:ISA,指令集架構(gòu)

    大管家:操作系統(tǒng)


    操作系統(tǒng)負(fù)責(zé)接收CPU發(fā)出的控制信號(hào),負(fù)責(zé)管理計(jì)算機(jī)世界以及橋梁的各種控制方式。

    操作系統(tǒng)也接收人類世界發(fā)出的命令,讓計(jì)算機(jī)執(zhí)行,也就是人機(jī)接口

    計(jì)算機(jī)的發(fā)展:抽象層次不斷提高

    ISA是計(jì)算機(jī)硬件的抽象。

    ISA與微架構(gòu)

    微架構(gòu)就是指令集架構(gòu)的實(shí)現(xiàn)形式,是硬件實(shí)現(xiàn)。同一個(gè)ISA,可以有不同的微架構(gòu)來實(shí)現(xiàn),只要完成了ISA規(guī)范即可

    不同指令的組合,實(shí)現(xiàn)了通用計(jì)算機(jī),否則,如果只能是固定的程序,那就是專用計(jì)算機(jī)了,就像現(xiàn)在的量子計(jì)算機(jī)“九章”一樣,是專用量子計(jì)算機(jī),是不可編程的

    先設(shè)計(jì),再實(shí)現(xiàn);先抽象,再具象

    對(duì)于計(jì)算機(jī)的發(fā)展過程來說,是自底向上一層層抽象和封裝的。

    但是對(duì)于程序員來說,通常是先設(shè)計(jì),再實(shí)現(xiàn),也就是從人類思維出發(fā),先完成抽象,再進(jìn)行實(shí)現(xiàn)的,是自上而下的。當(dāng)然這不是絕對(duì)是,人類的思維過程更多會(huì)受到整體性的、系統(tǒng)思維的影響。

    計(jì)算機(jī)層次結(jié)構(gòu)

    ISA是最重要的層次,它向下影響硬件結(jié)構(gòu),向上影響操作系統(tǒng)等。

    指令集架構(gòu)是計(jì)算機(jī)硬件結(jié)構(gòu)的抽象,然后,對(duì)于抽象出來是指令,我們可以對(duì)其進(jìn)行各種排列組合,根據(jù)人類的抽象思維,來編寫程序,讓硬件運(yùn)行起來,指令是可以有各種排列組合的,這也就是通用計(jì)算機(jī)

    我們編寫的程序,如果直接運(yùn)行,那就只有3層結(jié)構(gòu),是最原始的通用計(jì)算機(jī)。

    后來人類發(fā)明了助記符,形成了匯編語言,它與機(jī)器語言一一對(duì)應(yīng),但是需要翻譯,因此需要匯編器,人類需要編輯匯編指令,也需要管理,因此就初代的操作系統(tǒng),此時(shí),一個(gè)能夠?qū)崿F(xiàn)匯編語言程序設(shè)計(jì)的二代計(jì)算機(jī)就誕生了。


    再后來,操作系統(tǒng)演變更加復(fù)雜,同時(shí)高級(jí)語言和編譯器也有了,這是現(xiàn)代經(jīng)典計(jì)算機(jī)雛形。


    計(jì)算機(jī)的發(fā)展,實(shí)現(xiàn)了一層層的抽象和封裝,讓人類成了會(huì)飛的湯姆貓。

    這沒什么不好的,但是身為計(jì)算機(jī)專業(yè)人士,我們需要足夠了解底層機(jī)制,如果哪一天幫助飛行的火箭不好用了,我們也能分析原因并處理。

    • 指令集架構(gòu)ISA是對(duì)計(jì)算機(jī)硬件的抽象
    • 操作系統(tǒng)是對(duì)ISA的抽象和保護(hù),它對(duì)外僅提供API
    • 編譯器匯編器,以及編程語言,調(diào)用了操作系統(tǒng)的接口,也就是它提供的系統(tǒng)調(diào)用,完成了高級(jí)語言的庫(kù)函數(shù),對(duì)程序員進(jìn)行了進(jìn)一步封裝
    • 程序員現(xiàn)在更多需要關(guān)注的是做什么,而不是怎么做,因?yàn)榇蠖嗟墓δ芏急蛔銐虻膬?yōu)化和封裝了,人類,就應(yīng)該更多思考人類該做的事情,機(jī)器能做的讓它自動(dòng)做,人類就不用思考了,但是,人類必須懂機(jī)器在做的事情,這本身就是人類發(fā)明的,不懂底層,干啥啥不行。

    ISA

    ISA說白了就是規(guī)范,人們都要按照這個(gè)規(guī)范去設(shè)計(jì)計(jì)算機(jī)硬件和軟件,從而讓所有遵循規(guī)范的人能夠互通有無,提高溝通效率。編程語言是唯一全球化的通用語言,這非常酷!

    微架構(gòu)

    至于微架構(gòu),就是ISA的硬件實(shí)現(xiàn),只需要指定,同樣的ISA,可以使用各種各樣的微架構(gòu)實(shí)現(xiàn),這很好理解不是嗎,就好比單周期CPU和流水線CPU內(nèi)樣,或者一個(gè)乘法指令可以有很多具體實(shí)現(xiàn)方式。

    總結(jié)

    以上是生活随笔為你收集整理的计算机系统 学习笔记(0)南京大学(一)第一周的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。