KR20070036083A - 프로그램/명령어의 실행을 구동하는 “l”구동법 및그것의 아키텍처와 프로세서 - Google Patents

프로그램/명령어의 실행을 구동하는 “l”구동법 및그것의 아키텍처와 프로세서 Download PDF

Info

Publication number
KR20070036083A
KR20070036083A KR1020067027649A KR20067027649A KR20070036083A KR 20070036083 A KR20070036083 A KR 20070036083A KR 1020067027649 A KR1020067027649 A KR 1020067027649A KR 20067027649 A KR20067027649 A KR 20067027649A KR 20070036083 A KR20070036083 A KR 20070036083A
Authority
KR
South Korea
Prior art keywords
unit
program
cell
program execution
queue
Prior art date
Application number
KR1020067027649A
Other languages
English (en)
Other versions
KR100834180B1 (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 씨아오보 리
Publication of KR20070036083A publication Critical patent/KR20070036083A/ko
Application granted granted Critical
Publication of KR100834180B1 publication Critical patent/KR100834180B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • 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, look ahead

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Advance Control (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

본 발명은 컴퓨터 기술범주내의 컴퓨터 아키텍처 기술분야에 관한 것으로서, 상세하게는 컴퓨터 프로그램/명령어의 실행을 구동하는 신규 구동방법, 및 이런 방법을 사용하는 컴퓨터 프로세서의 아키텍처와 컴퓨터 프로세서에 관한 것인데, 이 유형의 프로세서는,인터럽트 처리를 사용하지 않는 전제조건하에서 동일한 시각에 단일한 프로세서에서 복수 개의 프로그램을 동시에 병렬실행할 수 있는 특징과, 여기에서의 단일한 프로세서는, 1세트의 명령어제어유닛, 1세트의 연산제어유닛, 각각 1세트의 프로그램과 데이터기억유닛, 및 1세트의 커넥트유닛으로 구성되어 있는 단일한 프로세서를 말하며; 또 각각의 프로그램을 위해 하나의 프로그램실행 구동장치를 인입하였으며, 복수 개의 프로그램실행 구동장치는 상호독립적이거나 상호 협력하여, 상기 단일한 프로세서에서 동시에 병렬실행될 수 있도록 복수 개의 프로그램을 구동할 수 있는 특징을 포함하고 있다. 본 발명은 싱글칩(single chip), DSP, 및 각종 규모의 컴퓨터 CPU와 같은 여러 유형 컴퓨터의 프로세서에 적용이 가능하다.

Description

프로그램/명령어의 실행을 구동하는 “L”구동법 및 그것의 아키텍처와 프로세서{A“L”Driving Method for Driving Program/Instruction , and Architecture and Processor Thereof}
본 발명은 컴퓨터 기술 범주내에서의 컴퓨터 아키텍처(architecture)의 기술분야에 관한 것으로서, 상세하게는 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법이라고 하는 컴퓨터 프로그램/명령어의 실행을 구동하는 구동방법, 및 이런 방법을 사용하는 컴퓨터 프로세서의 아키텍처와 컴퓨터 프로세서에 관한 것으로서, 그 주요특징은 각각의 프로그램을 위해 하나의 프로그램실행 구동장치를 인입하여, 인터럽트 처리(interrupt process)를 사용하지 않는 전제조건하에서, 복수 개의 프로그램 구동장치가 상호 독립적이거나 상호 협력하여, 복수 개의 프로그램을 단일한 상기 프로세서에서 동시에 병렬 실행할 수 있도록, 관리와 제어를 진행한다. 여기에서의 단일한 프로세서는, 1세트의 명령어제어유닛, 1세트의 연산제어유닛, 각각 1세트의 프로그램 및 데이터기억유닛, 1세트의 커넥트유닛(connected unit)으로 구성되어 있는 단일한 프로세서를 말한다.
전통적인 컴퓨터가 아키텍처에 있어서 가장 중요한 특징은, 하나의 프로그램의 실행을 지향하는 아키텍처로서, 다시 말하면 임의의 시각에, 단지 하나의 프로 그램만이 단일한 컴퓨터 프로세서에서 실행되는 것이다.
현재 컴퓨터의 실제적인 응용에 있어서, 한 명의 이용자가 하나의 컴퓨터(PC)에서, 편집기에서 문서를 작성하는 동시에, 인터넷에서 하나 심지어 여러 개의 이미지를 다운로드하고, 또한 한 단락의 음악 재생중이거나, 바이러스방지 시스템이 실시간 감시 진행중이며, 키보드로 타이핑하고, 마우스를 이동하는 등 복수 개의 어플리케이션을 호출(invoke)하고 복수 개 프로그램을 실행하는 상황을 흔히 볼 수 있다. 이 이용자의 필요를 만족시키기 위해, 하나의 PC는 대량의 시간을 소요하여 이런 프로그램들 사이에서 빈번히 스위치오버(switch over)를 하기에, 이로 인하여 시스템의 전체적 성능이 대폭 저하되었다. 상기의 모든 것은 전통적인 컴퓨터 원리에 따라 설계한 전통적인 컴퓨터 프로세서가, 동일한 시각에 동일한 컴퓨터 프로세서에서 동시에 복수 개의 프로그램을 병렬실행할 수 없기 때문이다.
본 발명은 상기 종래기술의 단점을 극복하여, 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법이라고 하는 컴퓨터 프로그램/명령어의 실행을 구동하는 구동방법, 및 이러한 방법을 사용하는 컴퓨터 프로세서의 아키텍처와 컴퓨터 프로세서를 제공하는데 그 목적을 두고 있으며, 그 특징은, 인터럽트 처리를 사용하지 않는 전제조건하에서, 임의의 하나의 이 유형 컴퓨터 프로세서에서 동일한 시각에 복수 개의 프로그램을 병렬실행할 수 있는 것이다. 여기에서의 하나의 이 유형 컴퓨터 프로세서는, 1세트의 명령어제어유닛(instruction control unit), 1세트의 연산제어유닛(operation control unit), 각각 1세트의 프로그램 및 데이터기억유닛(program storage unit), 1세트의 커넥트유닛(connected unit)으로 구성되어 있는 단일한 프로세서를 말한다.
상기의 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법 및 이런 방법을 사용하는 컴퓨터 프로세서 아키텍처와 컴퓨터 프로세서는, 각각의 프로그램을 위해 하나의 프로그램실행 구동장치를 인입하였고, 따라서 복수 개의 프로그램실행 구동장치는 상호 독립적이거나 상호 협력하여, 동일 시각에 동일한 이 유형 컴퓨터 프로세서에서 복수 개의 프로그램을 병렬실행할 수 있도록 관리와 제어를 진행하는 것을 특징으로 한다. 여기에서, 하나의 프로그램을 구성하는 멀티 루틴(multiple routines)과 서브 루틴(subroutines)은 각각 자체의 프로그램실행 구동장치를 가져도 된다.
매 프로그램은 실행가능 코드를 생성하는 동시에, 이 프로그램의 프로그램실행 구동장치를 생성하였다. 하나의 프로그램실행 구동장치는 적어도 이 프로그램의 속성특징(attribute feature)을 설명하고 정의하는데 필요한 전부의 관련 정보와 이 프로그램의 실행을 관리하고 제어하는데 필요한 전부의 관련 정보를 포함한다.
상기의 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법을 사용하는 컴퓨터 프로세서의 아키텍처와 컴퓨터 프로세서에 있어서, 그 시스템의 기본구성은 하기에 기재된 바와 같다.
1) 시스템의 하드웨어부분은 하기의 유닛으로 구성된다. 프로그램기억유닛, 데이터기억유닛, 레지스터 세트등과 같은 하나 또는 복수 개의 병렬작업이 가능한 기억유닛, 제어유닛, "해독"유닛, 산술/논리 연산유닛, 주변장치 등과 같은 하나 또는 복수 개의 병렬작업이 가능한 동작제어유닛, 버스 및 제어유닛 등과 같은 하나 또는 복수 개의 병렬작업이 가능한 유닛 사이에서 연결작용을 하는 커넥트유닛으로 구성된다. 상기의 각 유형의 유닛은 일반적으로 하나의 입력버퍼(buffer)장치와 하나의 출력버퍼장치를 구비하고 있다. 그중:
● 시스템에서 전부의 유닛은 요구(request)/서비스에 따른 방식으로 작업가능하다. 요구를 수신한 후, 입력버퍼가 비어있지 않을 경우, 지정을 완료한 서비스를 기동하며, 결과를 출력버퍼에 저장한다.
● 서비스를 요구받는 유닛이 복수 개로 중복 설정되어 있으면, 그중 임의의 하나의 휴지(idle)상태의 유닛을 선택한다. 만일 전부가 사용중에 있으면 휴지상태로 될 때까지 대기한다.
● 시스템의 유닛은 독점형과 비독점형으로 구분된다. 독점형유닛은 시스템에서 미리 설정하거나 처음으로 서비스를 요구할 경우에 신청된다. 미리 설정 또는 신청의 결과는 이 프로그램에 대응되는 프로그램실행 구동장치의 일부 항목에 저장된다.
2) 시스템의 프로그램 부분은 현대 컴퓨터 시스템의 오퍼레이팅 시스템과 유사한 하나의 시스템관리 프로그램으로 구성가능하다. 이 시스템관리 프로그램은 어느 한 기억유닛에 저장되어 있으며, 적어도 프로그램 스케쥴링(scheduling)기능을 갖고 있고, 적어도 하나의 프로그램 스케쥴링 테이블로 불리우는 데이터구조를 유지한다. 시스템이 기동시 시스템관리 프로그램의 프로그램실행 구동장치는 시스템의 어느 한 동작제어유닛에 로드되며, 이 프로그램실행 구동장치를 유효화(enabling) 또는 활성화(activating)하였다고 말한다. 이 프로그램실행 구동장치는 시스템관리 프로그램을 구동하여, 복수 개의 이용자 프로그램의 프로그램실행 구동장치를 순차적으로 활성화시킨다. 이후에, 각각의 이용자 프로그램의 프로그램실행 구동장치는 동일한 시각에 상호 독립적이거나 상호 협력하여 각자의 이용자 프로그램이 동일한 상기 컴퓨터 프로세서에서 동시에 병렬실행될 수 있도록 구동한다.
상기한 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법 및 이런 방법을 사용하는 컴퓨터 프로세서의 아키텍처와 컴퓨터 프로세서에 있어서, 그 특징은, 이 신규 유형의 컴퓨터 프로세서의 작업방법, 즉 프로그램실행 구동장치가 프로그램의 실행을 구동하는 방법은 하기한 바와 같다.
1) 하나의 프로그램이 일단 실행가능 코드를 생성하였다면, 시스템관리 프로그램은 이 프로그램의 실행을 구동하는데 관련한 정보를 프로그램 스케쥴링 테이블의 대응되는 칼럼(column)에 써넣는다. 이러한 경우, 이 프로그램은 어느 한 기억유닛에 저장되어 있으며 실행대기 상태에 처하여 있다.
2) 이 프로그램이 일단 호출되어 실행될 각 항의 조건을 만족한다면, 시스템관리 프로그램은 이 프로그램의 프로그램실행 구동장치를 작성/생성 (create/generate)한다. 이후에 이 프로그램은 실행상태에 진입하며, 자체의 프로그램실행 구동장치의 관리와 제어에 의해 독립적으로 실행된다.
3) 프로그램실행 구동장치는 자체가 저장하고 있는 이 프로그램의 상주 (resident)정보(예를 들면, 프로그램기억유닛번호, 유닛내 주소 PC 등)에 근거하여, 대응되는 기억유닛에 가서 현재 실행하려는 명령어를 읽어낸다.
4) 명령어를 읽어낸 후, 이 프로그램실행 구동장치는 즉시 이미 읽어낸 명령어를 해독하도록 어느 한 동작제어유닛을 제어한다. 또한 이것에 근거하여, 대응되는 기억유닛에서 피연산자(operand)를 읽어내도록 제어하고, 대응되는 동작제어유닛이 지정된 처리를 완성하도록 제어하며, 또한 처리결과를 대응되는 기억유닛에 써넣도록 제어한다.
● 여기에서의 "해독"은 전통적인 디코딩과 조금 차이가 있으며, 상세한 것은 이후에 계속되는 단락을 참조 바란다.
● 읽어낸 명령어, 명령어의 "해독" 결과, 읽어낸 피연산자, 및 동작결과는 이 프로그램실행 구동장치의 어느 한 유닛(unit)에 일시 저장되어 있다.
5) 마지막으로, 이 프로그램실행 구동장치는 자체가 저장하고 있는 프로그램 상주정보 유형중의 PC항목을 현재 명령어가 규정한 방식에 따라 수정한 후, 절차 3으로 넘어가 본 프로그램의 다음(next) 명령어의 실행을 제어한다.
6) 적어도 하기의 상황에서, 시스템관리 프로그램은 어느 한 프로그램의 프로그램실행 구동장치를 언로드(unload) 한다. 이 프로그램의 종료명령어에 실행되었다. 이는 PM을 대응되는 종료플래그(flag)로 설정하고 시스템관리 프로그램의 프로그램실행 구동장치를 활성화하여, 시스템관리 프로그램이 이 프로그램에 대응되는 종료처리를 진행하도록 구동하고, 마지막에 이 스케쥴링 테이블에서 이 프로그램의 프로그램실행 구동장치를 삭제한다.
아주 명확한바, 본 발명에서 제출한 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법에 근거하여 설계한 신규유형의 컴퓨터 프로세서는 명령어레벨(level)의 병렬을 실현할 수 있다. 사실상, 동일한 시각에 동일한 신규 유형의 컴퓨터 프로세서에서 복수 개의 프로그램실행 구동장치는 상호 독립적이거나 상호 협조하여 복수 개의 프로그램이 동시에 병렬실행될 수 있도록 관리와 제어를 진행한다.
본 발명에서 제출한 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법에 근거하여 설계한 신규유형의 컴퓨터 프로세서에서 명령어레벨의 리소스공유를 실현할 수 있다. 시스템의 임의의 유닛은, 만일 현재 점유되지 않았다면, 임의의 하나의 프로그램의 프로그램실행 구동장치가 구동하고 있는 현재 명령어에 이용가능하다.
본 발명에서 제출한 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법에 근거하여 설계한 신규 유형의 컴퓨터 프로세서에서, 활성화시킨 프로그램실행 구동장치의 수량은 단지 시스템이 제공하는 리소스의 전체량에 정비례할 뿐이다. 시스템의 리소스가 충분한 조건하에서, 프로그램실행 구동장치의 수량은 충분할 수 있다. 다시 말하면, 시스템은, 복수 개의 프로그램이 동일한 시각에 동일한 컴퓨터 프로세서에서 동시에 병렬실행되는 것을 지원가능하다.
본 발명에서 제출한 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법에 근거하여 설계한 신규 유형의 컴퓨터 프로세서는 전통적인 멀티 컴퓨터시스템, 멀티 프로세서 기계(multi-processor machine) 시스템, 및 멀티 프로세서 시스템과 본질적으로 상이하며, 또한 기타 병렬처리기술(예를 들면, 중첩기술(overlay technology), 첨단제어기술, 멀티 오퍼레이션유닛기술, 파이프라인기술(Pipeline technology), 하이퍼 파이프라인기술, 초장명령어(very long instruction word)기술, 슈퍼 스칼라(super scalar)기술, 멀티쓰레드(multi thread)기술 등)을 이용하고 있는 컴퓨터 시스템과 본질적으로 상이하다. 특히 본 발명에서 제출한 컴퓨터 프로세서 동작방법에 근거하여 설계한 신규 유형의 컴퓨터 프로세서와 전통적인 멀티 컴퓨터 시스템의 차별은 하기한 바와 같다. 복수 개의 프로그램은 단일한 컴퓨터에서 실행될 뿐 복수 개의 컴퓨터에 분배되어 실행될 수 없는 이러한 상황이 많이 존재한다. 예를 들면 마우스, 키보드, 디스플레이 등 시스템 프로그램, 바이러스감시 등 프로그램 및 이 컴퓨터를 이용하는 이용자프로그램을 복수 개의 컴퓨터에 분배하여 실행할 수 없다. 이러한 상황에서, 전통적인 멀티 컴퓨터 시스템은 인터럽트 전환방식을 사용하여 복수 개의 프로그램을 하나의 "매크로" 프로그램으로 전환하여 컴퓨터에서 실행할 수밖에 없다. 하지만 본 발명에서 제출한 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법에 근거하여 설계한 신규 유형의 컴퓨터 프로세서에서는, 인터럽트 처리를 이용하지 않는 전제조건하에서, 상기의 각각의 프로그램들을 동일한 시각에 단일한 컴퓨터 프로세서에서 전부 병렬실행할 수 있다.
도 1은 본 발명의 일 실시형태의 아키텍처의 원리성 표시 블록선도이고,
도 2는 본 발명의 상기 실시형태에서의 프로그램실행 구동장치의 전송유닛의 구조 블록선도이고,
도 3은 본 발명의 상기 실시형태에서의 전송유닛의 네트워크커넥트장치의 교차 상호연결 설계방식의 구조 블록선도이고,
도 4는 본 발명의 상기 실시형태에서의 전송유닛의 네트워크커넥트장치의 멀티버스 상호연결 설계방식의 구조 블록선도이고,
도 5는 본 발명의 상기 실시형태의 동작 흐름도이다.
본 발명에서 제출한 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법에 근거하여, 신규 유형 구조의 컴퓨터 아키텍처와 컴퓨터 프로세서(이하, 각각 L컴퓨터 아키텍처와 L구조 프로세서로 약칭함)를 설계할 수 있다. 도 1은 그중 하나의 실시형태의 L컴퓨터 아키텍처의 원리성 표시 블록선도이다. 본문의 목적은, 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동방법, 및 L컴퓨터 아키텍처와 L구조 프로세서의 기술원리에 관련한 자세한 설명이며, 하나의 실용적인 L구조 프로세서를 설계하는 것은 아니며, 이런 원인으로 이 원리성 아키텍처 표시 블록선도에서는 많은 간략화와 생략을 진행하였으며, 예를 들면 클럭(clock)부분, 버스(bus)부분 등을 생략하였고, I/O인터페이스 및 주변장치 부분도 상징적으로만 설명했을 뿐이다.
동일한 원인으로 인해, 도 6에 표시한 바와 같이 본문에서는 아주 간략한 하나의 명령어시스템만 설계하였다.
컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법 및 이런 방법의 컴퓨터 프로세서의 아키텍처와 컴퓨터 프로세서는, 매 하나의 프로그램마다 하나의 프로그램실행 구동장치를 인입하여 프로그램의 실행을 구동하는데 이용하는 하나의 가장 중요한 특징을 갖고 있다. 본 실시예 중에서, 프로그램실행 구동장치는 1세트의 정보셀(information cell)로 구성된 정보블록(block)으로 설계되었다. 시스템 하드웨 어의 지원에 의해 이런 정보셀세트, 즉 프로그램실행 구동장치는 현재 휴대하고 있는 명령어의 명령코드(operation code)의 요구에 따라, 순차적으로 대응되는 각 기능 유닛에 가서, 명령어의 피연산자에 대한 지정된 기능 동작을 진행한다. 예를 들면, 읽기동작, 연산(operation)동작, 저장동작 등을 진행한다. 프로그램실행 구동장치의 구성은 하기한 바와 같다.
0 1 2 3 4 5 6 7 8 9 10 11 12 13-28
MPno MPnu PC MDno MDnu PrNo R0-R15
본 실시예에서 하나의 프로그램실행 구동장치는 29개 셀로 구성되었으며, 각 구성셀의 정의와 설명은 하기한 바와 같다.
셀 0-셀 6: 실행시의 작업셀로서, 본 프로그램이 실행과정중 일시/중간결과를 저장하는데 사용되며, 그중 0번셀(NEXT셀로 불리움)은, 본 프로그램실행 구동장치가 현재 서비스 요구를 진행하려는 기능유닛의 번호이고, 1 - 6번셀은 현재 구동되는 명령어에 따라 상이하며, 그 구체적인 사용방법은 각 유닛기능을 설명할 때 이미 상세하게 설명하였다. 특히 셀 1은 ΔPC셀로서 사용되는 경우가 있으며, ΔPC = 0인 경우 현재 명령어가 하나의 END명령어임을 표시하고, ΔPC = 1인 경우 현재 명령어가 하나의 비점프(jump)형 명령어임을 표시하고, ΔPC > 1 또는ΔPC < 0일 경우 현재 명령어가 하나의 점프형 명령어임을 표시한다.
셀 7: 프로그램기억유닛의 유닛번호(MPno)로서, 본 프로그램이 상주하고 있는 프로그램기억유닛의 유닛번호를 저장하는데 사용된다.
셀 8: 하나의 프로그램이 차지하게 될 프로그램공간이 하나의 프로그램기억유닛의 용량보다 큰 경우, 순차적으로 인접한 복수 개의 연속된 프로그램기억유닛에 저장할 수 있다. 프로그램기억유닛의 수량셀은 본 프로그램이 차지하는 연속된 프로그램기억유닛의 수량을 저장하는데 사용된다. 만일 MPNu의 값이 1보다 크면, MPno의 값은 첫 프로그램 기억유닛의 유닛번호이다.
셀 9: 프로그램기억유닛의 유닛내 주소(PC)로서, 본 프로그램이 현재 명령어를 실행한 프로그램기억유닛의 유닛내 주소를 저장하는데 사용된다.
셀 10: 데이터 기억유닛의 유닛번호(MDno)로서, 본 프로그램이 점유하고 있는 데이터기억유닛의 유닛번호를 저장하는데 사용된다.
셀 11: 데이터기억유닛의 유닛 수량(MDnu)으로서, 하나의 프로그램이 차지하게 될 데이터공간이 하나의 프로그램기억유닛의 용량보다 큰 경우, 순차적으로 인접한 복수 개의 연속된 프로그램기억유닛에 저장할 수 있다. 데이터기억유닛 수량셀은 본 프로그램이 차지하는 연속된 데이터기억유닛의 수량을 저장하는데 사용된다. 만일 MDnu의 값이 1보다 크면, MDno의 값은 첫 데이터기억유닛의 유닛번호이다.
셀 12: 프로그램번호(PrNo)로서, 현재 실행중인 두개 이상 프로그램이 동일한 프로그램기억유닛에 저장되어 있을 경우, 본 파라미터를 사용하여 각 프로그램을 구분한다.
셀 13 - 셀 28: 16개 범용레지스터(R0 - R15)이며, 본 실시예에서는 16개 범용레지스터(R0-R15)를 프로그램실행 구동장치의 구성부분으로 설계하였다.
전통적인 컴퓨터 프로세서에서, 레지스터 세트는 일반적으로 하드웨어유닛으로 설계되어 있으며, 하드웨어는 기억전기장치와 읽기/쓰기전기장치로 구성되었다. 구별하기 위해, 이런 레지스터 세트 설계방식을 고정식레지스터 세트 설계방식이라고 한다. L구조프로세서에 있어서, 레지스터 세트는 고정식 하드웨어방식으로 설계될 수 있다. 하지만 본 실시예에서, 레지스터는 프로그램실행 구동장치의 하나의 구성부분으로 설계되었으며, 프로그램실행 구동장치를 따라 각각의 유닛 사이에서 오고가고 한다. 이런 레지스터 그룹의 설계방식을 동적 레지스터 세트의 설계방식이라고 한다. 이런 설계방식의 가장 큰 장점은 레지스터를 읽기/쓰기하는데 소요되는 전송시간을 소거하였으며, 또한 각각의 프로그램이 동시에 레지스터를 억세스할 경우 발생하는 대기 지연도 소거하였다. 단점은 리소스 사용량이 많은 것이다.
도 1에서는 본 발명의 상기 실시예의 시스템의 각각의 하드웨어기능유닛을 열거하였다. 이런 기능 유닛의 주요기능 및 입력/출력되는 프로그램실행 구동장치의 내용은 하기한 바와 같다.
1) 저장기능유닛
(1) 유닛 1: 프로그램기억유닛 MP라고 하며, 프로그램기억유닛의 읽기/쓰기 관련 서비스를 제공하는데 사용된다. 독립병렬작업이 가능한 복수 개의 MP유닛을 설정할 수 있다. 매개 MP유닛의 주요기능은 하기한 바와 같다.
● MP는 하나의 입력대기열를 유지하며, 본 MP처리를 요구하는 프로그램실행 구동장치는 전부 이 대기열에 대기하고 있다. 또한 MP는 하나의 출력대기열도 유지하며, 이미 처리된 프로그램실행 구동장치는 전부 이 대기열에서 대기하고 있으며 DU유닛의 전송서비스를 대기한다.
● 읽기 요구: 만일 현재 대기열의 처음에 있는 프로그램실행 구동장치가 읽기동작을 요구하였다면, 이 프로그램실행 구동장치에서 이 프로그램의 유닛 내 주소 PC를 읽어내서 MP의 주소레지스터에 보내며, MP의 읽기동작을 기동하여 이 프로그램의 현재 명령어를 읽어낸다. 읽어낸 명령어를 현재의 프로그램실행 구동장치의 대응되는 셀에 써넣는다. 프로그램실행 구동장치의 NEXT셀을 IT로 설정한 후, 그것을 MP의 출력대기열에 써넣는다.
● 쓰기 요구: 만일 현재 대기열의 처음에 있는 프로그램실행 구동장치가 쓰기동작을 요구하였을 경우, 완성해야될 동작은 데이터기억유닛의 쓰기동작과 유사하기에, 여기에서 생략한다.
● 상기의 처리과정을 중복: 만일 본 MP의 입력대기열이 비어 있거나 출력대기열이 차있으면, 무 동작(no-operation)을 1회 진행한다.
● MP유닛의 입력대기열에서의 프로그램실행 구동장치 및 그 구성셀의 내용은 하기한 바와 같다.
0 7 8 9 10 11 12 13-28
MPr MPno MPnu PC MDno Mdnu PrNo R0-R15
그중 0번셀에서의 MPr은 타깃유닛이 MP이며 "읽기" 동작을 진행할 것을 요구함을 표시한다. 편폭의 제한으로 현재 관련되지 않는 프로그램실행 구동장치의 구성셀, 예를 들면 셀 1에서 셀 6까지를 전부 생략하였으며, 이는 이하 내용에서도 마찬가지이다.
● MP유닛의 출력대기열에서의 프로그램실행 구동장치 및 그 구성셀의 내용은 하기에 표시된 바와 같으며, 그중 1번셀에서의 I는 읽어낸 현재 명령어로서, 예를 들면 LDI R0, C이다.
0 1 7 8 9 10 11 12 13 14-29
IT I MPno MPnu PC MDno Mdnu Ins PrNo R0-R15
즉, 본 실시예에서는 본 프로그램 자체를 어떻게 프로그램기억유닛에 써넣는가의 과정을 생략하였으며, 또 이로 인하여 관련된 프로그램실행 구동장치의 구성셀의 내용도 생략하였다. 사실상, 이 과정과 데이터를 대응되는 데이터기억유닛에 써넣는 과정은 유사하다.
(2) 유닛 2: 데이터기억유닛 MD라고 하며, 데이터기억유닛 읽기/쓰기 관련 서비스를 제공하는데 사용된다. 독립병렬작업이 가능한 복수 개의 MD유닛을 설정할 수 있다. 각각의 MD유닛의 주요기능은 하기한 바와 같다.
● MD유닛은 하나의 입력대기열을 유지하고 있으며, 본 MD처리를 요구하는 프로그램실행 구동장치는 전부 이 대기열에서 대기하고 있다. 또한 MD는 하나의 출력대기열도 유지하고 있으며, 이미 처리된 프로그램실행 구동장치는 전부 이 대기열에서 대기하며 DU유닛의 전송 서비스를 대기한다.
● 읽기 동작: 만일 현재 대기열의 처음에 있는 프로그램실행 구동장치가 읽기동작을 요구하였다면, 이 프로그램실행 구동장치에서 이 프로그램의 유닛 내 주소를 읽어내서 MD의 주소 레지스터에 보내며, MD의 읽기동작을 기동하여 이 프로그램의 현재 명령어를 읽어내며, 읽어낸 명령어를 현재의 프로그램실행 구동장치의 어느 한셀에 써넣는다. NEXT셀을 PM로 설정하고, ΔPC셀을 1로 설정한 후, 그것을 MD의 출력대기열에 써넣는다.
● 쓰기 동작: 만일 현재 대기열의 처음에 있는 프로그램실행 구동장치가 쓰기동작을 요구하였다면, 이 프로그램실행 구동장치에서 이 쓰기동작의 데이터 및 유닛 내 주소를 읽어내어, 각각 MD의 데이터레지스터와 주소레지스터에 보내며, MD의 쓰기동작을 기동하여 데이터를 대응되는 MD저장셀에 써넣으며, NEXT셀을 PM으로 설정하고, ΔPC셀을 1로 설정한 후 그것을 MD의 출력대기열에 써넣는다.
● 상기의 처리과정을 중복하며, 만일 본 MD의 입력대기열이 비어있거나 출력대기열이 차있으면, 무 동작을 1회 진행한다.
● MD유닛의 출력대기열에서의 프로그램실행 구동장치 및 그 구성셀의 내용은 IT유닛의 출력대기열에서 MD에 보내는 프로그램실행 구동장치 및 그 구성셀의 내용을 참조할 수 있다.
● MD유닛의 출력대기열에서 PM에 보내는 프로그램실행 구동장치 및 그 구성셀의 내용은 하기한 바와 같으며,
0 1 7 8 9 10 11 12 13-28
PM 1 MPno MPnu PC MDno Mdnu PrNo R0-R15
그중 1번셀은 ΔPC이고, 현재 명령어의 현재 값은 1이다.
2) 동작기능유닛
(1) 유닛 3: 프로그램관리유닛 PM이라고 하며, 프로그램실행 구동장치의 실행을 관리하는 서비스를 제공하는데 사용된다. 독립병렬작업하는 복수 개의 PM유닛 을 설정할 수 있다. 복수 개의 PM유닛의 주요기능은 하기한 바와 같다.
● PM은 하나의 입력대기열을 유지하고 있으며, 본 PM처리를 요구한 프로그램실행 구동장치는 전부 이 대기열에서 대기하고 있다. 또한 PM은 하나의 출력대기열도 유지하고 있으며, 이미 처리된 프로그램실행 구동장치는 전부 이 대기열에서 대기하며 DU유닛의 전송서비스를 대기한다.
● 하나의 프로그램실행 구동장치의 실행을 기동: 시스템관리 프로그램은 하나의 프로그램의 프로그램실행 구동장치를 활성화시키는데 이는 실제상 이 프로그램의 프로그램실행 구동장치에 PM의 출력대기열을 써넣는 것이다. PM은 이 프로그램실행 구동장치를 처리할 경우, NEXT셀을 MP(읽어내기(get) 명령어)로 설정한 후에 그것을 PM의 출력대기열에 써넣는다.
● 하나의 프로그램실행 구동장치의 실행을 계속 진행: 각각의 프로그램실행 구동장치가 하나의 프로그램을 구동하는 현재 명령어가 실행되는 최후 절차는 PM으로 리턴하는 것이다. 만일 현재 명령어가 하나의 종료명령어가 아니면, PM은 계속 실행되도록 이 구동장치를 제어하며, 셀 9 ←셀 9 + 셀 1로, 즉 PC ← PC + ΔPC로 하고, NEXT셀을 MP로 설정한 후, 그것을 PM의 출력대기열에 써넣는다.
● 하나의 프로그램실행 구동장치의 실행을 종료: 어느 한 프로그램이 하나의 종료명령어를 실행하는 경우, PM은 이 프로그램의 프로그램실행 구동장치를 삭제함으로써 이 프로그램의 실행을 종료한다. 즉 이 프로그램이 종료명령어를 실행하기 전에, 반드시 하나하나 또는 복수 개의 리소스해제형명령어를 실행해야 한다.
● 상기의 처리과정을 중복: 만일 본 PM의 입력대기열이 비어있거나 출력대기열이 차있으면, 무 동작을 1회 진행한다.
● PM유닛의 출력대기열에서 수신한 프로그램실행 구동장치 및 구성셀의 내용은 하기한 바와 같다.
0 1 7 8 9 10 11 12 13-28
PM ΔPC MPno MPnu PC MDno Mdnu PrNo R0-R15
그중 1번셀은 ΔPC이고, 그 값은 0 또는 1 또는 점프한 오프셋(offset)이다.
● PM유닛의 출력대기열에서 MP유닛에 보내는 프로그램실행 구동장치 및 그 구성셀의 내용은 하기한 바와 같다.
0 7 8 9 10 11 12 13-28
MPr MPno MPnu PC MDno Mdnu PrNo R0-R15
그중 0번셀에서의 MPr은 타깃유닛이 MP이며 "읽기" 동작 진행을 요구함을 표시한다.
(2) 유닛 4: 명령어형식전환유닛 IT라고 하며, 명령어 해독과 명령어형식전환 관련 서비스를 제공하는데 사용된다. 독립병렬작업이 가능한 복수 개의 IT유닛을 설정할 수 있다. 각각의 IT유닛의 주요기능은 하기한 바와 같다.
● IT는 하나의 입력대기열을 유지하며, 본 IT처리를 요구하는 프로그램실행 구동장치는 전부 이 대기열에서 대기하고 있다. 또한 IT는 하나의 출력대기열도 유지하고 있으며, 이미 처리된 프로그램실행 구동장치는 이 대기열에서 대기하며 DU유닛의 전송서비스를 대기한다.
● 명령어형식전환을 요구한 프로그램실행 구동장치에 대하여, IT는 이 프로그램실행 구동장치에 저장되어 있는 현재 명령어의 형식을 전환하며, 이것에 근거하여 NEXT등 셀을 설정한 후, 그것을 IT의 출력대기열에 써넣는다.
● 상기의 처리과정을 중복: 만일 본 IT의 입력대기열이 비어 있거나 출력대기열이 차있으면, 무 동작을 1회 진행한다.
● IT유닛의 입력대기열에서의 프로그램실행 구동장치 및 그 구성셀의 내용은 하기한 바와 같으며, 그중 1번셀에서의 I는 읽어낸 현재 명령어로서, 예를 들면 LDI R0, C이다.
0 1 7 8 9 10 11 12 13-28
IT I MPno MPnu PC Mdno MDnu PrNo R0-R15
● IT유닛의 출력대기열에서의 프로그램실행 구동장치 및 그 구성셀의 내용은 현재 명령어 I에 따라 상이한데, 하기한 바와 같다.
ΔIT에서 PM에 보내는 프로그램실행 구동장치 및 그 구성셀의 내용:
LDI Rd, C
0 1 7 8 9 10 11 12 13-28
PM 1 MPno MPnu PC MDno Mdnu PrNo R0-R15
그중 1번셀은 ΔPC이고, 현재 명령어의 현재 값은 1이다.
MV Rd,Rs0 1 7 8 9 10 11 12 13-28
PM 1 MPno MPnu PC MDno Mdnu PrNo R0-R15
그중 1번셀은 ΔPC이고, 현재 명령어의 현재 값은 1이다.
ΔIT에서 MD에 보내는 프로그램실행 구동장치 및 그 구성셀의 내용:
LD Rd, Rs
0 1 2 3 7 8 9 10 11 12 13-28
MDr PM [Rd] [Rs] MPno MPnu PC MDno Mdnu PrNo R0-R15
그중 0번셀에서의 MDr은 타깃유닛이 MD이고 "읽기" 동작 진행을 요구함을 표시하며, 2, 3번셀에서의 [Rd]와 [Rs]는 레지스터 Rd와 레지스터 Rs의 내용을 표시한다.
STI Rd,C
0 1 2 3 7 8 9 10 11 12 13-28
MDIw PM [Rd] C MPno MPnu PC MDno MDnu PrNo R0-R15
그중 0번셀에서의 MDIw는 타깃유닛이 MD이고 "즉시값(immediate value) 쓰기" 동작 진행을 요구함을 표시하며, 그중 2번셀에서의 [Rd]는 레지스터 Rd에서의 내용을 표시한다.
ST Rd,Rs
0 1 2 3 7 8 9 10 11 12 13-28
MDw PM [Rd] [Rs] MPno MPnu PC MDno Mdnu PrNo R0-R15
그중 0번셀에서의 MDw는 타깃유닛이 MD이며 "쓰기" 동작 진행을 요구함을 표시하며, 2, 3번셀에서의 [Rd]와 [Rs]는 레지스터 Rd와 레지스터 Rs의 내용을 표시한다.
ΔIT에서 ALU에 보내는 프로그램실행 구동장치 및 그 구성셀의 내용:ADDI Rd ,C
0 1 2 3 4 7 8 9 10 11 12 13-28
ALUI+ PM Rd [Rd] C MPno MPnu PC MDno MDnu PrNo R0-R15
그중 0번셀에서의 ALUI+는 타깃유닛이 ALU이며 "즉시값의 가법" 동작을 진행할 것을 요구함을 표시하며, SUBI, MULI, DIVI등 명령어에 있어서, 그와 대응되는 프로그램실행 구동장치 및 그 구성셀의 내용은 이와 유사하며, 오직 0번셀을 각각 ALUI-, ALUI*, ALUI÷로 설정하였을 뿐이다.
ADD Rd,Rs1,Rs2
0 1 2 3 4 7 8 9 10 11 12 13-28
ALU+ PM Rd [Rs1] [Rs2] MPno Mpnu PC Mdno Mdnu PrNo R0-R15
그중 0번셀에서의 ALU+는 타깃유닛이 ALU이며 "가법" 동작을 진행할 것을 요구함을 표시하며, SUB, MUL, DIV 등은 이와 유사하며,
JEQI Rs,C
0 1 2 3 7 8 9 10 11 12 13-28
ALUIj PM C [Rs] MPno MPnu PC MDno Mdnu PrNo R0-R15
그중 0번셀에서의 ALUIj는 타깃유닛이 ALU이며 "즉시값의 점프판단" 동작 진행을 요구함을 표시하며, JNEI등은 이와 유사하다.
JEQ Rs1,Rs2
0 1 2 3 7 8 9 10 11 12 13-28
ALUj PM [Rs2] [Rs1] MPno MPnu PC Mdno Mdnu PrNo R0-R15
그중 0번셀에서의 ALUj는 타깃유닛이 ALU이며 "점프 판단" 동작 진행을 요구함을 표시하며, JNE 등은 이와 유사하다.
SLT Rd, Rs1, Rs2
0 1 2 3 4 7 8 9 10 11 12 13-28
ALUslt PM Rd [Rs1] [Rs2] MPno MPnu PC Mdno MDnu PrNo R0-R15
그중 0번셀에서의 ALUslt는 타깃유닛이 ALU이며 "좌부등(less than) 설정" 동작 진행을 요구함을 표시하며, SLE, SGT, SEQ, SNE 등은 이와 유사하다.
(3) 유닛 5: 산술/논리 연산유닛 ALU라고 하며, 산술/논리연산 관련 서비스를 제공하는데 사용된다. 독립병렬작업이 가능한 복수 개의 ALU유닛을 설정할 수 있다. 각각의 ALU유닛의 주요기능은 하기한 바와 같다.
● ALU는 하나의 입력대기열을 유지하며, 본 ALU처리를 요구하는 프로그램실행 구동장치는 전부 이 대기열에서 대기하고 있다. 또한 ALU는 하나의 출력대기열도 유지하고 있으며, 이미 처리된 프로그램실행 구동장치는 이 대기열에서 DU유닛의 전송서비스를 대기한다.
● ALU에 산술/논리연산의 서비스 진행을 요구하기 전에, 프로그램실행 구동장치는 이미 이 명령어에 필요한 피연산자를 준비하여 프로그램실행 구동장치의 대응되는 셀에 저장되도록 이미 제어하였다. ALU는 프로그램실행 구동장치에 저장되어 있는 대응되는 피연산자에 요구한 산술/논리연산을 진행하며, 결과를 프로그램실행 구동장치의 대응되는 셀에 저장하고, NEXT셀을 PM으로 설정하고, 명령의 규정에 따라 1셀 즉 ΔPC를 설정한 후, 그것을 ALU의 출력대기열에 써넣는다.
● 상기의 처리과정을 중복: 만일 ALU의 입력대기열이 비어 있거나 출력대기열이 차있으면, 무 동작을 1회 진행한다.
● ALU유닛의 입력대기열에서의 프로그램실행 구동장치 및 그 구성셀의 내용은 IT유닛의 출력대기열에서의 ALU에 보내는 프로그램실행 구동장치 및 그 구성셀의 내용을 참조할 수 있다.
● ALU유닛의 출력대기열에서의 프로그램실행 구동장치 및 그 구성셀의 내용은 하기한 바와 같다.
0 1 7 8 9 10 11 12 13-28
PM ΔPC MPno Mpnu PC MDno Mdnu PrNo R0-R15
그중 1번셀은ΔPC이고, 그 값은 1 또는 점프한 오프셋이다.
(4) 유닛 6: 주변장치 관리유닛 PD라고 하며, 장치주변장치, 예를 들면 디스플레이, 키보드, 프린터, 장치통신장치 등과 호스트컴퓨터 사이에서 진행하는 데이터의 입력/출력을 관리하는 서비스를 제공하는데 사용된다.
3) 유닛 7: 프로그램실행 구동장치의 전송유닛 DU라고 하며, 프로그램실행 구동장치를 하나의 유닛의 출력대기열에서 다른 하나의 유닛의 입력대기열에 운송하고 전송하는 서비스를 제공하는데 사용된다. 독립병렬작업이 가능한 독립병렬작업이 가능한 복수 개의 DU유닛을 설정할 수 있다. 각각의 DU유닛의 주요작업은 하기한 바와 같다.
● DU는 예정된 순서에 따라 각 유닛세트에서의 각각의 유닛의 출력대기열이 비어 있지 않은지 여부를 차례로 검사하며, DU는 어느 한 비어 있지 않은 출 력대기열에서 한 프로그램실행 구동장치를 읽어내어, 이 프로그램실행 구동장치의 NEXT셀이 가리키고 있는 타깃유닛세트번호 및 타깃유닛번호에 따라 이 타깃유닛세트에서의 타깃유닛의 입력대기열이 차있지 않은지 여부를 차례로 검사하며, 만일 차있지 않다면, 이 프로그램실행 구동장치는 이 타깃유닛세트에서의 타깃유닛의 입력대기열에 전송된다. 상기 처리방식은 PM, MP와 MD를 대상으로 한 것이고, IT와 ALU에 있어서는, 오직 이 유닛에서 임의의 하나의 입력대기열이 차있지 않은 유닛을 선택하면 된다.
● 상기의 처리과정을 중복: 만일 전체 유닛세트의 전체 유닛의 출력대기열이 전부 비어 있거나, 또는 출력대기열은 비어 있지 않으나, 대응되는 입력대기열이 전부 차있으면, 무 동작을 1회 진행한다.
도 1은 본 발명의 상기 실시예에서의 시스템의 각각의 유닛의 연결관계를 표시하며, 유닛 1에서 6은 각각 각자의 1세트 또는 2세트의 신호라인을 통하여 입력대기열의 마지막과 출력대기열의 처음을 유닛 7에 연결하였다.
도 2는 본 발명의 상기 실시예의 유닛 7의 구조 블록선도이다. 유닛 7은 복수 개의 데이터 입력포트, 복수 개의 데이터 출력포트, 네트워크 커넥트장치와 제어관리장치로 구성되어 있다. 유닛 7의 제어관리장치는 스토로빙(strobing)의 제어와 관리에 사용되며, 예를 들면 포트의 사용 여부의 검측, 우선순위의 확인, 경로의 선택 등에 사용된다. 유닛 7의 네트워크커넥트장치는 복수 개의 데이터 입력포트를 복수 개의 데이터 출력포트에 연결하는데 사용된다. 이 네트워크커넥트장치는 여러 가지 설계방식을 갖고 있으며, 하기에 비교적 전형적인 두가지 유형을 열거한 다.
도 3은 본 발명의 상기 실시예에서의 전송유닛의 네트워크커넥트장치의 교차 상호연결 설계방식의 구조 블록선도이다. 장치 7의 네트워크커넥트장치는 교차 상호연결구조를 채용하였으며, 임의의 하나의 입력포트는 전체 또는 부분 출력포트와 상호연결된다.
도 4는 본 발명의 상기 실시예에서의 전송유닛의 멀티버스 상호연결 설계방식의 구조 블록선도이다. 장치 7의 네트워크 커넥트장치는 멀티버스구조를 채용하였으며, 전체 입력포트와 출력포트는 여러개의 그룹으로 나뉘어져, 각각 하나의 버스에 연결되며, 버스와 버스 사이는 다시 교차 상호연결되어 있다.
도 5는 본 발명의 상기 실시예의 작업 흐름도이며, 즉 신규 유형의 컴퓨터 프로세서에서의 프로그램실행 구동장치의 작업흐름도이다. 그 구체적 절차는 하기한 바와 같다.
절차 S1에서, 시스템 기동시, 적어도 하나의 프로그램, 예를 들면 시스템관리프로그램의 프로그램실행 구동장치는 어느 한 프로그램 관리유닛PM의 출력대기열에 저장되며, 절차 S2에 넘어간다.
절차 S2에서, 어느 한 DU유닛이 어느 한 PM유닛의 출력대기열이 비어 있지 않은 것을 검측해 내고, 또한 현재 대기열의 처음에 있는 프로그램실행 구동장치의 NEXT셀이 가리키는 그 특정된 타깃 MP유닛의 입력대기열이 차있지 않을 경우, 이 PM유닛의 출력대기열의 처음에 있는 프로그램실행 구동장치를 대응되는 MP유닛의 입력대기열에 전송하여 이 유닛의 처리를 대기하며, 절차 S3에 넘어간다.
절차 S3에서, 어느 한 MP유닛이 그 입력대기열이 비어있지 않은 것을 검측해 내었을 경우, 입력대기열의 처음에 있는 프로그램실행 구동장치에서 PC셀이 지정한 PC주소에 따라 자체가 관리하고 있는 프로그램기억유닛에 가서 명령어를 읽어내며, 읽어낸 명령어를 이 프로그램실행 구동장치의 1번셀에 저장하고, 만일 이때 이 MP유닛의 출력대기열이 차있는 상태라면, 그것이 비게 되기를 대기하며, 빈자리가 있을 경우, 처리를 완료한 프로그램실행 구동장치를 그의 출력대기열에 써넣고 DU유닛의 전송처리를 대기하며, 절차 S4로 넘어간다.
절차 S4에서, 어느 한 DU유닛이 어느 한 MP유닛의 출력대기열이 비어있지 않는 것을 검측해 내고, 또한 현재 대기열의 처음에 있는 프로그램 구동장치의 NEXT셀이 가리키는 타깃유닛이 IT이고, 적어도 하나의 IT 유닛의 입력대기열이 차있지 않은 경우, 이 MP유닛의 출력대기열의 처음에 있는 프로그램실행 구동장치를 대응되는 IT유닛의 입력대기열에 전송하고 이 유닛의 처리를 대기하며, 절차 S5로 넘어간다.
절차 S5에서, 어느 한 IT유닛이 그 입력대기열이 비어 있지 않은 것을 검측해 낸 경우, 입력대기열의 처음에 있는 프로그램실행 구동장치에서의 명령어에 대한 형식전환을 진행하고, 전환 후의 결과를 이 프로그램실행 구동장치의 대응되는 셀에 저장하며, 만일 이때 이 IT유닛의 출력대기열이 차있는 상태라면, 그것이 비게 되기를 대기하며, 빈자리가 있을 경우, 처리를 완료한 프로그램실행 구동장치를 그의 출력대기열에 써넣고 DU유닛의 전송처리를 대기하며, 절차 S6로 넘어간다.
절차 S6에서, 어느 한 DU유닛이 어느 한 유닛 (여기서 어느 한 유닛은 IT, ALU와 MD중의 임의의 하나의 유닛을 가르친다.)의 출력대기열이 비어있지 않는 것을 검측해 내고, 또한 현재 대기열의 처음에 있는 프로그램실행 구동장치의 NEXT셀이 가리키고 있는 타깃유닛의 입력대기열이 차있지 않은 경우, 이 유닛의 출력대기열의 처음에 있는 프로그램실행 구동장치를 대응되는 타깃유닛의 입력대기열에 전송하여 이 유닛의 처리를 대기하며, 이때의 타깃유닛은 3가지 유형이 있는데, 첫째 유형은 어느 한 ALU유닛이고, 이때의 타깃 ALU유닛은 임의의 하나의 출력대기열에 빈자리가 있는 ALU유닛이며, 절차 S7에 넘어가고; 두번째 유형은 어느 한 MD유닛이며, 이때의 타깃 MD유닛은 반드시 상기 프로그램실행 구동장치의 NEXT셀이 특정한 어느 MD유닛이어야 하며, 절차 S8로 넘어가고; 세번째 유형은 어느 한 PM유닛이며, 이때의 타깃 PM유닛은 반드시 상기 프로그램실행 구동장치의 NEXT셀이 특정한 어느 한 PM유닛이어야 하며, 절차 S9로 넘어간다.
절차 S7에서, 어느 한 ALU유닛이 그 입력대기열이 비어 있지 않은 것을 검측해 내었을 경우, 입력대기열의 처음에 있는 프로그램 구동장치에서의 NEXT셀의 명령에 따라 이 프로그램실행 구동장치에서의 대응되는 셀이 저장하고 있는 피연산자에 대해 지정된 산술/논리연산을 진행하며, 연산 후의 결과를 이 프로그램실행 구동장치의 대응되는 셀에 저장하며, 만일 이때 이 ALU유닛의 출력대기열이 차있는 상태라면, 그것이 비게 되기를 대기하며, 빈자리가 있을 경우, 처리를 완료한 프로그램실행 구동장치를 그의 출력대기열에 써넣고 DU의 전송처리를 대기하며, 이때의 타깃유닛은 PM유닛이며, 절차 S6에 넘어간다.
절차 S8에서, 어느 한 MD유닛이 그 입력대기열이 비어있지 않는 것을 검측해 내었을 경우, 입력대기열의 처음에 있는 프로그램실행 구동장치의 NEXT셀에서의 읽기 또는 쓰기 명령 및 이 프로그램실행 구동장치에서의 어느 한셀이 지정하는 유닛내 주소에 따라, 이 프로그램실행 구동장치에서의 어느 한셀의 데이터에 대하여 그가 관리하고 있는 데이터기억유닛에서 읽기/쓰기동작을 진행하며, 만일 읽기동작이라면, 읽어낸 데이터를 이 프로그램실행 구동장치의 어느 한셀에 저장하며, 만일 이때 이 MD유닛의 출력대기열이 차있는 상태라면, 그것이 비게 되기를 대기하며, 빈자리가 있을 경우, 처리를 완료한 프로그램실행 구동장치를 그의 출력대기열에 써넣고 DU의 전송처리를 대기하며, 이때의 타깃 유닛은 PM유닛이며, 절차 S6에 넘어간다.
절차 S9에서, 어느 한 PM유닛이 그 입력대기열이 비어 있지 않은 것을 검측해 내었을 경우, 입력대기열의 처음에 있는 프로그램실행 구동장치에서의 명령이 요구하는 대응되는 동작: 1) 비END명령어, 이때 ΔPC셀은 0이 아니며, PM는 요구에 따라 그 PC 등 셀의 값을 수정하며, 결과를 이 프로그램실행 구동장치의 대응되는 셀에 저장하고; 만일 이때 이 PM유닛의 출력대기열이 차있는 상태라면, 그것이 비게 되기를 대기하며, 빈자리가 있을 경우, 처리를 완료한 프로그램실행 구동장치를 그의 출력대기열에 써넣고 DU의 전송처리를 대기하며, 절차 S2로 넘어간다. 2) END명령어, 이때의 ΔPC셀은 0이며, PM은 대응되는 종료플래그로 설정하고, 입력대기열에서 이 프로그램실행 구동장치를 삭제하며, 시스템관리 프로그램을 활성화시켜 실행대기의 다음 프로그램을 스케쥴링하여 실행하기 시작한다.
시스템의 소프트웨어 부분은 하나의 간략된 시스템관리 프로그램으로 구성되 었다. 본 발명의 기술원리를 중점으로 설명하였으며, 이 시스템관리프로그램은 단지 간략한 프로그램 스케쥴링기능만 설정하였을 뿐이며, 또한 이 기능을 위하여 하나의 프로그램 스케쥴링 테이블을 유지한다. 시스템 기동시, 이 시스템관리 프로그램의 프로그램실행 구동장치는 시스템의 PM유닛에 로드된다. 이 프로그램실행 구동장치는 시스템관리프로그램을 구동하여 이용자 프로그램의 프로그램실행 구동장치를 순차적으로 활성화시킨다.
본문에서는 본 발명의 기술구성의 일부 기본설명만 진행하였다. 본 발명에서 제출한 컴퓨터 프로그램/명령어 실행을 구동하는 L구동법에 근거하면 설계한 여러 가지 컴퓨터 프로세서의 방식과 방법이 존재하며, 또한 프로그램실행 구동장치를 실현하는 여러 가지 방식과 방법 및 프로그램실행 구동장치로 프로그램의 실행을 관리하고 제어하는 여러 가지 방식과 방법이 존재한다. 본 발명의 기술구성에 근거하여 진행한 임의의 동등한 변경은 본 발명의 보호범위에 속해야 한다.
간략한 명령어 시스템
MOVE 명령어: MOV Rd,Rs Rd←Rs
LOAD 명령어: LD Rd,Rs Rd←DM[Rs]
LDI Rd,C Rd←C
STORE 명령어:ST Rd,Rs DM[Rd]←Rs
STI Rd,C DM[Rd]←C
점프 명령어: JEQ Rs1,Rs2 IF(Rs1=0) PC←PC+Rs2 ELSE PC←PC+1
JNE Rs1,Rs2 IF(Rs1≠0) PC←PC+Rs2 ELSE PC←PC+1
JEQI Rs1,C IF(Rs1=0) PC←PC+C ELSE PC←PC+1
JNEI Rs1,C IF(Rs1≠0) PC←PC+C ELSE PC←PC+1
연산 명령어: ADD Rd,Rs1,Rs2 Rd←Rs1+Rs2
SUB Rd,Rs1,Rs2 Rd←Rs1-Rs2
MUL Rd,Rs1,Rs2 Rd←Rs1*Rs2
ADDI Rs, C Rs←Rs+C
SUBI Rs, C Rs←Rs-C
MULI Rs, C Rs←Rs*C
논리 명령어: OR Rd,Rs1,Rs2 Rd←Rs1 OR Rs2
AND Rd,Rs1,Rs2 Rs←Rs1 AND Rs2
ORI Rs,C Rs←Rs OR . C
ANDI Rs,C Rs←Rs AND C
설정 명령어: SLT Rd,Rs1,Rs2 IF(Rs1< Rs2) Rd←1 ELSE Rd←0
SLE Rd,Rs1,Rs2 IF(Rs1<=Rs2) Rd←1 ELSE Rd←0
SGT Rd,Rs1,Rs2 IF(Rs1> Rs2) Rd←1 ELSE Rd←0
SGE Rd,Rs1,Rs2 IF(Rs1>=Rs2) Rd←1 ELSE Rd←0
SEQ Rd,Rs1,Rs2 IF(Rs1= Rs2) Rd←1 ELSE Rd←0
SNE Rd,Rs1,Rs2 IF(Rs1≠Rs2) Rd←1 ELSE Rd←0
리소스 관리 명령어:GETMD Rd,Rs [Rs]개 연속된 MD유닛 점유를 신청
Rd← 획득한 MD유닛번호
GETMDI Rd,C C개 연속된 MD유닛 점유를 신청
Rd←획득한 MD유닛번호
RETMD Rs1,Rs2 [RS1]부터 시작하여 [RS2]개의 연속된
MD유닛 해제를 신청
GETMDI Rs,C [RS1]부터 시작하여 C개의 연속된 MD유닛
해제를 신청
종료 명령어:END 프로그램 종료

Claims (11)

  1. 인터럽트처리를 사용하지 않는 전제조건하에서, 단일한 컴퓨터 프로세서에서 동일한 시각에 복수 개의 프로그램 병렬실행이 가능한 것을 특징으로 하는, 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법이라고 하는 컴퓨터 프로그램/명령어의 실행을 구동하는 구동방법, 및 이런 방법을 사용하는 컴퓨터 프로세서의 아키텍처와 컴퓨터 프로세서.
  2. 제 1 항에 있어서, 각각의 프로그램을 위해 하나의 프로그램실행 구동장치를 인입하였으며, 이에 따라 복수 개의 프로그램실행 구동장치가 이 유형의 동일한 컴퓨터 프로세서에서 상호 독립적이거나 상호협력하여, 복수 개의 프로그램이 동일한 시각에 병렬실행 되도록 관리와 제어를 할 수 있는 것을 특징으로 하는 컴퓨터 프로그램/명령어의 실행을 구동하는 구동방법.
  3. 제 1 항 또는 제 2 항에 있어서, 각각의 프로그램은 실행가능 코드를 생성함과 동시에, 이 프로그램의 프로그램실행 구동장치를 생성하였고, 이 프로그램실행 구동장치는 적어도, 이 프로그램의 속성특징에 대한 설명과 정의에 사용되는 전부의 관련정보와, 이 프로그램의 실행에 대한 관리와 제어에 필요한 전부의 관련정보를 포함하고 있으며, 하나의 프로그램을 구성하는 멀티 루틴 또는 서브루틴도 각각 자체의 프로그램실행 구동장치를 가질 수 있는 것을 특징으로 하는 컴퓨터 프로그 램/명령어의 실행을 구동하는 구동방법.
  4. 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법을 사용하는 컴퓨터 프로세서의 아키텍처와 컴퓨터 프로세서로서, 이 유형의 컴퓨터 프로세서의 기본구성이,
    1) 시스템의 하드웨어부분은, 하나하나 또는 복수 개의 병렬작업이 가능한 기억유닛, 하나 또는 복수 개의 병렬작업이 가능한 동작제어유닛, 유닛들 사이에서 연결기능하는 하나 또는 복수 개의 병렬작업이 가능한 커넥트유닛으로 구성될 수 있으며;
    2) 시스템의 소프트웨어부분은, 현대 컴퓨터 시스템의 오퍼레이팅 시스템과 유사한 하나의 시스템관리 프로그램으로 구성가능한데, 이 시스템관리 프로그램은 프로그램 스케쥴링기능을 가져야 하며, 이 기능을 위해 하나의 프로그램 스케쥴링 테이블이라고 하는 데이터구조를 유지하며, 시스템이 처음으로 시작될 때, 시스템관리 프로그램의 프로그램실행 구동장치는 시스템의 어느 한 동작제어유닛에 로드되어, 이 프로그램실행 구동장치를 유효화 또는 활성화하며; 이 프로그램실행 구동장치는 시스템관리 프로그램을 구동하여, 복수 개의 이용자 프로그램의 프로그램실행 구동장치를 순차적으로 활성화시키며; 따라서 각각의 이용자 프로그램의 프로그램실행 구동장치는 동일한 시각에 상호 독립적이거나 상호 협력하여 각자의 이용자 프로그램이 동일한 상기 컴퓨터 프로세서에서 동시에 병렬실행될 수 있도록 구동한다;
    는 것을 특징으로 하는 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법을 사용하는 컴퓨터 프로세서의 아키텍처와 컴퓨터 프로세서.
  5. 제 1 항 또는 제 2 항 또는 제 3 항에 있어서, 이 유형 컴퓨터 프로세서의 작업방법이,
    1) 하나의 프로그램이 일단 실행가능 코드를 생성하였다면, 시스템관리 프로그램은 이 프로그램의 실행을 구동하는데 관련한 구동정보를 자체의 프로그램 스케쥴링테이블의 관련한 칼럼에 써넣으며, 이런 경우, 이 프로그램은 어느 한 기억유닛에 저장되며 실행대기 상태에 처하여 있고;
    2) 이 프로그램이 일단 호출되어 실행되는 각 항의 조건을 만족한다면, 시스템관리 프로그램은 이 프로그램의 프로그램실행 구동장치를 작성/생성하며, 따라서 이 프로그램은 실행상태에 진입되며, 자체의 프로그램실행 구동장치의 관리와 제어에 의해 독립적으로 실행되며;
    3) 프로그램실행 구동장치는 자체가 저장하고 있는 이 프로그램의 상주정보, 예를 들면, 프로그램기억유닛번호, 유닛내 주소PC 등에 근거하여, 대응되는 기억유닛에 가서 현재 실행하려는 명령어를 읽어내고;
    4) 명령어를 읽어 낸 후, 이 프로그램실행 구동장치는 즉시 이미 읽어낸 명령어를 "해독"하도록 어느 한 동작제어유닛을 제어하며, 또한 이에 근거하여, 대응되는 기억유닛에서 피연산자를 읽어내도록 제어하고, 대응되는 동작제어유닛이 지정된 처리를 완성하도록 제어하고, 또한 처리결과를 대응되는 기억유닛에 써넣도록 제어하며, 읽어낸 명령어, 명령어의 "해독" 결과, 읽어낸 피연산자, 및 동작결과는 이 프로그램실행 구동장치의 어느 한 셀에 일시 저장되어 있고;
    5) 마지막으로, 이 프로그램실행 구동장치는 자체가 저장하고 있는 프로그램 상주정보 유형중의 PC항목을 현재 명령어가 규정한 방식에 따라 수정한 후, 절차 3에 넘어가 본 프로그램의 다음 명령어 실행을 제어하며;
    6) 적어도 하기의 상황에서, 시스템관리 프로그램은 어느 한 프로그램의 프로그램실행 구동장치를 언로드하는데, 이런 상황은 이 프로그램의 종료명령어가 실행되는 상황으로서, 이는 PM을 대응되는 종료플래그로 설정하고, 시스템관리 프로그램을 시작하여 이 프로그램에 대응되는 종료처리를 진행하게 한다;는 것을
    특징으로 하는 컴퓨터 프로그램/명령어의 실행을 구동하는 구동방법.
  6. 제 4 항에 있어서, 이 유형 컴퓨터 프로세서의 하드웨어의 기본구성유닛은 적어도, 하나 또는 복수 개의 병렬작업이 가능한 기억유닛; 하나 또는 복수 개의 병렬작업이 가능한 동작제어유닛; 및 유닛들 사이에서 연결기능하는 하나 또는 복수 개의 병렬작업이 가능한 커넥트유닛 즉 프로그램실행 구동장치의 전송유닛을 포함하며, 그중,
    1) 하나 또는 복수 개의 병렬작업이 가능한 기억유닛은,
    ● 프로그램기억유닛- 읽기/쓰기 관련서비스를 제공하는데 사용되며, 복수 개로 독립병렬작업이 가능하게 설정할 수 있는 프로그램기억유닛 MP와,
    ● 데이터기억유닛- 읽기/쓰기 관련 서비스를 제공하는데 사용되며, 복수 개 로 독립병렬작업이 가능하게 설정할 수 있는 데이터 기억유닛 MD를 포함하며,
    2) 하나 또는 복수 개의 병렬작업이 가능한 동작제어유닛은,
    ● 프로그램실행 구동장치의 실행을 관리하는 서비스를 제공하는데 사용되며, 복수 개로 독립병렬작업이 가능하게 설정할 수 있는 프로그램관리유닛 PM과,
    ● 명령어 해독과 명령어 형식전환 관련 서비스를 제공하는데 사용되며, 복수 개로 독립병렬작업이 가능하게 설정할 수 있는 명령어형식 전환유닛 IT와,
    ● 산술/논리연산 관련 서비스를 제공하는데 사용되며, 복수 개로 독립병렬작업이 가능하게 설정할 수 있는 산술/논리연산유닛 ALU와
    ● 주변장치장치유닛에 대한 관리와 제어를 진행하는데 사용되는 주변장치유닛 PD를 포함하며,
    3) 유닛들 사이에서 연결기능하는 하나 또는 복수 개의 병렬작업이 가능한 커넥트유닛 즉 프로그램실행 구동장치의 전송유닛 DU는 프로그램실행 구동장치를 하나 유닛의 출력대기열에서 다른 하나 유닛의 입력대기열에 운송 및 전송하는 서비스를 제공하는데 사용되며, 복수 개로 독립병렬작업이 가능하게 설정될 수 있으며,
    상기의 각 유형 유닛은 통상적으로 하나의 입력버퍼장치와 하나의 출력버퍼장치를 갖고 있으며, 요구/서비스의 방식에 따라 작업가능하며, 요구를 수신한 후, 입력버퍼가 비어 있으면, 지정을 완료한 서비스를 기동하며, 결과를 출력버퍼에 저장하는 것을 특징으로 하는 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법을 사용하는 컴퓨터 프로세서의 아키텍처와 컴퓨터 프로세서.
  7. 제 1 항 또는 제 2 항 또는 제 3 항 또는 제 5 항에 있어서, 프로그램실행 구동장치는 1세트의 정보셀로 구성된 정보블록으로 설계되어 있으며, 시스템 하드웨어의 지원하에서, 이러한 특수한 정보블록, 즉 프로그램실행 구동장치는 현재 휴대하고 있는 명령어의 명령코드의 요구에 따라 순차적으로 대응되는 각 기능유닛에서 명령어에 대한 대응되는 가공, 처리, 예를 들면, 읽기동작, 연산동작, 쓰기동작을 진행하는데, 프로그램실행 구동장치의 구체적인 구성은 하기한 바와 같으며,
    0 1 2 3 4 5 6 7 8 9 10 11 12 13-28 MPno MPnu PC MDno MDnu PrNo R0-R15
    하나의 프로그램실행 구동장치는 29개셀로 구성되었으며, 각 구성셀의 정의와 설명에 있어서,
    셀 0 - 셀 6은, 실행시의 작업셀로서, 본 프로그램이 실행과정중 일시/중간결과를 저장하는데 사용되며, 그중 0번셀은 NEXT셀이라고 하며, 본 프로그램실행 구동장치가 현재 서비스 요구를 진행하려는 기능유닛의 번호이고; 1 - 6번셀은 현재 구동되는 명령어에 따라 상이하며, 그 구체적인 사용방법은 각 유닛기능을 서술할 때 상세하게 설명하며, 셀 1은 ΔPC셀로서 사용되는 경우가 있으며, ΔPC = 0인 경우 현재 명령어가 하나의 END명령어임을 표시하고, ΔPC = 1인경우 현재 명령어가 하나의 비점프형명령어임을 표시하고, ΔPC > 1 또는ΔPC < 0일 경우 현재 명령어가 하나의 점프형명령어임을 표시하며;
    셀 7은, 프로그램기억유닛의 유닛번호 MPno로서, 본 프로그램이 상주하고 있 는 프로그램기억유닛의 유닛번호를 저장하는데 사용되며;
    셀 8은, 프로그램기억유닛의 유닛 수량 MPnu로서, 본 프로그램이 차지하고 있는 연속된 프로그램기억유닛의 수량을 저장하는데 사용되며;
    셀 9는, 프로그램기억유닛의 유닛내 주소 PC로서, 본 프로그램이 현재 명령어를 실행한 프로그램기억유닛의 유닛내 주소를 저장하는데 사용되며;
    셀 10은, 데이터 기억유닛의 유닛번호 MDno로서 본 프로그램이 차지하고 있는 데이터기억유닛의 유닛번호를 저장하는데 사용되며;
    셀 11은, 데이터기억유닛의 유닛 수량 MDnu로서, 본 프로그램이 차지하고 있는 연속된 데이터기억유닛의 수량을 저장하는데 사용되며, 만일 MDnu의 값이 1보다 크면, MDno의 값은 첫 데이터기억유닛의 유닛번호이며;
    셀 12는, 프로그램번호 PrNo로서, 현재 실행중인 두개 이상 프로그램이 동일한 프로그램기억유닛에 저장되어 있을 경우, 본 파라미터를 사용하여 각 프로그램을 구분하며;
    셀 13 - 셀 28은, 16개 범용레지스터 R0 - R15인 것을
    특징으로 하는 컴퓨터 프로그램/명령의 실행을 구동하는 구동방법.
  8. 제 4 항 또는 제 6 항에 있어서, 범용레지스터 세트는, 하나의 하드웨어장치로 설계가능하거나 1세트의 유동하는 정보셀로도 설계가능하며, 즉 프로그램실행 구동장치의 하나 구성부분인 것을 특징으로 하는 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법을 사용한 컴퓨터 프로세서의 아키텍처와 컴퓨터 프로세서.
  9. 제 4 항 또는 제 6 항 또는 제 8 항에 있어서, 시스템의 각 주요 하드웨어 기능유닛의 기능 및 그 입력/출력되는 프로그램실행 구동장치의 내용에 있어서,
    1) 저장기능유닛
    (1) 유닛 1: 프로그램 기억유닛 MP라고하며, 프로그램 기억유닛 읽기/쓰기 관련 서비스를 제공하는데 사용되며, 독립병렬작업이 가능한 복수 개의 MP유닛을 설정할 수 있으며, 매개 MP유닛의 주요작업에 있어서,
    ● MP는 하나의 입력대기열를 유지하며, 본 MP처리를 요구하는 프로그램실행 구동장치는 전부 이 대기열에 대기하고 있고, 또한 MP는 하나의 출력대기열도 유지하며, 이미 처리된 프로그램실행 구동장치는 전부 이 대기열에서 대기하며 DU유닛의 전송서비스를 대기하고;
    ● 읽기 요구: 만일 현재 대기열의 처음에 있는 프로그램실행 구동장치가 읽기동작을 요구하였다면, 이 프로그램실행 구동장치에서 이 프로그램의 유닛내 주소 PC를 읽어내서 MP의 주소레지스터에 보내며, MP의 읽기동작을 기동하여 이 프로그램의 현재 명령어를 읽어내며, 읽어낸 명령어를 현재의 프로그램실행 구동장치의 대응되는 셀에 써넣고, 프로그램실행 구동장치의 NEXT셀을 IT로 설정한 후, 그것을 MP의 출력대기열에 써넣으며;
    ● 쓰기 요구: 만일 현재 대기열의 처음에 있는 프로그램실행 구동장치가 쓰기동작을 요구하였을 경우, 완성해야 될 동작은 데이터기억유닛의 쓰기동작과 유사하기에, 여기에서 생략하며;
    ● 상기의 처리과정을 중복: 만일 본 MP의 입력대기열이 비어 있거나 출력대기열이 차있으면, 무 동작을 진행하며;.
    ● MP유닛의 입력대기열에서의 프로그램실행 구동장치 및 그 구성셀의 내용은 하기한 바와 같으며,
    0 7 8 9 10 11 12 13-28 MPr MPno MPnu PC MDno Mdnu PrNo R0-R15
    그중 0번셀에서의 MPr은 타깃유닛이 MP이며 "읽기" 동작 진행을 요구함을 표시하고, 현재 관련되지 않은 프로그램실행 구동장치의 구성셀, 예를 들면 셀 1에서 셀 6까지를 전부 생략하였으며 이는 하기 내용에서도 마찬가지이며;
    ● MP유닛의 출력대기열에서의 프로그램실행 구동장치 및 그 구성셀의 내용은 하기에 표시된 바와 같으며, 그중 1번셀에서의 I는 읽어낸 현재 명령어이며, 예를 들면 LDI R0, C이고,
    0 1 7 8 9 10 11 12 13-28 IT I MPno MPnu PC MDno Mdnu PrNo R0-R15
    (2) 유닛 2: 데이터기억유닛 MD라고 하며, 데이터기억유닛 읽기/쓰기 관련 서비스를 제공하는데 사용되며, 독립병렬작업이 가능한 복수 개의 MD유닛을 설정할 수 있으며, 그중 각각의 MD유닛의 주요작업은 하기한 바와 같다;,
    ● MD유닛은 하나의 입력대기열을 유지하고 있으며, 본 MD처리를 요구하는 프로그램실행 구동장치는 전부 이 대기열에서 대기하고 있고, 또한 MD는 하나의 출력대기열도 유지하고 있으며, 이미 처리된 프로그램실행 구동장치는 전부 이 대기 열에서 대기하며 DU유닛의 전송 서비스를 대기하고,
    ● 읽기 동작: 만일 현재 대기열의 처음에 있는 프로그램실행 구동장치가 읽기동작을 요구하였다면, 이 프로그램실행 구동장치에서 이 프로그램의 유닛내 주소 PC를 읽어내서 MD의 주소레지스터에 보내며, MD의 읽기동작을 기동하여 이 프로그램의 현재 명령어를 읽어내며, 읽어낸 명령어를 현재의 프로그램실행 구동장치의 어느 한셀에 써넣고, NEXT셀을 PM으로 설정하고, ΔPC의셀을 1로 설정한 후, 그것을 MD의 출력대기열에 써넣고,
    ● 쓰기 동작: 만일 현재 대기열의 처음에 있는 프로그램실행 구동장치가 쓰기동작을 요구하였다면, 이 프로그램실행 구동장치에서 이 쓰기동작의 데이터 및 유닛내 주소를 읽어내어, 각각 MD의 데이터레지스터와 주소레지스터에 보내며, MD의 쓰기동작을 기동하여 데이터를 대응되는 MD저장셀에 써넣으며, NEXT셀을 PM으로 설정하고, ΔPC의셀을 1로 설정한 후 그것을 MD의 출력대기열에 써넣고,
    ● 상기의 처리과정을 중복하며, 만일 본 MD의 입력대기열이 비어있거나 출력대기열이 차있으면, 무 동작을 1회 진행하고,
    ● MD유닛의 출력대기열에서의 프로그램실행 구동장치 및 그 구성셀의 내용은 IT유닛의 출력대기열에서의 MD에 보내는 프로그램실행 구동장치 및 그 구성셀의 내용을 참조할 수 있으며,
    ● MD유닛의 출력대기열에서 PM에 보내는 프로그램실행 구동장치 및 그 구성셀의 내용은 하기한 바와 같으며,
    0 1 7 8 9 10 11 12 13-28 PM 1 MPno MPnu PC MDno Mdnu PrNo R0-R15
    그중 1번셀은 ΔPC이고, 현재 명령어의 현재 값은 1이며;
    2) 동작기능유닛
    (1) 유닛 3: 프로그램관리 유닛 PM이라고 하며, 프로그램실행 구동장치의 실행을 관리하는 서비스를 제공하는데 사용되며, 독립병렬작업이 가능한 복수 개의 PM유닛을 설정할 수 있으며, 복수 개의 PM유닛의 주요기능은 하기한 바와 같다;
    ● PM은 하나의 입력대기열을 유지하고 있으며, 본 PM처리를 요구한 프로그램실행 구동장치는 전부 이 대기열에서 대기하고 있으며, 또한 PM은 하나의 출력대기열도 유지하고 있으며, 이미 처리된 프로그램실행 구동장치는 전부 이 대기열에서 대기하며 DU유닛의 전송서비스를 대기하고,
    ● 하나의 프로그램실행 구동장치의 실행을 기동: 시스템관리 프로그램은 하나의 프로그램의 프로그램실행 구동장치를 활성화시키는데 이는 실제상 이 프로그램의 프로그램실행 구동장치에 PM의 출력대기열을 써넣는 것이며, PM은 이 프로그램실행 구동장치를 처리할 경우, NEXT셀을 MP로 설정한 후에 그것을 PM의 출력대기열에 써넣으며,
    ● 하나의 프로그램실행 구동장치의 실행을 계속 진행: 각각의 프로그램실행 구동장치가 하나의 프로그램을 구동하는데 있어서의 현재 명령어가 실행되는 최후 절차는 PM으로 리턴하는 것이며, 만일 현재 명령어가 한 종료명령어가 아니면, PM은 이 구동장치를 계속 실행되도록 제어하며, 셀 9 ←셀 9 + 셀 1로, 즉 PC ← PC + ΔPC로 하고, NEXT셀을 MP로 설정한 후 그것을 PM의 출력대기열에 써넣으며,
    ● 하나의 프로그램실행 구동장치의 실행을 종료: 어느 한 프로그램이 하나의 종료명령어를 실행하였을 경우, PM은 이 프로그램의 프로그램실행 구동장치를 삭제함으로써 이 프로그램의 실행을 종료하며, 이 프로그램이 종료명령어를 실행하기 전에 하나 또는 복수 개의 리소스해제형명령어를 실행해야 하며,
    ● 상기의 처리과정을 중복: 만약 본 PM의 입력대기열이 비어있거나 출력대기열이 차있으면, 무 동작을 1회 진행하며,
    ● PM유닛의 출력대기열에서 수신한 프로그램실행 구동장치 및 구성셀의 내용은 하기한 바와 같으며,
    0 1 7 8 9 10 11 12 13-28 PM ΔPC MPno MPnu PC MDno Mdnu PrNo R0-R15
    그중 1번셀은ΔPC이고, 그 값은 0 또는 1 또는 점프한 오프셋이며,
    ● PM유닛의 출력대기열에서 MP유닛에 보내는 프로그램실행 구동장치 및 그 구성셀의 내용은 하기한 바와 같으며,
    0 7 8 9 10 11 12 13-28 MPr MPno MPnu PC MDno Mdnu PrNo R0-R15
    그중 0번셀에서서의 MPr은 타깃유닛이 MP이며 "읽기" 동작 진행을 요구함을 표시하며,
    (2) 유닛 4: 명령어형식전환유닛 IT라고 하며, 명령어 해독과 명령어형식전환 관련 서비스를 제공하는데 사용되며, 독립병렬작업이 가능한 복수 개의 IT유닛을 설정할 수 있으며, 각각의 IT유닛의 주요기능은 하기한 바와 같으며,
    ● IT는 하나의 입력대기열을 유지하며, 본 IT처리를 요구하는 프로그램실행 구동장치는 전부 이 대기열에서 대기하고 있으며, 또한 IT는 하나의 출력대기열도 유지하고 있으며, 이미 처리된 프로그램실행 구동장치는 이 대기열에서 대기하며 DU유닛의 전송서비스를 대기하고,
    ● 명령어형식전환을 요구한 프로그램실행 구동장치에 대하여, IT는 이 프로그램실행 구동장치에 저장되어 있는 현재 명령어의 형식을 전환하며, 이에 근거하여 NEXT등셀을 설정한 후, 그것을 IT의 출력대기열에 써넣고,
    ● 상기의 처리과정을 중복: 만일 본 IT의 입력대기열이 비어있거나 출력대기열이 차있으면, 무 동작을 1회 진행하며,
    ● IT유닛의 입력대기열에서의 프로그램실행 구동장치 및 그 구성셀의 내용은 하기한 바와 같으며, 그중 1번셀에서의 I는 읽어낸 현재 명령어로서, 예를 들면 LDI R0, C이며,
    0 1 7 8 9 10 11 12 13-28 IT I MPno MPnu PC Mdno MDnu PrNo R0-R15
    ● IT유닛의 출력대기열에서의 프로그램실행 구동장치 및 그 구성셀의 내용은 현재 명령어 I에 따라 상이한데, 하기한 바와 같으며,
    ΔIT에서 PM에 보내는 프로그램실행 구동장치 및 그 구성셀의 내용:
    LDI Rd,C
    0 1 7 8 9 10 11 12 13-28 PM 1 MPno MPnu PC MDno Mdnu PrNo R0-R15
    그중 1번셀은 ΔPC이고, 현재 명령어의 현재 값은 1이며,
    MV Rd,Rs
    0 1 7 8 9 10 11 12 13-28 PM 1 MPno MPnu PC MDno Mdnu PrNo R0-R15
    그중 1번 셀은 ΔPC이고, 현재 명령어의 현재 값은 1이며,
    ΔIT에서 MD에 보내는 프로그램실행 구동장치 및 그 구성셀의 내용:
    LD Rd,Rs
    0 1 2 3 7 8 9 10 11 12 13-28 MDr PM [Rd] [Rs] MPno MPnu PC MDno Mdnu PrNo R0-R15
    그중 0번셀에서의 MDr은 타깃유닛이 MD이고 "읽기" 동작 진행을 요구함을 표시하며, 2, 3번셀에서의 [Rd]와 [Rs]는 레지스터 Rd와 레지스터 Rs의 내용을 표시하며,
    STI Rd,C
    0 1 2 3 7 8 9 10 11 12 13-28 MDIw PM [Rd] C MPno MPnu PC MDno MDnu PrNo R0-R15
    그중 0번셀에서의 MDIw는 타깃유닛이 MD이고 "즉시값 쓰기" 동작 진행을 요구함을 표시하며, 그중 2번셀에서의 [Rd]는 레지스터 Rd에서의 내용을 표시하며,
    ST Rd,Rs
    0 1 2 3 7 8 9 10 11 12 13-28 MDw PM [Rd] [Rs] MPno MPnu PC MDno Mdnu PrNo R0-R15
    그중 0번셀에서의 MDw는 타깃유닛이 MD이며 "쓰기" 동작 진행을 요구함을 표 시하며, 2, 3번셀에서의 [Rd]와 [Rs]는 레지스터 Rd와 레지스터 Rs의 내용을 표시하며,
    ΔIT에서 ALU에 보내는 프로그램실행 구동장치 및 그 구성셀의 내용:
    ADDI Rd,C
    0 1 2 3 4 7 8 9 10 11 12 13-28 ALUI+ PM Rd [Rd] C MPno MPnu PC MDno MDnu PrNo R0-R15
    그중 0번 셀에서의 ALUI+는 타깃유닛이 ALU이며 "즉시값 쓰기" 동작 진행을 요구함을 표시하며, SUBI, MULI, DIVI등 명령어에 있어서, 그가 대응되는 프로그램실행 구동장치 및 그 구성셀의 내용은 이와 유사하며, 오직 0번셀을 각각 ALUI-, ALUI*, ALUI÷로 설정하였을 뿐이며,
    ADD Rd,Rs1,Rs2
    0 1 2 3 4 7 8 9 10 11 12 13-28 ALU+ PM Rd [Rs1] [Rs2] MPno Mpnu PC Mdno Mdnu PrNo R0-R15
    그중 0번셀에서의 ALU+는 타깃유닛이 ALU이며 "가법" 동작 진행을 요구함을 표시하며, SUB, MUL, DIV등은 이와 유사하며,
    JEQI Rs,C
    0 1 2 3 7 8 9 10 11 12 13-28 ALUIj PM C [Rs] MPno MPnu PC MDno Mdnu PrNo R0-R15
    그중 0번셀에서의 ALUIj는 타깃유닛이 ALU이며 "즉시값의 점프판단" 동작 진행을 요구함을 표시하며, JNEI 등은 이와 유사하며,
    JEQ Rs1,Rs2
    0 1 2 3 7 8 9 10 11 12 13-28 ALUj PM [Rs2] [Rs1] MPno MPnu PC Mdno Mdnu PrNo R0-R15
    그중 0번셀에서의 ALUj는 타깃유닛이 ALU이며 "점프 판단" 동작 진행을 요구함을 표시하며, JNE 등은 이와 유사하며,
    SLT Rd, Rs1, Rs2
    0 1 2 3 4 7 8 9 10 11 12 13-28 ALUslt PM Rd [Rs1] [Rs2] MPno MPnu PC Mdno MDnu PrNo R0-R15
    그중 0번셀에서의 ALUslt는 타깃유닛이 ALU이며 "좌부등 설정" 동작 진행을 요구함을 표시하며, SLE, SGT, SEQ, SNE등은 이와 유사하며, (3) 유닛 5: 산술/논리 연산유닛 ALU라고 하며, 산술/논리연산 관련 서비스를 제공하는데 사용되며, 독립병렬작업이 가능한 복수 개의 ALU유닛을 설정할 수 있고, 각각의 ALU유닛의 주요기능은 하기한 바와 같다;
    ● ALU는 하나의 입력대기열을 유지하며, 본 ALU처리를 요구하는 프로그램실행 구동장치는 전부 이 대기열에서 대기하고 있으며, 또한 ALU는 하나의 출력대기열도 유지하고 있으며, 이미 처리된 프로그램실행 구동장치는 이 대기열에서 전부 대기하며 DU유닛의 전송서비스를 대기하고,
    ● ALU에 산술/논리연산의 서비스 진행을 요구하기 전에, 프로그램실행 구동장치는 이 명령어에 필요한 피연산자를 준비하여 프로그램실행 구동장치의 대응되는 셀에 저장하도록 이미 제어하였고, ALU는 프로그램실행 구동장치에 저장되어 있 는 대응되는 피연산자에 요구한 산술/논리연산을 진행하며, 결과를 프로그램실행 구동장치의 대응되는 셀에 저장하고, NEXT셀을 PM으로 설정하고, 명령의 규정에 따라 1셀 즉 ΔPC를 설정한 후, 그것을 ALU의 출력대기열에 써넣으며,
    ● 상기의 처리과정을 중복: 만일 ALU의 입력대기열이 비어있거나 출력대기열이 차있으면, 무 동작을 1회 진행하며,
    ● ALU유닛의 입력대기열에서의 프로그램실행 구동장치 및 그 구성셀의 내용을 IT유닛의 출력대기열에서 ALU의 프로그램실행 구동장치 및 그 구성셀의 내용을 참조하며,
    ● ALU유닛의 출력대기열에서의 프로그램실행 구동장치 및 그 구성셀의 내용은 하기한 바와 같으며,
    0 1 7 8 9 10 11 12 13-28 PM ΔPC MPno Mpnu PC MDno Mdnu PrNo R0-R15
    그중 1번셀은ΔPC이고, 그 값은 1 또는 점프한 오프셋이며,
    (4) 유닛 6: 주변장치 관리유닛 PD라고 하며, 주변장치, 예를 들면 디스플레이, 키보드, 마우스, 프린터, 통신장치 등과 호스트컴퓨터 사이에서 진행하는 데이터의 입력/출력을 관리하는 서비스를 제공하는데 사용되며,
    3) 유닛 7: 프로그램실행 구동장치의 전송유닛 DU라고 하며, 프로그램실행 구동장치를 하나의 유닛의 출력대기열에서 다른 하나의 유닛의 입력대기열에 운송 및 전송하는 서비스를 제공하는데 사용되며, 독립병렬작업이 가능한 복수 개의 DU유닛을 설정할 수 있으며, 각각의 DU유닛의 주요기능은 하기한 바와 같다;
    ● DU는 예정된 순서에 따라 각 유닛세트에서의 각각의 유닛의 출력대기열의 비어있지 않은지 여부를 차례로 검사하며, DU는 어느 한 비어있지 않은 출력대기열에서 한 프로그램실행 구동장치를 읽어내어, 이 프로그램실행 구동장치의 NEXT셀이 가리키고 있는 타깃유닛세트번호 및 타깃유닛번호에 따라 이 타깃유닛세트에서의 타깃유닛의 입력대기열이 차있지 않은지 여부를 검사하며, 만일 차있지 않다면, 이 프로그램실행 구동장치는 이 타깃유닛세트에서의 타깃유닛의 입력대기열에 전송되며, 상기 처리방식은 PM, MP와 MD를 대상으로 한 것이며, IT와 ALU에 있어서는, 오직 이 유닛에서 임의의 하나의 입력대기열이 차있지 않은 유닛을 선택하면 되고,
    ● 상기의 처리과정을 중복: 만일 전체 유닛세트의 전체 유닛의 출력대기열이 전부 비어있거나, 또는 출력대기열은 비어있지 않으나, 대응되는 입력대기열이 전부 차있으면, 무 동작을 1회 진행한다, 는 것을 특징으로 하는 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법을 사용한 컴퓨터 프로세서의 아키텍처와 컴퓨터 프로세서.
  10. 제 4 항 또는 제 6 항 또는 제 8 항 또는 제 9 항에 있어서,
    1) 각각의 유닛 사이의 연결관계에 있어서, 유닛 1부터 6은 각각 자체의 1 또는 2세트의 신호라인을 통하여 각자의 입력대기열의 마지막과 출력대기열의 처음을 유닛 7에 연결하며,
    2) 유닛 7은 적어도 복수 개의 데이터 입력포트, 복수 개의 데이터 출력포트, 네트워크 커넥트장치와 제어관리장치로 구성되어 있으며, 유닛 7의 제어관리장 치는 스토로빙의 제어와 관리에 사용되는데, 예를 들면 포트의 사용 여부의 검측, 우선순위의 확인, 경로의 선택 등에 사용되며, 유닛 7의 네트워크커넥트장치는 복수 개의 데이터 입력포트를 복수 개의 데이터 출력포트에 연결하는데 사용되며, 이 네트워크커넥트장치는 여러 가지 설계방식을 갖고 있으며,
    3) 유닛 7의 네트워크커넥트장치는 교차 상호연결의 설계방식을 채용할 수 있으며, 임의의 하나의 입력포트는 전체 또는 부분 출력포트와 상호연결되어 있으며,
    4) 유닛 7의 네트워크 커넥트장치는 버스 설계방식을 채용할 수 있으며, 전체 입력포트와 출력포트는 여러 그룹으로 나뉘어져, 각각 하나의 버스에 연결되며, 버스와 버스 사이는 다시 교차 상호연결되는 것을 특징으로 하는 컴퓨터 프로그램/명령어의 실행을 구동하는 L구동법을 사용한 컴퓨터 프로세서의 아키텍처와 컴퓨터 프로세서.
  11. 제 1 항 또는 제 2 항 또는 제 3 항 또는 제 5 항 또는 제 7 항에 있어서,
    작업 흐름, 즉 신규 유형의 컴퓨터 프로세서에서 프로그램실행 구동장치가 실행하는 작업 흐름은 하기의 구체적 절차를 포함한다;
    시스템 기동시, 적어도 하나의 프로그램, 예를 들면 시스템관리프로그램의 프로그램실행 구동장치는 어느 한 프로그램관리유닛PM의 출력대기열에 저장되며, 절차 S2에 넘어가는 절차 S1;
    어느 한 DU유닛이 어느 한 PM유닛의 출력대기열이 비어있지 않은 것을 검측 해 내고, 또한 현재 대기열의 처음에 있는 프로그램실행 구동장치의 NEXT셀이 가리키는 그 특정된 타깃 MP유닛의 입력대기열이 차있지 않을 경우, 이 PM유닛의 출력대기열의 처음에 있는 프로그램실행 구동장치를 대응되는 MP유닛의 입력대기열에 전송하여 이 유닛의 처리를 대기하며, 절차 S3에 넘어가는 절차 S2;
    어느 한 MP유닛이 그 입력대기열이 비어있지 않은 것을 검측해 내었을 경우, 입력대기열의 처음에 있는 프로그램실행 구동장치에서 PC셀이 지정한 PC주소에 따라 자체가 관리하고 있는 프로그램기억유닛에 가서 명령어를 읽어내며, 읽어낸 명령어를 이 프로그램실행 구동장치의 1번셀에 저장하며, 만일 이때 이 MP유닛의 출력대기열이 차있는 상태라면, 그것이 비게 되기를 대기하며, 빈자리가 있을 경우, 처리를 완료한 프로그램실행 구동장치를 그의 출력대기열에 써넣고 DU유닛의 전송처리를 대기하며, 절차 S4로 넘어가는 절차 S3;
    어느 한 DU유닛이 어느 한 MP유닛의 출력대기열이 비어있지 않은 것을 검측해 내었고, 또한 현재 대기열의 처음에 있는 프로그램 구동장치의 NEXT셀이 가리키는 타깃유닛이 IT이고, 적어도 하나의 IT 유닛의 입력대기열이 차있지 않을 경우, 이 MP유닛의 출력대기열의 처음에 있는 프로그램실행 구동장치를 대응되는 IT유닛의 입력대기열에 전송하여 이 유닛의 처리를 대기하며, 절차 S5로 넘어가는 절차S4;
    어느 한 IT유닛이 그 입력대기열이 비어있지 않은 것을 검측해 낸 경우, 입력대기열의 처음에 있는 프로그램실행 구동장치에서의 명령어 대한 형식전환을 진행하고, 전환 후의 결과를 이 프로그램실행 구동장치의 대응되는 셀에 저장하며, 만일 이때 이 IT유닛의 출력대기열이 차있는 상태라면, 그것이 비게 되기를 대기하며, 빈자리가 있을 경우, 처리를 완료한 프로그램실행 구동장치를 그의 출력대기열에 써넣고 DU유닛의 전송처리를 대기하며, 절차 S6로 넘어가는 절차 S5;
    어느 한 DU유닛이 어느 한 유닛의 출력대기열이 비어있지 않은 것을 검측해 내었고, 여기서 어느 한 유닛은 IT, ALU와 MD중의 임의의 하나의 유닛을 가리키며, 또한 현재 대기열의 처음에 있는 프로그램실행 구동장치의 NEXT셀이 가리키고 있는 타깃 유닛의 입력대기열이 차있지 않을 경우, 이 유닛의 출력대기열의 처음에 있는 프로그램실행 구동장치를 대응되는 타깃유닛의 입력대기열에 전송하여 이 유닛의 처리를 대기하며, 이때의 타깃유닛은 3가지 유형이 있는데, 첫째 유형은 어느 한 ALU유닛이고, 이때의 타깃 ALU유닛은 임의의 하나의 출력대기열에 빈자리가 있는 ALU유닛이며, 절차 S7에 넘어가고, 두번째 유형은 어느 한 MD유닛이며, 이때의 타깃 MD유닛은 반드시 상기 프로그램실행 구동장치의 NEXT셀이 특정한 어느 MD유닛이어야 하며, 절차 S8로 넘어가며, 세번째 유형은 어느 한 PM유닛이며, 이때의 타깃 PM유닛은 반드시 상기 프로그램실행 구동장치의 NEXT셀이 특정한 어느 한 PM유닛이어야 하며, 절차 S9로 넘어가는 절차 S6;
    어느 한 ALU유닛이 그 입력대기열이 비어 있지 않은 것을 검측해 내었을 경우, 입력대기열의 처음에 있는 프로그램 구동장치에서의 NEXT셀의 명령에 따라 이 프로그램실행 구동장치에서의 대응되는 셀이 저장하고 있는 피연산자에 대해 지정된 산술/논리연산을 진행하며, 연산 후의 결과를 이 프로그램실행 구동장치의 대응되는 셀에 저장하며, 만약 이때 이 ALU유닛의 출력대기열이 차있는 상태라면, 그것 이 비게 되기를 대기하며, 빈자리가 있을 경우, 처리를 완료한 프로그램실행 구동장치를 그의 출력대기열에 써넣고 DU의 전송처리를 대기하며, 이때의 타깃유닛은 PM유닛이며, 절차 S6에 넘어가는 절차 S7;
    어느 한 MD유닛이 그 입력대기열이 비어있지 않은 것을 검측해 내였을 경우, 입력대기열의 처음에 있는 프로그램실행 구동장치의 NEXT셀에서의 읽기 또는 쓰기 명령 및 이 프로그램실행 구동장치에서의 어느 한셀이 지정하는 유닛내 주소에 따라, 이 프로그램실행 구동장치에서의 어느 한셀의 데이터에 대하여 그가 관리하고 있는 데이터기억유닛에서 읽기/쓰기동작을 진행하며, 읽기동작이라면, 읽어낸 데이터를 이 프로그램실행 구동장치의 어느 한셀에 저장하며, 이때 이 MD유닛의 출력대기열이 차있는 상태라면, 그것이 비게 되기를 대기하며, 빈자리가 있을 경우, 처리를 완료한 프로그램실행 구동장치를 그의 출력대기열에 써넣고 DU의 전송처리를 대기하며, 이때의 타깃 유닛은 PM유닛이며, 절차 S6에 넘어가는 절차 S8;
    어느 한 PM유닛이 그 입력대기열이 비어있지 않은 것을 검측해 내었을 경우, 입력대기열의 처음에 있는 프로그램실행 구동장치에서의 명령이 요구하는 대응되는 동작, 1) 비END명령어, 이때 ΔPC셀은 0이 아니며, PM는 요구에 따라 그 PC등셀의 값을 수정하며, 결과를 이 프로그램실행 구동장치의 대응되는 셀에 저장하고, 이때 이 PM유닛의 출력대기열이 차있는 상태라면, 그것이 비게 되기를 대기하며, 빈자리가 있을 경우, 처리를 완료한 프로그램실행 구동장치를 그의 출력대기열에 써넣고 DU의 전송처리를 대기하며, 절차 S2로 넘어가고, 2) END명령어, 이때의 ΔPC셀은 0이며, PM은 대응되는 종료플래그로 설정하고, 입력대기열에서 이 프로그램실행 구 동장치를 삭제하며, 시스템관리 프로그램을 활성화시켜 실행대기의 다음 프로그램을 스케쥴링하여 실행하기 시작하는 절차 S9; 를 포함하는 것을 특징으로 하는 컴퓨터 프로그램/명령어의 실행을 구동하는 구동방법.
KR1020067027649A 2004-06-28 2005-06-09 프로그램/명령어의 실행을 구동하는 “l”구동법 및그것의 아키텍처와 프로세서 KR100834180B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200410049759.5 2004-06-28
CNB2004100497595A CN100489783C (zh) 2004-06-28 2004-06-28 在单计算机上可在同一时刻执行多道程序的方法及系统

Publications (2)

Publication Number Publication Date
KR20070036083A true KR20070036083A (ko) 2007-04-02
KR100834180B1 KR100834180B1 (ko) 2008-05-30

Family

ID=34665825

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067027649A KR100834180B1 (ko) 2004-06-28 2005-06-09 프로그램/명령어의 실행을 구동하는 “l”구동법 및그것의 아키텍처와 프로세서

Country Status (8)

Country Link
US (1) US7761877B2 (ko)
EP (1) EP1770516A4 (ko)
JP (1) JP5336076B2 (ko)
KR (1) KR100834180B1 (ko)
CN (1) CN100489783C (ko)
BR (1) BRPI0512670A (ko)
RU (1) RU2007101465A (ko)
WO (1) WO2006000145A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100514301C (zh) * 2005-03-30 2009-07-15 李晓波 一种程序缓时执行的方法及其装置
CN102236724B (zh) * 2010-04-23 2015-04-01 中山市云创知识产权服务有限公司 最佳均衡器参数计算系统及方法
US20120159341A1 (en) 2010-12-21 2012-06-21 Microsoft Corporation Interactions with contextual and task-based computing environments
US9483324B2 (en) * 2012-06-26 2016-11-01 Nec Corporation Program conversion device and method, process switching method, method of determining execution scheme and program storage medium therefor, processor system, and parallel execution scheme
US9183399B2 (en) * 2013-02-14 2015-11-10 International Business Machines Corporation Instruction set architecture with secure clear instructions for protecting processing unit architected state information
CN103885365B (zh) * 2014-03-24 2018-07-06 三和智控(北京)系统集成有限公司 一种动态管理控制逻辑集的方法
US10740105B2 (en) * 2014-04-04 2020-08-11 Texas Instruments Incorporated Processor subroutine cache
TWI574158B (zh) * 2014-12-01 2017-03-11 旺宏電子股份有限公司 具應用程式資訊感知的資料處理方法以及系統
CN105808338A (zh) * 2016-03-17 2016-07-27 李晓波 一种在处理中实现中断响应核可配置的方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522082A (en) * 1986-01-23 1996-05-28 Texas Instruments Incorporated Graphics display processor, a graphics display system and a method of processing graphics data with control signals connected to a central processing unit and graphics circuits
JP2908598B2 (ja) * 1991-06-06 1999-06-21 松下電器産業株式会社 情報処理装置
US5638525A (en) * 1995-02-10 1997-06-10 Intel Corporation Processor capable of executing programs that contain RISC and CISC instructions
US5857103A (en) * 1996-06-14 1999-01-05 Sun Microsystems, Inc. Method and apparatus for addressing extended registers on a processor in a computer system
DE19817024A1 (de) * 1998-04-17 1999-10-21 Alcatel Sa Integrierte Schaltung
DE10000960C1 (de) * 2000-01-12 2001-12-20 Infineon Technologies Ag Datenverarbeitungsvorrichtung
US6640322B1 (en) * 2000-03-22 2003-10-28 Sun Microsystems, Inc. Integrated circuit having distributed control and status registers and associated signal routing means
US7096343B1 (en) * 2000-03-30 2006-08-22 Agere Systems Inc. Method and apparatus for splitting packets in multithreaded VLIW processor
US6658551B1 (en) * 2000-03-30 2003-12-02 Agere Systems Inc. Method and apparatus for identifying splittable packets in a multithreaded VLIW processor
US9032404B2 (en) * 2003-08-28 2015-05-12 Mips Technologies, Inc. Preemptive multitasking employing software emulation of directed exceptions in a multithreading processor
US7734833B2 (en) * 2005-09-08 2010-06-08 International Business Machines Corporation Method for scheduling operations called by a task on a real-time or non-real time processor

Also Published As

Publication number Publication date
RU2007101465A (ru) 2008-08-10
KR100834180B1 (ko) 2008-05-30
WO2006000145A1 (en) 2006-01-05
EP1770516A4 (en) 2008-12-10
JP5336076B2 (ja) 2013-11-06
BRPI0512670A (pt) 2008-04-01
EP1770516A1 (en) 2007-04-04
US7761877B2 (en) 2010-07-20
US20080072023A1 (en) 2008-03-20
CN1595359A (zh) 2005-03-16
CN100489783C (zh) 2009-05-20
JP2008504615A (ja) 2008-02-14

Similar Documents

Publication Publication Date Title
KR100834180B1 (ko) 프로그램/명령어의 실행을 구동하는 “l”구동법 및그것의 아키텍처와 프로세서
JP5047542B2 (ja) マルチスレッドプロセッサのディスパッチ時にスレッドをブロックする方法、コンピュータプログラム、および装置(精細なマルチスレッドディスパッチロックメカニズム)
US6275893B1 (en) Method and apparatus for providing seamless hooking and intercepting of selected kernel and HAL exported entry points in an operating system
US8055872B2 (en) Data processor with hardware accelerator, accelerator interface and shared memory management unit
US20060168583A1 (en) Systems and methods for TDM multithreading
US20090271790A1 (en) Computer architecture
JP2001318874A (ja) システム・オペレーションの間にデバイス・ドライバを置き換えるシステム,方法及びそのコンピュータ・プログラム製品
JP2003122563A (ja) 命令処理制御方法
US20060179265A1 (en) Systems and methods for executing x-form instructions
JP2000029737A (ja) デバッグ機能のためのリアルタイム外部命令挿入を有するプロセッサ
JP2003296191A (ja) 汎用プロセッサおよび周辺装置のプロセッサとして動作可能な集積回路
US20110283089A1 (en) modularized micro processor design
JPH06242954A (ja) 独立にアクセスされる中間記憶域を利用してスーパースカラ・プロセッサ・システムにおける命令ディスパッチを改善する方法およびシステム
JPWO2008023427A1 (ja) タスク処理装置
JP2008226236A (ja) 構成可能なマイクロプロセッサ
JP4585647B2 (ja) パイプラインメモリシステムにおける複数のターゲットへの複数の未解決要求のサポート
US20060149940A1 (en) Implementation to save and restore processor registers on a context switch
JPH0232659B2 (ko)
JP3756410B2 (ja) 述語データを提供するシステム
JP2001216160A (ja) 長レイテンシ命令に対する命令属性およびステータス情報を示す処理システムおよび方法
Kawano et al. Fine-grain multi-thread processor architecture for massively parallel processing
JP5678347B2 (ja) Itシステムの構成方法、そのコンピュータプログラムおよびitシステム
US7721145B2 (en) System, apparatus and computer program product for performing functional validation testing
JPH1049373A (ja) パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置
US6807628B2 (en) System and method for supporting precise exceptions in a data processor having a clustered architecture

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: 20120420

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee