KR100345678B1 - 설계의 변경이 용이한 제어 유닛 - Google Patents

설계의 변경이 용이한 제어 유닛 Download PDF

Info

Publication number
KR100345678B1
KR100345678B1 KR1019990063686A KR19990063686A KR100345678B1 KR 100345678 B1 KR100345678 B1 KR 100345678B1 KR 1019990063686 A KR1019990063686 A KR 1019990063686A KR 19990063686 A KR19990063686 A KR 19990063686A KR 100345678 B1 KR100345678 B1 KR 100345678B1
Authority
KR
South Korea
Prior art keywords
control
generator
control unit
command
control logic
Prior art date
Application number
KR1019990063686A
Other languages
English (en)
Other versions
KR20010061198A (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 KR1019990063686A priority Critical patent/KR100345678B1/ko
Publication of KR20010061198A publication Critical patent/KR20010061198A/ko
Application granted granted Critical
Publication of KR100345678B1 publication Critical patent/KR100345678B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Stored Programmes (AREA)
  • Logic Circuits (AREA)

Abstract

본 발명은 연산부(data processor)를 제어하는 제어유닛에 관한 것으로 포선 제어(hard-wired control)를 구현함에 있어서 마이크로프로그램 제어(microprogram control)의 기법을 최대한 적용하여 설계의 오류의 발견이나 수정이 쉽고 설계의 변경이 용이한 제어 유닛을 제공하는데 그 목적이 있다. 이를 위한 본 발명의 제어유닛은 연산부(data processor)를 순차적으로 제어하기 위한 제어유닛에 있어서, 명령 레지스터로부터 명령을 입력받아 입력된 명령을 저장하고 디코더를 제어하기 위한 제어 로직 발생기; 상기 제어 로직 발생기로부터 최종 제어 신호를 생성하고 연산부를 제어하기 위하여 디코딩하는 디코더; 상기 디코더로부터 수행 시간의 순서를 제어받아 상기 제어 로직 발생기의 시간 순차(step)를 구현하기 위한 타이밍 발생기를 포함하여 이루어진다.

Description

설계의 변경이 용이한 제어 유닛{Control unit for being easy change of design}
본 발명은 반도체 집적 회로에 관한 것으로, 특히 범용 또는 특정 용도의 마이크로프로세서(microprocessor), 마이크로콘트롤러 유닛(MCU), 디지털 신호 처리(DSP), 또는 특정용도를 위한 집적회로(ASIC) 등을 제어하는 제어유닛에 관한 것이다.
도1은 일반적인 마이크로프로세서의 구조를 도시한 블록도이다.
상기 도1을 참조하면, 마이크로프로세서는 크게 두 가지의 요소로 구성되어 있다고 볼 수 있다. 즉 실제 데이터를 처리하는 연산부(data processor)(100)와 그 연산의 수행을 순차적으로 제어하기 위한 제어 유닛(110)이다.
제어 유닛(110)의 설계는 연산부(100)의 설계에 비해서 상대적으로 더 복잡하며 오류의 발생 가능성이 매우 높아 설계자의 창의력이 요구된다.
제어유닛을 구현하는 방법은 크게 세 가지로 분류할 수 있다. 마이크로프로그램 제어(Microprogram control), 프로그램가능 논리 어레이 제어(PLA control), 그리고 포선 제어(hard-wired control)이다.
도2는 마이크로프로그램 제어의 방식을 도시한 블록도이다.
상기 도2를 참조하면, 마이크로프로그램 제어의 구조는 명령 레지스터(200)로부터 명령을 입력받는 프로그램 가능 논리 어레이(210)와, 상기 프로그램가능 논리 어레이(210)로부터 시작 어드레스를 입력받고 연산부(110)로부터 제어를 받으며디코더(240)로부터 순서 제어를 받아서 롬의 번지를 생성하기 위한 마이크로프로그램 순서기(220)와, 상기 마이크로프로그램 순서기(220)로부터 어드레스를 입력받는 롬(ROM)(230)과, 상기 롬(230)으로부터 인코딩된 데이터를 디코딩하여 연산부(110)를 제어하기 위한 디코더(240)을 구비한다.
마이크로프로그램 제어(microprogram control)의 구조는 도2에서 도시한 것과 같이 제어 신호가 롬(ROM)(230)에 저장되어 있으며, 롬(ROM)(230)의 크기를 줄이기 위해 인코딩(encoding)된 형태로 저장된다. 따라서 롬(ROM)(230)의 출력을 디코딩(decoding)하여 사용하게 된다. 롬(ROM)(230)의 번지는 마이크로프로그램 순서기(microprogram sequencer)(220)에서 생성되는데, 이 순서기(sequencer)는 새로운 명령에 따른 시작 번지(start address)를 내보내거나, 현재 번지를 하나 증가시키거나, 롬(ROM)(230)에서 제공된 번지로 분기하거나, 저장된 번지로 다시 돌아오거나(conditional branch 또는 sub-routine의 call과 return)하는 기능을 제공한다. 마이크로프로그램(Microprogram) 제어는 일단 제어를 위한 기본 하드웨어가 구성되면 별로 바꿀 필요가 없으며, 설계의 변경은 프로그램을 다시 작성함으로써 이루어진다. 이 방법은 사용 가능한 롬(ROM)의 특성에 따라 제한을 받는다.
두번째 제어유닛의 구현 방법은 포선 제어(hard-wired control)방식이다. 이 방법은 명령의 순차 및 수행 결과에 따른 각각의 내부 상태(state)를 정의하고 상태의 천이에 필요한 유한 상태기(FSM:Finite state machine)를 구현하는 것이다. 일반적으로 하나의 유한 상태기(FSM)로 모든 제어를 구현하기에는 너무 복잡해지므로, 여러 개의 하부 유한 상태기(FSM)들을 구현하여 이를 필요에 따라 작동시키게 된다. 따라서 포선 제어(hard-wired control)에 의한 제어부는 도3에서와 같이 여러 개의 유한 상태기(FSM)가 연결된 망 형태를 갖게 된다.
도3은 상기 포선 제어(hard-wire control)의 구성을 나타내는 구성도이다.
상기 도3을 참조하면, 명령 레지스터(300)의 명령을 입력받는 탑-유한 상태기(310)와, 상기 탑-유한 상태기(310)으로부터 제어를 받아 연산부를 제어하는 분산된 형태의 서브-유한상태기(320)를 구비한다.
포선제어(hard-wired control)의 방법은 마이크로프로그램 제어(microprogram control)와는 달리 제어부가 분산된 형태를 취한다.
이 방법의 단점은 설계의 변경이 필요할 때마다 해당되는 유한 상태기(FSM)들을 다시 작성해야 하는 점이다. 또한 설계 사양이 복잡해질수록 오류의 발견이나 수정이 더욱 어려워지는 단점이 있다.
셋째 방법은 프로그램가능 논리 어레이(PLA)를 이용한 제어이다.
도4는 상기 프로그램가능 논리 어레이(PLA) 제어를 나타내는 블록도이다.
상기 도4를 참조하면, 프로그램가능 논리 어레이(PLA) 제어는 연산부로부터의 조건을 입력받아서 연산부를 제어하고 순서 레지스터의 다음 상태를 발생시키는 프로그램가능 논리 어레이 제어부(400)와, 상기 프로그램가능 논리 어레이 제어부(400)로부터 다음 상태를 받아들여서 현재 상태를 상기 프로그램가능 논리 어레이로 출력하는 순서 레지스터(410)을 구비한다.
이 방법은 앞서 두 방법의 중간적인 형태이다. 분산된 제어부가 하나로 집중되어 있는, 포선 제어(hard-wired control)의 한가지 형태로 볼수도 있고, 로직의최적화 과정에서의 리던던시(redundancy)를 활용하여 롬(ROM)을 프로그램가능 논리 어레이(PLA)로 대체한 구조로 볼수도 있다.
상기와 같은 마이크로프로그램 제어 방식이나 포선 제어의 방식은 설계의 변경이 필요할 때마다 해당되는 유한 상태기(FSM)들을 다시 작성해야 하는 문제점이 있다. 또한, 설계 사양이 복잡해질수록 오류의 발견이나 수정이 더욱 어려워지는 문제점이 있다.
본 발명은 상기와 같은 종래기술의 문제점을 해결하기 위하여 안출된 것으로써, 포선 제어(hard-wired control)를 구현함에 있어서 마이크로프로그램 제어(microprogram control)의 기법을 최대한 적용하여 설계의 오류의 발견이나 수정이 쉽고 설계의 변경이 용이한 제어 유닛을 제공하는데 그 목적이 있다.
도1은 일반적인 마이크로프로세서의 구조를 도시한 블록도,
도2는 마이크로프로그램 제어의 방식을 도시한 블록도,
도3은 상기 포선 제어(hard-wire control)의 구성을 나타내는 구성도,
도4는 상기 프로그램가능 논리 어레이(PLA) 제어를 나타내는 블록도,
도5는 본 발명의 제어로직의 변환 과정을 나태내는 블록도,
도6은 본 발명에서 제안하는 설계 방법에서 사용되는 제어유닛의 기본 구조를 도시한 블록도,
도7은 본 발명의 제어 유닛의 간략회된 구조를 나타내는 블록도,
도8은 본 발명의 제어 유닛의 확장된 구조를 나타내는 블록도
* 도면의 주요 부분에 대한 부호의 설명 *
600 : 명령 레지스터 610 : 제어 로직 발생기
620 : 디코더 630 : 타이밍 발생기
상기의 목적을 달성하기 위한 본 발명은, 연산부(data processor)를 순차적으로 제어하기 위한 제어유닛에 있어서, 명령 레지스터로부터 명령을 입력받아 입력된 명령을 저장하고 디코더를 제어하기 위한 제어 로직 발생기; 상기 제어 로직 발생기로부터 최종 제어 신호를 생성하고 연산부를 제어하기 위하여 디코딩하는 디코더; 상기 디코더로부터 수행 시간의 순서를 제어받아 상기 제어 로직 발생기의 시간 순차(step)를 구현하기 위한 타이밍 발생기를 포함하여 이루어진다.
이와같이 본 발명은 롬(ROM)을 사용할 때 겪게 되는 면적이나 속도 면에서의 한계를 밧어나면서도, 잘 정립된 마이크로프로그램(microprogram) 기법을 적용하여 설계의 변경이 용이하고 오류의 발생 소지가 적게 제어부를 설계하고자 할 때 유용하다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부한 도면을 참조하여 설명하기로 한다.
도5는 제어로직의 변환 과정을 나태내는 블록도이다.
상기 도5를 참조하면, 제어로직의 변환과정은 각 명령이 규정된 시간 상태에 따라 수행할 마이크로-오퍼레이션을 표시한 타이밍-테이블을 입력받아 마이크로코드로 변환하는 제1단계(500)와, 상기 마이크로코드의 형태를 사용하고자하는 마이크로코드 어셈블러로 변환하는 제2단계(510)와, 상기 제2단계의 결과로부터 2진코드를 생성하여 베릴로그코드(verilog code)로 변환하는 제3단계(520)를 구비한다.
본 발명에서 제안하는 방법은 입력 테이블(table)을 변환시켜 줌으로써 제어 로직이 자동 생성되도록 한다. 먼저 입력 테이블(table)을 마이크로프로그램(microprogram)으로 변환한 후 어셈블(assemble)과정을 거쳐 2진 파일(binary file)을 얻는다. 최종적으로 2진 파일(binary file)을 VHDL(verilog hardware description language)의 카섹스 상태(casex statement)를 이용하여 프로그램가능 논리 어레이(PLA)와 유사한 형태의 로직 블록(logic block)으로 변환한다. 그림에서 연산코드 테이블(opcode table)은 명령어 메모닉(mnemonic)과 2진 코드(binary code)를 담고 있으며 마이크로코드 형태(microcode format)는 제어 워드의 각 분야(field)에 대응하는 마이크로-오퍼레이션(micro-operation)을 정의하고 있다.
도6은 본 발명에서 제안하는 설계 방법에서 사용되는 제어유닛의 기본 구조를 도시한 블록도이다.
상기 도6을 참조하면, 제어유닛은 명령 레지스터(600)으로부터 명령을 입력받아 입력된 명령을 저장하고 디코더를 제어하기 위한 제어 로직 발생기(610)와, 상기 제어 로직 발생기(610)로부터 최종 제어 신호를 생성하고 연산부를 제어하기 위하여 디코딩하는 디코더(620)와, 상기 디코더(620)로부터 수행 시간의 순서를 제어받아 상기 제어 로직 발생기(610)를 적절한 크기로 시간의 순차(step)를 구현하기 위한 타이밍 발생기(630)를 구비한다.
제안된 제어부의 특징은 마이크로프로그램 제어(microprogram control) 방식에서 롬(ROM)을 기준 셀 블록(standard cell block)으로, 롬(ROM)의 번지를 시간 순차(time-step)로 대치한 것이다.
본 발명에서 제안하는 방법에 적용되는 제어부의 구조를 상세히 기술하겠다. 도6의 제어부는 겉보기에는 프로그램가능 논리 어레이(PLA) 방식의 제어와 유사하게 보이지만 다음과 같은 특징들을 가지고 있다.
첫째, 제어 로직 발생기(CLG:Control Logic Generator)(610)는 롬(ROM)에 해당하는 부분으로 기준 셀(standard cell)로 구현한다. 이렇게 함으로써 롬(ROM)이나 프로그램 가능 논리 어레이(PLA)의 속도나 면적 상에서의 제한을 극복할 수 있다. 즉, 제어부는 로직의 리던던시(redundancy)가 많으므로, 현대의 발달된 캐드 툴(CAD tool)이라면 주어진 상황에 맞게 제한(constraint)을 적절히 조절함으로써 원하는 속도, 사용 면적과 전력 사용을 조절할 수 있다.
둘째, 제어 로직 발생기(CLG)(610)의 2진 파일(binary file)은 마이크로프로그램 제어(microprogram control) 방식에서 생성되는 롬(ROM) 파일(file)과 비슷하다. 즉, 하나의 제어 워드(word)는 여러 개의 필드(field)로 구성되고 현재 수행할 마이크로-오퍼레이션(micro-operation)에서 사용되지 않는 필드(field)들은 노-오퍼레이션(no-operation)에 해당하는 기본값을 가진다. 이점이 보통의 프로그램가능 논리 어레이(PLA) 제어와 구별되는 특징 중의 하나이다. 이렇게 하면 면적 면에서는 다소 손해이지만, 기본값을 설정할 때 로직(logic)의 천이(transition)가 적게 되도록 하여 전력 사용을 적게 할 수 있다. 단, 마이크로코드(microcode)의필드(field)중에서 다음 어드레스(address)를 생성하기 위한 필드(field)는 없으며, 그 대신에 제어 로직 발생기(CLG)의 입력 신호를 그대로 옮겨놓은 필드(field)가 있다. 이는 나중에 2진 파일(binary file)을 베릴로그 파일(verilog file)로 변환할 때 사용하기 위함이다.
셋째, 시간-순차(time-step)는 시간의 순차를 나타내며 명령의 수행 중에서 각 마이크로-오퍼레이션(micro-operation)의 수행 결과에 따라 달라지는 내부 상태와는 관련이 없다. 본 발명의 시간-순차(time-step)를 일종의 스테이트(state)로 간주하면, 본 발명은 일반적인 포선(hard-wired)제어의 경우에 비해 매우 적은 스테이트(state)를 갖는다. 이 점이 제어 로직 발생기(CLG)(610)를 적절한 크기로 구현하기 위한 핵심사항이다. 대개의 경우 시간-순차(time-step)는 구현하고자 하는 마이크로프로세서의 구조(architecture)가 정해지면 바로 정해진다. 예를 들면 인텔(Intel)사의 8052 마이크로콘트롤러 유닛(MCU)은 하나의 머신 사이클(machine cycle)에서 세분화된 시간 정보를 나타내기 위해 여섯 개의 내부 스테이트(state)를 규정하여 사용하고 있다. 또 다른 예는 한 명령의 수행 단계를 몇 단계로 나누어 이를 스테이트(state)로 구분하는 경우이다. 대표적인 예는 명령 페치(instruction fetch), 디코드(decode), 실행(execution), 기억(memory), 그리고 라이트 백(write back)의 단계로 나누는 것이다.
넷째, 도6에서 타이밍 발생기(Timing Generator)(630)는 기본적으로 링 카운터(ring counter)로 구현된다. 단, 시간-순차(time-step)는 명령어들의 수행 시간에 따라 확장될 수 있으며, 특정 시간-순차(time-step)들을 반복 수행하는 기능도 제공할 수 있다. 이해를 돕기 위해 8052 MCU의 경우를 예를 들겠다. 8052 MCU의 명령어들은 한 머신 사이클(machine cycle)이 여섯개의 스테이트(state)로 구성되어 있으며, 명령어들은 한 사이클, 두 사이클, 또는 네 사이클의 수행 시간을 갖는다. 따라서 8052 MCU의 시간-순차(time-step)는 사이클을 구분하기 위한 두 비트와 스테이트(state)를 구분하기 위한 세 비트 도합 다섯 비트의 시간-순차(time-step)를 필요로 한다. 그런데 네 사이클 명령은 곱셈과 나눗셈 명령 뿐이므로 이 명령들을 두 사이클 명령으로 간주하여 시간-순차(time-step)의 비트 수를 네 비트로 줄일 수 있다. 이를 위하여 곱셈과 나눗셈 명령에서는 특정 시간-순차(time-step)를 반복하게 한다. 순서 제어(sequence-control)은 현재의 명령이 시간-순차(time-step)의 확장이 필요한지 아닌지를 시간 발생기(Timing Generator)에게 알려주는 것이다.
다섯째, 도6에서 디코더(Decoder)(620)는 제어 로직 발생기(CLG)(610)의 필드(field)들로부터 최종 제어 신호들을 생성한다.
필요에 따라 제어 로직 발생기(CLG)(610)와 디코더(Decoder)(620) 사이에 일시적인 저항(temporary register)을 삽입할 수도 있다.
도7은 본 발명의 제어 유닛의 간략화된 구조를 나타내는 블록도이다.
상기 도7을 참조하면, 제어 유닛은 명령 레지스터(700)로부터 명령을 입력받아 연산부를 제어하고 타이밍 발생기를 시간 순서로 제어하기 위한 제어 로직 발생기(710)와, 상기 제어 로직 발생기(710)로부터 수행 시간의 순서를 제어받아 상기 제어 로직 발생기(710)를 적절한 크기로 시간의 순차(step)를 구현하기 위한 타이밍 발생기(730)를 구비한다.
상기 제어 유닛의 구조는 디코더(Decoder)가 생략된 구조이다. 즉 제어 로직 발생기(CLG)(710) 자체가 디코드(decode)된 제어 신호를 제공하는 구조이다.
도8은 본 발명의 제어 유닛의 확장된 구조를 나타내는 블록도이다.
상기 도8을 참조하면, 제어유닛은 명령 레지스터(800)으로부터 명령을 입력받아 명령을 저장하고 제어 신호를 발생하기 위한 제어 로직 발생기(810)와, 상기 제어 로직 발생기(810)로부터 제어 신호를 입력받아 상기 제어신호를 일시적으로 저장하기 위한 마이크로-명령 레지스터(820)와, 상기 제어로직발생기(810)로부터 제어 신호를 입력받아 디코딩하고 연산부를 제어하기 위한 제1디코더(830)와, 상기 마이크로-명령 레지스터(820)으로부터 명령을 입력 받아 디코딩하여 연산부를 제어하기 위한 제2디코더(840)와, 상기 제2디코더(840)로부터 수행 시간의 순서를 제어받아 상기 제어 로직 발생기(810)를 적절한 크기로 시간의 순차(step)를 구현하기 위한 타이밍 발생기(850)를 구비한다.
제어 로직 발생기(CLG)(810)와 디코더(Decoder)(840) 사이에 마이크로-명령 레지스터(820)를 첨가한 의도는 임계의 경로(critical path)를 줄이기 위한 것일 수도 있고, 제어 로직 발생기(CLG)(810)가 완전한 출력을 발생하기 까지 천이(transition)의 전파를 막아 전력 소비가 적게 하기 위한 것일 수도 있다. 또한, 도8의 구조는 데이터 프로세서(data processor)의 상태를 입력으로 받아들여 조건 분기 기능을 제한적이나마 제공할 수 있다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
상기와 같이 본 발명은 포선 제어(hard-wired control)를 구현함에 있어서 마이크로프로그램 제어(microprogram control)의 기법을 적용가능하게 해 줌으로써 설계의 결과가 읽기 쉽고 나중에 다른 사람이 쉽게 변경할 수 있어 설계의 재사용 가능성을 높이고, 설계가 진행되어감에 따라 가해지는 수정 및 첨삭에 최소한이 노력이 들도록 하며, 대부분의 과정이 소프트웨어에 의해 자동 수행되므로 변경 결과의 신뢰도를 높여준다. 이에 따라, 오류의 발생 가능성이 적어 설계 시간이 획기적인 단축을 가져올 수 있도록 한다.

Claims (11)

  1. 삭제
  2. 삭제
  3. 연산부(data processor)를 순차적으로 제어하기 위한 제어유닛에 있어서,
    명령 레지스터로부터 명령을 입력받아 입력된 명령을 저장하고 디코더를 제어하기 위한 제어 로직 발생기;
    상기 제어 로직 발생기로부터 최종 제어 신호를 생성하고 연산부를 제어하기 위하여 디코딩하는 디코더;
    상기 디코더로부터 수행 시간의 순서를 제어받아 상기 제어 로직 발생기의 시간 순차(step)를 구현하기 위한 타이밍 발생기
    를 포함하여 이루어진 제어유닛.
  4. 제 3 항에 있어서,
    상기 제어 로직 발생기는,
    제1항의 베릴로그코드로의 변환 결과를 로직 합성(logic synthesis)한 것임을 특징으로 하는 제어유닛.
  5. 제 3 항에 있어서,
    상기 제어 로직 발생기는 스텐다드 셀(standard cell)로 구현된 것을 특징으로 하는 제어유닛.
  6. 제 3 항에 있어서,
    상기 타이밍 발생기는 시간 순차(step)를 수행 시간에 따라 확장하며, 반복 수행하기 위하여 링 카운터로 구현된 것을 특징으로 하는 제어유닛.
  7. 연산부(data processor)를 순차적으로 제어하기 위한 제어유닛에 있어서,
    명령 레지스터로부터 명령을 입력받아 연산부를 제어하고 타이밍 발생기를 시간 순서를 제어하기 위한 제어 로직 발생기; 및
    상기 제어 로직 발생기로부터 수행 시간의 순서를 제어받아 상기 제어 로직 발생기의 시간 순차(step)를 구현하기 위한 타이밍 발생기
    를 포함하여 이루어진 제어유닛.
  8. 제 7 항에 있어서,
    상기 제어 로직 발생기는,
    제1항의 베릴로그코드로의 변환 결과를 로직 합성(logic synthesis)한 것임을 특징으로 하는 제어유닛.
  9. 연산부(data processor)를 순차적으로 제어하기 위한 제어유닛에 있어서,
    명령 레지스터으로부터 명령을 입력받아 명령을 저장하고 제어 신호를 발생하기 위한 제어 로직 발생기;
    상기 제어 로직 발생기로부터 제어 신호를 입력받아 상기 제어신호를 일시적으로 저장하기 위한 마이크로-명령 레지스터;
    상기 제어로직발생기로부터 제어 신호를 입력받아 디코딩하고 연산부를 제어하기 위한 제1디코더;
    상기 마이크로-명령 레지스터로부터 명령을 입력 받아 디코딩하여 연산부를 제어하기 위한 제2디코더;
    상기 제2디코더로부터 수행 시간의 순서를 제어받아 상기 제어 로직 발생기의 시간 순차(step)를 구현하기 위한 타이밍 발생기
    를 포함하여 이루어진 제어유닛.
  10. 제 9 항에 있어서,
    상기 제어 로직 발생기는,
    제1항의 베릴로그코드로의 변환 결과를 로직 합성(logic synthesis)한 것임을 특징으로 하는 제어유닛.
  11. 삭제
KR1019990063686A 1999-12-28 1999-12-28 설계의 변경이 용이한 제어 유닛 KR100345678B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990063686A KR100345678B1 (ko) 1999-12-28 1999-12-28 설계의 변경이 용이한 제어 유닛

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990063686A KR100345678B1 (ko) 1999-12-28 1999-12-28 설계의 변경이 용이한 제어 유닛

Publications (2)

Publication Number Publication Date
KR20010061198A KR20010061198A (ko) 2001-07-07
KR100345678B1 true KR100345678B1 (ko) 2002-07-27

Family

ID=19631008

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990063686A KR100345678B1 (ko) 1999-12-28 1999-12-28 설계의 변경이 용이한 제어 유닛

Country Status (1)

Country Link
KR (1) KR100345678B1 (ko)

Also Published As

Publication number Publication date
KR20010061198A (ko) 2001-07-07

Similar Documents

Publication Publication Date Title
EP0238090B1 (en) Microcomputer capable of accessing internal memory at a desired variable access time
US5005118A (en) Method and apparatus for modifying micro-instructions using a macro-instruction pipeline
KR100423910B1 (ko) 코프로세서 명령 실행 장치 및 방법
JP5231800B2 (ja) 半導体集積回路装置および半導体集積回路装置のクロック制御方法
JPH0922318A (ja) プロセッサ及びその制御方法
JPS6239780B2 (ko)
JPH03218523A (ja) データプロセッサ
JP3175921B2 (ja) プログラム設計方法、これに関連する方法、命令デコーダ及びプロセッサ
JP4412905B2 (ja) 低電力動作制御装置、およびプログラム最適化装置
US5390306A (en) Pipeline processing system and microprocessor using the system
KR100345678B1 (ko) 설계의 변경이 용이한 제어 유닛
US5479620A (en) Control unit modifying micro instructions for one cycle execution
US7877575B2 (en) Microprocessor
JP3958239B2 (ja) マイクロコントローラ
JP3459821B2 (ja) マイクロプロセッサ
US5457803A (en) Bit-field logic operation unit
JPH0685147B2 (ja) 半導体回路装置
JP3954159B2 (ja) 同期式ramのアクセス制御回路、データ処理プロセッサ及びその制御方法
US5109516A (en) Sequence controller for controlling next operating state with a short sequence
JPS63293638A (ja) データ処理装置
JP3515018B2 (ja) パイプライン形データ処理装置
JPH07191845A (ja) 即値データ転送装置
JPH05250156A (ja) Riscプロセッサ
JPH05265746A (ja) マイクロプロセッサ
JPH02205925A (ja) マイクロプロセッサ

Legal Events

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

Payment date: 20070611

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee