久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2759|回復: 0
收起左側

機組和匯編原理

[復制鏈接]
ID:51472 發表于 2013-7-6 14:00 | 顯示全部樓層 |閱讀模式
=============== JVM ================
nop 不做事情,但要占用時間


JVM 是基于堆棧的,所以提供很多棧指令
  pop2: 從堆棧pop 2個字
  swap: 交換棧兩個字等等

指令應該是固定長度 1個字
http://yinwufeng.iteye.com/blog/757565

方法調用
壓棧后調用

getstatic java/lang/System/out Ljava/io/PrintStream  // 相當于傳遞 this
ldc "This is a sample program"
invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V

NaN
IEEE 754 允許用特殊的位模式來表示不是一個數
IEEE 754中,用指數部分全一、小數部分非零表示NaN。以32位 IEEE 單精度浮點數的NaN為例,按位表示即:S111 1111 1AXX XXXX XXXX XXXX XXXX XXXX,S為符號位、A表示NaN的類型。如果 A = 1,則該數是quiet NaN;如果A為零、其余X部分非零,則是signaling NaN
http://zh.wikipedia.org/wiki/NaN

goto
goto 指令后整數是 offset,  跳的位置是 PC + offset
goto 跟的2個直接,就是前后可以跳 32k的offset


=============== 實際計算機  ================
分時工作方式  在程序停止的任意處把與程序相關的信息 ( 棧,局部變量,當前 PC等) 拷貝到主存;并加載另一個程序相關信息并運行

指令集優化 DMA支持用將大塊數據從存儲器移動到顯卡

流水化
    轉移預測 計算機繼續執行指令,產生結果放在流水線特殊位置,猜測正確才被copy 回相應處理器

超標量
   同一周期執行多條不同的指令(對某一流水階段進行備份)

存儲器優化
   cache  
        L1位于CPU 并以 CPU 的速度運行,L2 以前在靠近CPU的主板上
   存儲管理:
         直接地址轉化: 直接映射物理地址
         頁式地址轉化:

=========== Power 體系結構 ======================
RISC
  加速常用指令
  增加不常用的指令會降低指令的執行性能 ( 計算機要檢查 指令的尋址方式,需要昂貴的電路)
RISC
  1) 指令固定長度
  2) 指令數少,容易優化

Power 有數量較多的通用寄存器 (32) , ALU, FPU 都有狀態/控制寄存器( CR, FPSCR)
有機器狀態寄存器(MSR) 保存系統超級用戶級別的重要信息
CPU 可以復制 CR,  用戶不同的用戶級程序同時運行

存儲管理
   邏輯地址由存儲管理硬件轉換
   塊地址轉換: BAT 寄存器,  如果邏輯地址和 BAT標記的存儲區對應,將條桌虛擬存儲過程,直接訪問物理地址(圖形設備,其他IO)
   cache 訪問:

匯編:
  寄存器多,并行性高。

RISC體系支持良好的流水化工作。對于 Pentium 因為指令可變,取指15字節 ,可能比取指1字節慢15倍

PowerPC G5有10個獨立模塊
1個交換單元
1個ALU
2個FPU
2個定點運算單元
2個載入存儲單元
1個條件/系統寄存器單元
1個轉移單元
能同事執行多大10條不同指令。一個智能編譯器嘗試混合不同指令類型的代碼


==================== Intel Pentium ==================
AX,BX 等寄存器擴展到 32位
可以用實模式(1M內存,沒有存儲保護)
流水線: 486 5階, P3 14階  P4 24階

并行操作
MMX (SIMD) , 寄存器 64字節,可以同時執行 8個字節的加法

宏指令被翻譯成許多微指令,Pentium 是一個RISC芯片,各類執行單元的獨立微操作按照 RISC設計

============= 微控制器 ===================
運行頻率 20MHz, 64k存儲器,存儲器和外設都在同一個物理芯片上
Atmel AVR: Risc 芯片,2個字節,130條指令,32個通用寄存器,64個I/O寄存器都是8個帶寬;不支持浮點
代碼保存在 Flash (rom), PC 可字節定位; 程序運行在 RAM (AT90s2313是256字節);EEPROM(啟動配置信息) 128字節

AVR實現簡單的存儲器-IO映像,寫IO等價于在段都設置一個電氣信號(有驅動芯片完成)
另外提供雙向數據接口和計時電路,中斷
很多引腳重疊,UART與端口B重疊
一般傳輸指令缺省對SRAM,但由于寄存器和IO都是存儲體的一部分,所以沒有區別,但算數運算只能和通用寄存

======= JVM 高級編程 ==============
數組創建
    newarray 在堆中分配,而后把新數組地址壓棧
    anewarry 創建派生類對象 ( anewarryjava/lang/String)
   multianewarry (multianewarry【【【F 3; 生成三維數組

存儲指令  astore_1 ,  iastore
獲取長度  arraylength

給對象域賦值
putfield BaseballPlayer/Name Ljava/lang/String;
putfield BaseballPlayer/Year I;

讀取域
putstatic  Example/PI D;
getfield BaseballPlayer/Year I; // load 壓入棧頂

調用方法
getstatic java/lang/System/out Ljava/io/PrintStream
ldc "hello, world"
invoevirtual java/io/PrintStream/println(Ljavaa/langString;)V

創建對象
new MyClass
invokespecail MyClass/<init>()V

類系統支持遞歸,每次方法調用生成新的局部變量。不同于jsr/ret技術(使用原來堆棧)

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区av夏目彩春 | 2019天天干夜夜操 | 色偷偷噜噜噜亚洲男人 | 日韩av.com | 免费福利视频一区二区三区 | 久久久99精品免费观看 | 国产精品久久久久久久久久久免费看 | 日韩图区 | av网站免费| 欧美精品乱码久久久久久按摩 | 免费看91 | 国产精品久久9 | 精品视频网| 亚洲一区二区黄 | 久草久草久草 | 欧美激情视频一区二区三区在线播放 | 国产精品黄色 | 亚洲va中文字幕 | 91资源在线| 久久久久国产精品一区三寸 | 在线成人免费视频 | 精品国产乱码久久久久久闺蜜 | 日韩欧美视频 | 欧美国产大片 | 日一区二区| 亚洲综合视频 | 欧美精品成人一区二区三区四区 | 福利视频二区 | 国产精品99视频 | 日韩欧美电影在线 | 久久中文字幕一区 | 国产又色又爽又黄又免费 | 伊人超碰在线 | 国产一区 | 国产亚洲精品一区二区三区 | 色桃网 | 91精品国产91久久久久久最新 | 国产1区2区在线观看 | 国产午夜亚洲精品不卡 | 日韩在线免费播放 | 久久久蜜桃一区二区人 |