Week 1 計算機組成

I. 引

Introduction

    在學習計算機技術之前,了解計算機的組成是非常必要的。這不僅可以讓你對硬件有一個大概的了解,而且會讓你將來對基于硬件運行的軟件有一個更為透徹的理解。只有理解了計算機是如何協調它的部件來工作的才方能理解人們為何這樣設計操作系統和程序。

I. 計算機部件

The Essential Components of a Modern PC

    現代計算機都是遵循馮諾依曼體系進行架構的。它由五大部分組成:運算器+控制器+儲存器+輸入設備+輸出設備。

    計算機也叫電腦。電腦這個名字是非常貼切的,因為計算機和人腦的工作方式非常相似。我們想象計算機的時候不妨想象一下一個人的大腦。研究表明,想象的畫面越是夸張花哨,記憶得越牢靠。試著想象一個非常富有科技感的全息大腦。想象這個大腦正在高速運轉。五顏六色的霓虹穿梭于突觸之間,那是龐大的數據流在傳輸。

u=1596299780,1182363738&fm=21&gp=0.jpg

Figure 1

    大部分的計算機組件都安置在主板(Motherboard)上。主板負責接收來自電源(Power)的電流并按需分配給各個配件。主板上還安置了大部分總線(Bus)??偩€就像無數的神經突觸,將各個部件聯系在一起,使它們能進行信息的交換。如果沒有了主板,所有的部件之間的連接所需要的線的數量難以想象,會把組裝計算機的人逼瘋的。主板的存在大大方便了這一點。輸入設備(Input)通過主板來接入總線以讓我們于計算機交互。如果沒有了輸入設備,我們便無法使用計算機。如此它便和板磚無二。

    我們的大腦接收外界的信息并對其進行處理。計算機對應的部件叫做CPU(全稱為:Central Processing Unit,即中央處理單元)。CPU是鑲嵌在主板上的一塊芯片。CPU上有許多針腳。每個針腳負責一個簡單的運算,比如說加法,取模等等。CPU除了具有處理信息的能力,它還承擔了控制器這個角色。這個我們過會兒再講。

    處理好的信息需要一個地方來存儲。人腦中的海馬體便是負責短期記憶的。計算機中的內存(RAM,全稱為:Random Access Memory)也擔當了一樣的角色。CPU通過總線將數據存儲在內存中。內存分為很多不同的區間,不同區間放著不同的數據。如何才能正確地提取數據并把處理好的數據存放在一個空白的區間呢?CPU的控制器部分就是負責這個功能的,以此來協調計算機的工作。內存的讀取和寫入速度都非???,但容量相當有限,而且內存一旦斷電就會永久失去所有數據。為了長期儲存數據,我們設計了硬盤(Hard Drive)。相對于內存,硬盤的速度比較慢,但是它的容量非常大。為什么我們需要內存和硬盤兩個部件而不是只用內存或只用硬盤呢?只用內存的話,速度會非???,但是一旦斷電數據則會全部丟失,非常不現實。新型的NVDIMM內存不會出現斷電丟失數據的情況,但是價格相當昂貴。不說NVDIMM內存,普通內存的價格相對于硬盤就非常昂貴。只用硬盤的話,平時運行的時候速度會非常緩慢。所以計算機采取兩者兼用的策略。

    GPU(全稱:Gprahic Processing Unit, 即圖像處理單元)就是我們常說的顯卡。我們大腦接收外界的數據之后在腦內構建圖像,即我們平時所見的世界。在計算機中,CPU將需要GPU處理的數據通過總線傳輸給GPU。GPU將數據進行處理并轉換成模擬信號傳輸給顯示器(Moniter),最后顯示出我們平時所見的圖像。

II. 操作系統

Operating System

    不同廠商生產的計算機部件規格不同。程序員面對某一組計算機硬件編寫的程序很可能不能在另外一臺不同配置的計算機上運行。為了解決這個問題,我們需要通用軟件,即可以無視硬件不同運行的軟件。操作系統(Operating System,簡稱OS)便是這樣一種軟件。操作系統統一了計算機的規格。不管你的CPU是AMD的還是Intel的,操作系統都將其視為提供計算能力的工具。無論你的內存是512MB還是2GB,32位系統默認你擁有4GB內存,64位系統默認你擁有4G個4G內存(天文數字)。規格的統一極大地方便了程序員的工作,所以我們說程序員編程都是面向操作系統編程而不是面向硬件編程。這個統一的規格便是一臺虛擬機(Virtual Machine)。世界上有很多不同的操作系統。程序員使用的都是高級語言,比如說C,C++,Java等等。這些語言在不同的操作系統上都可以通用,但是一旦程序被編譯了,那程序只能在這個操作系統上運行了,比如說Windows系統編譯為的exe格式,Mac系統的dmg格式等等。

    CPU只有一塊,但是我們的操作系統平時都可以同時運行數十個不同的進程。這是通過操作系統實現的。操作系統將使用CPU的時間進行切割,以5ms為一個區間,逐個執行進程。5ms之后,無論現在的任務是否完成,立刻進行下一個任務。因為CPU的速度很快,所以我們感覺這些進程是同時運行的。其實CPU每次只能執行一個功能。

    以上。

III. 引用

Reference

  1. http://img2.imgtn.bdimg.com/it/u=1596299780,1182363738&fm=21&gp=0.jpg

原創文章,作者:mercerchen,如若轉載,請注明出處:http://www.www58058.com/17954

(0)
mercerchenmercerchen
上一篇 2016-06-10
下一篇 2016-06-12

相關推薦

  • Linux文件系統的創建、檢測、修復、分區等工具的使用

    一、文件系統管理 什么是文件系統?     我的理解是文件系統是對磁盤上的數據和文件結構的管理規范。     如果文件系統沒有繼承性,那么以前文件系統的數據就無法傳到新的文件系統中。     Linux的文件系統有這么幾種:ext2, ex…

    系統運維 2016-03-03
  • 第5周作業

    1、顯示當前系統上root、fedora或user1用戶的默認shell     ~]# egrep "^(root|fedora|user1)" /etc/passwd 2、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,如:hello();  …

    Linux干貨 2017-01-07
  • GNU awk的輸出格式化和操作符

    printf命令 格式化輸出:printf “FORMAT”, item1, item2, … (1) 必須指定FORMAT (2) 不會自動換行,需要顯式給出換行控制符,\n (3) FORMAT中需要分別為后面每個item指定格式符 格式符:與item一一對應 %c: 顯示字符的ASCII碼 %d, %i: 顯示十進制整數 %e, %E:顯示…

    2018-01-01
  • IP SAN實驗

    實驗環境 centos7 serverx2 IP:192.168.0.206??? 192.168.0.207 iscsi-server端的配置 準備磁盤設備 安裝程序包 創建target 創建lun 授權   首先添加兩塊硬盤 sdb sdc 然后安裝軟件包 yum -y install epel-release yum -y install s…

    2017-12-16
  • Linux用戶和組的基礎概念

    用戶,組和權限管理   Multi-tasks,  Multi-Users 每個使用者:    用戶標識,密碼:    認證:Authentication    授權:Authorization    審計:Audition    3A 組…

    Linux干貨 2016-12-21
  • Kickstart+PXE自動部署CentOS6.6

        生產環境中對于部署大量的相同系統的服務器,如果逐臺安裝操作系統的話是非常浪費時間的工作,還好CentOS提供了無人值守安裝系統的功能,下面就詳細介紹一下配置步驟。 一、配置本機的yum源     因為需要安裝一些軟件來達到我們的目的,所以最好先把yum源配置好。 &nbs…

    Linux干貨 2015-05-12
欧美性久久久久