KR0120930B1 - 실행어드레스의 계산방법 및 통신제어장치 - Google Patents

실행어드레스의 계산방법 및 통신제어장치

Info

Publication number
KR0120930B1
KR0120930B1 KR1019880015743A KR880015743A KR0120930B1 KR 0120930 B1 KR0120930 B1 KR 0120930B1 KR 1019880015743 A KR1019880015743 A KR 1019880015743A KR 880015743 A KR880015743 A KR 880015743A KR 0120930 B1 KR0120930 B1 KR 0120930B1
Authority
KR
South Korea
Prior art keywords
data
address
communication
bit
instruction
Prior art date
Application number
KR1019880015743A
Other languages
English (en)
Other versions
KR890010708A (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 JP62303958A external-priority patent/JPH01144839A/ja
Priority claimed from JP62321203A external-priority patent/JPH01163834A/ja
Application filed by 미다 가쓰시게, 가부시기가이샤 히다찌세이사꾸쇼 filed Critical 미다 가쓰시게
Publication of KR890010708A publication Critical patent/KR890010708A/ko
Application granted granted Critical
Publication of KR0120930B1 publication Critical patent/KR0120930B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

내용 없음

Description

실행어드레스의 계산방법 및 통신제어장치
제1도는 본 발명에 관한 통신제어장치의 1실시예인 통신제어 LSI를 포함하는 시스템블럭도.
제2도는 본 발명의 1실시예인 통신프로토콜 제어용 LSI의 주요부를 도시한 블럭도.
제3도 및 제6도는 데이타테이블의 설명도.
제4도는 오퍼랜드 어드레스와 수정레지스터의 내용을 가산해서 실효어드레스를 얻는 처리의 설명도.
제5도a, 제5도b 및 제5도c는 본 발명에 관한 어드레스 수정방식의 다른 실시예의 설명도.
* 도면의 주요부분에 대한 부호의 설명
1 : 통신제어 LSI 2 : 메인메모리
3 : 호스트 프로세서 4 : 공통 내부버스
5 : 프레임 송수신 제어부 6 : 시스템 인터페이스부
7 : DMAC 8 : RAM
9 : 중앙처리장치(CPU) 11 : EPROM
12 : 명령전용버스 20 : 명령레지스터
21 : 명령디코더 22 : 콘트롤러
27 : 레지스터 선택회로
본 발명은 마이크로 프로세서에 의한 실행어드레스의 계산방법 및 통신제어장치에 관한 것으로서, 예를들면 디지탈통신 통합망을 위한 통신프로토콜 제어용 LSI에 적용해서 유효한 기술에 관한 것이다.
디지탈통신 통합망으로서는 일본국 소화 60년 12월 25일 옴사발행의 마이크로 컴퓨터 핸드북 P.774 및 P.775에 기재되어 있는 바와 같이 전화, 데이타, 팩시밀리 통신이나 각종 통신처리 서비스를 1개의 디지탈통신망으로 종합해서 제공하는 디지탈종합 서비스망(ISDN)이나 고도의 정보통신 시스템(INS)이 제공되어 있지만, 각종 단말장치가 결합되는 교환국에는 상기 국과 소정의 단말장치 사이에서 통신처리를 실행하는 경우의 통신프로토콜 제어용 LSI가 마련되어 있다. 이 통신프로토콜 제어용 LSI는 국과 소정의 단말장치 사이에서 통신처리를 개시할 때, 적어도 단말장치의 종류나 통신속도 등 통신처리에 필요한 데이타를 단말장치마다 갖는 데이타테이블을 액세스하는 기능이 필요로 된다. 이 통신프로토콜용 데이타테이블의 액세스시에는 그 처리의 고속화가 필요로 되기 때문에, 분기명령을 거쳐서 데이타테이블의 선택을 실행할 수 있다. 그 경우에는 데이타테이블 변경을 위한 기준어드레스 데이타의 로드, 로드된 기준어드레스에 대한 변위량의 가산처리 및 가산결과의 저장 등 여러가지 소프트웨어 스텝이 필요하게 된다.
그러나, 상기와 같은 분기명령을 거친 데이타테이블의 액세스처리에서는 그 액세스에 여러개의 소프트웨어 스텝을 필요로 하기 때문에, 여러개의 단말장치를 순차 임의로 서포트하지 않으면 안되는 통신프로토콜 제어용 LSI에 있어서, 요구되는 통신프로토콜용 데이타테이블의 고속액세스를 충분히 만족시킬 수 없다는 것이 본 발명자의 검토에 의해서 명확하게 되었다.
한편, 통신제어장치에는 데이타전송 제어수순을 규정하기 위한 통신프로토콜 처리프로그램이 편성되지만, 특정의 프로토콜에 한정되지 않고 다른 종류의 프로토콜이나 프로토콜의 변경에 대응해서 소정의 데이타전송 제어수순을 편성가능하게 하는 것이 요구된다.
본 발명의 목적은 여러개의 데이타테이블중에서 소정의 데이타테이블을 고속으로 액세스할 수 있는 실행어드레스의 계산방법을 제공하는 것이다.
본 발명의 다른 목적은 특정의 프로토콜에 한정되지 않고 다른 종류의 프로토콜이나 프로토콜의 변경에 대응해서 소정의 데이타전송 제어수순을 편성할 수 있는 통신제어장치를 제공하는 것이다.
본 발명의 상기 및 그밖의 목적과 새로운 특징은 본 명세서의 기술 및 첨부도면으로부터 명확하게 될 것이다.
본원에 있어서 개시되는 발명중 대표적인 것의 개요를 간단하게 설명하면 다음과 같다.
즉, 명령어에 포함되는 오퍼랜드 어드레스에 수정레지스터의 내용을 가산해서 실효어드레스를 얻는 방식으로서, 각각의 소정의 기억용량으로 구성된 여러개의 데이타테이블을 각각 지정하기 위한 어드레스데이타를 수정레지스터에 저장해 두고, 명령어에 따라서 수정레지스터의 소정의 어드레스데이타를 선택하고, 그 선택된 어드레스데이타와 오퍼랜드 어드레스에 포함되어 있어 각 데이타테이블내에 있어서의 공통의 상대어드레스를 지정하는 상대어드레스데이타를 가산처리하는 것에 의해서 오퍼랜드를 어드레싱하기 위한 실효어드레스를 얻는 것이다.
상기한 수단에 의하면, 어드레스부를 갖는 1개의 명령어를 실행하는 것에 의해서 수정레지스터의 선택, 선택된 수정레지스터가 보유하는 어드레스데이타와 상기 명령어에 포함되는 어드레스데이타의 가산처리가 실행되어 원하는 데이타테이블을 어드레싱하기 위한 실효어드레스가 얻어지고, 그것에 의해서 여러개의 데이타테이블에 대해 소정의 데이타테이블의 고속액세스를 달성하는 것이다.
한편, 본원에 있어서 개시되는 다른 발명의 개요를 간단하게 설명하면 다음과 같다.
즉, 통신제어장치에는 데이타전송 제어수순을 규정하기 위한 통신프로토콜 처리프로그램을 저장하는 리라이트가능한 불휘발성 반도체 기억장치가 마련된다.
상기한 수단에 의하면, 데이타전송 제어수순을 규정하기 위한 통신프로토콜 처리프로그램이 리라이트가능한 불휘발성 반도체기억장치에 저장되어 있으므로, 통신프로토콜 처리프로그램을 필요에 따라서 수정 및 변경할 수가 있다. 따라서, 특정의 프로토콜에 한정되지 않고 다른 종류의 프로토콜이나 프로토콜의 변경에 대응해서 소정의 데이타전송 제어수순을 통신제어장치에 편성할 수 있게 된다. 상기 리라이트가능한 불휘발성 반도체기억장치는 EPROM 내지는 EEPROM으로 할 수 있다.
다음에, 본 발명의 실시예를 도면을 참조해서 설명한다.
제1도는 본 발명에 적용되는 통신제어장치의 1실시예인 통신제어 LSI(1)을 포함하는 시스템블럭도이다. 동일도면에 도시된 통신제어 LSI(1)은 특히 제한되지 않지만, 공지의 반도체 집적회로 제조기술에 의해서 1개의 반도체기판에 형성된다.
제1도에 도시한 통신제어 LSI(1)은 메인메모리(2)나 호스트프로세서(3) 등과 함께 소정의 통신기능모듈을 구성하고, 상대국을 구성하는 그 이외의 통신기능모듈과의 사이에서 데이타통신을 실행하는 경우에 데이타전송 제어수순이나 그밖의 제어를 지원한다.
이 통신제어 LSI(1)의 공통내부버스(4)에는 송신회선 TL 및 수신회선 RL을 거쳐서 여러개의 단말장치(15),(16)과 직렬 인터페이스를 실행하기 위한 통신제어수단으로서 마련된 프레임 송수신 제어부(5), 자국에서의 메인메모리(2)나 호스트프로세서(3)등과 인터페이스되는 시스템 인터페이스부(6), 시스템 인터페이스부(6)을 거치지 않고 직접 메인메모리(2) 등과의 사이에서 데이타전송을 실행하기 위한 DMAC(Direct Memory Access Controller)(7), 데이타전송제어를 실행하는데 필요로 되는 시스템정수 등의 각종 제어용 데이타를 리라이트가능하게 저장하는 RAM(8) 및 통신제어 LSI(1) 전체의 제어를 하는 중앙처리장치(CPU)(9)가 결합된다.
상기 프로임 송수신 제어부(5)는 수신회선 RL에서 수신한 직렬데이타에 대해서 비트동기 및 문자동기를 취하고, 이것을 직렬-병렬 변환하여 전송에러를 검출하기 위한 소정의 연산을 실행함과 동시에 수신데이타 또는 수신프레임의 종류에 따라서 중앙처리장치(9)에 소정의 인터럽트처리를 지시한다. 또, 데이타를 송출할 때에는 송출할 데이타 또는 프레임을 병렬-직렬 변환하고, 비트동기 및 문자동기를 취하면서 전송에러 검출용의 부호 등을 부가해서 데이타를 송신회선 TL에서 송출한다.
상기 DMAC(7)은 프레임 송수신 제어부(5)에서 처리된 수신데이타 또는 수신프레임의 소정의 필드를 메인메모리(2)에 저장하기 위한 데이타전송제어를 실행함과 동시에 메인메모리(2)에 저장되어 있는 데이타를 송신하기 위해 프레임 송수신 제어부(5)로 전송하는 제어를 실행하고, 또 통신프로토콜 처리에 필요한 각종 파라미터나 테이블구성용 데이타를 메인메모리(2)와 RAM(8) 사이에서 전송하는 제어를 실행한다.
특히 제한되지 않지만, 프레임 송수신 제어부(5)와 메인메모리(2) 사이에서 실행되는 DMAC(7)의 제어에 따른 데이타전송에는 DMAC(7)과 프레임 송수신 제어부(5)를 결합하는 DMAC 전송전용버스(13)이 사용된다. 이것에 의해, DMAC(7)의 액세스제어에 의해서 프레임 송수신 제어부(5)와 메인메모리(2) 사이에서의 데이타전송이 실행될 때 공통내부버스(4)는 상기 DMAC 전송에 점유되지 않고, 이러한 DMAC 전송중에 중앙처리장치(9)는 통신프로토콜처리의 필요에 따라서 공통내부버스(4)를 이용할 수 있다.
상기 프레임 송수신 제어부(5)와 DMAC(7) 사이에는 선입선출방식의 데이타버퍼 FIFO(10)이 마련되어있고, 상기 DMAC(7)의 제어에 의한 데이타전송속도와 프레임 송수신 제어부(5)에 의한 데이타의 송수신속도와의 차이를 흡수 또는 완충하도록 되어 있다.
상기 시스템 인터페이스부(6)은 호스트프로세서(3)이 통신제어 LSI(1)로 코맨드를 전송하거나 통신제어 LSI(1)의 내부상태에 대응하는 상태를 리드할 때에 이용된다.
이 통신제어 LSI(1)에는 데이타전송 제어수순을 규정하기 위한 통신프로토콜 처리프로그램이 편성되어 있지만, 상기 프로토콜 처리프로그램은 리라이트가능한 불휘발성 반도체기억장치 1예인 EPROM(Erasable and Programmale Read Only Memory)(11)에 저장된다. 따라서, 이 EEPROM(11)이 저장할 통신프로토콜 처리프로그램을 필요에 따라서 선택하거나 변경하는 것에 의해서, 이 통신제어 LSI(1)은 특정의 프로토콜에 한정되지 않고 다른 종류의 프로토콜이나 프로토콜의 변경에 대응해서 원하는 데이타전송 제어수순을 편성할 수 있게 된다.
상기 EPROM(11)은 전기적으로 리라이트가능한 EEPROM(Electrically Erasable and Programmale Read Only Memory)으로 변경해도 좋다. EEPROM을 채용하는 경우에는 시스템상에 있어서 데이타전송 제어수순을 리라이트할 수 있다. 따라서, LAPB나 LAPD(Link Access Procedure on D channel), 더나아가서는 그 이외에도 HDLC계열의 제어수순 등 다른 프로토콜에 따라서 링크를 확장할 수 있도록 프레임 송수신 제어부(5)가 이용되는 경우에는 선택적으로 처리가능한 전송제어 수순을 미리 통신제어 LSI의 외부에 유지시키고, 필요에 따라서 소정의 제어수순을 상기 EEPROM에 저장하도록 할 수가 있다. 또, 시스템이 완성된 후에 통신프로토콜을 변경 또는 수정하는 경우에는 상기 시스템상에 있어서 그 변경에 대응해서 프로토콜 처리프로그램의 리라이트 또는 수정을 실행할 수가 있다.
상기 EPROM(11)에 저장되는 프로토콜 처리프로그램은 특히 제한되지 않지만 마이크로 명령군에 의해서 구성된다. 이 마이크로 명령은 특히 제한되지 않지만, 연산이나 데이타전송 등의 각종 처리를 각각 일정한 사이클 또는 일정한 스텝수로 실행할 수 있는 비트수를 갖고 마이크로코드나 각종 정보필드가 형성되어 있다.
이 EPROM(11)은 중앙처리장치(9)에 의해서 액세스되고, 이것에 의해서 리드되는 소정의 마이크로명령은 명령전용버스(12)를 거쳐서 중앙처리장치(9)에 공급된다.
중앙처리장치(9)는 특히 제한되지 않지만, 상기 EPROM(11)을 액세스하기 위한 마이크로 어드레스 콘트롤러, EPROM(11)에서 공급되는 마이크로명령을 디코드하는 마이크로명령 디코더, 마이크로명령 디코더의 출력제어신호에 따라서 마이크로명령을 실행하는 실행유니트, 공통내부버스(4)에 결합되는 버스인터페이스 유니트 및 인터럽트 콘트롤러 등을 내장해서 이루어지며, 상기 PROM(11)에서 공급되는 마이크로명령에 의해서 소정의 통신프로토콜에 따른 데이타전송 제어를 실행한다.
예를들면, 상기 EPROM(11)에는 HDLC 제어수순계열에 속하는 ISDN용의 LAPD 제어수순 또는 이것에 준한 제어수순을 규정하기 위한 통신프로토콜 처리프로그램이 저장된다.
제2도는 본 발명이 적용된 통신제어 LSI의 주요부를 도시한 블럭도이다. 이 실시예에서 설명하는 각 블럭은 다음에 기술하는 바와 같이 제1도에 도시한 통신제어 LSI의 각 블럭과 대략 대응한다.
본 실시예의 통신프로토콜 제어용 LSI는 특히 제한되지 않지만, ISDN 교환국에 내장되어 전화, 팩시밀리, 디스플레이, 퍼스널컴퓨터 등의 제1도에 도시된 여러개의 단말장치(15),(16)이 접속되어 있는 통신회선(TL 및 RL)과 인터페이스를 취한 직력입출력회로 SI/O(17)을 갖는다. 이 직렬입출력회로 SI/O(17)은 제1도의 프레임 송수신 제어부(5) 및 FIFO(10)에 대응한다. 또, 통신프로토콜 제어용 LSI는 데이타 입출력버퍼(18)을 거쳐서 교환국의 제1도에 도시한 바와 같은 호스트 프로세서(3)등에 결합되어 있다. 이 데이타 입출력버퍼(18)은 제1도의 DMAC(7)등에 대응한다.
이 통신프로토콜 제어용 LSI는 명령제어계로서 프로그램메모리(19)에서 내부데이타버스 IDB에 리드되는 명령을 페치하는 명령레지스터(20), 그 명령레지스터(20)에 페치된 명령 특히 오퍼레이션코드를 디코드하는 명령디코더(21) 및 그 명령디코더(21)에서 출력되는 제어데이타에 따라서 각부에 제어신호를 순차 공급하는 콘트롤러(22)등이 마련되어 있다. 상기 프로그램 메모리(19)는 제1도에 도시한 EPROM(11)에 대응한다. 또, 상기 명령제어계의 제어에 따른 연산처리를 실행하는 연산실행계로서 연산을 위한 데이타 또는 연산결과 데이타가 축적되는 어큐뮬레이터(23), 명령의 내부실행시에 사용되는 일시레지스터(24) 및 산술연산유니트 ALU(25)등이 각각 상기 내부데이타버스 IDB에 결합되어 있다. 또한, 1점쇄선으로 둘러싸인 부분은 제1도에 도시한 CPU(9)와 대응한다.
제2도에 있어서 레지스터 어레이(26)은 명령제어나 연산실행에 필요로 되는 각종 제어용 데이타나 연산용 데이타를 저장하는 레지스터 어레이로서, 실제로는 소정의 비트수의 데이타를 고속으로 리드/라이트할 수 있는 데이타메모리 등으로 구성되며, 내부데이타버스 IDB에 결합되어 있다. 레지스터 어레이에 포함되는 레지스터의 선택은 상기 콘트롤러(22)에서 출력되는 제어신호를 받는 레지스터 선택회로(27)에 의해서 실행된다.
상기 레지스터 어레이에는 각종 범용레지스터 및 전용레지스터가 포함되고, 어드레스 신호형성에 관여하는 것으로서 현재 실행중인 프로그램의 메모리어드레스를 지정하는 프로그램카운터 및 스택영역의 최상위를 표시하는 스택포인터, 데이타메모리(28)의 어드레스를 지정하는 어드레스포인터 및 이후 상세하게 기술하는 수정레지스터군 MR1,MR2,…,MRn이 포함되어 있다. 상기 프로그램카운터, 스택포인터 및 어드레스포인터는 인크리멘터/디크리멘터의 출력단자를 거쳐서 내부어드레스버스 IAB에 접속되고, 그 내부어드레스버스 IAB에는 프로그램메모리(19)의 어드레스신호 입력단자 및 데이타메모리(28)의 어드레스신호 입력단자가 결합되어 있다.
여기에서, 본 실시예의 통신프로토콜 제어용 LSI는 직렬입출력회로(17)을 거쳐서 소정의 단말장치와의 사이에서 통신처리를 실행할때 필요로 되는 단말장치의 종류나 회선상태 등의 데이타를 단말장치마다 프로토콜 데이타테이블(이하, 단지 데이타테이블이라고도 한다)에 보유한다. 이 데이타테이블은 제3도에 도시된 바와 같이 단말장치의 수에 따라서 각각 동일한 기억용량에 의해 n개의 데이타테이블 TA1∼TAn으로서 상기 데이타메모리(28)에 형성되어 있다. 예를들면, 각각의 데이타테이블 TA1∼TAn은 특히 제한되지 않지만, 4비트의 어드레스데이타 Bi에 의해 어드레싱할 수 있는 기억용량에 의해서 각각 구성되어 있다. 또, 데이타테이블 TA1∼TAn의 종류는 특히 제한되지 않지만, 9비트의 어드레스데이타 Ai에 의해서 차별화되도록 되어 있다. 이 9비트의 어드레스데이타 Ai는 특히 제한되지 않지만, 본 실시예의 통신프로토콜 제어용 LSI가 직접 관리하는 어드레스 공간에 관한 것으로 된다.
데이타테이블 TA1∼TAn에 대한 어드레싱은 명령어에 포함되는 어드레스부를 상기 수정레지스터군 MR의 내용에 따라 수정하는 방식으로 얻은 실효어드레스에 의해서 실행가능하게 된다.
먼저, 데이타테이블을 액세스하는 경우의 명령어에 포함되는 오퍼랜드 어드레스 OA는 특히 제한되지 않지만 제4도에 도시된 바와 같이 13비트로 이루어지고, 그의 하위 4비트는 각각의 데이타테이블내에 있어서의 상대어드레스에 대응하는 어드레스데이타 Bi로 되고, 그의 상위 9비트 ai는 본 실시예에 따르면 모두 0으로 된다. 상기 수정레지스터군 MR은 상기 도시하지 않은 단말장치에 1:1로 대응되는 데이타테이블 TA1∼TAn의 종류를 특정하는 9비트의 어드레스데이타 Ai를 상위 9비트에 개별적으로 저장하는 각각 13비트의 수정레지스터 MR1∼MRn의 집합으로서 구성된다. 각 수정레지스터 MR1∼MRn의 하위 4비트 b1,b2,…,bn의 내용은 본 실시예에 따르면 각각 0으로 된다. 그러나, 이 실시예에 한정되는 것은 아니다. 왜냐하면, 오퍼랜드 어드레스 데이타 Bi에 대한 수정을 실행할 필요가 없기 때문이다. 따라서, 상기 각 수정레지스터 MR1,MR2,…,MRn의 비트길이는 각 어드레스데이타 A1,A2,…,An을 저장하기 위한 비트길이로 구성되는 것이어도 좋다. 특히 제한되지 않지만, 명령어의 오퍼레이션코드 OP에는 수정레지스터 M1∼MRn중에서 1개를 선택하기 위한 소정의 비트수의 코드가 포함되어 있다.
본 실시예의 통신프로토콜 제어용 LSI가 직렬입출력회로(17)을 거쳐서 소정의 단말장치와의 사이에서 통신처리를 실행할때, 상기 단말장치의 종류나 회선상태 등의 데이타를 데이타테이블 TA1∼TAn중의 소정의 1개, 예를들면 데이타테이블 TA1에서 얻는 경우 프로그램메모리(19)에서 소정의 명령이 리드되면 그 명령어의 오퍼레이션코드 OP는 명령레지스터(20)에 페치된다. 페치된 오퍼레이션코드 OP는 명령디코더(21)에 의해서 해독되고, 그 내용에 따른 제어신호가 콘트롤러(22)를 거쳐서 각부에 공급된다.
상기 명령에 포함되는 오퍼랜드 어드레스 OA는 일시레지스터(24)에 저장된다. 이러한 오퍼랜드 어드레스 OA는 본 실시예에 따르면 각각의 데이타테이블내에 있어서의 공통의 상대어드레스에 대응하는 소정의 어드레스데이타 Bi를 하위 4비트에 포함하고 또한 그의 상위 9비트는 0으로 되는 어드레스데이타이다. 상기 오퍼레이션코드 OP에는 수정레지스터 MR1∼MRn중에서 1개의 수정레지스터 MRi를 선택하기 위한 코드가 포함되어 있고, 이 코드에 따라서 콘트롤러(22)에서 출력되는 출력제어신호에 따라 레지스터선택회로(27)의 동작에 의해 수정레지스터 MRi가 선택된다. 선택된 수정레지스터 MRi에서 출력되는 어드레스데이타는 데이타테이블 TA1을 지정하기 위한 어드레스데이타 Ai가 상위 9비트에 포함되고, 그의 하위 4비트는 0으로 되어 어큐뮬레이터(23)으로 전송된다. 또한, 어큐뮬레이터(23)으로 전송된 데이타는 어드레스데이타 Ai뿐이라도 좋다. 그 이유는 산술연산유니트 ALU에 있어서 실질적으로 연산의 대상을 되는 것은 상기 어드레스데이타 Ai이기 때문이다. 어큐뮬레이터(23)에 저장된 어드레스데이타와 일시레지스터(24)에 저장된 오퍼랜드 어드레스 OA는 산술연산유니트 ALU에 의해서 가산처리되고, 그것에 의해서 데이타테이블 TAi를 지정하기 위한 어드레스데이타 Ai를 상위 9비트로 함과 동시에, 각각의 데이타테이블내에 있어서의 공통의 상대어드레스에 대응하는 소정의 어드레스데이타 Bi를 하위 4비트로 하는 데이타테이블 TAi 액세스용 실효어드레스가 얻어진다. 상기 어드레스데이타 Bi는 실질적으로 연산의 대상으로 되지 않고 상기 어드레스데이타 Ai만이 연산의 대상으로 되므로, 데이타테이블 TAi 액세스용의 실효어드레스를 고속으로 얻을 수가 있다. 이러한 실효어드레스 데이타는 상기 어드레스포인터 AP를 거쳐서 데이타메모리 DTM에 공급되고, 그것에 의해서 데이타메모리 DTM에 포함되는 데이타테이블 TA1이 액세스되어 소정의 통신프로토콜 제어용 데이타가 상기 명령어의 실행시에 소정의 단말장치와의 통신처리에 필요로 되는 오퍼랜드로서 리드된다.
제5도 a에는 데이타테이블을 액세스하는 경우의 명령포맷의 다른 실시예를 도시한다. 이 명령포맷에서는 오퍼랜드 어드레스 OA와 함께 오퍼랜드 어드레스 OA중의 일부의 어드레스데이타 Ai를 수정하기 위한 수정데이타 Ai가 포함되어 있다. 이 실시예에서는 설명을 간단하게 하기 위해서, 오퍼랜드 어드레스 OA가 4비트, 수정데이타 Ai가 2비트로 구성되어 있지만, 이것에 한정되는 것은 아니다.
제6도는 제5도 a에 도시된 명령포맷에 의해 액세스할 수 있는 데이타테이블 TA1,TA2,TA3 및 TA4와 오퍼랜드 어드레스 OA와의 관계를 도시한 것이다. 오퍼랜드 어드레스 OA는 4비트로 구성되므로, 본 실시예에 있어서는 어드레스번호 A11∼A44로 나타낸 바와 같이 16종류의 액세스가 가능하다.
제6도 b는 상기 제5도 a에 도시한 명령포맷을 사용해서 어드레스번호 A32에 대응하는 오퍼랜드 어드레스를 얻는 방법을 도시한 것이다. 이 실시예에서는 명령포맷중의 오퍼랜드 어드레스 ai(01)와 명령포맷중의 수정데이타 Ai'(10)을 가산하는 것에 의해서, 어드레스번호 A32에 대응하는 오퍼랜드 어드레스의 상위 2비트 Ai(10)을 형성하고 있다. 하위 2비트 Bi(01)에 대해서는 수정이 이루어지지 않는다.
제5도 c는 어드레스번호 A42에 대응하는 오퍼랜드 어드레스를 얻는 방법을 도시한 것이다. 이 실시예에서는 명령포맷중의 오퍼랜드 어드레스 ai(01)와 명령포맷중의 수정데이타 Ai'(10)을 가산하는 것에 의해서, 어드레스번호 A42에 대응하는 오퍼랜드 어드레스의 상위 2비트 Ai(11)을 형성하고 있다. 하위 2비트 Bi(01)에 대해서는 수정이 이루어지지 않는다.
상기 제5도 a에 도시한 명령포맷에서는 수정데이타를 포함하기 때문에, 제2도에 도시한 바와 같은 여러개의 수정레지스터군 MR1∼MRn을 이 통신용 LSI내에 마련할 필요는 없다.
상기 실시예에 의하면, 다음과 같은 작용효과를 얻을 수 있다.
[1] 직렬입출력회로 SI/O를 거쳐서 소정의 단말장치와의 사이에서 통신처리를 실행할 때, 상기 단말장치의 종류나 회선상태 등의 프로토콜 제어용 데이타를 데이타테이블 TA1∼TAn중의 소정의 1개에서 얻는 경우에 필요로 되는 명령어에는 수정레지스터 선택용 코드와 각각의 데이타테이블내에 있어서는 공통의 상대 어드레스에 대응하는 소정의 어드레스데이타 Bi를 보유하는 오퍼랜드 어드레스 OA가 포함되고, 그 수정레지스터 선택용 코드에 의해서 선택되는 수정레지스터의 내용과 오퍼랜드 어드레스 OA의 일부(예를들면, 소정의 상위비트)가 가산처리되는 것에 의해서 필요한 데이타테이블을 액세스하기 위한 실효어드레스가 부여되므로, 데이타테이블을 액세스해서 소정의 프로토콜 제어용 데이타를 얻는데 필요한 명령의 실행을 단일의 소프트웨어 스탭에 의해서 달성할 수가 있다. 또, 오퍼랜드 어드레스 OA의 일부(예를들면, 소정의 하위비트)에 대해서 가산처리를 실행할 필요가 없다. 따라서, 오퍼랜드 어드레스 OA의 비트수가 많은 경우 등 가산처리를 여러회로 나누어서 실행할 필요가 있는 경우에는 소정의 하위비트에 대한 0비트데이타의 가산처리등을 생략할 수가 있다. 이것에 의해서, 데이타테이블에 대한 고속액세스가 가능하게 된다.
[2] 상기 작용효과[1]에 의해 여러개의 데이타테이블중에서 소정의 데이타테이블을 임의로 액세스하는 경우에 고속액세스를 실현할 수가 있다.
[3] 상기 작용효과[1]에 의해 여러개의 단말장치를 제어하는 1개의 교환국과 소정의 단말장치와의 사이에서의 통신을 위한 처리의 고속화를 달성할 수 있으므로, 여러개의 단말장치를 순차 임의로 서포트하지 않으면 않되는 통신프로토콜 제어용 LSI에 있어서 요구되는 프로토콜제어용 데이타테이블의 고속액세스를 충분히 만족시킬 수가 있다.
[4] 상기 작용효과[1]에 의해 통신프로토콜 제어용 LSI에 있어서의 소프트웨어 개발공정수의 저감을 도모할 수가 있다.
[5] 명령어에 포함되는 오퍼랜드 어드레스내의 수정될 상위비트를 0이외의 소정의 어드레스데이타로 하면, 그것에 따라서 수정레지스터의 저장데이타 또는 명령어에 포함되는 수정데이타를 변경하는 일없이 여러개의 데이타테이블군중에서 임의의 데이타테이블군에 대해 용이하게 액세스할 수 있다. 즉, 데이타테이블을 실어드레스공간을 초월해서 용이하게 확장할 수도 있다.
[6] 데이타전송 제어수순을 규정하기 위한 통신프로토콜 처리프로그램을 저장하는 리라이트가능한 불휘발성 반도체 기억장치로서 EPROM(11)이 통신제어장치(1)내에 마련된다. 데이타전송 제어수순을 규정하기 위한 통신프로토콜 처리프로그램이 리라이트가능한 불휘발성 반도체기억장치(EPROM(11))에 저장되어 있으므로, 통신프로토콜 처리프로그램을 필요에 따라서 수정 및 변경하는 것이 가능하다. 따라서, LAPB, LAPD, 더나아가서는 그밖의 HDLC계열의 제어수순 등의 다른 종류의 프로토콜 또는 프로토콜의 변경에 대응해서 소정의 데이타전송 제어수순을 통신제어장치(1)에 편성할 수 있게 된다.
[7] 불휘발성 반도체기억장치가 EEPROM(11)로 구성되는 경우, 시스템상에서 데이타전송 제어수순을 리라이트할 수 있다. 따라서, LAPB, LAPD, 더나아가서는 그밖의 HDLC 계열의 제어수순 등의 다른 종류의 프로토콜에 따라서 링크를 확장할 수 있도록 하는 경우에는 통신제어장치(1)의 외부에 LAPB, LAPD, 더나아가서는 그밖의 HDLC 계열의 제어수순 등의 다른 종류의 프로토콜의 프로그램을 유지하고, 필요에 따라서 원하는 제어수순을 EEPROM에 기억시켜 두면 좋다. 또, 불휘발성 반도체기억장치가 EEPROM(11)로 구성되는 경우, 시스템완성후에 통신프로토콜을 변경 또는 수정할 수도 있다.
이상 본 발명자에 의해서 이루어진 발명을 상기 실시예에 따라서 구체적으로 설명하였지만, 본 발명은 상기 실시예에 한정되는 것은 아니고 그 요지를 이탈하지 않는 범위내에서 여러가지로 변경가능한 것은 물론이다.
예를들면, 상기 실시예에서는 수정레지스터의 비트수를 명령어에 포함되는 오퍼랜드 어드레스의 비트수와 동일하게 구성하였지만, 본 발명은 그것에 한정되는 것은 아니고 각각의 데이타테이블내에 있어서의 공통의 상대어드레스에 대응하는 어드레스데이타의 비트수만큼 최대한 저감할 수가 있다. 또, 오퍼랜드 어드레스의 비트구성은 상기 실시예에 한정되지 않고 적당한 비트수로 변경할 수 있으며, 그것에 따라서 수정레지스터의 비트구성도 변경가능하다.
이상의 설명에서는 주로 본 발명자에 의해서 이루어진 발명을 그 배경으로 된 이용분야인 통신프로토콜 제어용 LSI에 적용한 경우에 대해서 설명하였지만, 본 발명은 그것에 한정되지 않고 여러개의 데이타테이블을 순차 임의로 액세스할 필요가 있는 여러가지의 시스템에 적용할 수가 있다. 본 발명은 적어도 명령어의 어드레스부를 수정하는 조건의 것에 적용할 수가 있다.

Claims (4)

  1. 명령에 포함되는 오퍼랜드 어드레스와 수정레지스터의 내용을 가산해서 실행어드레스를 얻는 방법으로서, 각각 소정의 기억용량으로 구성된 여러개의 데이타테이블을 각각 지정하기 위한 어드레스데이타를 여러개의 수정레지스터에 각각 저장하는 공정, 상기 명령어에 따라서 상기 여러개의 수정레지스터에서 소정의 수정레지스터를 선택하는 공정 및 선택된 수정레지스터에 저장된 어드레스데이타와 오퍼랜드 어드레스에 포함되는 각 데이타테이블내에 있어서의 상대어드레스를 지정하기 위한 상대어드레스 데이타를 가산처리해서 오퍼랜드를 어드레싱하기 위한 실행어드레스를 얻는 공정을 포함하는 실행어드레스의 계산방법.
  2. 제1항에 있어서, 상기 명령어에 포함되는 오퍼랜드 어드레스는 1군의 데이타테이블을 지정하기 위한 군지정 어드레스데이타와 상기 상대어드레스데이타를 포함하고, 상기 수정레지스터에 저장된 어드레스데이타는 오퍼랜드 어드레스와의 가산처리시에 상대어드레스데이타에 대응하는 각 비트가 0으로 설정되는 실행어드레스이 계산방법.
  3. 프로세서에 의해서 대응하는 단말에 관련된 데이타테이블을 액세스하기 위한 실행어드레스를 계산하는 방법으로서, 각각 소정의 기억용량으로 구성된 여러개의 데이타테이블을 각각 지정하기 위한 m비트의 어드레스데이타를 각각의 m비트로 구성된 여러개의 수정레지스터에 각각 저장하는 공정, 명령어내에 포함되고 각각이 데이타테이블내의 상대어드레스를 지정하는 상대어드레스데이타로 되고 또한 상기 m비트 이상의 정수로 되는 n비트의 오퍼랜드 어드레스를 n비트의 제1기억수단에 저장하는 공정, 상기 명령어내의 오퍼레이션코드에 따라서 소정의 수정레지스터를 선택하고, 상기 선택된 수정레지스터내의 m비트의 어드레스데이타를 제2기억수단에 저장하는 공정 및 상기 프로세서내의 연산기에 의해 상기 제2기억수단내의 m비트의 어드레스데이타를 상기 제1기억수단의 n비트의 오퍼랜드 어드레스의 상위 m비트에 가산하고, n비트의 실행 어드레스를 계산하는 공정을 포함하는 실행어드레스의 계산방법.
  4. 반도체기판상에 형성되고 통신프로토콜에 따라서 데이타의 전송제어를 실행하는 통신제어장치로서, 데이타의 전송제어수순을 규정하는 통신프로토콜 처리프로그램을 저장하는 전기적으로 라이트가능한 불휘발성 기억수단(11), 상기 불휘발성 기억수단내에 저장된 통신프로토콜 처리프로그램을 실행하는 중앙처리장치, 상기 중앙처리장치에 결합되고 상기 중앙처리장치의 제어하에서 상기 불휘발성 기억수단에 저장된 통신프로토콜 처리프로그램에 따르는 통신프로토콜에 따라서 소정의 데이타전송을 실행하는 데이타 전송회로(14), 송신회선 및 수신회선에 결합되어 직렬통신을 실행하기 위한 송수신 제어부(5), 상기 송수신 제어부에 결합되고 상기 송수신 제어부에 공급할 데이타 또는 상기 송수신 제어부로부터의 데이타를 저장하는 선입선출형식의 데이타버퍼(10) 및 상기 데이타버퍼에 결합되고 외부의 메모리와 상기 데이타버퍼 사이의 데이타전송을 제어하는 다이렉트 메모리액서스 제어회로를 포함하는 통신제어장치.
KR1019880015743A 1987-12-01 1988-11-29 실행어드레스의 계산방법 및 통신제어장치 KR0120930B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP62-303958 1987-12-01
JP62303958A JPH01144839A (ja) 1987-12-01 1987-12-01 通信制御装置
JP62-321203 1987-12-21
JP62321203A JPH01163834A (ja) 1987-12-21 1987-12-21 命令語のアドレス修飾方式

Publications (2)

Publication Number Publication Date
KR890010708A KR890010708A (ko) 1989-08-10
KR0120930B1 true KR0120930B1 (ko) 1997-10-29

Family

ID=26563715

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019880015743A KR0120930B1 (ko) 1987-12-01 1988-11-29 실행어드레스의 계산방법 및 통신제어장치

Country Status (2)

Country Link
US (1) US5388239A (ko)
KR (1) KR0120930B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1011352A (ja) * 1996-06-19 1998-01-16 Hitachi Ltd データ処理装置およびそのレジスタアドレス変換方法
US5903919A (en) * 1997-10-07 1999-05-11 Motorola, Inc. Method and apparatus for selecting a register bank
JP3993438B2 (ja) * 2002-01-25 2007-10-17 株式会社ルネサステクノロジ 半導体装置
US9965387B1 (en) * 2010-07-09 2018-05-08 Cypress Semiconductor Corporation Memory devices having embedded hardware acceleration and corresponding methods

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR122199A (ko) * 1973-12-17
US4366536A (en) * 1980-04-15 1982-12-28 National Semiconductor Corporation Modular digital computer system for storing and selecting data processing procedures and data
US4654789A (en) * 1984-04-04 1987-03-31 Honeywell Information Systems Inc. LSI microprocessor chip with backward pin compatibility
US5134691A (en) * 1986-04-01 1992-07-28 Westinghouse Electric Corp. Bidirectional communication and control network with programmable microcontroller interfacing digital ICs transmitting in serial format to controlled product

Also Published As

Publication number Publication date
US5388239A (en) 1995-02-07
KR890010708A (ko) 1989-08-10

Similar Documents

Publication Publication Date Title
EP0169565B1 (en) Microprocessor compatible with any software represented by different types of instruction formats
US4325119A (en) Process and apparatus employing microprogrammed control commands for transferring information between a control processor and communications channels
CA1288169C (en) Digital signal processor
US4959779A (en) Dual byte order computer architecture a functional unit for handling data sets with differnt byte orders
US5550987A (en) Data transfer device
US4261033A (en) Communications processor employing line-dedicated memory tables for supervising data transfers
US4742454A (en) Apparatus for buffer control bypass
JP2003076654A (ja) Dspメモリ間データ転送方式
JP2845433B2 (ja) 集積回路装置
JP3619532B2 (ja) 半導体集積回路装置
GB2024475A (en) Memory access controller
JP3971535B2 (ja) Simd型プロセッサ
EP0363176B1 (en) Word organised data processors
KR0120930B1 (ko) 실행어드레스의 계산방법 및 통신제어장치
JPH0869377A (ja) コプロセッサを使用するための電子回路及び方法
US20070139424A1 (en) DSP System With Multi-Tier Accelerator Architecture and Method for Operating The Same
US5872962A (en) Program control system
US4337510A (en) Read control system for a control storage device
JPH08212075A (ja) 情報処理装置
US4237545A (en) Programmable sequential logic
KR100225187B1 (ko) 비트 필드 주변 장치 및 이 장치를 구비한 비트 필드 시스템
EP0753818A2 (en) Data processor having bus controller for controlling a plurality of buses independently of each other
JPH02145047A (ja) マイクロプロセッサ内処理の制御方法
US5546592A (en) System and method for incrementing memory addresses in a computer system
JPH01205339A (ja) マイクロコンピュータシステム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application
J2X1 Appeal (before the patent court)

Free format text: APPEAL AGAINST DECISION TO DECLINE REFUSAL

E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 19971223

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee