CPU架構過程簡介

2021-06-18 17:32:14 字數 988 閱讀 9041

稍微寫一下cpu的發展過程,目的是為幫助理解現在的amd64架構,看懂linux或其它系統軟體的啟動彙編**。

一、8086/8088

16位暫存器:ax,bx,cx,dx,cs,ds,es,ss,bp,sp,ip flags,si,di

8位暫存器:ah,al,bh,bl,ch,cl,dh,cl

資料匯流排16位,位址匯流排20位

cpu能同時處理16位數(指的是二進位制數)的整數運算,能訪問20位的位址空間。

段暫存器<<4 + 偏移位址 = 實體地址

二、x86_32

32位暫存器:eax,ebx,ecx,edx,ebp,esp,esi,edi

系統位址暫存器:gdtr,ldtr,idtr,tp

狀態和控制暫存器:eflags,eip,cr0,cr1,cr2,cr3

段暫存器cs,ds,es,fs,ss保持不變,並新增fs,gs

16位和8位暫存器保持與8086一致

資料匯流排32位,位址匯流排32

cpu能同時處理32位數的整型運算,能訪問32位的位址空間(通過pae能使可訪問的物理空間達到36位)

定址方式有兩種:段式定址,段頁式定址

段描述符基位址 + 偏移位址 = 線性位址 = 實體地址

段頁式定址:兩級頁表定址

段描述符基位址 + 偏移位址 = 線性位址

線性位址經過兩級頁表轉換變為實體地址

三、x86_32

64位通用暫存器:rax,rbx,rcx,rdx,rbp,rsp,rsi,rdi。增加:r8,r9,r10,r11,r12,r13,r14,r15

狀態和控制暫存器:rip

其它32、16、8暫存器保持與x86_32一致

資料匯流排64位,位址匯流排最初amd實現為40位,從2023年adm64開始實現為48,並準備實現為52位

定址方式基本與x86_32相同。不同的是採用段頁式定址時,使用了四級頁表轉換定址。

CPU的內部架構和工作原理(簡介)

一直以來,總以為cpu內部真是如當年學習 計算機組成原理 時書上所介紹的那樣,是各種邏輯門器件的組合。當看到奈米技術時就想,真的可以把那些器件做的那麼小麼?直到看了intel cpu製作流程及amd晶元的製作流程的介紹不禁感慨,原來科技是如此的發達。本文我們以intel為例對cpu的工作原理做簡單介...

cpu分析簡介

程序占用cpu過高,一般有以下兩種原因 1 業務量過大導致程序處理負荷高,占用cpu資源 2 程式bug導致,比如死迴圈 初步檢視cpu占用情況 top進一步分析 對於程式陷入死迴圈導致cpu占用過高類問題,最好的辦法是把程序當前的堆疊資訊列印出來,根據堆疊找到 快速定位出問題。step1 檢視執行...

幾種CPU架構

cpu架構 architecture 結構 架構,這個詞用於 cpu 的時候是指 cpu 接受和處理訊號的方式 及其內部元件的組織方式。cpu架構 從大的層面分兩類 cisc risc x86 cisc就是複雜指令集計算機,目前專指 x86 和 x86 64 兩類 其中 x86 又叫 ia32,即 ...