??????? 什么是ISA總線(xiàn)?看了許多網(wǎng)上的帖子和微機(jī)接口的書(shū),大概得到如下影象:
??????? 首先它是一種微機(jī)總線(xiàn).微機(jī)總線(xiàn)一般有三種:內(nèi)部總線(xiàn)(各芯片與CPU互連的總線(xiàn)),系統(tǒng)總線(xiàn)(板卡間互連,如ISA,PCI,AGP),外部總線(xiàn)(微機(jī)與外設(shè)相連的總線(xiàn),如USB,RS232).依照ISA的定義,屬于系統(tǒng)總線(xiàn).
?????? 現(xiàn)有的ISA總線(xiàn)有兩種觀點(diǎn).(1)來(lái)自IBM在1984年推出的IBM/AT微機(jī)采用的總線(xiàn)標(biāo)準(zhǔn).所用機(jī)型為80286,386,486以及Pentium 2/3.?也稱(chēng)為AT總線(xiàn). (2)由于IBM沒(méi)有公開(kāi)規(guī)格,Intel,IEEE,EISA集團(tuán)開(kāi)發(fā)了類(lèi)似的ISA總線(xiàn).
?????? ISA有8位和16位兩種規(guī)格.我主要學(xué)習(xí)了16位的ISA.它共有98個(gè)(62+36)引腳,16條數(shù)據(jù)線(xiàn),24根地址線(xiàn),可以直接尋址內(nèi)存16M,ISA的I/O地址空間為0100H-03FFH.實(shí)際上這是對(duì)于IBM/AT機(jī)來(lái)說(shuō)的,因?yàn)橹皇褂昧?6位I/O中的10位,可尋址范圍為000-3FFH,其中系統(tǒng)板使用了000-0FFH,剩余的歸ISA設(shè)備使用。
????? 在資料中的地址線(xiàn)定義為PCA0-PCA19(能鎖存),LA17-LA23(不鎖存),其中LA17-19和PCA17-19重復(fù)定義,因此ISA的地址線(xiàn)為24根。ISA具有7個(gè)DMA和15個(gè)中斷.我所理解的ISA總線(xiàn)就是CPU板卡和外圍ISA板卡的接口部件,相當(dāng)于適配器.其工作過(guò)程為:CPU通過(guò)ISA總線(xiàn)操作外設(shè),利用10位的I/O對(duì)外設(shè)尋址,從而操作外設(shè).定義中用戶(hù)可以使用的I/O地址為:100-1F0,1F9-1FF,280-2F7,300-35F.在操作之前要配置好寄存器。
例如在C語(yǔ)言中讀寫(xiě)I/O:
寫(xiě) OUTPORTB(OX3FB,OX80)
讀 A=INPORTB(OX3FD)
??????? 現(xiàn)在還沒(méi)有搞明白操作寄存器和操作I/O端口有什么不同?我的理解是:兩者接近于等價(jià),因?yàn)橐粋€(gè)I/O口可能是一個(gè)或者幾個(gè)寄存器。