KR970007262B1 - 데이타패스 및 명령세트 확장이 용이한 risc 구조 - Google Patents

데이타패스 및 명령세트 확장이 용이한 risc 구조

Info

Publication number
KR970007262B1
KR970007262B1 KR1019940027038A KR19940027038A KR970007262B1 KR 970007262 B1 KR970007262 B1 KR 970007262B1 KR 1019940027038 A KR1019940027038 A KR 1019940027038A KR 19940027038 A KR19940027038 A KR 19940027038A KR 970007262 B1 KR970007262 B1 KR 970007262B1
Authority
KR
South Korea
Prior art keywords
data
output
register file
input
core block
Prior art date
Application number
KR1019940027038A
Other languages
English (en)
Other versions
KR960015209A (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
Application filed by 삼성전자 주식회사, 김광호 filed Critical 삼성전자 주식회사
Priority to KR1019940027038A priority Critical patent/KR970007262B1/ko
Publication of KR960015209A publication Critical patent/KR960015209A/ko
Application granted granted Critical
Publication of KR970007262B1 publication Critical patent/KR970007262B1/ko

Links

Classifications

    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional 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/30098Register arrangements
    • G06F9/30105Register structure
    • 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/30098Register arrangements
    • G06F9/30141Implementation provisions of register files, e.g. ports
    • 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/30181Instruction operation extension or modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

내용없음

Description

데이타패스 및 명령세트 확장이 용이한 RISC 구조
제1도는 종래 RISC방식의 4단계 파이프라인의 명령수행 사이클을 보여주는 도면.
제2도는 종래의 RISC에 있어서 코아블럭의 데이타패스 구조를 개략적으로 도시한 블럭도.
제3도는 종래의 코아블럭에 입출력버스를 이용하여 새로운 연산기능을 추가하는 일예를 도시한 도면.
제4도는 본 발명에 따른 데이타패스 확장의 예를 나타내고 있는 블럭도이다.
본 발명은 마이크로컴퓨터에 관한 것으로, 보다 상세하게는 데이타패스(data path) 및 명령세트(instruction set)을 용이하게 확장가능한 RISC(Reduced Instruction Set Computer) 구조에 관한 것이다.
일반적으로 RISC 구조는 명령세트가 간단하여 하드웨어(Hardware)의 구현이 단순하고, 명령세트를 전송하는데 있어서 파이프라인(pipe line) 방식을 사용함으로써 명령의 수행속도를 높이게 된다. 이러한 파이프라인 방식에서는 대부분의 명령이 같은 길이의 파이프라인 단계를 통하여 1 사이클에 수행되며, 제1도의 종래의 4단계 파이프라인의 명령수행 사이클의 일예를 나타낸 도면에서와 같이 명령인출단계(IF1), 해독(레지스터 판독)단계(D1), 실행단계(E1), 및 저장단계(WB1)를 거쳐 1 사이클의 명령을 수행하고, 그 다음, 상기 1 사이클의 해독단계(D1)에서 2 사이클의 명령인출단계(IF)를 시작으로 상기한 바의 1 사이클과 같은 2사이클의 명령단계들(D2,E2,WB2)이 수행되며, 마찬가지로, 상기 2 사이클의 해독단계(D2)에서 3 사이클의 명령인출단계(IF3)가 시작되어 3 사이클의 명령단계들(D3,E3,WB3)이 수행되는 것이다.
제2도는 종래의 RISC에 있어서 코아블럭의 데이타패스 구조를 나타낸 것으로, 데이타를 저장하는 레지스터 파일(register file)(21)과, 연산에 필요한 데이타들을 상기 레지스터 파일(21)에서 읽어내어 일정시간 동안 저장하는 제1 및 제2래치수단(22-1, 22-2)과, 상기 제1 및 제2래치수단(22-1, 22-2)에 저장된 데이타를 인출하여 연산을 수행하는 실행블럭(23)과, 연산된 결과를 일정시간 동안 유지하여 상기 레지스터 파일(21)에 저장하기 위한 제3래치수단(25)으로 구성되어 있다.
상기한 데이타패스 구조에 있어서 연산에 필요한 데이타는 레지스터 파일에서 제1도의 해독단계(D1,D2,D3) 동안 읽혀져 상기 복수의 래치수단(22-1, 22-2)에 저장되고 실행단계(E1,E2,E3)동안 실행블럭(23)에서 연산된 결과는 제3래치수단에 저장된 후, 저장단계에서 상기 레지스터 파일(21)에 저장되게 된다.
통상의 마이크로컴퓨터 시스템은 제3도에서와 같은 종래 코아블럭(core block)에 새로운 연산기능을 입출력버스를 이용하여 추가하는 일예에서 처럼, 상기한 바의 데이타패스를 포함하는 코아블럭(30)에 입출력(I/O)버스(36)를 통하여 새로운 연산기능을 갖는 주변수단들(37-1, 37-2)에 연결 구성된다. 즉, 종래의 코아블럭에서 수행하는 연산기능 이외에 새로운 연산기능을 추가로 확장하여 설치하고자 하는 경우에는, 시스템 코아블럭의 변경없이 입출력버스에 주변수단들을 추가로 접속하여 코아블럭과 데이타를 상호 전송시켜 작동함으로써 코아브럭을 재구성하지 않고도 원하는 연산기능을 용이하게 추가할 수는 있지만, 제1도와 같은 4단계 파이프라인 방식의 명령을 1 사이클 실행하는 동안 수행할 수 있는 연산기능이 주변장치에 연결된다면 적어도 3 사이클 이상 즉, 레지스터 파일에 저장되어 있는 데이타를 주변장치로 입출력버스를 통해서 전송하는 사이클, 주변장치에서 연산하는 사이클, 연산된 결과를 입출력버스를 통해 코아의 레지스터 파일에 저장하는 사이클의 명령수행을 필요로 하게 되며, 이와같은 3 사이클 이상의 명령수행에 따른 시간지연으로 인하여 파이프라인의 동작이 원활히 이루어질 수 없는 문제가 있다. 다시 말하면, 종래의 방법에서 처럼 코아블럭에서 수행하는 연산기능 이외에 새로운 연산기능을 입출력버스를 통하여 추가로 확장한 경우에는, 실행단계에서 연산된 결과가 다음 명령의 연산자로 사용되는 경우, 연산결과가 주변수단에서코아블럭으로 전달될 때까지 파이프라인이 멈추어지게 된다.
따라서, 본 발명의 목적은 새로운 연산기능을 갖는 주변수단에 입출력 데이타패스를 연결할 수 있는 다수의 입출력 포트를 코아블럭에 구비하여 상기 주변수단에 연결되는 데이타패스가 파이프라인의 동작을 저해하지 않고도 새로운 연산기능을 용이하게 추가할 수 있는 RISC 구조를 제공하는데 있다.
상기한 목적을 달성하기 위한 본 발명의 바람직한 RISC 구조의 특징은, 데이타를 저장하는 레지스터 파일과, 연산에 필요한 데이타들을 상기 레지스터 파일에서 읽어내어 일정시간 동안 유지하기 위한 복수의 제1저장수단, 상기 데이타를 인출하여 상이한 기능의 연산을 수행하는 다수의 실행수단과, 상기 연산결과의 출력을 제어하기 위하여 상기 각각의 실행수단에 연결된 출력제어수단, 및 연산결과를 일정시간 동안 유지시켜 상기 레지스터 파일에 저장하기 위한 제2저장수단으로 이루어진 코아블럭, 상기 실행수단에 접속된 입출력 데이타패스에 추가의 연산기능을 수행하는 다수의 주변수단을 병렬로 연결하기 위하여 상기 코아블럭의 경계에 형성된 복수의 입력 및 출력포트가 구비된 점에 있다.
상기한 구성에 있어서, 연산에 필요한 데이타를 래치하여 상기 실행수단에 입력하는 데이타패스와 연산작동에 의한 연산데이타를 출력하는 데이타패스를 코아블럭의 경계에까지 확장시켜 입출력포트를 형성함으로써, 새로 추가되는 주변수단을 상기한 입출력 데이타패스를 상기 입출력포트에 병렬로 연결하고, 상기 주변수단들로부터 생성되는 각각의 대기신호에 따라 주변수단의 연산데이타를 레지스터 파일에 저장시키기 위한 제어신호를 생성하는 논리수단이 구비하고, 추가되는 주변수단의 연산작동을 제어하기 위하여 사용자에 의해 정의된 명령이 명령세트에 포함된다.
이하, 첨부된 도면을 참조하여 본 발명의 RISC 구조를 상세히 설명하기로 한다.
제4도는 상이한 연산기능을 갖는 3의 실행수단을 구비한 코아블럭에 복수의 주변수단이 추가된 본 발명에 따른 RISC 구조의 일예를 나타내고 있는 블록도로써, 이 도면을 참조하여 살펴보면, 코아블럭(40)내에 레지스터 파일(41)과, 연산에 필요한 데이타들을 상기 레지스터 파일에서 읽어내어 일정기간 동안 유지하기 위한 복수의 제1저장수단(42-1,42-2)과, 여러가지의 연산기능을 갖는 제1, 제2, 및 제3실행수단(43-1,43-2,43-3)과, 상기 제1, 제2, 및 제3연산수단에서 출력되는 연산데이타를 선택적으로 제2저장수단에 래치하기 위하여 각각의 실행수단에 연결된 출력제어수단(44-1,44-2,44-3)과, 상기 연산데이타를 일정시간 동안 유지시켜 상기 레지스터 파일에 저장시키기 위한 제2저장수단(45)로 구성되어 있고, 상기한 데이타 입출력 패스가 추가되는 주변수단들(43-i,43-j)의 입출력단에 상호연결이 가능하도록 연산에 필요한 데이타(SRC1,SRC2)를 레지스터 파일에서 읽어 래치하는 입력 데이타패스와 연산데이타를 레지스터 파일에 저장할 수 있도록 제2저장수단에 래치하는 출력 데이타패스의 입출력포트(IP1,IP2,OP1)가 코아블럭의 경계에 형성되어 있다.
이와 같이 구성된 RISC 구조의 동작을 보면, 내부에 구성되어 있는 실행수단(43-1,43-2,43-3)의 어느 하나를 인에이블하는 명령이 수행되면 해당하는 실행수단에서는 해독단계에서 레지스터 파일(41)로부터 읽혀져 복수의 제1저장수단(42-1,42-2)에 래치된 데이타(SRC1,SRC2)를 사용하여 연산기능을 수행한 다음, 연산데이타를 선택적으로 출력하기 위하여 각각의 실행수단에 연결된 3상 버퍼로 이루어진 출력제어수단(44-1,44-2,44-3)을 통하여 그 결과를 결과버스인 출력 데이타패스에 출력하여 제2저장수단(45)에서 인출한 데이타를 레지스터 파일(41)에 저장하게 된다.
새로운 연산기능을 갖는 복수의 주변수단(43-i,43-j)은 코아블럭(40)의 내부를 고치지 않고 경계에까지 확장되어 있는 입출력 데이타패스의 입출력포트(IP1,IP2,OP1)에 병렬로 연결되고, 해독단계에서 이미 사용자에 의해 명령세트에 정의되어 인에이블신호(ENi,ENi)가 해독되면, 해당하는 주변수단이 작동되어 진다.
이에 따라 추가된 주변수단들(43-i,43-i)의 동작은 코아블럭(40)에 이미 구성되어 있는 실행수단들(43-i,43-2,43-3)과 동일하게 취급하여 실행시킬 수 있으며, 사용자에 의해 정의된 명령에서 해독하여 구분할 수 있는 만큼의 새로운 연산기능을 갖는 주변수단들을 데이타패스에 연결하여 용이하게 확장할 수 있다.
각각의 상기 주변수단들(43-i,43-j)에서 사용자에 의해 정의된 명령에 의해 인에이블되어 연산기능을 수행하는데 있어서, 파이프라인 동작의 1 사이클단계보다 더 긴 시간이 필요한 경우, 상기 주변수단들(43-i,43-j)에서 생성되는 각각의 대기신호(i-w,j-w)를 입력으로 하는 논리합 게이트(48)의 출력신호(x-w)를 제어하여 코아블럭(40)으로 하여금 x-w신호가 출력될 때, 파이프 라인의 동작을 외부의 실행블럭의 연산이 완료되어 연산결과가 출력 데이타패스에 실릴때까지 지연시킬 수가 있다.
따라서, 상술한 본 발명에 따르면, 연산에 필요한 데이타를 운반하는 입력 데이타패스와, 연산결과를 운반하는 출력 데이타패스가 연결되는 입출력 포트를 마이크로컴퓨터의 코아블럭의 경계에 형성하고, 사용자 정의된 명령을 명령세트에 설정함으로써 코아블럭 내부를 조정하지 않고, 입출력 데이타패스에 주변수단을 추가로 확장시킴으로써 다른 연산기능의 명령수행을 방해함이 없이 데이타패스 및 명령세트를 용이하게 확장할 수 있고 설계비용을 절감할 수 있는 효과가 있다.

Claims (5)

  1. 데이타를 저장하는 레지스터 파일과, 연산에 필요한 데이타들을 상기 레지스터 파일에서 읽어내어 일정시간 동안 유지하기 위한 복수의 제1저장수단과, 상기 데이타를 인출하여 상이한 기능의 연산을 수행하는 다수의 실행수단과, 상기 연산결과의 출력을 제어하기 위한 출력제어수단, 및 연산결과를 일정시간 동안 유지시켜 상기 레지스터 파일에 저장하기 위한 제2저장수단으로 이루어진 코아블럭에 있어서, 상기 코아블럭의 경계에 연산에 필요한 데이타들을 운반하는 입력 데이타패스와 연산결과를 운반하는 출력 데이타패스에 각각 연결되는 입출력포트가 구비된 것을 특징으로 하는 RISC 구조.
  2. 제1항에 있어서, 상기 입출력포트에 다수의 주변수단이 병렬로 연결되고, 상기 주변수단들로부터 생성되는 각각의 대기신호에 따라 주변수단의 연산데이타를 레지스터 파일에 저장하기 위한 제어신호를 생성하는 논리수단이 구비되는 것을 특징으로 하는 RISC 구조.
  3. 제2항에 있어서, 상기 추가되는 주변수단을 제어하기 위하여 사용자에 의해 정의된 명령이 명령세트에 포함되는 것을 특징으로 하는 RISC 구조.
  4. 제2항에 있어서, 상기 논리수단은 논리합 게이트로 구성되는 것을 특징으로 하는 RISC 구조.
  5. 제1항에 있어서, 상기 출력제어수단은 3상 버퍼로 구성되는 것을 특징으로 하는 RISC 구조.
KR1019940027038A 1994-10-22 1994-10-22 데이타패스 및 명령세트 확장이 용이한 risc 구조 KR970007262B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940027038A KR970007262B1 (ko) 1994-10-22 1994-10-22 데이타패스 및 명령세트 확장이 용이한 risc 구조

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940027038A KR970007262B1 (ko) 1994-10-22 1994-10-22 데이타패스 및 명령세트 확장이 용이한 risc 구조

Publications (2)

Publication Number Publication Date
KR960015209A KR960015209A (ko) 1996-05-22
KR970007262B1 true KR970007262B1 (ko) 1997-05-07

Family

ID=19395634

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940027038A KR970007262B1 (ko) 1994-10-22 1994-10-22 데이타패스 및 명령세트 확장이 용이한 risc 구조

Country Status (1)

Country Link
KR (1) KR970007262B1 (ko)

Also Published As

Publication number Publication date
KR960015209A (ko) 1996-05-22

Similar Documents

Publication Publication Date Title
EP0102242B1 (en) Data processing apparatus
KR0133238B1 (ko) 컴퓨터 프로세싱 시스템 및 인스트럭션 실행방법
US4884192A (en) Information processor capable of data transfer among plural digital data processing units by using an active transmission line having locally controlled storage of data
EP0543415A2 (en) Method for controlling register read operations in information processing apparatus
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
JPS6351287B2 (ko)
US20070260857A1 (en) Electronic Circuit
KR970007262B1 (ko) 데이타패스 및 명령세트 확장이 용이한 risc 구조
CN112861463B (zh) 超导处理器及其输入输出控制模块
JP2916605B2 (ja) コンピュータ用プロセツサ
David et al. Self-timed architecture of a reduced instruction set computer
JP2023533795A (ja) レジスタデータの消去
JP2861560B2 (ja) データ処理装置
JP2584156B2 (ja) プログラム制御型プロセッサ
JPH07110769A (ja) Vliw型計算機
JP2001092658A (ja) データ処理回路及びデータ処理装置
JPH03245223A (ja) 演算装置
JPH06139071A (ja) 並列計算機
JPH052485A (ja) パイプライン制御方式
KR950014162B1 (ko) 파이프라인(Pipeline)이 구비된 프로세서에서 간단한 반복명령어의 구현방법
JPH0644389A (ja) データ駆動型情報処理装置
JPH0668055A (ja) ディジタル信号処理装置
JPH05158692A (ja) データ処理装置及びデータ処理方法
JPH05334265A (ja) 情報処理装置および情報処理方法
JPH086760A (ja) データ処理装置

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20060830

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee