KR19990037395A - 두개의 워드 명령을 단일 주기 동안 실행하는 시스템 및 방법 - Google Patents

두개의 워드 명령을 단일 주기 동안 실행하는 시스템 및 방법 Download PDF

Info

Publication number
KR19990037395A
KR19990037395A KR1019980044940A KR19980044940A KR19990037395A KR 19990037395 A KR19990037395 A KR 19990037395A KR 1019980044940 A KR1019980044940 A KR 1019980044940A KR 19980044940 A KR19980044940 A KR 19980044940A KR 19990037395 A KR19990037395 A KR 19990037395A
Authority
KR
South Korea
Prior art keywords
word
program memory
address
address bus
instructions
Prior art date
Application number
KR1019980044940A
Other languages
English (en)
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 KR19990037395A publication Critical patent/KR19990037395A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/3802Instruction prefetching
    • 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/3802Instruction prefetching
    • G06F9/3816Instruction alignment, e.g. cache line crossing

Landscapes

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

Abstract

두 개의 워드 명령이 단일 주기 동안 실행될 수 있도록 함으로써, 성능을 감소시키지 않으면서 메모리 공간을 증가시킬 수 있도록 하는 시스템이 개시된다. 제 1 어드레스 버스가 페치될 명령의 어드레스를 선형화된 프로그램 메모리에 보내기 위하여 선형화된 프로그램 메모리에 결합된다. 페치될 선형화된 프로그램 메모리내의 현재 명령의 어드레스 위치를 저장하기 위하여, 그리고 페치될 현재 명령의 어드레스 위치를 제 1 어드레스 버스에 싣기위하여, 포인터가 제 1 어드레스 버스에 결합된다. 제 2 어드레스 버스가 제공되는데, 이의 한쪽 끝은 프로그램 메모리의 출력에 결합되며 다른 쪽 끝은 제 1 어드레스 버스에 결합된다. 제 2 어드레스 버스는, 두 개의 워드 명령 중 첫 번째 워드의 피연산자의 어드레스를 제 1 어드레스 버스 위에 실은 후, 두 개의 워드 명령 중 두 번째 워드 명령의 피연산자의 어드레스를 제 1 어드레스 버스 위에 싣는 데에 사용된다. 이는 첫 번째 워드와 두 번째 워드의 어드레스가 결합되도록 하여 두 개의 워드 명령의 완전한 어드레스 값이 단일 주기 동안 제공될 수 있도록 한다.

Description

두 개의 워드 명령을 단일 주기 동안 실행하는 시스템 및 방법
본 발명은 일반적으로 프로세서에 관한 것으로서, 특히 두 개의 워드 명령을 단일 주기에 실행가능하게 함으로써, 성능을 감소시키지 않으면서 어드레스 가능한 메모리 공간을 증가시킬 수 있도록 하는 시스템 및 그 실행방법에 관한 것이다.
현재, 몇몇 프로세서 시스템의 모든 명령은 단일 워드 명령이다. 이는 각각의 특정한 동작을 프로세서에 알리는 데에 단일 워드가 사용됨을 의미한다. 단일 워드 명령이 가지고 있는 문제는, 단일 워드 명령은 단지 제한된 수의 어드레스 비트만을 갖기 때문에 어드레스 가능한 메모리 공간의 양이 제한된다는 것이다.
어드레스 가능한 메모리 공간을 증가시키기 위하여, 몇몇 프로세서 시스템은 프로그램 메모리내에 페이징 설계를 한다. 페이징 설계를 하게 되면, 프로그램 메모리는 다수의 페이지로 분할된다. 데이터 파일 위치내의 비트 또는 비트들은 프로그램 메모리 내의 어떤 페이지가 현재 액세스되고 있는 지를 나타낸다. 이러한 페이징 설계가 가지고 있는 문제는, 다른 페이지(즉, 현재 선택된 페이지가 아닌 다른 페이지)에 있는 데이터를 액세스하기 위해서는 데이터 파일 위치 내의 비트 또는 비트들이 바뀔 필요가 있다는 것이다. 이는 특히, 프로그래머가 필요할 때에 데이터 파일 비트(들)를 적절하게 바꾸지 않는 경우에 마지막 사용자에게 많은 문제를 발생시킨다.
따라서, 프로세서에 의해 사용될 어드레스 가능한 메모리 공간을 증가시키는 시스템의 필요성이 대두되었다. 이 시스템은 프로세서 전체의 성능을 감소시키지 않으면서 프로세서에 의해 사용될 어드레스 가능한 메모리 공간을 증가시켜야 한다. 이 시스템은 페이징 설계를 사용하지 않으면서, 그리고 프로세서 전체의 성능을 감소시키지 않으면서 어드레스 가능한 메모리 공간을 증가시켜야 한다. 이 시스템은 다중 워드 명령이 단일 주기 동안에 실행될 수 있도록 함으로써, 프로세서 전체의 성능을 감소시키지 않으면서 어드레스 가능한 메모리 공간을 증가시켜야 한다.
본 발명의 제 1 실시예에 따르면, 본 발명의 목적은 프로세서에 의해 사용될 어드레스 가능한 메모리 공간을 증가시키는 시스템을 제공하는 것이다.
본 발명의 다른 목적은 프로세서의 전체 성능을 감소시키지 않으면서 프로세서에 의해 사용될 어드레스 가능한 공간을 증가시키는 시스템을 제공하는 것이다.
본 발명의 또 다른 목적은 페이징 설계를 사용하지 않으면서, 그리고 프로세서의 전체 성능을 감소시키지 않으면서 어드레스 가능한 메모리 공간을 증가시키는 시스템을 제공하는 것이다.
본 발명의 또 다른 목적은 다중 워드 명령이 단일 주기 동안 실행될 수 있도록 함으로써 프로세서의 전체 성능을 감소시키지 않으면서 프로세서에 의해 사용될 어드레스 가능한 메모리 공간을 증가시키는 시스템을 제공하는 것이다.
도 1은 단일 주기 동안 두 개의 명령이 실행될 수 있도록 하는 시스템의 단순화된 기능 블록 다이어그램.
<도면의 주요 부분에 대한 부호의 설명>
10 : 프로세서 시스템 12 : 프로그램 메모리
14 : 제 1 어드레스 버스 16 : 포인터
18 : 프로그램 카운터 20 : 제 2 어드레스 버스
22 : 테이블 포인터
본 발명의 제 1 실시예에 따르면, 두 개의 워드 명령이 단일 주기 동안 실행될 수 있도록 함으로써, 성능을 감소시키지 않으면서 메모리 공간을 증가시킬 수 있도록 하는 시스템이 개시된다. 이 시스템은 프로세서 시스템에 의해 실행될 명령을 저장하는 선형화된 프로그램 메모리를 이용한다. 프로세서 시스템에 의해 실행될 명령의 어드레스를 선형화된 프로그램 메모리에 보내기 위하여 제 1 어드레스 버스가 선형화된 프로그램 메모리에 결합된다. 페치될 선형화된 프로그램 메모리내의 현재 명령의 어드레스 위치를 저장하기 위하여, 그리고 페치될 현재 명령의 어드레스 위치를 제 1 어드레스 버스에 싣기위하여, 포인터가 제 1 어드레스 버스에 결합된다. 제 2 어드레스 버스가 제공되는데, 이의 한쪽 끝은 프로그램 메모리의 출력에 결합되며 다른 쪽 끝은 제 1 어드레스 버스에 결합된다. 제 2 어드레스 버스는, 두 개의 워드 명령 중 첫 번째 워드의 피연산자의 어드레스가 제 1 어드레스 버스 위에 실린 후, 두 개의 워드 명령 중 두 번째 워드의 피연산자의 어드레스를 제 1 어드레스 버스 위에 싣는 데에 사용된다. 이는 두 개의 워드 명령의 완전한 어드레스 값이 단일 주기 동안 선형화된 프로그램 메모리로 보내질 수 있도록 한다.
본 발명의 다른 실시예에 따라, 두 개의 명령이 단일 주기 동안 실행될 수 있도록 함으로써, 프로세서 시스템이 그 성능을 감소시키지 않으면서 메모리 공간을 증가시키는 방법을 개시하며, 이 방법은
프로세서 시스템에 의해 실행될 명령을 저장하는 선형화된 프로그램 메모리를 제공하는 단계와;
프로세서 시스템에 의해 실행될 명령의 어드레스를 선형화된 프로그램 메모리에 보내기 위하여 선형화된 프로그램 메모리에 결합되는 제 1 어드레스 버스를 제공하는 단계와;
페치될 선형화된 프로그램 메모리내의 현재 명령의 어드레스 위치를 저장하기 위하여, 그리고 페치될 선형화된 프로그램 메모리내의 현재 명령의 어드레스 위치를 제 1 어드레스 버스에 싣기위하여 제 1 어드레스 버스에 결합되는 포인터를 제공하는 단계와;
두 개의 워드 명령 중 첫 번째 워드의 피연산자의 어드레스를 제 1 어드레스 버스 위에 실은 후, 두 개의 워드 명령 중 두 번째 워드의 피연산자의 어드레스를 제 1 어드레스 버스 위에 실음으로써, 단일 주기 동안 두 개의 워드 명령의 완전한 어드레스 값을 선형화된 프로그램 메모리에 제공하기 위하여, 한 쪽 끝은 프로그램 메모리의 출력에 결합되고 다른 쪽 끝은 제 1 어드레스 버스에 결합되는 제 2 어드레스 버스를 제공하는 단계를 포함한다.
본 발명의 상술한 목적들 및 다른 목적들, 특징들, 및 장점들은 하기로부터, 특히 첨부 도면과 함께 설명되는 본 발명의 바람직한 실시예의 설명으로부터 명확해질 것이다.
도 1을 설명하면, 프로그램 메모리내의 페이징 설계를 없애고, 또한 프로그램 메모리(12) 내의 어드레스 가능한 어드레스 공간을 증가시키기 위하여, 모든 프로그램 점프(점프는 한 위치로부터 다른 위치로 되는 것이기 때문에, 프로그램 점프는 페이징이 중요한 쟁점이 되는 곳에서 이루어진다)는 단일 워드에서 두 개의 워드 명령으로 증가된다. 두 개의 워드 점프 명령을 제공함으로써, 프로그램 메모리(12)의 크기는 증가하게 된다. 이는 두 개의 워드 명령이 명령의 증가된 크기로 인하여 더 큰 어드레스 공간을 액세스할 수 있다는 사실에 기인한 것이다. 따라서, 두 개의 워드 점프 명령은 확장된 프로그램 메모리(12)의 전체 어드레스 기준이 완전하게 정해질 수 있다. 본 발명의 바람직한 실시예에서, 두 개의 워드 점프 명령의 각 워드는 16 비트 길이를 갖는다. 첫 번째 워드의 8비트는 “연산 코드”를 엔코드하는 데에 사용되고 나머지 8비트는 프로그램 메모리(12) 내의 메모리 위치를 어드레스 하는 데에 사용된다. 두 번째 워드 또는 피연산자는 그것을 피연산자로서 구별하는 데에 단지 4비트 만을 필요로 하며 나머지 12 비트는 어드레스로서 사용될 수 있다.
두 개의 워드 명령이 가지고 있는 문제는 단일 워드 만큼 빠르게 실행될 수 없다는 것이다. 하나의 명령은 다른 명령이 실행되고 있는 동안 페치되어 있기 때문에, 단일 워드 “점프” 명령은 일반적으로 파이프라인을 “활성화시키고(flush out)”실행시키는 데에 두 주기를 필요로 한다. 만일 실행되는 명령이 단일 워드 “점프”명령이라면, 페치된 명령은 더 이상 존재하지 않는다(즉, 실행될 다음 명령이 아니다). 무동작 명령(NOP)이 수행될 필요가 있으며 “점프되는”명령은 페치될 필요가 있다. “점프”에 의해 지정된 명령이 곧 실행될 것이다. 두 개의 워드 “점프”명령에 대하여, 두 개의 워드 명령을 로드하고 파이프라인을 활성화시켜 실행시키는 데에는 세 주기가 필요하다. 이는, 하나의 “점프”명령을 수행하는 데에 적어도 하나의 부가적인 주기가 필요하기 때문에, 프로세서 시스템의 전체 성능을 감소시킨다.
시스템(10)은 두 개의 워드 명령을 단일 주기 동안 로드시킴으로써 프로세서 시스템 전체의 성능을 감소시키지 않으면서 메모리 공간을 증가시킬 수 있도록 설계되었다. 시스템(10)은 프로그램 메모리(12)를 이용한다. 프로그램 메모리(12)는 프로세서 시스템에 의해 실행될 명령을 저장하는 데에 사용된다. 프로그램 메모리(12)는 다수의 페이지로 분할되지 않는다. 대신에, 프로그램 메모리(12)의 전체 어드레스 범위는 선형화된다. 본 발명의 바람직한 실시예에서, 프로그램 메모리(12)는 1 메가워드(여기서 1워드는 16비트와 동등하다)의 선형화된 프로그램 메모리(12)이다.
제 1 어드레스 버스(14)는 선형화된 프로그램 메모리(12)에 결합된다. 제 1 어드레스 버스(14)는 페치될 명령의 어드레스를 선형화된 프로그램 메모리912)에 보내는 데에 사용된다. 포인터(16)는 페치될 선형화된 프로그램 메모리(12)내의 현재 명령의 어드레스 위치를 저장하는 데에 사용된다. 포인터(16)는 페치될 선형화된 프로그램 메모리(12)내의 현재 명령의 어드레스 위치를 저장하는 데에 사용된다. 그런 다음, 포인터(16)는, 페치될 선형화된 프로그램 메모리(12) 내의 명령의 어드레스를 나타내기 위하여, 페치될 현재 명령의 어드레스 위치를 제 1 어드레스 버스(14)에 싣는다. 프로그램 카운터(18)는 일반적으로 페치될 선형화된 프로그램 메모리(12) 내의 현재 명령의 어드레스 위치를 저장하고 있는 포인터(16)를 로드하기 위하여 포인터(16)에 결합된다.
제 2 어드레스 버스(20)의 한쪽 끝은 선형화된 프로그램 메모리(12)의 출력에 결합된다. 선형화된 프로그램 메모리(12)의 출력은 페치되는 명령의 값이다. 제 2 어드레스 버스(20)의 다른 쪽 끝은 제 1 어드레스 버스(14)에 결합된다. 재 2 어드레스 버스는, 두 개의 워드 명령 중 첫 번째 워드의 피연산자의 어드레스가 제 1 어드레스 버스(14) 위에 실려진 후, 두 개의 워드 명령 중 두 번째 워드의 피연산자의 어드레스(첫번째 워드가 수행될 때 페치됨)를 제 1 어드레스 버스(14) 위에 싣는 데에 사용된다. 따라서, 두 번째 워드의 어드레스는 프로그램 카운터(18)내로 로드되고 포인터(16)에 보내질 필요가 없다. 상기 설명한 바와 같이, 두 개의 워드 점프 명령을 위한 일반적인 시스템에서는, 세 주기가 필요하다. 그러나, 시스템(10)은 첫 번째 워드 및 두 번째 워드의 어드레스가 결합될 수 있도록 하여 두 개의 워드 명령의 완전한 어드레스 값을 제공한다. 따라서, “점프”명령의 두 번째 주기 동안, 실질적인 “점프”명령이 페치된다. 따라서, 두 주기 동안 두 개의 워드 “점프”명령이 페치되고 수행된다(따라서, 두 개의 워드 “점프”명령이 단일 주기 동안 실행된다). 결과적으로, 시스템(10)은 어떠한 메모리 페이징 설계를 사용하지 않으면서 프로그램 메모리를 확장시킬 수 있게 한다. 프로그램 메모리의 팽창은 또한, 두 개의 워드 “점프”명령이 단일 워드 “점프”명령과 동일한 수의 주기를 필요로 하기 때문에, 시스템의 성능을 감소시키지 않는다.
시스템(10)은 또한 테이블 포인터(22)를 구비한다. 테이블 포인터(22)는 포인터(16)에 결합된다. 테이블 포인터(22)는 선형화된 프로그램 메모리(22)로(부터) 테이블을 판족 및 기록할 수 있도록 하는 데에 사용된다.
본 발명이 특히 바람직한 실시예에 대해 도시되고 설명되기는 하였지만, 이 분야의 당업자에 있어 형태 및 세부사항에 있어서 상술한 그리고 다른 변형이 본 발명의 원리 및 범위를 벗어나지 않으면서 이루어질 수 있음은 자명하다.

Claims (13)

  1. 두 개의 워드 명령이 단일 주기에 실행될 수 있도록 함으로써, 성능을 감소시키지 않으면서 메모리 공간을 증가시킬 수 있도록 하는 시스템으로서,
    상기 프로세서 시스템에 의해 실행될 명령을 저장하는 선형화된 프로그램 메모리와;
    페치될 상기 명령의 상기 어드레스를 상기 선형화된 프로그램 메모리로 보내는 제 1 어드레스 버스와;
    페치될 상기 선형화된 프로그램 메모리내의 현재 명령의 어드레스 위치를 저장하기 위하여, 그리고 페치될 상기 선형화된 프로그램 메모리 내의 현재 명령의 상기 어드레스 위치를 상기 제 1 어드레스 버스에 싣기위하여 상기 제 1 어드레스 버스에 결합되는 포인터와;
    두 개의 워드 명령 중 첫 번째 워드의 피연산자의 어드레스를 상기 제 1 어드레스 버스 위에 실은 후, 상기 두 개의 워드 명령 중 두 번째 워드의 피연산자의 어드레스를 상기 제 1 어드레스 버스 위에 실음으로써, 단일 주기 동안 상기 두 개의 워드 명령의 완전한 어드레스 값을 상기 선형화된 프로그램 메모리에 제공하기 위하여, 한 쪽 끝은 상기 프로그램 메모리의 출력에 결합되고 다른 쪽 끝은 상기 제 1 어드레스 버스에 결합되는 제 2 어드레스 버스를 포함하여 구성되는 것을 특징으로 하는 시스템.
  2. 제 1 항에 있어서, 페치될 상기 선형화된 프로그램 내의 현재 명령의 상기 어드레스 위치를 저장하고 있는 상기 포인터를 로드하기 위하여 상기 포인터에 결합되는 프로그램 카운터를 더 포함하는 것을 특징으로 하는 시스템.
  3. 제 1 항에 있어서, 상기 프로그램 메모리로부터 테이블을 판독하고 상기 프로그램 메모리에 테이블을 기록할 수 있도록 상기 포인터에 결합되는 테이블 포인터를 더 포함하는 것을 특징으로 하는 시스템.
  4. 제 1 항에 있어서, 상기 두 개의 워드 명령 중 첫 번째 워드 및 두 번째 워드는 모두 16 비트 명령인 것을 특징으로 하는 시스템.
  5. 제 1 항에 있어서, 상기 프로그램 메모리는 1 메가워드(여기서 1워드는 16비트와 동등함)의 프로그램 메모리인 것을 특징으로 하는 시스템.
  6. 두 개의 워드 명령이 단일 주기에 실행될 수 있도록 함으로써, 성능을 감소시키지 않으면서 메모리 공간을 증가시킬 수 있도록 하는 시스템으로서,
    상기 프로세서 시스템에 의해 실행될 명령을 저장하는 선형화된 프로그램 메모리와;
    페치될 상기 명령의 상기 어드레스를 상기 선형화된 프로그램 메모리로 보내는 제 1 어드레스 버스와;
    페치될 상기 선형화된 프로그램 메모리내의 현재 명령의 어드레스 위치를 저장하기 위하여, 그리고 페치될 상기 선형화된 프로그램 메모리 내의 현재 명령의 상기 어드레스 위치를 상기 제 1 어드레스 버스에 싣기위하여 상기 제 1 어드레스 버스에 결합되는 포인터와;
    페치될 상기 선형화된 프로그램 내의 현재 명령의 상기 어드레스 위치를 저장하고 있는 상기 포인터를 로드하기 위하여 상기 포인터에 결합되는 프로그램 카운터와;
    두 개의 워드 명령 중 첫 번째 워드의 피연산자의 어드레스를 상기 제 1 어드레스 버스 위에 실은 후, 상기 두 개의 워드 명령 중 두 번째 워드의 피연산자의 어드레스를 상기 제 1 어드레스 버스 위에 실음으로써, 단일 주기 동안 상기 두 개의 워드 명령의 완전한 어드레스 값을 상기 선형화된 프로그램 메모리에 제공하기 위하여, 한 쪽 끝은 상기 프로그램 메모리의 출력에 결합되고 다른 쪽 끝은 상기 제 1 어드레스 버스에 결합되는 제 2 어드레스 버스; 및
    상기 프로그램 메모리로부터 테이블을 판독하고 상기 프로그램 메모리에 테이블을 기록할 수 있도록 상기 포인터에 결합되는 테이블 포인터를 포함하여 구성되는 것을 특징으로 하는 시스템.
  7. 제 6 항에 있어서, 상기 두 개의 워드 명령 중 첫 번째 워드 및 두 번째 워드는 모두 16 비트 명령인 것을 특징으로 하는 시스템.
  8. 제 6 항에 있어서, 상기 프로그램 메모리는 1 메가워드(여기서 1워드는 16비트와 동등함)의 프로그램 메모리인 것을 특징으로 하는 시스템.
  9. 두 개의 명령이 단일 주기에 실행될 수 있도록 함으로써, 프로세서 시스템이 성능을 감소시키지 않으면서 메모리 공간을 증가시키는 방법으로서,
    상기 프로세서 시스템에 의해 실행될 명령을 저장하는 선형화된 프로그램 메모리를 제공하는 단계와;
    페치될 상기 명령의 상기 어드레스를 상기 선형화된 프로그램 메모리에 보내기 위하여 상기 선형화된 프로그램 메모리에 결합되는 제 1 어드레스 버스를 제공하는 단계와;
    페치될 상기 선형화된 프로그램 메모리내의 현재 명령의 어드레스 위치를 저장하기 위하여, 그리고 페치될 상기 선형화된 프로그램 메모리 내의 현재 명령의 상기 어드레스 위치를 상기 제 1 어드레스 버스 위에 싣기 위하여 상기 제 1 어드레스 버스에 결합되는 포인터를 제공하는 단계와;
    상기 두 개의 워드 명령 중 첫 번째 워드의 피연산자의 어드레스를 상기 제 1 어드레스 버스 위에 실은 후, 상기 두 개의 워드 명령 중 두 번째 워드의 피연산자의 어드레스를 상기 제 1 어드레스 버스 위에 실음으로써, 단일 주기 동안 상기 두 개의 워드 명령의 완전한 어드레스 값을 상기 선형화된 프로그램 메모리에 제공하기 위하여, 한 쪽 끝은 상기 프로그램 메모리의 출력에 결합되고 다른 쪽 끝은 상기 제 1 어드레스 버스에 결합되는 제 2 어드레스 버스를 제공하는 단계를 포함하여 이루어지는 것을 특징으로 하는 방법.
  10. 제 9 항에 있어서, 페치될 상기 선형화된 프로그램 메모리내의 현재 명령의 상기 어드레스 위치를 저장하고 있는 상기 포인터를 로드하기 위하여 상기 포인터에 결합되는 프로그램 카운터를 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  11. 제 9 항에 있어서, 상기 프로그램 메모리로부터 테이블을 판독하고 상기 프로그램 메모리에 테이블을 기록할 수 있도록 상기 포인터에 결합되는 테이블 포인터를 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  12. 제 9 항에 있어서, 상기 두 개의 워드 명령 중 상기 첫 번째 워드 및 상기 두 번째 워드는 모두 16 비트 명령인 것을 특징으로 하는 방법.
  13. 제 9 항에 있어서, 1 메가워드(여기서 1워드는 16비트와 동등함)의 프로그램 메모리를 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.
KR1019980044940A 1997-10-28 1998-10-23 두개의 워드 명령을 단일 주기 동안 실행하는 시스템 및 방법 KR19990037395A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8/958,940 1997-10-28
US08/958,940 US6243798B1 (en) 1997-10-28 1997-10-28 Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction

Publications (1)

Publication Number Publication Date
KR19990037395A true KR19990037395A (ko) 1999-05-25

Family

ID=25501471

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980044940A KR19990037395A (ko) 1997-10-28 1998-10-23 두개의 워드 명령을 단일 주기 동안 실행하는 시스템 및 방법

Country Status (8)

Country Link
US (2) US6243798B1 (ko)
EP (2) EP0915416B1 (ko)
JP (1) JPH11224192A (ko)
KR (1) KR19990037395A (ko)
AT (1) ATE204393T1 (ko)
DE (1) DE69801355T2 (ko)
ES (1) ES2165651T3 (ko)
TW (1) TW390990B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1706817B1 (en) 2003-10-23 2015-04-15 Microchip Technology Inc. Microcontroller with a virtual memory bank
US9286272B2 (en) * 2005-12-22 2016-03-15 Xerox Corporation Method for transformation of an extensible markup language vocabulary to a generic document structure format
US20070226724A1 (en) * 2006-03-24 2007-09-27 Mediatek Inc. Method and apparatus for firmware execution and provision

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3969723A (en) * 1974-07-03 1976-07-13 General Electric Company On-line modification of computer programs
US3976976A (en) 1975-04-04 1976-08-24 The United States Of America As Represented By The Secretary Of The Navy Method and means to access and extended memory unit
US4240139A (en) 1977-09-22 1980-12-16 Tokyo Shibaura Denki Kabushiki Kaisha Address generating system
US4363091A (en) 1978-01-31 1982-12-07 Intel Corporation Extended address, single and multiple bit microprocessor
US4286321A (en) 1979-06-18 1981-08-25 International Business Machines Corporation Common bus communication system in which the width of the address field is greater than the number of lines on the bus
US4479178A (en) 1981-07-02 1984-10-23 Texas Instruments Incorporated Quadruply time-multiplex information bus
JP2685245B2 (ja) 1988-10-05 1997-12-03 株式会社東芝 プログラマブルコントローラ
US5203002A (en) * 1989-12-27 1993-04-13 Wetzel Glen F System with a multiport memory and N processing units for concurrently/individually executing 2N-multi-instruction-words at first/second transitions of a single clock cycle
DE69111778T2 (de) * 1990-12-21 1996-05-02 Sun Microsystems Inc Verfahren und Gerät zur Erweiterung einer Rechnerarchitektur von zweiunddreissig auf vierundsechzig Bits.
US5717908A (en) * 1993-02-25 1998-02-10 Intel Corporation Pattern recognition system using a four address arithmetic logic unit
JP3345787B2 (ja) 1993-04-13 2002-11-18 三菱電機株式会社 データ処理装置
JPH07239780A (ja) * 1994-01-06 1995-09-12 Motohiro Kurisu 1クロック可変長命令実行処理型命令読み込み電子計 算機
WO1995028677A1 (en) 1994-04-13 1995-10-26 Ericsson Inc. Efficient addressing of large memories
US5566308A (en) 1994-05-25 1996-10-15 National Semiconductor Corporation Processor core which provides a linear extension of an addressable memory space
TW267222B (en) 1994-10-05 1996-01-01 Ibm Improved method and system of addressing
US5787025A (en) 1996-02-28 1998-07-28 Atmel Corporation Method and system for performing arithmetic operations with single or double precision
US5809327A (en) * 1997-03-27 1998-09-15 Atmel Corporation Eight-bit microcontroller having a risc architecture
US5835746A (en) * 1997-04-21 1998-11-10 Motorola, Inc. Method and apparatus for fetching and issuing dual-word or multiple instructions in a data processing system

Also Published As

Publication number Publication date
EP1139214A1 (en) 2001-10-04
US6243798B1 (en) 2001-06-05
EP0915416A2 (en) 1999-05-12
US6321319B2 (en) 2001-11-20
TW390990B (en) 2000-05-21
US20010001869A1 (en) 2001-05-24
JPH11224192A (ja) 1999-08-17
DE69801355T2 (de) 2002-06-13
EP0915416A3 (en) 1999-06-09
ES2165651T3 (es) 2002-03-16
DE69801355D1 (de) 2001-09-20
EP0915416B1 (en) 2001-08-16
ATE204393T1 (de) 2001-09-15

Similar Documents

Publication Publication Date Title
US6021265A (en) Interoperability with multiple instruction sets
US5870576A (en) Method and apparatus for storing and expanding variable-length program instructions upon detection of a miss condition within an instruction cache containing pointers to compressed instructions for wide instruction word processor architectures
US5860138A (en) Processor with compiler-allocated, variable length intermediate storage
JPH01201729A (ja) デコード方法
WO2000033184A1 (en) Shared instruction cache for multiple processors
JPH11161547A (ja) データ処理装置用記憶装置、および記憶場所にアクセスする方法
US7480783B2 (en) Systems for loading unaligned words and methods of operating the same
US6292845B1 (en) Processing unit having independent execution units for parallel execution of instructions of different category with instructions having specific bits indicating instruction size and category respectively
US4739471A (en) Method and means for moving bytes in a reduced instruction set computer
US6029241A (en) Processor architecture scheme having multiple bank address override sources for supplying address values and method therefor
US6260191B1 (en) User controlled relaxation of optimization constraints related to volatile memory references
US20060149940A1 (en) Implementation to save and restore processor registers on a context switch
KR19990036893A (ko) 다중 어드레싱 모드를 실행하는 프로세서 구조 및 그 설계방법
KR19990037573A (ko) 사용가능한 연산코드를 최대화하고 다양한 어드레싱 모드를 실행하는 프로세서 구조 및 명령 세트
KR19990037571A (ko) 단일 주기 내에 간접 어드레싱 모드 어드레스를 출력하는 데이터 포인터 및 그 제공방법
EP0206653A2 (en) Method and means for loading and storing data in a reduced instruction set computer
US5404471A (en) Method and apparatus for switching address generation modes in CPU having plural address generation modes
EP0870237B1 (en) Processing system and method for reading and restoring information in a ram configuration
KR19990037395A (ko) 두개의 워드 명령을 단일 주기 동안 실행하는 시스템 및 방법
US5450587A (en) Expanded memory addressing scheme
JP2000207203A (ja) マイクロコントロ―ラ
WO1997036234A1 (en) Cache multi-block touch mechanism for object oriented computer system
EP0101718B1 (en) Computer with automatic mapping of memory contents into machine registers
US5649229A (en) Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage
US5933856A (en) System and method for processing of memory data and communication system comprising such system

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid