1樓:匿名使用者
你的理解有問題!你主要是沒有區分多核和多執行緒的關係!
多核指的是有多個cpu物理核心,而多執行緒指的是單個cpu核心虛擬成兩個來進行運算任務,乙個是物理多核,乙個是虛擬多核
如你說的雙核四執行緒的cpu是能一次同時執行2條**,一般就是幾核就能同時執行幾條**!
原則上只要執行緒數不多於cpu核心數,會把各個執行緒都分配乙個核心,不需分片,而當執行緒數多於cpu核心數時才會分片。事實上目前的計算機系統正常情況下執行緒數都是遠遠多於cpu核心數的,所以一般都要分片,以允許所有執行緒併發執行。
例如:雙核四執行緒的cpu在執行四個執行緒時,兩個cpu核心就要交換執行(分片)
單核cpu也可以執行多執行緒。多執行緒分為兩種一類是cpu硬體支援的執行緒數,比如雙核四執行緒的cpu,不需要作業系統api的支援就能執行四個執行緒。另一種是在api的支援下的多執行緒。
比如在單核單執行緒cpu的電腦中windows系統可以同時執行幾十個程序和執行緒(你好要好好區分程序和執行緒,可以到網上找找資料,我一兩句話說不清,可以看看《c++ 併發程式設計實戰》,老美寫的)
2樓:
一般用於同時執行幾個程式。
3樓:風暴咆哮
最算執行四條**也要按順序來
學習組合語言,是用8086cpu講解,我的電腦是intel 酷睿i7,是一樣的嗎?
4樓:
一般使用ntvdm虛擬機器windows自帶的
關於組合語言移植性的問題?
5樓:
兄弟,你理解錯了,首先你要明白,組合語言是一種針對具體機器的低階語言,這裡說的不同機器一般來講是指cpu指令系統不相相容的兩種機器,比如常用的8086與51,dsp,arm,等等,他們的指令系統都不是通用的。自然移植到別的機器上不行,
舉個例子來說吧,假如51,的p0埠可以用來點亮一盞燈,但是對8086或者其他微控制器就不一定了,有可能是p1或者其他口了
你所寫的組合語言是針對8086cpu的,每台機子上的8086核心都是一樣的,所以都能夠執行,要是你拿到51等其他**就肯定不行了
還要說的是,8086的cpu是8位的,然而真實的pc機是32位或64位的,所以你都要用編譯軟體來編譯執行,並且計算機內有虛擬的8086核心,所以你才能執行
不行你將寫好的程式,在dos下直接debug,
是肯定會出錯的
說了這麼多不知道你明白了沒有??
6樓:匿名使用者
呵呵, 這裡說的兩台機器是指cpu指令系統不相相容的兩種機器,比如c51微控制器和80x86系列pc機,它們的匯程式設計序是不能相通的。
咱們學習的asm彙編可以移植到別的電腦上執行,是因為我們用的這些pc機都是相容80x86指令系統的,所以可以正常執行。
7樓:文刀舍予
什麼移不移植的,所有的cpu的組合語言都是相通的,改改不就行了,哪個cpu沒有mov指令!?哪個cpu沒有and指令!?
說組合語言可移植性差的全是懶豬!!!
(弱弱的補充一下:組合語言的......確實......但是絕對沒有把它拿出來當成缺點說的必要)
8樓:丁祈兒
不是2種的彙編,其實的是一種的,只不過是為了方便和實現一些的功能做了一些指令的擴充套件,但是只是的在那一種的系列之中的不識別。需要的用這裡的指令去程式設計序實現而已
9樓:匿名使用者
有的人回答的不昨的啊,請正確理解彙編可移植性的意義
10樓:
是一種只要指令集一樣就能移植
11樓:匿名使用者
個人電腦指令集都差不多
12樓:匿名使用者
= =!
書上只是說不一定能執行吧
特別是不同體系計算機
8086組合語言問題,下面程式段中的「 loop $"是什麼意思啊?
13樓:匿名使用者
是原地踏步的意思。每踏步一次,cx的值-1。
也即跳轉到本條指令的位址反覆執行loop指令,直到cx=0
14樓:
loop $ 的作用是 一直執行當前指令(即loop指令),在這裡和前一句合起來用,可以用來延時。
指令格式:loop 短標號
這條指令用於控制重複執行的一系列指令。指令執行前必須事先將重複次數放在cx暫存器中,每執行一次loop指令,cx自動減一。如果減一後cx不等於零,則轉移到指令中所給定的標號處繼續迴圈;若自動減一後cx=0.
,則結束迴圈,執行loop指令後面的指令。
標號 $ 在這裡表示當前指令的位址。
以下這兩句:
mov cx,0ffffh
loop $
應該是用來延時的吧!呵呵。。。
15樓:有點
loop:表示乙個段。你也可以使用a:或b:等等,可以自定義的!
組合語言問題組合語言問題
微控制器中 沒有相等就跳轉的指令 其實,cjne實際上也實現了相等跳轉的功能的 cjne a,data,rel 如果不等跳到rel指令a 如果等就執行下一條指令 指令a.rel 指令b 假如有一條相等就跳轉的指令cje 實際上沒有 cje a,data,rel 相等跳到rel指令b 不等跳到指令b ...
求助!組合語言MOV問題急求助組合語言中mov指令和add指令用法
1 我覺得不可以。2 lea是傳運算元位址,mov是移動位址中的資料 當然,這個資料還可能為乙個位址 3 中括號表示間接定址,對應暫存器中資料為二級位址,然後從二級位址中取出儲存的資料。4 期待其它答案。其它參考資訊 0.lea指令具有單時鐘週期,執行效率很高。1.它是cpu位址生成單元參與運算的,...
組合語言問題,關於輸出字串,組合語言問題,輸出了正確結果,但是下面還輸出了許多亂碼
沒大bai毛病,2處錯誤 decs sub ax,dx 這裡錯du了,dec不是幹這活zhi的.dec ax,dx 原數的兩dao個絕對值相版減 loop next mov ah,4ch 這裡加上退出指令。int 21h 其它權的沒問題。code ends 組合語言問題,輸出了正確結果,但是下面還輸...