KR880000361B1 - 콤퓨터 시스템 - Google Patents

콤퓨터 시스템 Download PDF

Info

Publication number
KR880000361B1
KR880000361B1 KR8202655A KR820002655A KR880000361B1 KR 880000361 B1 KR880000361 B1 KR 880000361B1 KR 8202655 A KR8202655 A KR 8202655A KR 820002655 A KR820002655 A KR 820002655A KR 880000361 B1 KR880000361 B1 KR 880000361B1
Authority
KR
South Korea
Prior art keywords
data
tag
access
main memory
channel
Prior art date
Application number
KR8202655A
Other languages
English (en)
Other versions
KR840000835A (ko
Inventor
다까시 치바
사도리 고가
Original Assignee
야마모도 다까마사
후지쓰 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP56091698A external-priority patent/JPS6055859B2/ja
Priority claimed from JP56095679A external-priority patent/JPS57209525A/ja
Application filed by 야마모도 다까마사, 후지쓰 가부시끼가이샤 filed Critical 야마모도 다까마사
Publication of KR840000835A publication Critical patent/KR840000835A/ko
Application granted granted Critical
Publication of KR880000361B1 publication Critical patent/KR880000361B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

내용 없음.

Description

콤퓨터 시스템
제1도는 본 발명에 따른 컴퓨터 시스템의 한 실시예를 나타낸 블록도.
제2도는 채널 버퍼의 기억 영역의 블록도.
제3도는 제1도의 채널 버퍼의 상세 블록도.
제4도는 8바이트 부분 기억 요구에 대한 동작 설명을 위한 제3도의 제어회로의 부분 논리회로도.
제5도는 특수데이터를 위한 억세스에 관한 동작, 설명을 위한 제3도의 제어회로의 부분 논리회로도.
제6도는 제1도의 주기억장치를 위한 억세스제어부의 블록도.
* 도면의 주요부분에 대한 부호의 설명
1-0,1-3 : 주기억장치 2 : 기억제어장치
3 : 채널버퍼 6-0,6-1 : 중앙처리장치
10-0∼10-31 : 채널 11-0,11-1 : 태그블록
12 : 데이터부 14 : 채널식별레지스터
17 : 주기억요구어드레스레지스터 19 : 채널버퍼어드레스레지스터
24 : 사전인출레지스터 26 : 제어회로
41 : OR회로 42,43 : AND 회로
44 : 래치회로 45 : AND 회로
51 : OR회로 52-57 : AND 회로
본 발명은 계층기억장치(hierarchical storage)를 가진 컴퓨터 시스템, 특히 컴퓨터 시스템안에 채널 버퍼에 대한 억세스를 제어하기 위한 시스템에 관한 것이다.
일반적으로 컴퓨터 시스템은 기억 데이터와 명령을 위한 주기억장치(MSU), 이들 명령을 수행하기 위한 중앙처리장치(CPU), 복수채널을 포함하고 있는 채널처리장치(CHP) 및 그들 사이에 데이터 전송을 제어하기 위한 기억제어장치(MCU)로 구성되어 있다. 이와 같은 컴퓨터 시스템에서, MSU에 채널의 억세스량을 증가시키기 위해서, 부가하여 MSU에 CPU의 억세스를 개입중단(interrupt)시키기 위하여 채널버퍼(CHB)가 MCU 내에 갖춰진다.
CHB는 CHP(혹은 채널)와 MSU 사이에 데이터 전송을 제어하는데 사용된다. 즉, 채널중의 하나가 인출(fetch)을 요구할 때, 인출 요구된 데이터를 포함하고 있는 소정양의 데이터가 MSU로부터 CHB로 전송되며, 그 다음에 인출 요구된 데이터가 CHB로부터 채널에 전송된다. 이와 같은 경우에, 만약 상기한 양의 데이터가 CHB에 이미 로우드되어 있을 경우에 그 다음부터 인출 요구된 데이터는 즉시 채널에 전송된다. 반면에 채널중의 하나가 기억 억세스를 요구할 경우에 기억데이터는 일시적으로 CHB에 기억된다. 소정량의 데이터가 CHB에 기억된후에 소정량의 데이터는 CHB로부터 MSU에 전송된다. 결과적으로 CHB의 존재는 CPU와 CHP에 의해서 동시에 요구되는 주기억 억세스의 가능성을 감소시키며 이것에 의해서 채널의 처리능력을 개선한다.
CHP (채널)은 항상 MSU의 기억영역을 계속적으로 억세스한다. 그러나, 만약 일반적으로 캐쉬메모리를 사용하는 세트 연상형 시스템(set associative system)이 채택될 때, 다음과 같은 문제점이 발생한다.
a) CPU의 억세스 동작과 비교할 때 CHP의 억세스 동작을 동기화하기 어렵기 때문에, 억세스 제어가 복잡해지고, 게다가 검사와 고장수리가 어렵다.
b) CHB에 데이터가 모두 차 있을 때, 실제 억세스 동작전에 "무우브 아웃(MOVE-OUT)"조작을 실행하는 것이 필요하며 그것은 채널의 오우버턴을 초래할 수도 있다.(명령/데이터)
c)"릴리스(RELEASE)"조작이 필요하다. "릴리스"조작은 입/출력 명령이 초기설정될 때와 개입중단이 데이터 전송의 끝에서 발생될 때 MSU에 CHB의 내용전부를 보내기 위해서 수행된다는 것에 주의하여야 한다.
d) CPU가 MSU에 기억 억세스를 요구할 때, CPU에 의해 요구된 블록이 역시 CHB 안에 있는지 없는지를 조사하는 것이 필요하다. 만약 블록이 또한 CHB 안에 있다면 그 블록을 무효화 하는 것이 필요하다.
e) CHP로부터 MSU로의 기억순서가 CPU에 명확하지 않다. 그렇기 때문에 만약 CPU가 기억의 정확한 순서를 요구할 경우에 데이타 전송없이 부가적인 입/출력 명령을 수행하는 것이 필요하다.
따라서 본 발명의 기본 목적은 CHB의 억세스 제어가 간단한 CHB를 가진 컴퓨터 시스템을 제공하는 것이다.
본 발명의 다른 목적은 채널의 오우버턴이 감소된 CHB를 가진 컴퓨터 시스템을 제공하는 것이고, "릴리스" 조작이 필요없는 CHB를 가진 컴퓨터 시스템을 제공하는 것이다.
본 발명의 또 다른 목적은 CPU의 기억동작 중에는 CHB의 서취가 필요없는 CHB를 가진 컴퓨터 시스템을 제공하는 것이며, 또한 CHP로부터 MSU로의 기억순서가 CPU에 확실하게 할 수 있는 CHB를 가진 컴퓨터 시스템을 제공하는 것이다.
본 발명에 따르면, 본 컴퓨터 시스템은 다수의 채널, 최소한 1개의 중앙처리장치, 최소한 한개의 주기억장치, 채널과 중앙처리장치 및 주기억장치 사이의 데이터 전송을 제어하기 위해서 채널, 중앙처리장치 및 주기억장치에 연결된 기억제어장치로 구성되며, 주기억장치와 채널을 제어하기 위하여 기억제어장치안에 포함된 채널 버퍼, 채널버퍼안에 포함되어 있으며 태그부의 각 세트는 채널중의 한개로 정의되며, 주기억장치 블록의 블록 어드레스를 포함하고 있는 제어정보와 어드레스 정보를 기억하기 위한 태그라인 블록의 다수의 세트로 구획된 태그부, 채널버퍼안에 포함되어 있으며 태그라인들 중의 하나에 각각 일치하는 다수의 데이터 라인으로 구획된 데어터부, 태그부 각 블록의 한 태그라인을 선택할 수 있도록 상기 태그부를 억세스하기 위한 제1 억세스 수단, 데어터라인 중에 하나의 데이터라인을 선택할 수 있도록 데어터부를 억세스하기 위한 제2 억세스수단, 주기억장치를 억세스하기 위한 제3 억세스수단, 양쪽의 어드레스가 매칭될 때 매칭신호를 발생할 수 있도록 제1 억세스 수단에 의하여 선택된 각 태그라인에 기억된 블록 어드레스 주기억장치에 대한 채널의 억세스 어드레스와 비교하기 위하여 태그부에 접속된 비교장치수단 및 어떤 매칭신호도 발생되지 않을 때에는 주기억장치에의 억세스는 제3 억세스 수단에 의하여 수행되는 반면에 매칭 신호들중의 하나라도 발생될 때는 데어터부에의 억세스는 제2 억세스 수단에 의하여 수행되는 것을 특징으로 하는 컴퓨터 시스템을 제공한다.
다음에 도면에 따라서 본 발명을 상세히 설명한다.
제1도는 본발명에 따르는 컴퓨터 시스템의 한 실시예를 나타내며 부재번호 1-0∼1-3은 예를들어 4개의 길을 인터리브(interleave)하고 있는 MSU, 2는 MCU 3은 CHB 4는 서비스 처리장치(SVP), 5는 시스템 전력 제어장치(SPC), 6-0,6-1은 CPU 7-0, 7-1은 캐쉬 메모리, 8-0, 8-1은 CHP, 9-0, 9-1은 채널제어장치(CHC), 10-0 내지 10-31은 채널을 가리킨다.
MCU (2)는 MSU(1-0∼1-3)와 CPU(6-0, 6-1)(혹은 캐쉬 메모리(7-0, 7-1) 또는 CHC(9-0, 9-1)사이의 데이터 전송을 제어하기 위하여 사용된다. MCU (2)는 종래의 캐쉬메모리와 같은 동일방법으로 태그부와 데이터부를 가진 CHB (3)를 포함한다. SVP (4)는 CPU(6-0, 6-1)에 독립된 서브시스템으로 하드웨어 콘솔기능과 오퍼레이터 콘솔기능 및 보수 또는 진단기능 등등의 기능을 갖고 있다.
SPC (5)는 전시스템에 대하여 전력의 온, 오프 제어를 수행하고 전력을 모니터 한다.
CPU(6-0, 6-1)는 고속도로 동작하는 캐쉬메모리(7-0, 7-1)를 각각 갖고 있다.
CHP(8-0, 8-1)는 각각 CHC(9-0, 9-1)를 가지며 CHC(9-0, 9-1)는 각각 16채널(10-0∼10-15)과 16채널(10-16∼10-31)을 가지고 있다. 즉 전부 32채널이 이 시스템에 준비되어 있다.
항상 MCU(2)와 각 CHP(8-0, 8-1)사이의 데이터 버스의 폭은 MCU(2)와 각 MSU(1-0∼1-3)사이의 데이터 버스폭과 마찬가지로 8바이트로 되어 있다.
이 시스템에서, CHP(8-0 혹은 8-1)가 MCU(2)에 8바이트 데이터 인출요구를 보낼 때 CHB(3)의 태그부는 서취된다.
만약 인출요구 어드레스가 CHB(3)의 태그부에 있을 경우에는 대응하는 8바이트 데이터가 CHB(3)의 데이터로부터 요청을 보낸 CHP(8-0 혹은 8-1)로 읽혀진다.
반면에 인출요구 어드레스가 CHB(3)의 태그부안에 없을 경우에는 대응하는 8바이트 데이터를 포함한 64바이트 데이터가 MSU(1-0∼1-3)으로부터 CHB(3)데이터부로 전송되며, 그후 단지 대응하는 8바이트 데이터만이 CHB(3)의 데이터로부터 CHP(8-0 혹은 8-1)로 전송된다.
그외에 CHP(8-0 혹은 8-1)가 MCU(2)에 기억요구를 보낼때, 기억 데이터는 CHB(3)의 데이터부 안으로 기록된다. 그후, 만약 소정량의 기억데이터, 예를들어 64바이트의 기억데이터가 CHB(3)의 태그부안에 기억된다면, 이 64바이트 데이터는 MSU(1-0∼1-3)안으로 기록된다.
제1도의 CHB(3)를 설명한 제2도에서, 부재번호(11)는 두개의 태그 블록(11-0, 11-1)을 가진 CHB(3)의 태그부를 가리킨다.
각각의 태그 블록(11-0, 11-1)은 32세트 태그라인으로 분할되어 있고 각 태그라인은 제어정보영역(CTRL)과 어드레스 정보영역(ADDR)로 구획되어 있다. 영역(CTRL)에는 밸리드 플라그(valid flag)(V), 피포(FIFO)플라그(F), 변경플라그(C), 플라그(V,F,C)를 위한 기우검사비트(PV), 바이드 마아크(BM O∼BM 7), 바이트 마아크를 위한 기우검사비트(PB)가 기록되어 있으며, 영역(ADDR)에는 주기억어드레스비트(1∼25)와 기우검사비트(PO∼P3)가 기록된다.
제2도에서 부재번호(12)는 64데이터 라인으로 구획된 CHB(3)의 데이터부를 가리키며, 각 데이터라인은 8개의 8바이트 데이터 영역을 갖는다.
즉, 각 데이터라인은 64바이트 데이터 영역을 갖는다. 태그 블록(11-0)의 i번째 태그라인은 데이터부(12)의 i번째 데이터라인에 일치하며, 태그블록(11-1)의 i번째 태그라인은 데이터부(12)의 (32+i)번째 데이터라인에 일치한다.
본 발명에 따르면 두개의 데이터 라인이 각 채널에 할당된다. 예를들면, 데이터부(12)의 0번째 데이터라인과 32번째 데이터라인은 CHP(8-0)의 채널(10-0)에 할당되며 데이터부(12)의 16번째 데이터라인과 48번째 데이터라인은 CHP(8-1)의 채널(10-16)에 해당된다.
태그라인의 밸리드 플라그(V)는 대응하는 데이터라인의 데이터가 유효한지 무효한지를 표시한다.
예를 들어, 밸리드 플라그(V)가 논리n1n일 경우에는 데이터가 유효하나, 밸리드 플라그(V)가 논리 "0"일 경우에는 데이터는 유효하지 못하다.
태그라인의 피포플라그(F)는 어떤 한개의 채널에 할당된 두개의 데이터라인에 기억된 데이터가 더 새로운 것이라는 것을 지시한다. 예를들면 태그블록(11-0)의 0번째 태그라인의 피포플라그(F)가 논리"1"이고 태그블록(11-1)의 0번째 태그라인의 피포플라그(F)가 논리"0"이라면, 데이터부(12)의 0번째 데이터라인의 데이터는 데이터부(12)의 32번째 데이터라인의 데이터와 비교할 때 새롭게 기록된 것이다. 피포플라그(F)가 논리"1"로부터 논리"0"으로 변경될 때 대응하는 데이터 라인이 MSU(1-0∼1-3)에 이 데이터의 내용을 이동시킬 수 있도록 "무우브 아웃(MOVE-OUT)"호출 단자에 접속될 수 있다는 것에 유의해야 한다.
태그라인의 변경 플래그(C)는 기억 데이터가 CHP(8-0 혹은 8-1)로부터 대응하는 데이터 라인으로 기록되어 있는지 또는 기록되어 있지 않는지를 지시한다.
만약 태그라인의 변경 플래그(C)가 논리"1"이라면 기억데이터는 CHP(8-0 혹은 8-1)로부터 대응하는 데이터 라인으로 기록된다.
또 태그라인의 변경 플래그(C)가 논리"0"일 때는 기억 데이터는 대응하는 데이터 라인에 존재하지 않는다. 각 바이트 마아크(BM 0∼BM7)는 64바이트 데이터라인의 8개 8바이트 영역(D0, D1, D7)에 대응한다. 예를 들면, 만약 바이트 마아크의 i번째 비트가 논리"1"이라면 기억데이터는 대응하는 데이터 라인의 영역(D1)에 기록된다.
이와같은 경우에, 태그라인의 변경비트(C)는 동일 태그라인의 바이트 마아크의 OR는 논리를 나타낸다.
태그라인의 한개의 바이트 마아크는 8바이트 기억데이터(8바이트 전기억데이터)가 대응하는 데이터라인 즉 D0와 같은 8바이트 영역안으로 기록된다는데 주목해야 한다.
다시말하면 4바이트 기억데이터(8바이트 부분기억데이터)는 대응하는 데이터라인의 8바이트 영역안으로 기록될 수 없다.
이와같은 경우에 8바이트 부분기억데이터는 데이터부(12)를 거치지 않고 MSU(1-0∼1-3)에 직접 전송된다.
제3도는 제1도의 CHB(3)의 상세 블록도이다.
제3도에서 부재번호(13)는 CHP어드레스 레지스터, 14는 상부 레지스터(이경우 1비트)(14-1)와 하부 레지스터(이경우 4비트)(14-2)로 구성된 채널 식별 레지스터, 15는 +1회로, 16-0과 16-1은 비교기, 17은 주기억요구 어드레스 레지스터, 18은 복호기, 19는 제1부분 레지스터(이경우 1비트)(19-1)와 제2부분 레지스터(이경우 5비트)(19-2)와 제3부분 레지스터(인-라인 레지스터(이경우 3비트)(19-3)로 구성된 CHB어드레스 레지스터, 20은 CHB데이터 레지스터, 21은 CHP 기억 데이터 레지스터, 22,23은 CHP 인출 데이터 레지스터, 24는 제1, 제2, 제3부분 레지스터(24-1, 24-2, 24-3)로 구성된 사전 인출 레지스터, 25는 +i회로, 26은 제어회로, 27내지 38은 제어회로(26)에 따라 제어되는 셀렉터이다.
주기억 억세스 에드레스(CHPO ADDR 혹은 CHPI ADDR)는 CHP(8-0 혹은 8-1)로부터 CHP 어드레스 레지스터(13)로 배치된다. 8바이트 인출요구, 8바이트 전기억 요구, 8바이트 부분 기억요구 혹은 데이터 플라그와 같은 제어정보는 CHP(8-0 혹은 8-1)로부터 제어회로(26)로 공급된다.
채널식별 레지스터(14)는 채널을 지정한다.
특히 CHP식별번호는 CHP상부 레지스터(14-1)에 배치되는 반면에 채널식멸 번호는 하부 레지스터(14-2)에 배치된다.
+1회로(15)는 태그부(11)와 데이터부(12)의 태그블록(11-0, 11-1)을 초기설정하는데 사용된다.
비교기(16-0)는 양쪽의 정보가 매칭될 때 매칭신호(MCHO)를 발생하기 위하여 태그블록(11-0)으로부터 판독된 어드레스 정보를 CHP어드레스 레지스터(13)의 어드레스 정보와 비교하고 한편 비교기(16-1)은 양쪽의 정보가 매칭될 때 매칭신호(CHI)를 발생할 수 있도록 태그블록(11-1)으로부터 판독된 어드레스 정보와 CHP어드레스 레지스터(13)의 어드레스 정보를 비교한다.
MSU(1-0∼1-3)가 억세스될 때, 어드레스 정보는 주기억 요구 어드레스 레지스터(17)에 설정되며, 더우기 고우선 순위 플라그, 8바이트 인출요구, 64바이트 인출요구, 8바이트 기억요구, 8바이트 부분기억요구, 8바이트 전기억요구등과 같은 제어 정보가 MSU(1-0∼1-3)에 공급된다.
CHB 어드레스 레지스터(19)의 부분레지스터(19-1)(19-2)는 억세스된 데이터부(12)의 데이터라인을 표시하는데 사용된다. CHB어드레스 레지스터(13)의 한부분에 접속된 제3부분 레지스터(인라인 레지스터)(19-3)는 각 데이터 라인안에 억세스 되어질 8바이트영역을 표시하기 위하여 3비트로 구성되어 있다.
CHP(8-0 혹은 8-1)로부터의 기억 데이터 혹은 MSU(1-0∼1-3)로부터의 인출 데이터는 CHB 데이터 레지스터(20)에 기억된다. CHP(8-0 혹은 8-1)로부터 MSU(1-0∼1-3)로 전송될 기억데이터는 CHP 기억데이터 레지스터(21)에 배치된다. MSU(1-0∼1-3)로부터 CHP(8-0 혹은 8-1)로 전송될 인출 데이터는 CHP인출 데이터 레지스터(22 혹은 23)에 배치된다.
보통의 8바이트 데이터 인출요구를 위한 동작이 다음에 설명된다.
8바이트 데이터 인출요구는 CHP(8-0 혹은 8-1)로부터 제어회로(26)에 공급되며 덧붙여서 어드레스 정보가 CHP어드레스 레지스터(13)에 배치된다.
동시에 CHP식별번호와 채널식별번호가 채널식별레지스터(14)의 상부와 하부의 레지스터(14-1, 14-2)에 각각 배치된다.
판독된 억세스는 채널 식별 레지스터(14)의 내용에 따라서 태그블록(11-0와 11-1)에서 실행되어지며, 다음에 태그블록(11-0)으로부터 판독된 태그 정보의 어드레스 정보는 CHP 어드레스 레지스터(13)의 어드레스 정보(64바이트 데이터 어드레스)와 비교된다.
양쪽의 어드레스 정보가 서로 일치하며, 덧붙여서 밸리트 플라그(V)가 논리 "1"일때, 신호(MCHO)는 논리 "1"로 된다.
이 경우에 제어회로(26)는 제어신호(C11)를 발생할 수 있도록 라인 R에 의하여 대응하는 태그라인의 밸리트 플라그(V)를 포함하고 있는 제어정보(CTRL)를 판독한다.
동시에 태그블록(11-1)으로부터 판독된 태그정보의 에드레스 정보는 CHP 어드레스 레지스터(13)의 어드레스 정보와 비교된다.
양쪽의 어드레스 정보가 서로 일치하며, 또 밸리드 플라그가 논리"1"인때, 신호(MCHI)는 논리"1"이 된다. 즉 신호들(MCHO), (MCHI)중에 하나는 논리"1"인 경우는 어드레스 정보와 일치함을 나타내며, 반면에 어떤 신호(MCHO 또는 MCHI)도 논리"1"이 아닐 경우에는 어드레스 정보가 일치하지 않음을 나타낸다.
어드레스 정보가 일치하지 않는 경우에, CHP(8-0 혹은 8-1)에 의해서 요청된 8바이트 데이터를 포함하고 있는 64바이트 데이터는 MSU(1-0∼1-3)으로부터 판독된다.
결과적으로 이 64바이트 데이터는 데이터부(12)의 선택된 데이터라인으로 기록된다.
동시에 미리 결정된 제어정보와 어드레스정보가 라인(W)에 의해서 대응하는 태그라인으로 기록된다.
덧붙여서 CHP(8-0 혹은 8-1)에 의해서 요청된 8바이트 데이터는 CHP인출 데이터 레지스터(22 혹은 23)를 통하여 CHP(8-0 혹은 8-1)에 전송된다.
이와같은 데이터 라인의 선택은 다음 표에 따라서 실행된다.
[표]
Figure kpo00001
주 : VO와 VI는 각각 태그 블록(11-0와 11-1)의 밸리드 플라그이며 블록0과 블록1은 각각 태그블록(11-0와 11-1)에 대응한다.
상기 표에 보인 바와같이 태그블록(11-0와 11-1)으로부터 판독된 밸리드 플라그(V)가 둘다 논리"0"일때 MSU(1-0∼1-3)로부터 판독된 64바이트 데이터가 태그블록(11-0)의 측면에 즉 데이터부(12)의 상부의 대응하는 데이터 라인에 기록된다. 동시에 미리 결정된 제어정보가 태그블록(11-0)의 대응하는 태그라인의 영역(CTRL)으로 기록된다. 이와같은 경우에 밸리드 플라그(V)는 논리"0"으로부터 논리"1"로 변경되며 피포 플라그(F)도 논리"0"으로부터 논리"1"로 변한다.
그밖에 새로운 어드레스 정보가 태그블록(11-0)의 대응하는 태그라인의 영역(ADDR)으로 기록된다. 그후 CHP(8-0 혹은 8-1)에 의하여 요청된 8바이트 인출 데이타가 그곳에 전송된다.
태그블록(11-0)으로부터 판독된 밸리트 플라그(V)가 "0"이고 태그블록(11-1)으로부터 판독된 밸리드 플라그(V)가 논리"1"인 경우에 MSU(1-0∼1-3)으로부터 판독된 64바이트 데이터는 태그블록(11-0)의 측면에 즉 데이터부(12)의 하부에 대응하는 데이터 라인에 역시 기록된다. 동시에 미리 결정된 제어정보가 태그블록(11-0, 11-1)의 각 대응하는 태그라인의 영역(CTRL)으로 기록된다.
이와같은 경우에 태그블록(11-0)의 대응하는 태그라인의 영역(CTRL)에 있어서, 밸리드 플라그(V)는 논리"0"에서 논리"1"로 피포 플라그(F)는 논리"0"에서 논리"1"로 변경된다.
태그블록(11-1)의 대응하는 태그라인의 영역(CTRL)에 있어서 피포 플라그(F)는 논리"1"에서 논리"0"으로 변경된다. 부가하여 새로운 어드레스 정보가 태그블록(11-0)의 대응하는 태그라인의 영역(ADDR)으로 기록된다.
그후 CHP(8-0 혹은 8-1)에 의해서 요구된 8바이트 인출 데이터가 거기에 전송된다.
태그블록(11-0)으로부터 판독된 밸리드 플라그(V)가 논리"1"이고 태그블록(11-1)으로부터 판독된 밸리드 플라그(V)가 논리"0"일 경우에 MSU(1-0∼1-3)로부터 판독된 64바이트 데이터는 태그블록(11-1)의 측면에 즉 데이터부(12)의 하부에 대응하는 데이터 라인에 기록된다.
동시에 미리 결정된 제어정보가 태그블록(11-0, 11-)의 각 대응하는 태그라인의 영역(CTRL)으로 기록된다.
이경우에 태그블록(11-1)의 대응하는 태그라인의 영역(CTRL)에 있어서 밸리드 플라그(V)는 논리"0"에서 논리"1"로 변경되며 피포 플라그(F)는 논리"0"에서 논리"1"로 변경된다.
태그블록(11-0)의 대응하는 태그라인의 영역(CTRL)에 있어서 피포 플라그(F)는 논리"1"에서 논리"0"으로 변경된다.
부가하여 새로운 어드레스 정보가 태그블록(11-1)의 대응하는 태그라인의 영역(ADDR)으로 기록된다. 그후 CHP(8-0 혹은 8-1)에 의해서 요구된 8바이트 인출 데이터가 거기에 기록된다.
태그블록(11-0)으로부터 판독된 밸리드 플라그(V)와 태그블록(11-1)으로부터 판독된 밸리드 플라그(V)가 둘다 논리"1"일 경우에 MSU(1-0∼1-3)로부터 판독된 64바이트 데이터는 논리"0"의 피포 플라그(F)를 가진 태그블록의 대응하는 태그라인에 기록된다.
동시에 미리 결정된 제어정보가 대응하는 태그라인에 기록된다. 즉 선택된 태그라인의 피포 플라그(F)는 논리"0"에서 논리"1"로 변경된다.
선택되지 않은 태그라인의 피포 플라그(F)는 논리"1"에서 논리"0"으로 변경된다.
부가하여 새로운 어드레스 정보가 선택된 태그라인의 영역(ADDR)에 기록된다. 그후 CHP(8-0 혹은 8-1)에 의해서 요구된 8바이트 인출 데이터가 거기에 기록된다.
그러나, 만약 논리"0"이었던 플라그(F)의 판독 태그 정보의 변경 플라그(C)가 논리"1"일 경우에 대응하는 데이터 라인의 데이터는 MSU(1-0∼1-3)로 이동되며 밸리드 플라그(V)는 논리"1"에서 논리"0"으로 변경된다.
이와같은 "MOVE-OUT"동작은 각각 상부 레지스터(14-1), 하부 레지스터(14-2)및 제1레지스터(19-1)에 "MOVE-OUT CHPO/1" 정보"MOVE-OUT CHID"정보 및 "MOVE-OUT BKID"정보를 공급함으로서 실행되며 CHP기억 데이터 레지스터(21)를 통하여 MSU(1-0∼1-3)에 64바이트 데이터를 전송한다.
그후 CHP(8-0 혹은 8-1)에 의해서 요청된 8바이트 데이터를 포함하는 64바이트 데이터는 MSU(1-0∼1-3)로부터 판독되며 대응 데이터 라인에 기록된다. 상기에서 언급된 동작이 그 다음에 이행된다.
어드레스가 일치하고 덧붙여서 그때에 태그블록으로부터 판독된 변경 플라그(C)가 논리"0"일때 복호기(18)의 출력치인 이 태그 블록을 지정하기 위한 값, 채널 동일 레지스터(14)의 내용 및 CHP어드레스 레지스터(13)의 8바이트 어드레스 정보는 데이터부(12)를 판독할 수 있도록 CHB 어드레스 레지스터(19)의 제1, 제2, 제3부분 레지스터(19-1, 19-2, 19-3)에 각각 배치된다.
결과적으로판독된 8바이트 데이터가 CHP 인출 데이터 레지스터(22 혹은 23)를 통하여 CHP(8-0 혹은 8-1)에 전송된다.
다음에 만약 CHP 어드레스 레지스터(13)의 8바이트 정보가 동일 채널에 속하는 선택되지 않은 데이터라인에 MSU(1-0∼1-3)의 다음번 64바이트 데이터를 로우드 시킬 수 있도록 64바이트 데이터 라인이 중간을 넘은 영역을 지시할 경우에 사전 인출이 초기 설정된다.
사전인출동작은 사전인출 레지스터(24)에 의해서 실행된다.
특히 CHP 어드레스 레지스터(13)의 64바이트 어드레스는 +1회로(25)를 통하여 제1부분 레지스터(24-1)에 공급되고 채널 식별 레지스터(14)의 내용은 제2, 제3부분 레지스터(24-2, 24-3)에 배치된다.
제어회로(26)는 사전인출 레지스터(24)의 상태를 지시하기 위한 플라그 레지스터(도시되지 않음)를 갖고 있으며, 만약 사전 인출이 실행될 때 레지스터(24-1)의 내용은 64바이트 인출 데이터를 요구할 수 있도록 주기억 요구 어드레슬 레지스터(17)에 배치된다.
또한 레지스터(24-2, 24-3)의 내용이 태그블록(11-0, 11-1)을 억세스할 수 있도록 채널 식별 레지스터(14)에 배치되며, 따라서 상기 언급한 64바이트 인출 데이터는 CHB 데이터 레지스터(20)를 통하여 데이터부(12)에 기록된다.
어드레스가 일치하고 덧붙여서 그때에 태그블록으로 부터 판독된 변경 플라그(C)가 논리"1"일때, 데이터부(12)의 대응하는 데이터라인의 데이터는 데이터부(12)로부터 판독되며 CHP 기억 데이터 레지스터(21)를 통하여 MSU(1-0∼1-3)로 이동된다.
그후 CHP(8-0 혹은 8-1)에 의하여 요청된 8바이트 데이터를 포함하고 있는 64바이트 데이터는 MSU(1-0∼1-3)으로부터 판독되며 데이터부(12)의 대응하는 데이터 라인에 기록된다. 그 다음에 요청된 8바이트 데이터는 CHP 인출 데이터 레지스터(22 혹은 23)를 통하여 CHP(8-0 혹은 8-1)에 전송된다. 이와같은 경우는 실제로 거의 없다.
통상의 8바이트 데이터 기억요구를 위한 동작이 다음에 설명된다. 8바이트 데이터 전 기억요구가 CHP(8-0 혹은 8-1)로부터 제어회로(26)에 공급된다.
또한 8바이트 데이터 인출요구와 동일한 방법으로 어드레스 정보도 CHP어드레스 레지스터(13)에 배치된다. 동시에 CHP동일번호와 채널 동일번호가 채널동일레지스터(14)의 상부와 하부 레지스터(14-1, 14-2)에 각각 배치된다.
다음에 판독억세스가 채널 식별 레지스터(14)의 내용에 따라서 태그블록(11-0와 11-1)에서 실행된다.
그 다음에 태그블록(11-0)으로부터 판독된 태그정보의 어드레스 정보는 CHP 어드레스 레지스터(13)의 어드레스 정보(64 바이트 데이터 어드레스)와 비교된다. 양쪽의 어드레스 정보가 서로 일치하며 또 밸리드 플라그(V)가 논리"1"일때 신호(MCHO)는 논리"1"이다.
이때 제어회로(26)는 제어신호(C11)을 발생할 수 있도록 라인(R)에 의해서 대응하는 태그라인의 밸리드 플라그(V)를 포함하고 있는 제어정보(CTRL)를 판독한다.
동시에 태그블록(11-1)으로부터 판독된 태그정보의 어드레스정보는 CHP 어드레스 레지스터(13)의 어드레스 정보와 비교된다.
결국 양쪽 어드레스 정보가 서로 일치하고 밸리드 플라그(V)가 논리"1"일때 신호(MCHI)는 논리"1"로 된다.
어드레스 정보가 일치하지 않을 경우엥 CHP(8-0 혹은 8-1)에 의해 요청된 8바이트 데이터를 포함하고 있는 64바이트 데이터는 MSU(1-0∼1-3)로부터 판독되며 결국, 일 64바이트 데이터는 데이터부(12)의 선택된 데이터 라인에 기록된다.
동시에 미리 결정된 제어정보와 어드레스 정보는 라인(W)에 의해 대응하는 태그라인에 기록된다.
부가하여 CHP(8-0 혹은 8-1)에 의해서 요구된 8바이트 기억 데이터는 CHB 데이터 레지스터(20)을 통하여 데이터부(12)의 데이터라인에 기록된다.
이와같은 데이터 라인의 선택은 역시 상기에서 언급한 표에 따라서 실행된다.
8바이트 기억데이터가 데이터부(12)의 선택된 데이터라인에 기록된 후, 태그블록(11-0 혹은 11-1)의 대응하는 태그라인의 변경 플라그(C)는 논리"0"에서 논리"1"로 변경된다.
논리"1"의 변경플라그(V)를 가진 태그라인에 대응하는 데이터라인의 64바이트 데이터는 MSU(1-0∼1-3)의 대응내용과 완전히 일치하지는 않는다는 점에 주의하여야 한다.
선택되지 않은 태그블록의 대응하는 내용에 있어서, 만약 밸리드 플라그(V)가 논리"1"이고 변경플라그(C)가 논리"1"일 경우에 이 태그 라인에 대응하는 데이터 라인의 데이터는 MSU(1-0∼1-3)로 이동된다.
이와같은 "MOVE-OUT"동작은 상기에서 언급한 것과 동일한 방법으로 실행된다.
그후 이 태그 라인의 밸리드 플라그(V)는 논리"1"에서 논리"0"으로 변경된다.
이것은 채널이 다음의 64바이트 데이터 기억 억세스를 요구한 후 이 채널에 할당된 후 태그라인중 한개의 밸리드 플라그(V)는 항상 논리"0"이며 또한 다음번 기억요구는 지연됨이 없이 실행된다는 것을 의미한다.
어드레스가 일치하는 경우에 기억데이터는 어드레스가 일치하는 태그 블록의 태그라인에 대응하는 데이터라인에 기록된다.
바이트 마아크 비트(BM0∼BM7)중의 하나는 논리"1"이 된다. 또한 만약 변경 플라그(C)가 논리"0"이라면 이 플라그는 논리"1"이 된다.
8바이트 데이터부분 기억요구에 대한 동작은 하기와 같다.
일반적으로 채널(10-0∼10-31)(제1도의)은 자기 디스크, 자기 테이프 및 카아드 판독장치등과 같은 입/출력 장치에 연결된다.
자기 디스크 혹은 자기 테이프일 경우에 많은 양의 8바이트 데이터가 MSU(1-0∼1-3)에 순차적으로 기억된다.
그러나 데이터 열의 첫번째와 마지막번째의 데이터는 8바이트보다 더 적으며 예를들면 4바이트정도다. 이런 경우에 이 4바이트 데이터는 8바이트 부분데이터로 불려진다.
카아드 판독장치인 경우에 8바이트 부분 데이타가 종종 발생한다. 그러나 제2도에서 설명된 것 같이 바이트 마아크(BM0-BM7)는 전체의 대응하는 8바이트 데이터가 유효한지 혹은 아닌지를 지시한다.
따라서 4바이트 데이터와 같은 8바이트 부분 데이터의 유효성은 확실될 수가 없다.
결과적으로 8바이트 부분기억데이터는 CHB(3)의 데이터부(12)를 통하지 않고 MSU(1-0∼1-3)에 직접 전송된다.
제4도는 8바이트 부분 기억요구에 관한 동작을 설명하기 위한 제3도의 제어회로(26)의 부분 논리회로도이다.
제4도에 있어서 부재번호41은 OR회로, 42와 43은 AND회로, 44는 래치회로, 45는 AND회로이다.
CHP(8-0 혹은 8-1)가 8바이트 부분 기억억세스를 요구할 때 8바이트 부분기억요구는 AND회로(42혹은 43)를 통하여 래치회로(44)에 공급된다.
이 경우에 AND회로(42, 43)은 내부신호 "CHPO SELECT"에 의해서 제어된다. 결국 고 우선순위 플라그와 8바이트 부분 기억요구가 MSU(1-0∼1-3)에 전송된다.
또한 일치(매칭)신호(TAGMCH)가 논리"1"이 되도록 신호(MCHO, MCHI)들 중의 하나가 논리"1"이며 또 대응하는 태그라인의 변경플라그(C)가 논리"1"일때, 이 태그라인의 밸리드 플라그(V)는 데이터부(12)에 대응하는 데이터라인의 내용을 무효화시킬 수 있도록 논리"0"이 야기된다.
채널로부터 MSU로의 억세스는 채널 지령어(CCW)에 의해서 지시된 데이터의 경우에 실행된다.
또한 이와같은 억세스는 채널 어드레스어(CAW), CCW동적 어드레스변환(DAT)테이블을 인출할 때 또는 채널상태어(CSW)를 기억할 경우에 실행된다.
이경우에 CAW, CCW 혹은 CSW는 8바이트로 구성되어 있으며, DAT표는 4바이트(세그먼트 테이블)혹은 2바이트(페이지 테이블)로 구성되어 있다.
그러므로 64바이트 데이터가 CHB(3)의 데이터부(12)의 각 데이터 라인에 준비될 수 있을지라도, 나머지 바이트들은 잃어버려진다. 그밖에 상기에서 언급된 특수한 데이터일 경우에 이와같은 억세스가 수행될 때 지령 오우버런과 같은 채널 오우버런이 종종 발생되며, 따라서 CHB의 처리능력이 감소된다.
이것을 개량하기 위해서 채널이 CAW, CCW, DAT 혹은 CSW와 같은 특수한 데이터에 대한 억세스를 요구할 때 MSU(1-0∼1-3)는 CHB(3)에 데이터를 기억시키는 것 없이 직접 억세스되며 또한 그 요구는 최우선 순위를 갖는다.
제5도는 특수한 데이터의 억세스에 관한 동작을 설명하기 위한 제3도의 제어회로(26)의 부분 논리회로도이다.
제5도에 있어서 부재번호 51은 OR회로, 52∼75은 AND회로. 58은 OR회로, 59는 래치회로, 60∼63은 AND회로이다.
CHP(8-0 혹은 8-1)가 CAW, CCW, DAT, CSW등과 같은 특수 데이터의 억세스를 요구할 때, CHP(8-0 혹은 8-1)는 내부신호 "CHPO SELECT"에 의해서 제어된 AND회로(52 혹은 53)에 논리"0"의 데이터 플라그를 발생한다. 즉 순수한 데이터 억세스일 경우에는 데이터 플라그는 논리"0"인 반면에 CAW, CCW, DAT 혹은 CSW와 특수한 데이터의 억세스일 경우에는 데이터 플라그는 논리"1"이다.
따라서 데이터 플라그는 래치회로(59)에 배치된다.
만약 래치회로(59)의 출력
Figure kpo00002
은 논리"1"이며 다음의 제어가 실행된다.
억세스 요구가 8바이트 데이터 인출을 나타낼 때 8바이트 데이터 인출 요구와 고우선순위 플라그는 MSU(1-0∼1-3)를 억세스할 수 있도록 AND회로(60)로부터 MSU(1-0∼1-3)에 전송된다.
이때 어드레스 정보는 CHP 어드레스 레지스터(13)로부터 주기억요구 어드레스 레지스터(17)로 전송된다. 인출 데이터가 MSU(1-0∼1-3)로부터 전송될 때, 인출 데이터는 CHB 데이터 레지스터(20)와 CHP 인출 데이터 레지스터(22 혹은 23)를 통하여 CHP(8-0 혹은 8-1)에 직접 전송된다.
억세스 요구가 8바이트 데이터 기억을 나타내고 신호
Figure kpo00003
가 논리"1"일때, 8바이트 데이터 기억요구와 고우선순위 플라그는 MSU(1-0∼1-3)를 억세스할 수 있도록 AND회로(61)로부터 MSU(1-0∼1-3)로 전송된다. 이때 어드레스 정보가 여기시 CHP 어드레스 레지스터(13)로부터 주기억요구 어드레스 레지스터(17)로 전송된다. 동시에 기억 데이터가 CHB 데이터 레지스터(20)로부터 CHP 기억데이터 레지스터(21)를 통하여 MSU(1-0∼1-3)로 전송된다.
억세스 요구가 8바이트 데이터 기억을 나타내며 신호(TAGMCH)가 논리"1"이고 동시에 어드레스 일치를 표시하는 태그라인의 변경 플라그(C)가 논리"0"일때 밸리드 플라그(C)는 논리"0"("무효(INVALIDATE)"동작)상태가 야기된다.
이 변경 플라그(C)를 가진 태그라인의 밸리드 플라그(V)가 논리"0"이 되도록 하기 위해서 똑같은 CHP 식별번호와 똑같은 채널 식별 신호가 채널 식별 레지스터(14)에 배치된다.
밸리드 플라그(V)가 논리"0"가 야기되도록한 동작후에 8바이트 데이터 기억요구와 고우선순위 플라그는 8바이트 데이터 기억동작을 수행할 수 있도록 AND회로(62)로부터 MSU(1-0∼1-3)로 전송된다.
억세스요구가 8바이트 데이터 기억을 나타내며 신호(TAGMCH)가 논리"1"이고 동시에 어드레스 일치를 표시하는 태그라인의 변경 플라그(C)가 논리"1일때 "MOVE-OUT" 동작이 실행되며, 그후 밸리드 플라그(V)는 논리"0"이 야기된다.
그밖에 8바이트 데이터 기억 동작이 실행된다.
"MOVE-OUT"동작에 있어서, CHP식별번호와 채널식별번호가 태그블록(11-0, 11-1)을 판독할 수 있도록 MOVE-OUT ID버스에 공급되고 채널식별 레지스터(14)에 배치된다.
결국 선택된 태그라인의 어드레스 정보는 주 기억 억세스 요구 레지스터(17)에 배치된다.
동시에 선택된 태그라인이 속하는 태그블록을 나타내는 "0"혹은 "1"상태가 레지스터(19-1)에 배치되며 채널식별 레지스터(14)의 내용이 데이터부(12)를 판독할 수 있도록 CHB어드레스 레지스터(19)로 이동된다. 판독데이터는 CHP기억데이터 레지스터(21)에 배치된다.
제6도는 제1도의 MSU(1-0∼1-3)를 위한 억세스 제어부의 블록도이다. 제6도에 있어서, 부재번호71-0은 CPU(6-0)에 할당된 억세스 포트, 71-1은 CPU(6-1)에 할당된 억세스 포트, 71-2는 CHP(8-0, 8-1)(CHB 3)에 할당된 억세스 포트, 72는 우선순위회로, 73는 제어파이프 라인, 74는 부동기억어드레스(FMA)검사회로, 75는 주기억(MS)어드레스 레지스터, 76은 착오 정정 코우드(ECC)회로, 77은 기억데이터 레지스터, 78은 조합회로, 79는 인출 데이터 레지스터, 80은 기억실패 어드레스 레지스터(FSAR), 81은 버퍼 무효 어드레스 레지스터(BIR), 82는 범용 경로 레지스터(GPPR)이다.
CHP(8-0 혹은 8-1)에 할당된 억세스 포트(71-2)는 주기억 억세스 요구 레지스터(17), CHP 기억 데이터 레지스터(21), 제3도의 그밖의 같은 것등으로 구성되어 있다.
우선 순위회로(72)는 주기억 억세스 요구들이 중첩될 때 각 억세스 요구의 우선 순위에 따라서 한개의 억세스 요구를 선택한다.
인출요구가 선택될 때 요구한 어드레스 정보는 MSU(1-0∼1-3)를 판돌할 수 있도록 FMA검사회로(74)와 MS 어드레스 레지스터(75)를 통하여 MSU(1-0∼1-3)에 전송된다.
MSU(1-0∼1-3)로부터 판독된 판독데이터는 인출 데이터 레지스터(79)와 조합회로(78)를 통하여 ECC회로(76)에 전송되며, ECC회로(76)는 차례 차례 데이터를 착오정정 코우드 검사를 실행하며 요구하는 곳에 검사된 데이터를 전송한다.
이때 만약 ECC착오가 검출될 때에는 어드레스 정보는 FSAR(80)과 GPPR(82)를 통하여 CPU(6-0 혹은 6-1)에 전송된다.
기억요구가 선택될 때 어드레스 정보는 FMA검사회로(74)와 MS어드레스 레지스터(75)를 통하여 MSU(1-0∼1-3)에 전송된다. 또한 기억데이터는 ECC코우드를 형성하도록 ECC회로(76)에 입력된다. 이 ECC코우드와 기억데이터는 기억데이터 레지스터(77)에 배치되며 MSU(1-0∼1-3)에 기록된다.
부분 기억요구가 선택될 때 어드레스 정보는 MSU(1-0∼1-3)를 판독하도록 FMA검사회로(74)와 MS 어드레스 레지스터(75)를 통하여 MSU(1-0∼1-3)에 전송된다.
판독데이터 MSU(1-0∼1-3)와 기억데이터는 조합회로(78)에 의해서 조합되며, 조합회로(78)는 차례차례 ECC회로(76)에 조합된 데이터를 전송한다. 결국 ECC코우드는 조합된 데이터에 따라서 형성된다.
이 조합된 데이터과 그것의 ECC코우드는 기억데이터 레지스터(77)에 배치된다. 어드레스 정보는 MSU(1-0∼1-3)에 기록동작을 초기설정할 수 있도록 루우프백회로, 우선순위회로(72)및 FMA검사회로(74)를 통하여 MS어드레서 레지스터(75)에 배치된다.
앞부분에서 설명한 바와같이 본발명에 따른 콤퓨터시스템의 이점은 다음과 같다.
a) 억세스 제어가 간단하다.
b) 각 억세스 동작이 종료된 후 어느 한 채널에 할당된 태그 라인중의 어느 한개의 배리드 플라그(V)는 항상 논리"0"상태가 되기 때문에 실제 억세스 동작전에 어떤 "MOVE-OUT"동작도 필요없다.
c) "RELEASE"동작 대신에 복수의 "MOVE-OUT"동작이 수행되기 때문에 입/출력 명령이 초기설정되고 개입중단이 데이터 전송이 끝에서 발생될 때 어떤 "RELEASE"동작도 필요하지 않다.
d) 두개의 태그 라인과 같은 복수의 태그라인과 그들의 대응하는 데이터라인이 각 채널에 전용으로 할당되기 때문에 MSU에 대해 CPU가 억세스하기 전에 CHB를 서취하기 위한 제어가 간단하다.
e) 동일 이유로 인해서 CHB에 기억되는 데이터 순서를 모니터하기 위한 제어가 간단하다.

Claims (4)

  1. 콤퓨터 시스템에 있어서 ; 다수의 채널(10-0∼10-31) ; 최소한 한개의 중앙처리장치(6-0, 6-1) ; 최소한 한개의 주기억장치(1-0∼1-3) ; 및 상기 채널, 상기 중앙처리장치 및 상기 주기억장치 사이에 데이터 전송을 제어하기 위해 상기채널, 상기 중앙처리장치 및 상기 주기억장치에 연결된 기억제어장치(2)로 구성되는 콤퓨터 시스템에 있어서, 상기주기억장치와 상기 채널을 제어하기 위한 상기 기억제어장치에 포함되어 있는 채널 버퍼(3) ; 상기 주기억장치 블록의 블록 어드레스(ADDR 1-25)를 포함하고 있는 어드레스 정보(ADDR)와 제어정보(CTRL)를 기억하기 위한 태그라인 블록(11-0, 11-1)의 다수의 셋트(SET0∼SET31)로 구획되어 있으며 상기 채널버퍼에 포함되어 있는 태그부(11)(상기 태그부의 각 세트는 상기 채널중의 하나에 할당됨) ; 상기 태그라인중의 하나에 각각 대응되는 다수의 데이터라인으로 구획되어 있으며 상기 채널버퍼에 포함되어 있는 데이터부(12) ; 상기 태그부 각 블록의 한 태그라인을 선택하도록 상기 채널 번호를 사용하 대응하는 채널에 할당된 상기 태그부 및 상기 데이터라인을 억세스하기 위한 제1억세스 수단(14, 26) : 데이터라인중의 하나의 데이터라인을 선택할 수 있도록 상기 데이터부를 억세스하기 위한 제2억세스 수단(19, 26) ; 상기 주기억장치를 억세스하기 위한 제3억세스 수단(17, 26) ; 양 어드레스가 매칭될 때 매칭신호(MCHO, MCHI)를 발생할 수 있도록 상기 주기억장치에 상기 채널에 억세스 어드레스와 상기 제1억세스 수단에 의해서 선택된 각 태그라인에 기억된 블록 어드레스를 비교하기 위한 상기 태그부에 연결된 비교기 수단(16-0, 16-1)을 포함하며, 상기 매칭신호들중의 한개가 발생될 때에는 상기 제2억세스 수단에 의해서 상기 데이터부에 억세스가 실행되는 반면에, 상기 매칭신호중의 어떤 하나도 발생되지 않을 때에는 상기 제3억세스 수단에 의해서 상기 주기억장치에 억세스가 실행되는 것을 특징으로 하는 콤퓨터 시스템.
  2. 제1항에 있어서, 상기 채널중의 하나가 상기 주기억 장치에 부분기억 억세스를 요구할 때 상기 주기억 장치를 직접 억세하기 위한 제4수단(41∼45)을 더 포함하는 것을 특징으로 하는 콤퓨터 시스템.
  3. 제1항에 있어서, 상기 채널중의 하나가 상기 주기억 장치에 특수한 데이터(CAW,CCW, DAT, CSW)에 대하여 억세스를 요구할 때 상기 주기억자어치를 직접 억세스하기 위한 제5억세스 수단(51∼53)을 포함하는 것을 특징으로 하는 콤퓨터 시스템.
  4. 제1항에 있어서, 데이터가 상기 데이터부 각 데이터라인의 중간이상 지점에 기억될 때, 인출데이터가 상기 데이터부의 다음번 데이터라인에 기억될 수 있도록 상기주기억장치를 인출하기 위한 사전 인출수단(24)을 포함하는 것을 특징으로 하는 콤퓨터 시스템.
KR8202655A 1981-06-15 1982-06-15 콤퓨터 시스템 KR880000361B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP56091698A JPS6055859B2 (ja) 1981-06-15 1981-06-15 チャネル・バッファ制御方式
JP56-61698 1981-06-15
JP56095679A JPS57209525A (en) 1981-06-19 1981-06-19 Access controlling system for channel buffer
JP56-95679 1981-06-19

Publications (2)

Publication Number Publication Date
KR840000835A KR840000835A (ko) 1984-02-27
KR880000361B1 true KR880000361B1 (ko) 1988-03-20

Family

ID=26433140

Family Applications (1)

Application Number Title Priority Date Filing Date
KR8202655A KR880000361B1 (ko) 1981-06-15 1982-06-15 콤퓨터 시스템

Country Status (8)

Country Link
US (1) US4453216A (ko)
EP (1) EP0067657B1 (ko)
KR (1) KR880000361B1 (ko)
AU (1) AU535717B2 (ko)
BR (1) BR8203488A (ko)
CA (1) CA1187198A (ko)
DE (1) DE3278336D1 (ko)
ES (1) ES513068A0 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4525777A (en) * 1981-08-03 1985-06-25 Honeywell Information Systems Inc. Split-cycle cache system with SCU controlled cache clearing during cache store access period
JPS593774A (ja) * 1982-06-30 1984-01-10 Fujitsu Ltd アクセス処理方式
JPS59188879A (ja) * 1982-12-17 1984-10-26 シンボリツクス・インコ−ポレ−テツド デ−タプロセツサ
JPS59213084A (ja) * 1983-05-16 1984-12-01 Fujitsu Ltd バッファ記憶装置のアクセス制御方式
AU575351B2 (en) * 1983-11-07 1988-07-28 Digital Equipment Corporation Data processing system
CA1221464A (en) * 1983-12-26 1987-05-05 Hidehiko Nishida Data processor system having improved data throughput of multiprocessor system
US4757440A (en) * 1984-04-02 1988-07-12 Unisys Corporation Pipelined data stack with access through-checking
JPH0616272B2 (ja) * 1984-06-27 1994-03-02 株式会社日立製作所 メモリアクセス制御方式
US4852127A (en) * 1985-03-22 1989-07-25 American Telephone And Telegraph Company, At&T Bell Laboratories Universal protocol data receiver
US4821185A (en) * 1986-05-19 1989-04-11 American Telephone And Telegraph Company I/O interface system using plural buffers sized smaller than non-overlapping contiguous computer memory portions dedicated to each buffer
US5032985A (en) * 1988-07-21 1991-07-16 International Business Machines Corporation Multiprocessor system with memory fetch buffer invoked during cross-interrogation
JPH02151926A (ja) * 1988-12-02 1990-06-11 Fujitsu Ltd 端末装置切替方式
US5287482A (en) * 1989-01-13 1994-02-15 International Business Machines Corporation Input/output cache
JPH0666056B2 (ja) * 1989-10-12 1994-08-24 甲府日本電気株式会社 情報処理システム
US5481707A (en) * 1991-05-19 1996-01-02 Unisys Corporation Dedicated processor for task I/O and memory management
EP0551789A1 (en) * 1992-01-17 1993-07-21 International Business Machines Corporation Apparatus for recovering lost buffers in a data processing system
US5455942A (en) * 1992-10-01 1995-10-03 International Business Machines Corporation Partial page write detection for a shared cache using a bit pattern written at the beginning and end of each page
GB2297398B (en) * 1995-01-17 1999-11-24 Advanced Risc Mach Ltd Accessing cache memories
US5860149A (en) * 1995-06-07 1999-01-12 Emulex Corporation Memory buffer system using a single pointer to reference multiple associated data
US6167486A (en) 1996-11-18 2000-12-26 Nec Electronics, Inc. Parallel access virtual channel memory system with cacheable channels
KR100479623B1 (ko) * 1997-04-15 2005-07-07 엘지전자 주식회사 캐시태그메모리및그구동시스템
US6708254B2 (en) 1999-11-10 2004-03-16 Nec Electronics America, Inc. Parallel access virtual channel memory system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3670307A (en) * 1969-12-23 1972-06-13 Ibm Interstorage transfer mechanism
US3670309A (en) * 1969-12-23 1972-06-13 Ibm Storage control system
GB1354827A (en) * 1971-08-25 1974-06-05 Ibm Data processing systems
US3967247A (en) * 1974-11-11 1976-06-29 Sperry Rand Corporation Storage interface unit
US4075686A (en) * 1976-12-30 1978-02-21 Honeywell Information Systems Inc. Input/output cache system including bypass capability
US4157586A (en) * 1977-05-05 1979-06-05 International Business Machines Corporation Technique for performing partial stores in store-thru memory configuration
US4142234A (en) * 1977-11-28 1979-02-27 International Business Machines Corporation Bias filter memory for filtering out unnecessary interrogations of cache directories in a multiprocessor system
JPS5849945B2 (ja) * 1977-12-29 1983-11-08 富士通株式会社 バツフア合せ方式
US4168541A (en) * 1978-09-25 1979-09-18 Sperry Rand Corporation Paired least recently used block replacement system
CA1123964A (en) * 1978-10-26 1982-05-18 Anthony J. Capozzi Integrated multilevel storage hierarchy for a data processing system
US4298929A (en) * 1979-01-26 1981-11-03 International Business Machines Corporation Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability

Also Published As

Publication number Publication date
US4453216A (en) 1984-06-05
EP0067657A2 (en) 1982-12-22
CA1187198A (en) 1985-05-14
AU535717B2 (en) 1984-04-05
DE3278336D1 (en) 1988-05-19
KR840000835A (ko) 1984-02-27
BR8203488A (pt) 1983-06-07
AU8478282A (en) 1983-01-13
ES8305516A1 (es) 1983-04-01
EP0067657B1 (en) 1988-04-13
ES513068A0 (es) 1983-04-01
EP0067657A3 (en) 1984-10-24

Similar Documents

Publication Publication Date Title
KR880000361B1 (ko) 콤퓨터 시스템
EP0179811B1 (en) Interleaved set-associative memory
US5590379A (en) Method and apparatus for cache memory access with separate fetch and store queues
US4068303A (en) Address translation managing system with translation pair purging
US5586297A (en) Partial cache line write transactions in a computing system with a write back cache
US4053752A (en) Error recovery and control in a mass storage system
EP0407052A2 (en) Method to increase performance in a multi-level cache system by the use of forced cache misses
US6571316B1 (en) Cache memory array for multiple address spaces
JPH0253813B2 (ko)
US5293618A (en) Method for controlling access to a shared file and apparatus therefor
EP0438960B1 (en) Fast store-through cache memory
EP0180369B1 (en) Cache memory addressable by both physical and virtual addresses
US5737753A (en) Least recently used block replacement for four block cache logic system
JPS6194159A (ja) メモリ装置
JPS644214B2 (ko)
JPS6022376B2 (ja) キャッシュメモリ制御装置
JPS6329297B2 (ko)
EP0376253B1 (en) Information processing apparatus with cache memory
EP0502206A1 (en) System equipped with processor and cache memory, and method of controlling said cache memory
JPS6055859B2 (ja) チャネル・バッファ制御方式
JP2645477B2 (ja) マイクロプロセッサ及びそのキャッシュメモリ
JPS6319856Y2 (ko)
EP0358224A2 (en) Semiconductor disk device useful in transaction processing system
JPS6116348A (ja) バツフア・メモリ装置
JPS6334496B2 (ko)