KR0186072B1 - 플러그 앤드 플레이카드의 고립화 방법 - Google Patents
플러그 앤드 플레이카드의 고립화 방법 Download PDFInfo
- Publication number
- KR0186072B1 KR0186072B1 KR1019950067330A KR19950067330A KR0186072B1 KR 0186072 B1 KR0186072 B1 KR 0186072B1 KR 1019950067330 A KR1019950067330 A KR 1019950067330A KR 19950067330 A KR19950067330 A KR 19950067330A KR 0186072 B1 KR0186072 B1 KR 0186072B1
- Authority
- KR
- South Korea
- Prior art keywords
- card
- serial
- byte
- isolation
- bit
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
본 발명은 이이피롬의 억세스 기술에 관한 것으로, 종래의 고립 프로토콜에 있어서는 고립 알고리즘으로 하나의 카드를 고립시키는데는 많은 횟수의 의 버스-리드-사이클 신호가 필요하게 되는 플러그 앤드 플레이카드가 인스톨되어 있지 않은 시스템에 비해서 긴 부팅시간을 필요로 하게 되는 결함으로 대두되었는 바, 본 발명은 이를 해결하기 위하여, 고립상태에서 소정 비트의 시리얼 ID를 최하위비트에서 최상위비트쪽으로 한 비트씩 읽어가는 대신 시리얼 ID의 최상위 체크-썸 바이트를 먼저 읽어내고, 각 카드의 체크-썸 바이트를 비교하여 두개 이상이 서로 동일한 경우 시리얼 넘버를 바이트단위로 읽어내며, 그 읽어낸 시리얼 넘버마저 2개 이상 서로 동일한 경우 벤더 ID를 바이트단위로 읽어서 고립화시키도록 하였다.
Description
제1a도는 일반적인 이이피롬의 영역 구성도.
제1b도는 시리얼 ID의 포맷 및 억세스 순서 설명도.
제2a도는 본 발명이 적용되는 이이피롬의 영역 구성도.
제2b도는 본 발명에 의한 시리얼 ID의 포맷 및 억세스 순서 설명도.
제3도는 본 발명에 의한 바이트 리드명령의 계통도.
제4도는 본 발명 플러그 앤드 플레이카드의 고립화 방법에 대한 신호 흐름도.
제5도는 ISA 시스템에서 하나의 호스트 피씨와 여러개의 ISA 플러그 앤드 플레이 카드의 연결 구조를 보인 개략도.
* 도면의 주요부분에 대한 부호의 설명
21 : 이이피롬 21A : 시리얼 아이덴티화이어 영역
21B : 리소오스 데이타 영역 51 : 호스트 피씨
52A-52F : ISA PnP카드
본 발명은 이이피롬의 억세스 기술에 관한 것으로, 특히 시스템의 부팅시간을 단축하고, 시스템의 어드레스신호로 간단히 이이피롬을 억세스할 수 있도록 하기 위하여 체크-썸 바이트, 시리얼 넘버, 벤더 ID순으로 읽어내도록한 플러그 앤드 플레이카드(Plug and Play Card)의 고립화 방법에 관한 것이다.
제1도에서와 같이 일반적인 이이피롬의 시리얼 ID에 있어서는 화살표 방향으로한 비트씩 읽어나가고, 총 9byte 즉, 72bit를 어떤 경우일지라도 두번씩 읽어서 총 144번의 리드 억세스신호가 필요하게 된는데, 이 억세스 과정을 설명하면 다음과 같다.
ISA(ISA : Industry Standard Architecture)카드는 파워 업(Power up)에서 각 카드의 CSN을 0으로 세트한다. 대기상태(Wait for key)로 들어가서 개시 키이가 검출되기를 기다린다. 미리 정해진 32byte의 개시 키이가 정확하게 검출되면 슬립(Sleep)상태로 들어가서 웨이크명령(CSN)을 기다린다.
Wake[CSN] = 00h 명령이 검출되면 고립상태(Isolation state)로 들어간다. 고립상태에서 고립 알고리즘이 수행되는데, 여기서 필요한 것은 각 ISA카드들이 가지고 있는 72bit의 시리얼 아리덴티화이어(Serial Identi fier)이다.
고립 알고리즘의 시작신호는 각 카드들이 가지고 있는 직렬 고립 레지스터를 읽는 것이다. 직렬 고립값을 읽고난 후 시리얼 아이덴티화이어의 최하위버퍼를 읽는다. 최하위비트가 1인 카드는 SD[7:0]에 55h를 구동시키고, 최하위 비트가 0인 카드는 하이 임피던스 상태에 있으면서 SDL[1:0]에 1이 구동되어 있는지를 검출한다.
하이 임피던스 상태에 있는 카드가 SDL[1:0]에서 1을 검출하는지의 여부에 관계없이 Wait for next read from serial isolation register로 들어간다. Pnp 바이 오스나 오퍼레이팅 시스템은 동일한 최하위 비트를 한번 더 읽는다. 이제는 최하위 비트가 1인 카드는 SD[7:0]에 AAh를 구동시키고, 최하위 비트가 0인 카드는 하이 임피던스 상태에서 SDL[1:0]에 10가 구동되어 있는지를 검출한다.
하이 임피던스 상태에 있는 카드가 SDL[1:0]에서 10을 검출하면 슬립상태로 들어가게 되나 만약 SDL[1:0]에서 10을 검출하지 못하면 계속해서 고립 상태에 머물레 된다. 이와 같이 최하위 비트를 두번 읽는 이류는 정확성을 기하기 위해서이다.
이와 같은 방식으로 최하위 비트를 읽고난 후 바로 위의 비트를 두번 읽는다. 이런 방법으로 72bit의 시리얼 아이덴티화이어를 두번씩 전체 144번을 읽어야 하나의 카드가 고립된다. 이렇게 고립된 카드에는 CSN이 부여된 후 config상태로 들어가고, 다시 나머지 카드는 상기의 설명과 같은 고립 알고리즘을 계속해서 수행하게 된다.
그러나, 이와 같은 종래의 고립 프로토콜에 있어서는 고립 알로리즘으로 하나의 카드를 고립시키는데는 144번의 버스-리드-사이클 신호가 필요하다. 한 시스템에서 플러그 앤드 플레이 카드가 5장 인스톨되어 있다고 한다면 부팅할 때 144 버스-리드-사이클×5장=720 버스-리드-사이클이 필요하므로 플러그 앤드 플레이카드가 인스톨되어 있지 않은 시스템에 비해서 긴 부팅시간을 필요로 하게 되는 결함이 있었다.
따라서, 본 발명의 목적은 시스템의 부팅시간을 단축하고, 시스템의 어드레스신호로 간단히 이이피롬을 억세스할 수 있도록 하기 위하여 체크-썸 바이트(Check-Sum byte), 시리얼 넘버(Serial Number), 벤더(Vendor) ID순으로 읽어내는 플러그 앤드 플레이카드의 고립화 방법을 제공함에 있다.
상기의 목적을 달하기 위한 본 발명의 플러그 앤드 플레이카드의 고립화 방법은 고립상태에서 소정 비트의 시리얼 ID를 최하위비트에서 최상위비트쪽으로 한 비트씩 읽어가는 대신 실리얼 ID의 최상위 체크-썸 바이트를 먼저 읽어내는 단계와; 각 카드의 체크-썸 바이트를 비교하여 두개 이상이 서로 동일한 경우 시리얼 넘버를 바이트단위로 읽어내는 단계와; 상기 읽어낸 시리얼 넘버마저 2개 이상 서로 동일한 경우 벤더 ID를 바이트단위로 읽어서 고립화시키는 단계로 이루어지는 것으로, 이와 같이 이루어지는 본 발명의 작용 및 효과를 첨부한 제2도 내지 제5도를 참조하여 상세히 설명하면 다음가 같다.
본 작용 설명에 앞서 통상의 ISA 시스템에서 하나의 호스트 피씨와 ISA PnP (Plug and Play Card) 카드의 관계를 제5도를 참조하여 설명하면 다음과 같다.
일반적으로, ISA PnP 기능을 지원하는 1개의 호스트 피씨(51)에 여러장의 ISA PnP카드(예 : 52A-52F)를 꽂을 수 있도록 ISA 슬롯이 여러개 구비되어 있다. PnP 기능은 호스트 피씨(51)가 각 ISA PnP카드(52A-52F)들의 자원들(Resources)을 읽어와서 그 카드 데이타간에 충돌이 발생되지 않도록 다시 할당(re-assign)해 주는 것을 말한다.
여기서, 자원들은 무엇을 의미하고 무엇을 다시 할당해 주는지에 대해 설명하면 다음과 같다.
모든 ISA PnP 카드(52A-52F)는 호스트 피씨(51)가 자기 자신 즉, ISA PnP 카드(52A-52F)를 억세스할 수 있도록 베이스 어드레스(Base address)와 IRQ(IRQ : Interrupt Request) 영역을 보유하고 있다. 다시말해서, ISA PnP 카드(52A)는 자기가 사용할 수 있는 베이스 어드레스의 범위와 IRQ 범위를 확보하고 있으며, 다른 ISA PnP 카드(52B-52F)도 마찬가지이다. 따라서, 상기 호스트 피씨(51)는 각 ISA PnP 카드(52A-52F)상의 정보를 읽어가서 충돌이 발생하지 않도록 각 카드별로 하나의 베이스 어드레스와 IRQ만 할당해주게 된다.
결국, 이와 같이 각 ISA PnP 카드(52A-52F)별로 하나의 베이스 어드레스와 IRQ를 할당해 준다는 것은 카드별로 보유하고 있는 특정 레지스터에 베이스 어드레스와 IRQ를 상기 호스트 피씨(51)가 라이트(write)해 준다는 것을 의미한다.
그런데, 각 ISA PnP 카드(52A-52F)별로 보유하고 있는 특정 레지스터들의 어드레스가 모두 동일하므로, 여러개의 ISA PnP 카드(52A-52F) 중에서 하나의 카드 즉, 베이스 어드레스와 IRQ를 라이트할 카드를 골라내는 것[고립화(isolation)] 작업이 필요하다.
이하, 본 발명에 의한 고립화 방법을 설명하면 다음과 같다.
본 발명에서는 제2도의 b에서와 같이 72비트의 시리얼 ID를 최하위 비트에서 최상위비트쪽으로 한 비트씩 읽어가는 대신에 시리얼 ID의 최상위 체크-썸 바이트를 먼저 읽어내는 알고리즘을 사용한다.
시리얼 ID의 최상위 체크-썸 바이트는 벤더 ID와 시리얼 넘버로서 발생시키기 때문에 확률상 시스템의 카드가 체크-썸 바이트를 같은 값으로 갖는 경우는 드물다.
체크-썸 바이트는 상기한 바와 같이 64bit로 구성된 벤더 ID와 시리얼 넘버로서 생성되는 8bit의 숫자이다. 그러므로 8bit로 생성할 수 있는 수는0에서 255까지 이다. 따라서, 체크-썸 바이트가 같은 확률은 1/266≒0.0038이다. 물론 체크-썸 바이트가 같은 경우에는 시리얼 넘버에서 부터 벤더 ID쪽으로 byte단위로 읽어낸다.
제3도에서 보는 바와 같이, 고립상태(Isolation State)에서 각 카드의 체크-썸 바이트를 읽어내어 서로 다르면 체크-썸 바이트 그 자체로서 고립된 것이다. 만약, 서로 같이 것이 2개 이상 존재한다면 시리얼 넘버를 byte단위로 읽고, 그것마저도 같다면 벤더 ID를 byte단위로 읽어서 고립화시킨다.
이상에서 상세히 설명한 바와 같이, 본 발명은 각 카드의 시리얼 ID를 체크-썸 바이트 시리얼 넘버, 벤더 ID순의 바이트 단위로 읽어냄으로써 시스템의 부팅시간을 단축할 수 있을 뿐만 아니라 시스템의 어드레스신호로 간단히 이이피롬을 억세스할 수 있는 효과가 있다.
Claims (1)
- 베이스 어드레스와 IRQ를 라이트할 카드를 골라낸 상태에서 소정 비트의 시리얼 ID를 최하위비트에서 최상위비트쪽으로 한 비트씩 읽어가는 대신 시리얼 ID의 촤상위 체크-썸 바이트를 먼저 읽어내는 단계와; 각 카드의 체크-썸 바이트를 비교하여 두개 이상이 서로 동일한 경우 시리얼 넘버를 바이트단위로 읽어내는 단계와; 상기 읽어낸 시리얼 넘버마저 2개 이상 서로 동일한 경우 벤더 ID를 바이트단위로 읽어서 베이스 어드레스와 IRQ를 라이트할 카드를 골라내는 단계로 이루어지는 것을 특징으로 하는 플러그 앤드 플레이카드의 고립화 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950067330A KR0186072B1 (ko) | 1995-12-29 | 1995-12-29 | 플러그 앤드 플레이카드의 고립화 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950067330A KR0186072B1 (ko) | 1995-12-29 | 1995-12-29 | 플러그 앤드 플레이카드의 고립화 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970049533A KR970049533A (ko) | 1997-07-29 |
KR0186072B1 true KR0186072B1 (ko) | 1999-05-15 |
Family
ID=19447657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950067330A KR0186072B1 (ko) | 1995-12-29 | 1995-12-29 | 플러그 앤드 플레이카드의 고립화 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0186072B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100467519B1 (ko) * | 1997-08-11 | 2005-06-13 | 삼성전자주식회사 | 피앤피리소스를롬에저장하여사용하는컴퓨터및방법 |
-
1995
- 1995-12-29 KR KR1019950067330A patent/KR0186072B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR970049533A (ko) | 1997-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5878238A (en) | Technique for supporting semi-compliant PCI devices behind a PCI-to-PCI bridge | |
US5038320A (en) | Computer system with automatic initialization of pluggable option cards | |
US5724529A (en) | Computer system with multiple PC card controllers and a method of controlling I/O transfers in the system | |
US7890690B2 (en) | System and method for dual-ported flash memory | |
US6298399B1 (en) | System for managing input/output accesses at a bridge/memory controller having a status register for recording cause of interrupt | |
US4675813A (en) | Program assignable I/O addresses for a computer | |
US6070204A (en) | Method and apparatus for using universal serial bus keyboard to control DOS operations | |
US7305595B2 (en) | Method, system, and product for isolating memory system defects to a particular memory system component | |
US20020194486A1 (en) | Apparatus and method for maintaining secured access to relocated plug and play peripheral devices | |
US6421765B1 (en) | Method and apparatus for selecting functional space in a low pin count memory device | |
CN110795373B (zh) | 一种i2c总线到并行总线的转换方法、终端及存储介质 | |
KR0186072B1 (ko) | 플러그 앤드 플레이카드의 고립화 방법 | |
US5640594A (en) | Method and system for assigning peripheral device addresses | |
US20050198425A1 (en) | Combined optical storage and flash card reader using single ide or sata port and method thereof | |
US5168562A (en) | Method and apparatus for determining the allowable data path width of a device in a computer system to avoid interference with other devices | |
EP1093608A4 (en) | SYSTEM, DEVICE AND METHOD FOR COMMUNICATING WITH AND INITIALIZING A PERIPHERAL COMPUTER | |
JP4250250B2 (ja) | メモリ管理装置 | |
KR19990032037A (ko) | 복수의 논리장치의 플러그 앤 플레이 기능을 갖는 아이사 시스템 | |
JP4865213B2 (ja) | 割込みコントローラ | |
US6742073B1 (en) | Bus controller technique to control N buses | |
JPH0756847A (ja) | ポータブルコンピュータ | |
JPH0562786B2 (ko) | ||
JP2870285B2 (ja) | レジスタ | |
KR100252174B1 (ko) | 백플레인 인식 장치 | |
JP2000267986A (ja) | メモリ制御装置およびメモリ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20051118 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |