汇编解析(1)-内存寻址之实模型平面模式(real mode flat mode)(1)
一、8080CPU
1、8位CPU,16位地址線
2、尋址范圍64K
3、尋址方案:
16位地址的地址線,取出所在的8位內容(一個字節(jié))
一個字節(jié)存儲8位無符號數,儲存的數值范圍為0-255。
4、使用CP/M80操作系統
CP/M(微型計算機控制程序)是數字研究公司(1991年被Novell所兼并)在1974年開發(fā),為8位CPU(如Intel 8080、Zilog Z80等)的個人電腦(PC)所設計的操作系統。
一個最小的8位CP / M系統需要以下硬件組件:
一個使用ASCII字符集的計算機終端
英特爾8080(以及后來的8085)或Zilog公司的Z80微處理器
至少有16千字節(jié)的RAM
可引導的磁盤
至少有一個軟盤驅動器
在8位版本中,CP/M的系統組件加載至主存中。系統組件分為3個部分:
基本輸入輸出系統(BIOS)
基本磁盤的操作系統(BDOS)
控制臺命令處理器(CCP)。
BIOS和BDOS常駐在主存中,而CCP常駐在主存中,除非應用程序覆蓋,在這種情況下,它會自動重新加載應用程序完成后運行。還提供了大量標準工具命令。命令以.COM擴展名存儲在磁盤上。 BIOS直接控制硬件構造(例如CPU和主存),它提供文字輸入輸出、磁盤扇區(qū)讀寫等功能。BDOS運行CP/M文件系統和一些輸入輸出操作(例如重定向)。CCP提供用戶命令行并直接運行它們(內部命令例如DIR顯示一個文件夾中的文件,或者ERA刪除一個文件),或者讀取、起動一個可執(zhí)行檔。
8080主要使用的操作系統是CP/M-80,到8086的時候,實際尋址范圍是8080的16倍,但是英特爾將8086創(chuàng)建為可讓程序只占用1M內存中的64K字節(jié)段,好像完全是小型的8080內存系統,直接影響到后來的段寄存器設計。
二、8086,8088CPU
1、8080的內存模式非常簡單,以至于需要在8086中運行8080程序時,作出兼容性犧牲設計,引入了段寄存器。
2、可將8080程序快速改為8086程序,通過段寄存器,只占用1M內存中的64K字節(jié)內存段,模擬了8080CPU的內存模式。
通過CS(code segment)代碼段寄存器實現這一過程,它指向了1M內存中的64K字節(jié)內存段的起始地址。
3、那么需要使用64K以上內存,就需要更改段寄存器的地址,每次使用64k內存,進入和離開段寄存器指向的內存段起始地址。
4、 1M字節(jié)的使用
(1)大小為:2202^{20}220或16516^5165字節(jié),因此需要20根地址線
(2)內存地址從0開始,即從000000H到0FFFFH
三、386以及以后CPU
1、4M內存空間
2、32位CPU為4GB
3、但為了兼容8086、8088的DOS程序,仍需要做出特別的設計,奔騰級別的CPU使用虛擬86模式(virtual-86 mode)運行實模式段模型程序。
4、實模式段模型下,CPU只使用了20根地址線,即使它有32根地址線或更多,以64KB為塊單位對內存進行操作,最多可使用1MB直接尋址內存。
四、段寄存器
1、16個字節(jié)容量
2、一個段可以小于或等于64K,但是不能大于64K,前面提過,這是與8086的兼容設計,16位地址。
總結
以上是生活随笔為你收集整理的汇编解析(1)-内存寻址之实模型平面模式(real mode flat mode)(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot 自动配置实现流程
- 下一篇: Java容器解析——HashMap