KR920004989Y1 - 멀티 서브루틴이 가능한 전자식 계산기 - Google Patents

멀티 서브루틴이 가능한 전자식 계산기 Download PDF

Info

Publication number
KR920004989Y1
KR920004989Y1 KR2019890020096U KR890020096U KR920004989Y1 KR 920004989 Y1 KR920004989 Y1 KR 920004989Y1 KR 2019890020096 U KR2019890020096 U KR 2019890020096U KR 890020096 U KR890020096 U KR 890020096U KR 920004989 Y1 KR920004989 Y1 KR 920004989Y1
Authority
KR
South Korea
Prior art keywords
return
address signal
subroutine
register
memory address
Prior art date
Application number
KR2019890020096U
Other languages
English (en)
Other versions
KR910012446U (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 KR2019890020096U priority Critical patent/KR920004989Y1/ko
Publication of KR910012446U publication Critical patent/KR910012446U/ko
Application granted granted Critical
Publication of KR920004989Y1 publication Critical patent/KR920004989Y1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/02Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional branch instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

내용 없음.

Description

멀티 서브루틴이 가능한 전자식 계산기
제 1 도는 본 고안에 따른 멀티 서브루틴을 위한 블럭도.
제 2 도는 제 1 도의 상세 회로도.
제 3 도는 제 2 도의 각부 파형도.
* 도면의 주요부분에 대한 부호의 설명
10 : 멀티플렉서(MUX) 20 : 메모리 어드레스 레지스터(MAR)
30 : 복귀 어드레스 레지스터(RTA) 40 : 복귀 어드레스 레지스터(RTB)
MO~MN : 단위 멀티 플렉서 L10~L1N,L20~L2N,L30~L3N : 단위래치
B10~B1N,B2,B3 : 인버터 AND1,AND2 : 논리적 회로
본 고안은 전자식 계산기에 관한 것으로 특히 하나의 서브루틴 실행중에 또 다른 서브루틴을 실행할 수 있는 전자식 계산기에 관한 것이다.
일반적으로 전자식 계산기는 숫자키이를 통해 주어진 데이타를 사칙 연산키이를 통해 주어진 연산명령에 따라 프로그램을 실행하여 계산하고 그 계산결과를 숫자표시관에 표시하는 것으로서, 휴대용 마이크로 캘큐레이터 및 탁상용 계산기 등이 있다. 이러한 전자식 계산기는 저가격으로 다품종의 제품들이 대량 보급되어 있고, 사용자는 저렴하면서 취급이 용이하고 다기능의 제품을 선호한다. 따라서, 계산기 생산업자는 사용자의 요구에 부응하기 위하여 시스템의 연구개발에 주력하고 있다.
종래의 전자식 계산기에서는 기억장소를 절약하기 위해 반복되는 프로그램의 덩어리를 특정 명칭을 부여하여 한번만 작성하고 이를 주프로그램에서 필요할 때마다 불러서 그때 그때 실행하는 서브루틴을 사용하고 있다. 이 서브루틴을 어셈블러에게 그것을 알리는 서브루틴 선언이라 부르는 특별한 명령으로 호출되어 실행되고 리턴이라 부르는 특별한 명령에 의해 주프로그램으로 복귀된다.
그러나 종래의 계산기 시스템에서는 메모리내에 하나의 블록으로 구성된 소프트웨어 영역들에 대해서 단지 한번의 서브루틴을 수행할 수 있었다. 그러므로 서브루틴 수행중에 또 다른 서브루틴을 필요로 할 때 제약을 받게되고 많은 양의 정보를 메모리 영역에 기억시켜야 하기 때문에 메모리 영역이 커지는 단점이 있었다.
본 고안의 목적은 상기와 같은 종래의 기술의 문제점을 해결하기 위해 서브루틴 실행중에 또 다른 서브루틴을 실행할 수 있는 전자식 계산기를 제공하는데 있다.
본 고안의 다른 목적은 소프트웨어의 운용을 보다 효율적으로 할 수 있는 전자식 계산기를 제공하는데 있다.
본 고안의 또 다른 목적은 메모리 영역을 축소할 수 있는 전자식 계산기를 제공하는데 있다.
상기 목적을 달성하기 위하여 매 명령 사이클마다 인출클럭에 따라 메모리 어드레스신호를 래치하기 위한 메모리 어드레스 레지스터, 그리고 서브루틴 콜 명령 사이클에서 인출클럭에 따라 상기 메모리 어드레스 레지스터에 래치된 어드레스신호를 래치하기 위한 제 1 복귀 레지스터를 포함하는 전자식 계산기에 있어서, 상기 서브루틴 실행중 또 다른 서브루틴 콜 발생시 이에 따른 인출클럭에 따라 상기 메모리 어드레스 레지스터에 래치된 어드레스신호를 래치하기 위한 제 2 복귀 레지스터, 상기 메모리 어드레스 레지스터에 래치된 어드레스 신호의 다음 메모리 어드레스신호, 제 1 복귀 어드레스신호 및 제 2 복귀 어드레스신호를 상기 메모리 어드레스 레지스터에 선택적으로 공급하기 위한 멀티플렉서 구비한 것을 그 특징으로 한다.
이와같은 본 고안에서는 종래의 단일 서브루틴 실행에서 멀티 서브루틴 실행을 가능하게 하여 메모리 영역을 보다 축소시킬수 있어 코스트를 낮출수 있다.
첨부한 도면을 참조하여 본 고안의 일 실시예를 설명하면 다음과 같다.
제 1 도는 본 고안에 따른 멀티 서브루틴을 위한 블록도이다. 제 1 도에서 참조번호 10은 멀티플렉서(MUX) 20은 메모리 어드레스 레지스터(MAR), 30은 제 1 복귀 레지스터(RTA), 40은 제 2 복귀 레지스터(RTB)이다.
제 1 도의 상세회로도는 제 2 도에 도시한다.
제 2 도에서 MUX(10)는 어드레스신호의 비트수에 해당하는 갯수의 단위 멀티플렉서(MN)을 가진다. 각 단위 멀티플렉서(MN)의 A입력에는 메모리 어드레스신호, B입력에는 RTA(30)로부터 공급되는 복귀 어드레스신호, C입력에는 RTB(40)로부터 공급되는 복귀 어드레스신호가 각각 입력된다. 또한 각 단위 멀티플렉서(MN)의 S1, S2, S3선택입력에는 선택신호 NORS, CAS, CBS가 각각 입력된다. 상기 선택신호 NORS가 공급되면 메모리 어드레스 신호가 선택출력되고, 선택신호 CAS가 공급되면 RTA(30)의 복귀 어드레스신호가 선택출력 되고 선택신호 CBS가 공급되면 RTB(40)의 복귀 어드레스신호가 선택 출력된다. 상기 MUX(10)에서 출력되는 어드레스신호는 MAR(20)에 공급된다. 이 MAR(20)은 매 명령주기마다 인출클럭에 의해 공급되는 어드레스신호를 래치하여 각 단위래치(L1N)의 부출력신호를 각 인버터(B1N)를 통하여 어드레스신호를 출력한다. 또한 상기 각 단위래치(L1N)의 부출력신호는 주프로그램 실행도중 서브루틴 호출 명령시에는 클럭 QCA에 의해 RTA(30)에 래치되어 저장되게 된다. 이 RTA(30)의 최하위 비트가 래치된 단위래치(L20)의 출력단은 인버터 (B2)를 통해서 MUX(10)의 최하위 비트가 선택되는 단위 멀티플렉서(MO)의 B입력단에 연결된다. 또한, 두번째 하위 비트가 래치된 단위래치(L21)의 출력단은 일측 입력단에 다음 메모리 어드레스 신호의 두번째 하위비트가 공급되는 논리적회로(AND1)의 타측 입력단에 연결되고 이 논리적회로(AND2)의 출력은 상기 두번째 하위 비트가 선택되는 MUX(10)의 단위 멀티플렉서(M1)의 B입력단에 연결된다. 또한, 상기 MAR(10)의 각 단위래치(L1N)의 부출력신호는 상기 호출된 서브루틴 실행도중 또 다른 서브루틴 호출 명령시에는 클럭 QCB에 의해 RTB(40)에 래치되어 저장되에 된다. 이 RTB(30)의 최하위 비트가 래치된 단위래치(L30)의 출력단은 인버터(B3)를 통해서 MUX(10)의 최하위 비트가 선택되는 단위멀티플렉서(MO)의 C입력단에 연결된다. 그리고, 두번째 하위 비트가 래치된 단위래치(L31)의 출력단은 일측 입력단에 다음 메모리 어드레스신호의 두번째 하위 비트가 공급되는 논리적회로(AND2)의 타측입력단에 연결되고 이 논리적회로(AND2)의 출력은 상기 두번째 하위비트가 선택되는 MUX(10)의 단위멀티플렉서(M1)의 C입력단에 연결된다. 상술한 클럭신호 및 선택신호의 파형도를 제 3 도에 도시한다. 제 3 도를 참조하여 본 고안의 작용 및 효과를 설명하면 다음과 같다.
본 고안의 계산기 시스템은 주로 프로그램을 명령 사이클단위로 실행하다가 제 3 도의 A영역에서 서브루틴 1을 호출하게 되면 메모리 어드레스 레지스터의 인출(fetch)클럭(제 3 도의 Q)에 의해 MAR(20)의 각 단위래치(L1)에 메모리 어드레스를 저장하면서 동시에 제 3 도의 클럭 QCA에 의해 RTA(30)의 각 단위래치(L2)에 저장한다. 이후 B영역을 따라 서브루틴 1을 실행하다가 C영역에서 다른 서브루틴 2를 호출하게 되면 제 3 도의 클럭 QCB에 의해 상술한 바와 마찬가지로 RTB(40)의 각 단위래치(L3)에 서브루틴 1롤 복귀하기 위한 메모리 어드레스신호를 저장한다. 이후 D영역을 따라 서브루틴 2를 실행하여 완료하면 E영역에서 리턴명령에 따라 제 3 도 CBS의 선택신호가 발생되어 MUX(10)에서 RTB(40)가 선택되게 된다. 이때 RTB(40)에 저장된 서브루틴 1로의 복귀 어드레스신호가 MUX(10)를 거쳐서 MAR(20)에 공급되게 된다. 이때 MAR(20)에 공급된 어드레스신호는 최근 RTB(40)에 저장된 어드레스신호에 대해 최하위 비트와 두번째 하위비트가 인버터(B3) 및 논리적회로(AND2)에 의해 달라지게 된다. 이는 시스템 설계자의 옵션에 따라 달리할 수 있으므로 서브루틴복귀시의 어드레스 선택폭을 넓힐 수 있어 소프트웨어의 운용을 보다 효율적으로 할 수 있게 한다. 최하위비트의 반전은 최초 서브루틴 호출시 어드레스와 중복을 피할 수 있게 한다. 이후 다시 MUX(10)의 선택신호 NORS에 의해 B영역을 따라 서브루틴 1을 실행하다가 완료되면 리턴명령에 의해 선택신호 CAS를 발생한다. 따라서 F영역에서는 상기 선택신호 CAS에 의해 MUX(10)에서 RTA(30)가 선택되게 된다. 이때 RTA(30)에 저장된 주프로그램으로의 복귀 어드레스신호가 MUX(10)를 거쳐서 MAR(20)에 공급되어 스브루틴 1을 완료한다. 이후부터는 복귀된 어드레스에서부터 프로그램 카운터에서 제공되는 다음 메모리 어드레스를 선택신호 NORS에 의해 MAR에 공급하여 주프로그램을 실행하게 된다.
따라서 서로 다른 복귀레지스터를 구성하고 이를 제어할 수 있는 신호를 발생시키면 서브루틴 실행중에 다른 서브루틴을 실행할 수 있다. 이러한 복귀어드레스를 복수개 구성하고 이를 제어하면 축차적으로 서브루틴을 연속실행할 수 있다. 이는 보다 많은 기능을 실현 가능하게 하며 메모리영역을 축소시킬 수 있게 하여 시스템의 코스트를 낮출 수 있게 한다.

Claims (4)

  1. 매 명령 사이클마다 인출클럭에 따라 메모리 어드레스신호를 래치하기 위한 메모리 어드레스 레지스터 ; 그리고 서브루틴 콜 명령사이클에서 인출클럭에 따라 상기 메모리 어드레스 레지스터에 래치된 어드레스신호를 래치하기 위한 제 1 복귀 레지스터를 포함하는 전자식 계산기에 있어서, 상기 서브루틴 실행중 또 다른 서브루틴콜 발생시 이에 따른 인출클럭에 따라 상기 메모리 어드레스 레지스터에 래치된 어드레스신호를 래치하기 위한 제 2 복귀 레지스터 ; 상기 메모리 어드레스 레지스터에 래치된 어드레스 신호의 다음 메모리 어드레스신호, 제 1 복귀 어드레스신호 및 제 2 복귀 어드레스신호를 상기 메모리 어드레스 레지스터에 선택적으로 공급하기 위한 멀티플렉서를 구비한 것을 특징으로 하는 전자식 계산기.
  2. 제 1 항에 있어서, 상기 멀티플렉서는 상기 또 다른 서브루틴의 리턴명령시 상기 제 2 복귀 어드레스신호를 선택하고 상기 서브루틴의 리턴 명령시 상기 제 1 복귀 어드레스신호를 선택하는 것을 특징으로 하는 전자식 계산기.
  3. 제 1 항에 있어서, 상기 제 1 및 제 2 복귀 어드레스 신호의 각 최하위 비트를 번전출력하기 위한 인버터를 상기 제 1 및 제 2 복귀 레지스터의 최하위 비트 출력단에 각각 연결한 것을 특징으로 하는 전자식 계산기.
  4. 제 3 항에 있어서, 상기 제 1 및 제 2 복귀 어드레스 신호의 최하위 비트를 제외한 비트중 적어도 하나이상의 비트를 다음 어드레스신호의 대응비트와 논리적시켜 출력하기 위한 논리적회로를 상기 제 1 및 제 2 복귀 레지스터의 각 비트 출력단에 각각 연결한 것을 특징으로 하는 전자식 계산기.
KR2019890020096U 1989-12-28 1989-12-28 멀티 서브루틴이 가능한 전자식 계산기 KR920004989Y1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR2019890020096U KR920004989Y1 (ko) 1989-12-28 1989-12-28 멀티 서브루틴이 가능한 전자식 계산기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR2019890020096U KR920004989Y1 (ko) 1989-12-28 1989-12-28 멀티 서브루틴이 가능한 전자식 계산기

Publications (2)

Publication Number Publication Date
KR910012446U KR910012446U (ko) 1991-07-30
KR920004989Y1 true KR920004989Y1 (ko) 1992-07-25

Family

ID=19294136

Family Applications (1)

Application Number Title Priority Date Filing Date
KR2019890020096U KR920004989Y1 (ko) 1989-12-28 1989-12-28 멀티 서브루틴이 가능한 전자식 계산기

Country Status (1)

Country Link
KR (1) KR920004989Y1 (ko)

Also Published As

Publication number Publication date
KR910012446U (ko) 1991-07-30

Similar Documents

Publication Publication Date Title
US6226776B1 (en) System for converting hardware designs in high-level programming language to hardware implementations
US3760369A (en) Distributed microprogram control in an information handling system
US4038643A (en) Microprogramming control system
US7769577B2 (en) Hardware accelerator with a single partition for latches and combinational logic
US4228498A (en) Multibus processor for increasing execution speed using a pipeline effect
US3775756A (en) Programmable special purpose processor having simultaneous execution and instruction and data access
JPS6361691B2 (ko)
US5923865A (en) Emulation system having multiple emulated clock cycles per emulator clock cycle and improved signal routing
US4155118A (en) Organization for an integrated circuit calculator/controller
Wagner Hardware verification
KR920004989Y1 (ko) 멀티 서브루틴이 가능한 전자식 계산기
O'Donnell Overview of Hydra: A concurrent language for synchronous digital circuit design
US5155826A (en) Memory paging method and apparatus
US8200943B2 (en) Microprocessor
KR940002478B1 (ko) 정보 처리장치
US6175881B1 (en) Microcontroller having a memory, a dedicated multitask memory, and switching circuit for selectively connecting the multitask memory to the internal or external bus
US5018092A (en) Stack-type arithmetic circuit
Lavington Manchester computer architectures, 1948-75
Knight Implementation of a list processing machine
JP3270337B2 (ja) プログラム制御プロセッサおよびマシン語プログラム出力方法
Goossens Building a Fetching, Decoding, and Executing Processor
KR100196526B1 (ko) 에뮬레이션을 위한 실시간 제어시스템
EP0260639A2 (en) Microprogram sequencer
KR100257772B1 (ko) 수퍼스칼라 마이크로프로세서의 정지점 생성 장치
Morris et al. A Simple Microcomputer System

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
REGI Registration of establishment
FPAY Annual fee payment

Payment date: 20010607

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee