KR100413674B1 - 하드와이어드 서브루틴 생성장치 - Google Patents

하드와이어드 서브루틴 생성장치 Download PDF

Info

Publication number
KR100413674B1
KR100413674B1 KR1019960062122A KR19960062122A KR100413674B1 KR 100413674 B1 KR100413674 B1 KR 100413674B1 KR 1019960062122 A KR1019960062122 A KR 1019960062122A KR 19960062122 A KR19960062122 A KR 19960062122A KR 100413674 B1 KR100413674 B1 KR 100413674B1
Authority
KR
South Korea
Prior art keywords
hardware
program
hardware logic
programmable hardware
programmable
Prior art date
Application number
KR1019960062122A
Other languages
English (en)
Other versions
KR19980044096A (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 KR1019960062122A priority Critical patent/KR100413674B1/ko
Publication of KR19980044096A publication Critical patent/KR19980044096A/ko
Application granted granted Critical
Publication of KR100413674B1 publication Critical patent/KR100413674B1/ko

Links

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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus

Abstract

본 발명은 중앙처리장치와 기억장치, 입출력 장치를 구비하는 컴퓨터 시스템에서 서브루틴을 구현하는 하드와이어드 서브루틴 생성 장치에 있어서, 소정의 기능을 수행하는 하드웨어를 구성하게 하는 한 개 혹은 그 이상의 하드웨어 구성 프로그램이 저장되어 있는 프로그램 저장용 기억장치, 프로그램 저장용 기억 장치로부터 하드웨어 구성 프로그램을 다운로드 받아 다운로드된 프로그램에 상응하는 하드웨어를 재구성하는 프로그래머블 하드웨어 로직부, 중앙처리장치로부터 프로그래머블 하드웨어 로직부의 구성에 대한 명령을 수신하여 프로그램 저장용 기억장치에 전달하고 프로그래머블 하드웨어 로직부에서 하드웨어 재구성의 완료를 중앙처리장치에 통보하는 프로그래머블 하드웨어 로직 제어기, 프로그래머블 하드웨어 로직부에서 재구성된 하드웨어와 중앙처리장치가 기억장치 및 입출력 장치를 선택적으로 공유하여 엑세스할 수 있는 경로를 제공하는 멀티플렉서를 포함함을 특징으로 한다.
본 발명에 의하면, 소프트웨어로 재구성할 수 있는 하드웨어 블럭을 미리 준비하여 하드웨어 블록의 내부구조를 자유롭게 변경시킴으로써 처리속도 개선 및 다양한 서브루틴의 실행을 가능하게 할 수 있다.

Description

하드와이어드 서브루틴 생성 장치
본 발명은 하드와이어드 서브루틴 구현 장치에 관한 것으로서, 특히 소프트웨어로 구성되어 있는 모듈 부분을 처리속도를 향상시키기 위해 하드웨어로 대치할 뿐만 아니라 상기 하드웨어를 필요할 때마다 동적으로 변경할 수 있는 하드와이어드 서브루틴 생성 장치에 관한 것이다.
일반적으로 고성능 컴퓨터나 제어기기를 설계함에 있어 소프트웨어로 구성되는 모듈 가운데는 작지만 반복적으로 사용됨으로써 전체 시스템의 성능을 좌우하는 부분이 있는데 이러한 부분의 조정 작업을 매우 신중하게 함으로써 최대의 효과를 거둘 수 있다. 그러나, 소프트웨어의 조정 방법은 가장 빈번하게 사용하는 소프트웨어의 목적 코드를 최적화하는 방법이 고작이었으며, 소프트웨어의 핵심 서브 루틴을 최적화하는 것은 소프트웨어의 실행 자체가 프로세스를 거쳐 실행되기 때문에 대부분의 중앙처리장치가 필요로 하는 명령어 패치 등의 실제 서브루틴 실행시 불필요한 과정을 거쳐야 하므로 성능 개선에 한계가 있다. 또한 보조 프로세서라든가 메모리 관리기 등을 사용하여 하드웨어로 구성하는 방법은 속도는 빨라지지만 해당 하드웨어의 블럭은 주어진 한 가지의 기능이외에는 동작하지 못하므로 구현 비용이 비싼만큼 용도가 다양하지 않은 문제가 있다.
본 발명은 상술된 문제점을 해결하기 위해 창안된 것으로서 소프트웨어로 재구성할 수 있는 하드웨어 블럭을 미리 준비하여 하드웨어 블럭의 내부구조를 자유롭게 변경시킴으로써 처리속도 개선 및 다양한 서브루틴의 실행을 가능하게 하는 하드와이어드 서브루틴 생성 장치를 제공함에 그 목적이 있다.
도 1은 하드와이어드 서브루틴을 생성하기 위한 개략적인 블럭도이다.
도 2는 종래의 소프트웨어 서브루틴을 설명하기 위한 흐름도이다.
도 3은 하드와이어드 서브루틴을 소프트웨어로 구현한 흐름도이다.
상기 목적을 이루기 위하여 본 발명에 의한 하드와이어드 서브루틴 생성 장치는 중앙처리장치와 기억장치, 입출력 장치를 구비하는 컴퓨터 시스템에서 서브루틴을 구현하는 하드와이어드 서브루틴 생성 장치에 있어서, 소정의 기능을 수행하는 하드웨어를 구성하게 하는 한 개 혹은 그 이상의 하드웨어 구성 프로그램 이 저장되어 있는 프로그램 저장용 기억장치, 프로그램 저장용 기억 장치로부터 하드웨어 구성 프로그램을 다운로드 받아 다운로드 프로그램에 상응하는 하드웨어를 재구성하는 프로그래머블 하드웨어 로직부, 중앙처리장치로부터 프로그래머블 하드웨어 로직부의 구성에 대한 명령을 수신하여 프로그램 저장용 기억장치에 전달하고 프로그래머블 하드웨어 로직부에서 하드웨어 재구성의 완료를 중앙처리 장치에 통보하는 프로그래머블 하드웨어 로직 제어기, 프로그래머블 하드웨어 로직부에서 재구성된 하드웨어와 중앙처리장치가 기억장치 및 입출력 장치를 선택적으로 공유하여 엑세스할 수 있는 경로를 제공하는 멀티플렉서를 포함하는 것이 바람직하다.
이하, 본 발명에 따른 하드와이어드 서브루틴 생성 장치의 구성 및 동작을 첨부한 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명에 의한 하드와이어드 서브루틴 생성 장치(102)의 구성을 블럭도로 도시한 것으로서, 프로그래머블 하드웨어 로직부(116), 프로그래머블 하드웨어 로직 제어기(112), 프로그램 저장용 기억장치(114), 멀티플렉서(118)를 포함한다.
상기 다운로드 프로그램 저장용 기억장치(114)는 소정의 기능을 수행하는 하드웨어를 구성하게 하는 한 개 혹은 그 이상의 하드웨어 구성 프로그램을 저장하고 있으며 상기 프로그래머블 하드웨어 로직 제어기(112)에 의해 지정된 어드레스의 프로그램을 상기 프로그래머블 하드웨어 로직부(116)로 다운로드한다.
상기 프로그래머블 하드웨어 로직부(116)는 상기 프로그램 저장용 기억장치 (114)로부터 다운로드받은 프로그램들로 하드웨어를 재구성한다.
상기 프로그래머블 하드웨어 로직 제어기(112)는 상기 중앙처리장치(108) 의 명령을 수신하여 상기 프로그램 저장용 기억장치(114)에 전달함으로써 지정된 어드레스의 프로그램을 상기 프로그래머블 하드웨어 로직부(116)에 다운로드 하도록 명령하고, 상기 프로그래머블 하드웨어 로직부(116)에서 목적하는 기능을 수행하기 위한 하드웨어의 재구성이 완료되었음을 중앙처리장치(108)에 통보한다. 상기 멀티플렉서(118)는 상기 프로그래머블 하드웨어 로직부(116)에서 재구성된 하드웨어와 상기 중앙처리장치(108)가 상기 입출력장치(106) 및 기억장치 (104)를 선택적으로 공유하여 엑세스할 수 있는 경로를 제공한다.
본 발명의 동작을 개념적으로 설명하면, 중앙처리장치(108)가 프로그래머블 하드웨어 로직부(116)를 사용할 필요가 있을 때는 프로그래머블 하드웨어 로직 제어기(112)에 명령하여 프로그래머블 로직 제어기(112)를 작동시켜서 프로그램 저장용 기억장치(114)로부터 프로그램을 선택하고 선택된 프로그램을 프로 그래머블 하드웨어 로직부(116)로 다운로드하도록 명령한다. 프로그래머블 하드웨어 로직부(116)는 다운로드된 프로그램들로 하드웨어를 재구성하고, 프로그 래머블 하드웨어 로직 제어기(112)는 중앙처리장치 (108)에 하드웨어가 재구성 되었음을 통보한다.
프로그래머블 하드웨어 로직부(116)는 재구성된 하드웨어 사용시 도 1에서 도시된 바와 같이 멀티플렉서(118)를 이용하여 입출력장치(106) 및 기억 장치(104) 를 공유하여 엑세스할 수 있다.
프로그래머블 하드웨어 로직부(116)의 재구성된 하드웨어를 사용하지 않을 때는 프로그래머블 하드웨어 로직 제어기(112)가 멀티플렉서(118)를 차단하여 중앙처리장치(108)가 사용하는 어드레스 버스와 데이타 버스에 영향을 미치지 않도록 한다.
이하에서 본 발명을 사용하기 위해 구현된 서브루틴의 예를 들어 상세히 설명한다.
도 2는 특정 기억 장치에서 하나의 문자를 찾는 기능을 갖는 종래의 소프트웨어 서브루틴을 구현한 흐름도이다. '탐색'이라는 기능을 수행하기 위해서 '키'와 '시작'이라는 변수를 읽어들이고(203단계), C라는 키를 찾을 때까지 루프를 수행(206-208단계)하도록 구성되어있는 프로그램이다.
도 3은 도 2에 도시된 바와 같은 기능을 본 발명에 적용하여 변경한 프로그램을 도시한 흐름도이다.
상기 '탐색'이라는 기능을 하드웨어로 동작시키기 위해서는 도 1의 프로그램 저장용 기억 장치(114)로부터 탐색기능을 수행할 수 있는 하드웨어 구성 프로그램을 다운로드하는 '다운로드 탐색' 기능을 수행(305단계)한다. 프로그램 저장용 기억 장치(114)에는 '탐색'이외에 여러 가지 하드웨어 구성 프로그램이 내장되어 있으며 중앙처리장치(108)의 제어하에 프로그래머블 하드웨어 로직 제어기(112)를 통해서 다운로드 데이타 버스를 이용하여 프로그래머블 하드웨어 로직부(116)에 다운로드된다. 다운로드가 끝나면 '탐색'기능을 수행하는데 필요한 함수를 실행하도록 구성이 끝난 프로그래머블 하드웨어 로직부의 내부 레지스터에 변수 '키,시작'의 값을 써넣고(307단계), 프로그래머블 하드웨어 로직 제어기 (112)의 명령에 따라 '하드 웨어 실행(309단계)'이라는 프로그래머블 하드웨어 로직부(116)의 로직을 실행시킨다. 이후의 기능은 프로그래머블 하드웨어 로직부(116)에서 수행하며 실질적으로 루프를 도는 기능은 '탐색'이라는 다운로드 프로그램모듈에 들어있기 때문에 '종료신호를 기다림'이라는 과정(311단계)을 실행함으로써 프로그램 수행이 종료된다. 따라서 중앙처리장치(108)는 프로그래 머블 하드웨어 로직부(116)로부터 종료신호를 기다리면 된다.
이상에서 설명한 바와 같이 본 발명에 따른 하드와이어드 서브루틴 생성 장치는 시스템을 구성할 때 성능에 민감한 서브루틴의 수행시 부분적으로 적용하여 재구성된 하드웨어를 이용한다면, 소프트웨어로 수행하던 부분을 전용의 하드웨어로 구현하는 것과 비슷한 효과를 낼 수 있으며, 처리 속도를 개선할 수 있다.

Claims (1)

  1. 중앙처리장치와 기억장치, 입출력 장치를 구비하는 컴퓨터 시스템에서 서브루틴을 구현하는 하드와이어드 서브루틴 생성 장치에 있어서,
    소정의 기능을 수행하는 하드웨어를 구성하게 하는 한 개 혹은 그 이상의 하드웨어 구성 프로그램이 저장되어 있는 프로그램 저장용 기억장치;
    상기 프로그램 저장용 기억 장치로부터 하드웨어 구성 프로그램을 다운로드 받아 상기 다운로드로 프로그램에 상응하는 하드웨어를 재구성하는 프로그래머블 하드웨어 로직부;
    상기 중앙처리장치로부터 상기 프로그래머블 하드웨어 로직부의 구성에 대한 명령을 수신하여 상기 프로그램 저장용 기억장치에 전달하고, 상기 프로그래머블 하드웨어 로직부에서 하드웨어 재구성의 완료를 상기 중앙처리 장치에 통보하는 프로그래머블 하드웨어 로직 제어기;및
    상기 프로그래머블 하드웨어 로직부에서 재구성된 하드웨어와 상기 중앙처리장치가 상기 기억장치 및 입출력 장치를 선택적으로 공유하여 엑세스할 수 있는 경로를 제공하는 멀티플렉서를 포함함을 특징으로 하는 하드와이어드 서브루틴 생성 장치.
KR1019960062122A 1996-12-05 1996-12-05 하드와이어드 서브루틴 생성장치 KR100413674B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960062122A KR100413674B1 (ko) 1996-12-05 1996-12-05 하드와이어드 서브루틴 생성장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960062122A KR100413674B1 (ko) 1996-12-05 1996-12-05 하드와이어드 서브루틴 생성장치

Publications (2)

Publication Number Publication Date
KR19980044096A KR19980044096A (ko) 1998-09-05
KR100413674B1 true KR100413674B1 (ko) 2004-02-14

Family

ID=37423006

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960062122A KR100413674B1 (ko) 1996-12-05 1996-12-05 하드와이어드 서브루틴 생성장치

Country Status (1)

Country Link
KR (1) KR100413674B1 (ko)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5616250A (en) * 1979-07-18 1981-02-17 Hitachi Ltd Test system for microprogram control unit
JPS57212545A (en) * 1981-06-24 1982-12-27 Hitachi Ltd Microprogram controlling system
JPS5958551A (ja) * 1982-09-28 1984-04-04 Toshiba Corp マイクロプロセツサ
US4648068A (en) * 1983-01-28 1987-03-03 Siemens Aktiengesellschaft Memory-programmable controller
KR890005993A (ko) * 1987-09-18 1989-05-18 야마모드 다꾸마 프로그래블 로직디바이스
KR900010509A (ko) * 1988-12-28 1990-07-07 이경훈 프로그래머블 콘트롤로
KR910020551A (ko) * 1990-05-31 1991-12-20 안시환 프로그램 로직제어용 래더명령의 고속처리기
KR930008605A (ko) * 1991-10-25 1993-05-21 사또 후미오 프로그래머블 콘트롤러
JPH06124207A (ja) * 1992-10-13 1994-05-06 Sony Corp サブルーチン分岐命令実行方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5616250A (en) * 1979-07-18 1981-02-17 Hitachi Ltd Test system for microprogram control unit
JPS57212545A (en) * 1981-06-24 1982-12-27 Hitachi Ltd Microprogram controlling system
JPS5958551A (ja) * 1982-09-28 1984-04-04 Toshiba Corp マイクロプロセツサ
US4648068A (en) * 1983-01-28 1987-03-03 Siemens Aktiengesellschaft Memory-programmable controller
KR890005993A (ko) * 1987-09-18 1989-05-18 야마모드 다꾸마 프로그래블 로직디바이스
KR900010509A (ko) * 1988-12-28 1990-07-07 이경훈 프로그래머블 콘트롤로
KR910020551A (ko) * 1990-05-31 1991-12-20 안시환 프로그램 로직제어용 래더명령의 고속처리기
KR930008605A (ko) * 1991-10-25 1993-05-21 사또 후미오 프로그래머블 콘트롤러
JPH06124207A (ja) * 1992-10-13 1994-05-06 Sony Corp サブルーチン分岐命令実行方法

Also Published As

Publication number Publication date
KR19980044096A (ko) 1998-09-05

Similar Documents

Publication Publication Date Title
Iseli et al. Spyder: A reconfigurable VLIW processor using FPGAs
US6438738B1 (en) System and method for configuring a programmable logic device
KR100300001B1 (ko) 명령어요소들의재조합에의한서로다른명령어코드들사이의동적변환
KR930018378A (ko) 캐쉬 메모리 시스템의 성능최적화 방법 및 장치
KR950007886B1 (ko) 정보처리장치의 자기시험회로
CA2186862C (en) Apparatus and method for updating information in a writable microcode control store
KR100413674B1 (ko) 하드와이어드 서브루틴 생성장치
JP2000284964A (ja) Vliwプロセッサにおける効率的なサブ命令エミュレーション
EP1177499B1 (en) Processor and method of executing instructions from several instruction sources
KR930009632B1 (ko) 비트 필드 논리동작 유니트
Haug et al. Reconfigurable hardware as shared resource in multipurpose computers
US7444495B1 (en) Processor and programmable logic computing arrangement
KR970006413B1 (ko) 퍼지 컴퓨터
JP2004361171A (ja) 半導体集積回路および半導体集積回路の機能検証方法
JPS6282402A (ja) シ−ケンス制御装置
Tomita et al. A user-microprogrammable, local host computer with low-level parallelism
JP3099889B2 (ja) 電子計算機、プログラマブル論理回路及びプログラム処理方法
JPH0377137A (ja) 情報処理装置
KR100254779B1 (ko) 피엘씨시스템에서의다중타스크고속수행장치
KR100284287B1 (ko) 가변 리셋 어드레스를 가지는 마이크로프로세서
KR100369480B1 (ko) Dsp 코어를 기반으로 하는 다중 프로그램 실장 아키텍쳐
JPS6355090B2 (ko)
KR0147611B1 (ko) 주종 관계의 복수의 프로세서를 가진 컴퓨터 시스템
JP2567111B2 (ja) マイクロプログラム制御装置
JPS6218932B2 (ko)

Legal Events

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

Payment date: 20121129

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee