JPS5998262A - メモリ・アクセス方法及び双方向デ−タ・バイト整列装置 - Google Patents

メモリ・アクセス方法及び双方向デ−タ・バイト整列装置

Info

Publication number
JPS5998262A
JPS5998262A JP58205721A JP20572183A JPS5998262A JP S5998262 A JPS5998262 A JP S5998262A JP 58205721 A JP58205721 A JP 58205721A JP 20572183 A JP20572183 A JP 20572183A JP S5998262 A JPS5998262 A JP S5998262A
Authority
JP
Japan
Prior art keywords
memory
byte
bytes
transceiver
transferring
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP58205721A
Other languages
English (en)
Inventor
ブライアン・デイ−・モ−リソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Raytheon Co
Original Assignee
Raytheon Co
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 Raytheon Co filed Critical Raytheon Co
Publication of JPS5998262A publication Critical patent/JPS5998262A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (技術分野) 本発明、は、ランダム・アクセス・メモリ(RAM)に
関し、更に詳細には、1メモリ・サイクル時間中Vc1
又はそれ以上のバイトのデジタル・ワードを1又はそれ
以上のメモリ位置に、そしてそのメモリ位置から転送す
る双方向データ・バイト整列装置に関する。
(背景技術) コンピュータ又はデータ処理システムは、一般に、特定
数のビ゛ット、例えば8.16.24又は32ビツトか
ら成るディジタル・ワード9を記憶する複数のメモリ位
置を有するメモリ・サブシステムを含んでいる。いくつ
かの代表的32ビツト汎用レジスタ・マシーンのコンピ
ュータ・アーキテクチャは、最初の1又は2バイトが実
行されるべき演算を指定し次のバイトがオはラント9を
指定するバイト列によって表わされる可変長命令を採用
している。平均的命令は約6バイト長であるが、あるコ
ンピュータでは命令が1から56ノζイト長になること
もある。32ビツト・ロングワード・メモリに可変長命
令及びデータを混在させて記憶することは、例えば、も
し62ビツト命令又はデータ・ワードの一部が1″′6
ビツト命令又はデータ・ワードとして同じメモリ・アト
ゝレスに記憶され、残りが次のメモリ・アト9レスに記
憶されるとすれば、利用し得るメモリ記憶ス投−スを最
大限利用できることになる。
従来だおいては、メモリ・スペースの有効利用はハード
・ウェア及びソフト・ウェア技術の組合せによって達成
されてきた。命令又はデータ・ワードの一部が1つのメ
モリ・アドレスに記憶され、他の部分は次のメモリ・ア
ドレス位置に記憶すれる場合には、1メモリ・サイクル
よりも長い時間が必要になることが多かった。ある場合
には、メモリのあるアドレスだけが多数ノミイトのワー
ドを記憶することができ、整列されていないメモリ・リ
クエストはより短く整列されたリクエスト列に変換され
、その実行には数メモリ・サイクル時間が必要になった
。その結果、メモリ・スペースの有効利用は達成された
が、コンピュータの処理速度;・1低下してしまった。
捷だ、従来はメモリのバイト・アドレス可能性に制限を
おいだのでメ4:す利用性は改善されたが演算速度が低
下した。最小のハードウェアで最大の効率を達成するた
めに、プログラマ又はオはし一ティ/グ・システムにい
かなる位置合せの制約を与えることなく、メモリの任意
のバイト・アトVスから開始する1、2、又は4バイト
列をアクセスすることができることは望ましいことであ
る。
(発明の概要) 本発明は、ディジタル・バイト情報をメモリに送りその
メモリからディジタル・バイトを受けるシステム・バス
と、複数のディジタル・バイトの少なくとも1つをメモ
リとシステム・バストノ間で転送するトランシーバと、
少なくとも1つのバイトをシステム・バスとトランシー
バの第1;N−トとの間で転送する第1バイト・バスと
、少なくとも1つのバイトをトランシーバの第2ポート
とメモリとの間で転送する第2バイト・バスと、メモリ
内の任意のバイト位置から開始する書き込み及び読み出
しメモリ・アクセスを制御する手段と、少なくとも1つ
のバイトをメモリとシステム・バスとの間で転送すると
きトランシーバを制御する手段と、から構成される双方
向データ・バイト整列装置を開示する。メモリは少なく
とも1つの偶数アドレス・メモリ・セグメントと少なく
とも1つの奇数アドレス・メモリ・セグメントを含み、
それらは同時にアクセスされることが可能で複数の連続
するバイトをアクセスすることもできる。
トランシーバは複数の双方向トランシーノミ・アレイか
ら成り、その各アレイは複数の複数ビット双方向バス・
トランシーバから成る。メモリ・アクセス制御千浪耘更
に、メモリ・セグメント境界を越えて延長する複数のバ
イトを書き込みそして読み出す手段を有する。メモリ制
御及びトランシーノミ制御手段はり数のプログラム可能
論理アレイカ・ら構成される。更に、読み出しサイクル
の間少なくとも1つのバイトを転送するとき右詰め零拡
張を行う手段と読み出しサイクルの間少なくとも1つの
バイトを転送するとき右詰め符号拡張を行う手段が設け
られる。
本発明む、丁、更に、少なくとも1つの偶数アドレス・
メモリ・セグメント及び少なくとも1つの奇数アビレス
・メモリ・セグメントと、1メモ11・−リイクルの間
にメモリ内の複数のノミイト位置の任意の1つで1バイ
ト情報をアクセスし、また1メモリ・サイクルの間にメ
モリ内の任意のバイト位装置からスタートする複数のバ
イト・シーケンスをアクセスするバイト整列器と、前記
ディジタル・ノ何トをメモリに送り、またメモリからデ
ィジタル・バイトを受けるシステム・バスと、から構成
される複数のディジタル・バイト情報を記憶するメモリ
を開示する。偶数アドレス・メモリ・セグメントと奇数
アドレス・メモリ・セグメントは、1メモリ・サイクル
時間に同時にアクセスされて、複数の連続バイトをアク
セス可能とする手段を有する。その各メモリ・セグメン
トはシステム・バスによって相互接続されるバイト整列
器から構成される。メモリ・アクセスはり一部(読み出
し)メモリ・サイクルとライト(書き込み)メモリ・サ
イクルから成っている。バイト整列器は、また、複数の
双方向トランクーパ・プレイと複数のプログラムされた
論理プレイとから成り、前記トランシーバ・アレイの各
々は更に複数の複数ビット双方向バス・トランシーバか
ら構成さhろ。そのプログラムされた論理プレイは、メ
モリ及び双方向トランシーノミ・アレイに対し制御信号
を発生する手段を有している。
本発明は、更に、複数のデ・fジタル・バイト情報をシ
ステム・バスに与え、システム・バスと双方向トランシ
ーバとの間の第1バイト・バス、上に前記バイトを転送
し、前記トランシーバとバイト整列を行い、双方向トラ
ンシーバとメモリとの間の第2バイト・バス上に前記バ
イトを転送し、プログラムされた論理アレイでメモリの
書き込み及び読み出しサイクルを制御し、前記プログラ
ムされた論理アレイによって双方向トランシーバを制御
する、ステップから成るバイト・アドレス可能なメモリ
をアクセスする方法を開示する。メモリは少なくとも1
つの偶数アドレス・メモリ・アレイと少なくとも1つの
奇数アドレス・メモリ・アレイとを有し、そのメモリ・
アレイは同時にアクセスされることができ、複数の連続
バイトのアクセスを行うことができる。ディジタル・バ
イトの書き込み及び読み出しサイクルを制御するステッ
プはメモリ内の任意のバイト位置で開始し、メモリ・ア
レイ境界を越えて伸びることによって行なわれる。双方
向トランシーバは複数の双方向トランシーバ・アレイか
ら成り、そのアレイの各々は複数の複数ビット双方向バ
ス・トランシーバから成る。
(実施例の説明) 本発明を以下実施例に従って詳細に説明する。
第1A図及び第1B図を参照すると、16にロングワー
ド×62ビットのメモリ・アレイ28に接続された双方
向データ・バイト整列装置18から成る16にロングワ
ード×32ビット・メモリ・セグメント110のブロッ
ク図が示される。データ・バイト整列装置18は、1バ
イトが8ビツトから成るとき、2バイト(ワード9)又
は4バイト(ロングワード)境界ではなく個々のバイト
境界上でメモリをアドレス可能にする。メモリ・セグメ
ント110は、第2図に示すように別のメモリ・セグメ
ント112に接続されるとき、32にロングワード×6
2ビットのノ2イト・アドレス可能なランダム・アクセ
ス・メモリ・システムに編制される。メモリ・セグメン
ト110は偶数ロングソードの整列されたアドレスを有
し、メモリ・セグメント112は奇数ロングワード9の
整列されたアト9レスを有する。メモリ・セグメント1
10及び112は、共に、メモリ・ワード境界に位置合
せされていないバイトに対するメモリ・アクセスをスピ
ードゞアップするために、2つのロングワード・メモリ
・アクセスを行ない8バイト(4ワード″′)を発生す
ることによって並列に動作する。メモリ・ロングワード
・アドレスが偶数基準アドレスであるとき、偶数アドレ
ス・メモリ・セグメント位置(n)がアクセスされて4
バイ)(0〜6)を供給し、同時に奇数アドレス・メモ
リ・セグメント位rt(n+1)がアクセスされて付加
的4バイト(4〜7)を供給する。基準アドレスが奇数
のとき、奇数アドレス・メモ1トセグメントは位置(n
)をアクセスして4バイト(0〜3)を供給し、同時に
偶数アト9レス・メモリ・セグメントは位置(n+1)
をアクセスして付加的4ノ2イト(4〜7)を供給する
各メモリ・セグメントのデータ・バイト整列装置18は
、読み出しサイクルの間システム・バス90に供給する
ため8バイトのうち最大の4ノζイトを選択する。
第2図に示すように、メモリ記憶容量を増加させるため
にメモリ・セグメント110及び112にメモリ・セグ
メント対が更に付加されている。メモリ・アクセスが3
2にロングワード(128にバイト)メモリ・セグメン
ト対の境界を越える必要があるとき、メモリ・セグメン
ト112に含まれる当業者には周知の第1桁上げ先見回
路がメモリ・セグメント1140次のアドレスのClN
−109にキャリーアウト信号C3UT−113を与え
る。基準アドレスが偶数のときは、メモリ・セグメント
対の境界を越えることなしに4つの連続したバイトがア
クセスされるのでキャリーアウト信号は発生されない。
基準アドレスが奇数で、それが32にロンダワーr・メ
モリ・セグメント対のアドレス・フィールド9内の最高
アドレスであるときは、CoUT−113信号が発生さ
h、次のより高次のメモリ・セグメントでメモリ・サイ
クルが開始され、更にC0UT −113信号を偶数ア
ドレス・メモリ・セグメン) 110のABORTl 
15人力に与えてより低い偶数アト9し′ス・メモリ・
セグメントが応答するのを禁止シテハス衝突を防止して
いる。
メモリ・セグメント110内のデータ、バイト整列装置
18は、第1A図及び第1B図に示すように、フィール
ド・プログラム可能論理アレイ(FPLA)10.12
.14及び16とメモリー了vイ28及びシステム・バ
ス90に結合される双方向トランシーバ・アレイ6oと
を有する。トランシーバ・アレイ60は、4つのFPL
A 10.12.14及び16の制御によって、マルチ
プレックス機能及び双方向バス・インターフェース機能
を達成する。メモリ・アレイ28は16にロングワード
X62ビツト(4バイト)の記憶を行う。データ・バイ
ト整列装置18は、メモリ・アレイ28に読み出し及び
岩−き込みサイクルを実行させ、8つのうちのどのバイ
ト(2つのメモリ・アレイから)が利用されるかを選択
する。各メモリ、セグメント110及び112は、各々
データ・バイト整列装置18を有し、各データリ何ト整
列装置の応答はFPLA10〜16へのEVEN+スト
ラップ入方によって決定される。データ・バイト整列装
置は、読み出し及び書き込みサイクルの両方に対し、1
.2又は4バイトを選択することができ、その選択は右
詰め零拡張又は右詰め符号拡張の形式でデータを取り扱
うことが可能である。データヴイト整列装置18の同じ
回路が読み出し及び書き込みサイクルの両方に使用され
、これは本発明の特徴となってbる。
第1B図において、メモリ・アレイ28は4つノRAM
20.22.24及ヒ26 ”’QlaNjJすh、各
RAMセクションは16にワード×8ビぐトがら成る。
4つのセクションは全体で16にロングワードX62ビ
ットの記憶を可能とする。メモリ・了レイ28を構成す
るために16Kx1ビツト・スタティックRAM、例、
tJfINMO8IMSI、!100集fi回路が使用
されている。メモリ・アレイ28の各8ビツト・バイト
部はRAMノ2イト・バス82.84.86及び88に
よってトランシーバ・了レイ30に接続され、該バスは
システム・バス90上の任意の特定バイト位置に、及び
その位置から任意のバイトが双方向トランシーバ・アレ
イ60を介して転送されるのを可能にする。
第1A図及び第1B図において、双方向トランシーバ・
アレイ60は16個の別々に制御される8ビツトトラン
シーバ62〜62から成り、該トランシーバはシステム
・ノミス90とメモリ・アレイ28との間でバイト情報
を転送する。各トランシーバは8ビツト双方向ろ状態(
three−state)集積回路、例えば、Adva
nced Micro Devices製のAM7ろ/
8303工Cで実現できるものである。
各トランシーバのT/R入力は、トランシーバを通る論
理信号の方向、即ち、Aポート又はBポートのどちらが
入力で、どちらが出力かを決定する。
すべてのトランシーバ62〜62のT/R入力にはWR
−信号が接続されている。CD入力はチップ選択制御入
力として機能するチップ使用禁止入力である。FPLA
lo及び14は16個のトランシーバ62〜6201つ
を個別に選択するための16個の制御信号を発生する。
3個のバッファ64.66及び68は符号拡張デコーダ
95と共にメモリ・セグメント110において1又は2
バイトのみを選択するとき、零又は符号を拡張する目的
で使用される。このバッファ64.66及び68はフェ
アチャイル)’F244ICで実施することができる。
ハイド・ハス72.−74.76及び78はシステム・
バス90とトランシーバ62〜620B端子との間にデ
ータ路を提供する。バイト・バス72.74及び76は
、また、バッファ64.66及び68に夫々接続される
。バイト・バス82.84.86及び88はトランシー
バ32〜6りのA端子とRAM20.22.24及び2
6との間にデータ路を提供する。
第1A図及び第i B 図にオイテ、FPLAI 01
12.14及び16はメモリ・アレイ28及びトランシ
ーバ・アレイ60に対し制御を行う。各メモリ・セグメ
ント110〜120に対し全く同じハードウェアを持た
せるために、メモリ・セグメントを偶数アドレス及び奇
数アドレスとして機能させるのに必要なロジックを含む
ようにコート9化される。
EPLAの使用は必要な制御ロジックに対し最大機能密
度を提供する。メモリ・セグメント110〜120が偶
数又は奇数アト9レスとして機能するかどうかの決定は
各EPLA10〜16の17人口に接続されたEVEN
十信号によって行なわれる。EVEN+がH(ハイレベ
ル)のときFPLAは偶数アト9レスに対して作用し、
EVEN+がL(ローレベル)のときEPLAは奇数ア
ドレスに対し作用する。各FPLAIO〜16のABO
RT−信号は前述した様に、次の高次偶数アト9レス・
セグメントがアクセスされるとき低次の偶数アドレス・
メモリ・セグメントを禁止するものである。各FPLA
10〜16の15人力にはLOCKOUT−信号が接続
され、該信号は入力アドレス・ビットの変化中、出力制
御信号が状態を切供えないように作用する。更に、各F
 PLA 10〜16の入力に接続されたTESTEN
−信号は各FP LAのテストを行うためのものである
FPLA 10〜16は、標準のロジック・プログラム
装置によってI10極性及び方向をプログラムするため
の可溶性リング接続の62個のANDゲートと10個の
ORゲートから成るシダネテックス製82S153 )
ライ・ステー)ICヒユーズ・ロジックで実現すること
ができる。表1〜4(末尾に示す)は4つのFPLAl
o、12.14及び16の詳細プログラム情報を828
153 デバイスのデータ仕様で示したものである。
表1〜4において、入力は工で示され、出力はBで示さ
れる(B端子は入力としても使用することができる)。
入力に対し、Hは高論理レベルを表わし、Lは低論理レ
ベルを表わし、そしてダッシュ(−)はどちらでもよい
こと(don’ t care)を表わしている。出力
に対しては、Aは活性出力を示し、ト9ット(・)は不
活性出力を示す。Dの項は10個の方向制御ゲートを表
わしている。Dの行が零のとき、B端子は入力とじて使
用される。
Dの行のダッシュ(−)は出力がすべての状態に対し使
用されることを表わしている。更KFPLAに関する情
報はシダネテツクスによって製造されたトライステート
FPLA82S153 の仕様書から得ることができる
。制御のために必要なロジックはデバイスの数を最少に
するように分割され、FPLAのコード化は1976年
、F3arnueICr、 Lee、Prent、1c
eHa11著[Digital C1ruits an
d Logic DesignJに記載されるQuin
e −McG 1uskey技術を使用して最小にされ
る。
表1及び2はトランシーバ・アレイ50の制御プログラ
ムを示し、第1A及び1B図に示すように、トランシー
バ制御FPLAi()及び14がらの出力は、トランシ
ーツ?32〜62に接続され、システム・バス90 と
RAM20〜26との間のデータ・バイトの転送を制御
する。例えば、トランシーバ制御FPLA14がらの出
力信号MOB3はトランシーバ動作可能化信号として機
能し、WR−書き込み制御信号が存在するときRAM2
6からの8ビツト・バイト(表6のMO)はトランシー
バ56を経由してバイト3バス72(表6及び7083
)に転送される。トランシーバ制御FPLA10及び1
4の他の出力信号は各トランシーツ2を別個に同様の態
様で動作可能fする。表6及び4は、RAM26.24
.22及び20に対し、書き込み制御信号MWRTO−
1MWRT1−1MWRT2−1及びMWRT6−(こ
れらはRAM制御FPLA 12及び16によって発生
される)を発生するための制御プログラムを示し、FP
LAl2及び16は更に1バイト符号拡張(18YsE
−)及び2バイト符号拡張(28YSE−)制御信号を
発生する。FPLAl6からの1BYsEJ号は符号拡
張デコーダ95及びバッファ68の入力に接続される。
FPLAl2からの28YSE−信号は符号拡張デコー
ダ95に接続される。FPLAl<5は、また、符号拡
張バッファ64及び66に接続されるWORDEX−信
号を発生する。
読み出しサイクル中、データ・バイト整列装置18は、
第1A図に示すFPLA 10〜16の入力に与えられ
るサイズ制御フィールド信号s z 1 +&びSZO
+、アドレス信号A1+及びAO+、符号拡張制御信号
5IGNEX+の関数として、要求されるバイト数をシ
ステム・バス90に与える。サイズ制御フィールド9信
号は表51C示すように1.2又は4バイト情報のどれ
がアクセスされるかを明示する。
表5 表6(末尾に示す)のA1及びAOによって表わされる
メモリ・アト9レスの2つの最下位ビット(LSB)は
アクセスされたロングワード内のどのバイトが最初のバ
イトかを示す。もしサイズ及びアドレス・フィールドに
よって示されたデータが排他的に偶数又は奇数メモリ・
セグメントにあるとすると、そのセグメントだけがシス
テム・バス90に出力データを与える。もし要求された
データが一部は偶数アドレス・メモリ・セグメントに、
一部が奇数メモリ・セグメントにあるとすると、偶数及
び奇数メモリ・セグメントの両方から適切なバイトがシ
ステム90に転送される。メモリ・アクセスが奇数アド
レス・メモリ・セグメントで始まるときは、偶数アドレ
ス・メモリ・セグメントへのアト9レスはデータの位置
合せが生じる前にインクリメントされる。従って、連続
したデータ・バイトが常に保証される。符号拡張(FP
LA 12及び16の88人力に5IGNEX1号が存
在することによって示される)が読み出しサイクル中に
指定されるときは、1又は2バイト・メモリ・アクセス
のどちらが要求されたかによって、IBYSE−又は2
8YSE−信号を発生するアドレス及びサイズ制御信号
によってゲートされる。要求されたバイトの最上位の最
上位ピッ) (MSB)、例えば、メモリ・アレイ28
の出力からのMDAT 07+ 。
MDAT15+、MDAT23+、MDAT31+は、
符号拡張デコーダ95によって決定され、その出力は符
号拡張バッファ64.66.68に接続される。アクセ
スされるワードの最上位バイトのMSBの状態に基いて
、システム・バス90上のアクセスされたバイトの左側
にすべての零又はすべての1が詰められ、これによって
情報ワードのMSB位置に符号情報が置かれる。FPL
A12及び16におけるS工GNEX十信号の不存在に
より符号拡張が要求されないときは、システム・バス9
0上に与えられるアクセスされたノミイトの左側にすべ
て零が満される。符号拡張はメモリ書き込みサイクル中
は有効動作をしない。
第6図は符号拡張デコーダ95の好適実施例を示す。I
BYSE−信号によって選択される4:1マルチプレク
サ96はすべての1バイト符号拡張を処理し、28YS
E−信号によって選択される別の4=1マルチプレクサ
97はすべての2バイト符号拡張を処理する。4:1マ
ルチプレクサ96及び97は、フェアチャイルド製のF
256デユアル4:1マルチプレクサ集積回路で実施す
ることができ、符号拡張処理において使用するために適
切なメモリ・データ・ビットを選択する。これらは2つ
の最下位メモリ・アドレス・ビットA1及びAOを使用
し、ロングワードのどのバイトが現在の基準アドレスか
を決定する。1バイト・メモリ・アクセスの場合には、
符号拡張に使用されるべきビットがアクセスされる特定
ノよイトの最上位ビットである。故に、1バイト・マル
チプレクサ96 ハMDATO7+、MDAT 15+
、MDAT23+及ヒMDAT31+信号によって表わ
されるRAMメモリ・アレイ28のデータ・ビット7.
15,23及び61に接続される。バイト00基準アド
レスはマルチプレクサ96をしてMDAT151号をそ
の出力にゲートさせる。同様に、バイト20基準アドレ
スはマルチプレクサ96をしてMDAT23M号を出力
にゲートさせ、バイト6の基準アドレスはマルチプレク
サ96をしてMDAT31+−18号をその出力にゲー
トさせる。IBYSE−制御信号は1バイト動作中に活
性となるのみで、2又は4バイト・メモリ・アクセス動
作中はマルチプレクサ96を動作不能にする。この信号
は、メモリ・セグメントがデータを出力していないとき
は偶数アドレス又は奇数アト9レス・メモリ・セグメン
トの符号拡張回路を選択しない。
更に、第3図を参照すると、2バイト・メモリ・アクセ
スの場合、符号拡張のために使用されるべきビットはア
クセスされている最上位バイトの最上位ビットである。
故に、2バイト・マルチプレクサ97は、MDAT15
+、MDAT2!l+。
MDAT31+及びMDATo7+によって夫々表わさ
れるRAMメモリ・アレイ28のデータ・ビット15.
23,31及びo7に接続される。バイト0の基準アト
9レスはマルチプレクサ97をしてMDAT15+、M
DAT2ろ+、MDAT31+、  及びMDATO7
−14号によって夫々表わされるRAM メモリ・アレ
イ28のデータ・ビット15,23,31及び07に接
続される。パイ)00基準アドレスはマルチプレクサ9
7をしてその出力にM DAT15+をゲートさせ、こ
の出方はノミイトo及び1のメモリ・アクセスに対応す
る。同様に、バイト10基準アドレスはマルチプレクサ
97をしてその出力にMDAT23+をゲートさせる。
また、ノミイト20基準アト9レスはマルチプレクサ9
7をしてその出力にMDAT31+をゲートさせる。2
バイト・メモリ・アクセスは基準アドレスがバイト6の
ときが重要である。この場合、マルチプレクサ97はそ
の出力KMDATO7+(バイト4から)をゲートする
。その理由は、境界が偶数アドレス・メモリ・セグメン
トから奇数アト9レス・メモリ・セグメントに横断する
とき、又はその逆のときに、アクセスされる次のバイト
がそれだからである。実際、メモリ・セグメント境界を
横切るときには同じメモリ・セグメントはもはや応答せ
ず、どのメモリ・セグメントが応答し、どのメモリ・セ
グメントが符号拡張データを出力するかのデコードはF
PLA 12及び16内で処理される。28YSE−信
号はマルチプレクサ9゛7を動作可能にするために使用
され、この信号は1又は4ノ2イト・メモリ・アクセス
の間このマルチプレクサを動作不能にすることを保証す
る。
1バイト又は2ノよイト・メモリ・アクセスのいずれの
場合でも、マルチプレクサ96及び97から成る符号拡
張デコーダ95がらの出方は選択されたビットの論理状
態によって論理1又は・論理0となる。この出力は、外
部システム・バス90を実際にドライブするノ之ツファ
64.66及び68へのデータ入力となる。1バイト符
号拡張に対しテハ、IBYSE−及ヒWORDEX−信
号カ作動1.−Cシステム・バス900ビツト08〜3
1に符号拡張データを置く。2バイトの場合には、WO
RDEX−信号のみがシステム・バス900ビツト16
〜ろ1に出力される。
表6は読み出しサイクル中に実行されるデータ・マルチ
プレックスを要約している。アクセスされたワード内の
最初のバイトを指定するアト9レス・ビットA1及びA
Oに加えて、アドレス・ピッ)A2は偶数アドレス・メ
モリ・セグメントと奇数アドレス・メモリ・セグメント
のどちらが最初のバイトを含むかを決定する。要求され
たバイト数と符号拡張状態はアト9レス・ビットの左に
示される。B3、B2、B1及びBOはバイト3バス7
2、バイト2ノミスフ4、ノミイト1バス76、及びバ
イト0パス78を示し、これらは4つのバイト・システ
ム・バス90に結合されるcMO〜M7は偶数アト9レ
ス・メモリ・セグメント110内のRAM26.2A、
22及び20のバイトD〜3と、奇数アト9レス・メモ
リ・セグメント112内の対応するRAMのバイト4〜
7を示す。Sはアクセスされた最上位バイトの符号を示
す。8バイトの全体は偶数アドレス・メモリ・セグメン
ト110及び奇数アドレス・メモリ・セグメント112
からアクセスすることができるけれども、各メモリ・セ
グメント内の双方向トランシーバ・アレイの制御のもと
てのシステム・バス90への転送に対しては、各メモリ
・セグメント内のデータ・バイト整列ロジックによって
両方のセグメントから8バイトのうち4バイトだけが選
択される。
表6を参照すると共に符号拡張がなく、2ノくイトが要
求され、偶数アト9レス・メモリ・セグメン)(A2=
0)で−第1バイトがRAMノ2イトM6にある(AI
、AO=1.1)ことを考えると、アドレスN(偶数メ
モリ)のBOの欄はRAMパイ)M3がバイト0パス7
8に与えられ、システム・−バス90のバイトBOに転
送されることを示す。
更ニ、了トゝレスN+1(奇数アドレス)のB1の欄は
RAMバイトM4が奇数アドレス・メモリ・セグメント
のバイト1バス76に与えられ、システム・バス90の
バイトB1に転送されると共にシステム・バス90のバ
イトB2及びB6の左に零が拡張されることを示してい
る。
書き込みサイクル中、偶数アト9レス及び奇数アト9レ
ス・メモリ・セグメントの”アクセスはデータ・バイト
整列装置18の制御によって行なわれる。
整列装置は表5に示されるサイズ制御フィールド9・ビ
ット表7に示されるアト9レス・ビットAO及びA1の
LSBを検査し、メモリ・セグメントのどのバイトが書
き込まれるべきかを決定する。書き込みサイクルが特定
のバイトで実行されているとき、残りのバイトは妨害さ
れない。
表7(末尾に示す)は書き込みサイクル中に実行される
データ・マルチプレックスを要約して示している。MO
〜M7は偶数アト9レス・メモリ・セグメント110及
び奇数アト8レス・メモリ・セグメント112のRAM
20〜26のバイト0〜7を示す。
BO〜Bろはシステム・バス90のパイ)O〜3を示す
。2バイトBO及びB1がメモリに書き込まれるとし、
最初のバイト(BO)が偶数アドレス・メモリ・セグメ
ント(A2=0)のバイト位置M3(AI、AO=1.
1)に書き込まれることを考えると、B1が第7表に示
すように奇数アト9レス・メモリ・セグメントのM4バ
イトに、書き込まれる。WR−信号は、第1A図及び第
1B図に示すように、書き込みサイクル中に与えられ、
トランシーバ62〜62のすべてのBポートを入力ポー
トとし、Aポートを出力ポートとして、システム・バス
90からメモリ・アレイ28の任意の又はすべてのバイ
トに転送されるべきデータに対してデータ路を供給する
以上、本発明を実施例に従って説明したが、他の多くの
変更及び修正が本発明の範囲内で可能なことは当業者に
は明らかである。
表  1 FPLA Aプログラム トランシーバ制御 (バイトO及び1)出力 表  2 FPLA Bプログラム トランシーバ制御 (バイト3及び4)出  力 表  3 FPLA Gプログラム RAM制御 (バイトO及び1) 一−−出 力 表  4 FPLA Dプログラム RAM制御(バイト2及び3) 表  6 注:Sはアクセフされた最上位バイトの幕北位ビットな
表わ丁。MO−M7はメモリ・バイト0〜7を示す。B
O〜83はノスナム・パス・バイトO〜3を示す。
表  7 ff:  MO〜M71tメモlJ・バイト0〜7乞示
し、Bo−B3は/ステム・バス・バイトθ〜3を示す
【図面の簡単な説明】
第1A図及び第1B図は結合して、16にロンfry−
)’x32ビットのRA M、に結合される双方向デー
タ・バイト整列装置の機能ブロック図である。。 第2図は各々が第1A図及び第1B図に示す整列器を有
する独立した偶数アドレス及び奇数アドレス・セグメン
トに編制されたメモリ・システムのフロック図である。 第6図は第1B図に示す符号拡張デコーダの詳細機能ブ
ロック図である。 (符号説明) 10.12.14.16:フィールドゝ・プログラム可
能論理プレイ(FPLA> 18:双方向データ・バイト整列装置 20.22.24.26:RAM 28:メモリ・アレイ 30:双方向)・ランシーバ・アレイ 110.112:メモリ・セグメント

Claims (9)

    【特許請求の範囲】
  1. (1)  システム・バスに複数のディジタル、バイト
    を供給し、 前記バイトを前記システム・バスと双方向トランシーバ
    装置との間の第1バイト・バスに転送し、前記トランシ
    ーバ装置とのバイト位置合せを実行し、 前記双方向トランシーバ装置とメモリとの間の第2バイ
    ト・バスに前記ノζイトを転送し、前記メモリの書き込
    み及び読み出しサイクルをプログラムされた論理アレイ
    装置によって制御し、前記プログラムされた論理アレイ
    とのバイト位置合せを行う前記双方向トランシーバ装置
    を制御し、 読み出しメモリ・サイクルの間に前記バイトの少なくと
    も1つを前記システム・バスに転送するとき右詰め零拡
    張を行い、 読み出しメモリ・サイクルの間に前記バイトの少なくと
    も1つを前記システム・バスに転送するとき右詰め符号
    拡張を行う、 ステップから成る、バイト・アドレス指定可能メモリの
    アクセス方法。
  2. (2)前記メモリが少なくとも1つの偶数アドレス・メ
    モリ・プレイと少なくとも1つの奇数アドレス・メモリ
    ・プレイとから成り、前記メモリ・アレイが同時にアク
    セスされ複数の連続するバイトをアクセスし得るところ
    の特許請求の範囲第(1)項記載の方法。
  3. (3)前記書き込み及び読み出しサイクルを制御するス
    テップが、前記メモリ内の任意の位置から開始し、前記
    メモリ・アレイの境界を越て行なわれる特許請求の範囲
    第(2)項記載の方法。
  4. (4)前記双方向トランシーバが複数の双方向トランシ
    ーバ・アレイから成り、該アレイの各々が複数の複数ビ
    ット双方向バス・トランシーバから成る特許請求の範囲
    第(1)項記載の方法。
  5. (5)前記右詰め符号拡張を行うステップが符号拡張を
    決定するため最上位メイトの最上位ビットを調べること
    から成る特許請求の範囲第(1)項記載の記載の方法。
  6. (6)複数のディジタル・バイト情報をメモリに送り、
    前記メモリから複数のディジタル・バイト情報を受ける
    システム・バスと、 前記複数のディジタル・バイトの少なりトモ1つを前記
    メモリと前記システム・バスとの間で転送するトランシ
    ーバ装置と、 前記メイトの少なくとも1つを前記システム・バスと前
    記トランシーバ装置の第1ポートとの間で転送する第1
    バイト・バス装置と、 前記バイトの少なくとも1つを前記トランシーバの第2
    ポートと前記メモリとの間で転送する第2バイト・バス
    装置と、 前記メモリ内の任意のバイト位置で開始する書き込み及
    び読み出しメモリ・アクセスを制御する装置と、 前記バイトの少なくとも1つを前記メモリと前記システ
    ム・バスとの間で転送するとき前記トランシーバ装置を
    制御する装置と、 読み出しメモリ・サイクルの間に前記バイトの少なくと
    も1つを転送するとき右詰め零拡張を行う装置と、 読み出しメモリ・サイクルの間に前記バイトの少なくと
    も1つを転送するとき右詰め符号拡張を行う装置と、 から構成される双方向データ・バイト整列装置。
  7. (7)前記メモリが少なくとも1つの偶数アドレス・メ
    モリ・−セグメントと少なくとも1つの奇数アドレス・
    メモリ・セグメントを含み、前記メモリ・セグメントは
    同時にアクセスされることができ、複数の連続したバイ
    トのメモリ・アクセスヲ可能とする特許請求の範囲第(
    6)項記載の装置。
  8. (8)前記トランシーバ装置が複数の双方向トランシー
    バ・アレイから成る特許請求の範囲第(6)項記載の装
    置。
  9. (9)前記双方向トランシーバ・アレイの各々が複数の
    複数ビット双方向バス・トランシーバから成る特許請求
    の範囲第(8)項記載の装置。 、00)前記メモリ・アクセス制御装置が前記メモリ・
    セグメント境界を越える複数のバイトを書き込み及び読
    み出す装置を有する特許請求の範囲第(6)項記載の装
    置。 01)前記メモリ・アクセス制御装置とトランシーバ制
    御装置が複数のプログラム可能論理アレイから成る特許
    請求の範囲第(6)項記載の装置。 02  前記メモリ・セグメントの各々が複数のプログ
    ラム可能m”flAアレイの同一の組から成る特許請求
    の範囲第(7)項記載の装置。 θ3)前記符号拡張装置が符号拡張の決定をするため最
    上位バイトの最上位ビットを調べる装置から成る特許請
    求の範囲第(6)項記載の装置。
JP58205721A 1982-11-01 1983-11-01 メモリ・アクセス方法及び双方向デ−タ・バイト整列装置 Pending JPS5998262A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/438,142 US4507731A (en) 1982-11-01 1982-11-01 Bidirectional data byte aligner
US438142 1982-11-01

Publications (1)

Publication Number Publication Date
JPS5998262A true JPS5998262A (ja) 1984-06-06

Family

ID=23739412

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58205721A Pending JPS5998262A (ja) 1982-11-01 1983-11-01 メモリ・アクセス方法及び双方向デ−タ・バイト整列装置

Country Status (7)

Country Link
US (1) US4507731A (ja)
JP (1) JPS5998262A (ja)
CA (1) CA1205207A (ja)
DE (1) DE3339645A1 (ja)
FR (1) FR2535506B1 (ja)
GB (1) GB2131578B (ja)
NL (1) NL8303734A (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58182754A (ja) * 1982-04-19 1983-10-25 Hitachi Ltd 演算処理装置
US4750154A (en) * 1984-07-10 1988-06-07 Prime Computer, Inc. Memory alignment system and method
US4683534A (en) * 1985-06-17 1987-07-28 Motorola, Inc. Method and apparatus for interfacing buses of different sizes
DE3635074A1 (de) * 1986-10-15 1988-04-21 Itt Ind Gmbh Deutsche Speicheranordnung mit einem speicherarray
US4959771A (en) * 1987-04-10 1990-09-25 Prime Computer, Inc. Write buffer for a digital processing system
US4954983A (en) * 1987-10-13 1990-09-04 Tektronix, Inc. Data driver for multiple mode buffered processor-peripheral data transfer with selective return of data to processor
US5073969A (en) * 1988-08-01 1991-12-17 Intel Corporation Microprocessor bus interface unit which changes scheduled data transfer indications upon sensing change in enable signals before receiving ready signal
US4979148A (en) * 1988-12-09 1990-12-18 International Business Machines Corporation Increasing options in mapping ROM in computer memory space
US5201043A (en) * 1989-04-05 1993-04-06 Intel Corporation System using both a supervisor level control bit and a user level control bit to enable/disable memory reference alignment checking
US6038584A (en) * 1989-11-17 2000-03-14 Texas Instruments Incorporated Synchronized MIMD multi-processing system and method of operation
US5168561A (en) * 1990-02-16 1992-12-01 Ncr Corporation Pipe-line method and apparatus for byte alignment of data words during direct memory access transfers
JP2606942B2 (ja) * 1990-02-22 1997-05-07 株式会社東芝 Dmaコントローラ
US5442769A (en) * 1990-03-13 1995-08-15 At&T Corp. Processor having general registers with subdivisions addressable in instructions by register number and subdivision type
DE69227604T2 (de) * 1991-03-11 1999-06-24 Silicon Graphics Inc Mountain Rückwärts kompatible Rechnerarchitektur mit erweiterten Wortbreiten und Adressraum
US5861894A (en) * 1993-06-24 1999-01-19 Discovision Associates Buffer manager
US5699544A (en) * 1993-06-24 1997-12-16 Discovision Associates Method and apparatus for using a fixed width word for addressing variable width data
CA2145363C (en) * 1994-03-24 1999-07-13 Anthony Mark Jones Ram interface
CA2145379C (en) * 1994-03-24 1999-06-08 William P. Robbins Method and apparatus for addressing memory
TW321744B (ja) * 1994-04-01 1997-12-01 Ibm
US5687328A (en) * 1995-05-16 1997-11-11 National Semiconductor Corporation Method and apparatus for aligning data for transfer between a source memory and a destination memory over a multibit bus
DE69616718T4 (de) * 1995-05-26 2003-02-20 Nat Semiconductor Corp Vorrichtung und verfahren zur bestimmung von adressen fehlausgerichteter daten
US6119213A (en) * 1995-06-07 2000-09-12 Discovision Associates Method for addressing data having variable data width using a fixed number of bits for address and width defining fields
DE19525104A1 (de) * 1995-06-29 1997-01-09 Hartmann & Braun Ag Verfahren zum Adressieren von Speicherstellen
DE19525099C2 (de) * 1995-06-29 2002-09-19 Abb Patent Gmbh Verfahren zum Zugriff auf Speicherstellen
US6125435A (en) * 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
US6122717A (en) * 1996-06-17 2000-09-19 Integrated Device Technology, Inc. Methods and apparatus for a memory that supports a variable number of bytes per logical cell and a variable number of cells
US6523080B1 (en) 1996-07-10 2003-02-18 International Business Machines Corporation Shared bus non-sequential data ordering method and apparatus
US5995579A (en) * 1996-12-19 1999-11-30 Vlsi Technology, Inc. Barrel shifter, circuit and method of manipulating a bit pattern
US6078937A (en) * 1996-12-19 2000-06-20 Vlsi Technology, Inc. Barrel shifter, circuit and method of manipulating a bit pattern
US5961628A (en) * 1997-01-28 1999-10-05 Samsung Electronics Co., Ltd. Load and store unit for a vector processor
US5864703A (en) 1997-10-09 1999-01-26 Mips Technologies, Inc. Method for providing extended precision in SIMD vector arithmetic operations
US7197625B1 (en) * 1997-10-09 2007-03-27 Mips Technologies, Inc. Alignment and ordering of vector elements for single instruction multiple data processing
US7599981B2 (en) * 2001-02-21 2009-10-06 Mips Technologies, Inc. Binary polynomial multiplier
US7181484B2 (en) * 2001-02-21 2007-02-20 Mips Technologies, Inc. Extended-precision accumulation of multiplier output
US7162621B2 (en) 2001-02-21 2007-01-09 Mips Technologies, Inc. Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration
US7711763B2 (en) * 2001-02-21 2010-05-04 Mips Technologies, Inc. Microprocessor instructions for performing polynomial arithmetic operations
US6820186B2 (en) * 2001-03-26 2004-11-16 Sun Microsystems, Inc. System and method for building packets
US6912173B2 (en) * 2001-06-29 2005-06-28 Broadcom Corporation Method and system for fast memory access
US11403030B2 (en) * 2016-09-02 2022-08-02 Rambus Inc. Memory component with input/output data rate alignment

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3405396A (en) * 1966-04-29 1968-10-08 Scient Data Systems Inc Digital data processing systems
US3602896A (en) * 1969-06-30 1971-08-31 Ibm Random access memory with flexible data boundaries
US3781812A (en) * 1971-06-28 1973-12-25 Burroughs Corp Addressing system responsive to a transfer vector for accessing a memory
US3858183A (en) * 1972-10-30 1974-12-31 Amdahl Corp Data processing system and method therefor
US4156905A (en) * 1974-02-28 1979-05-29 Ncr Corporation Method and apparatus for improving access speed in a random access memory
US4020470A (en) * 1975-06-06 1977-04-26 Ibm Corporation Simultaneous addressing of different locations in a storage unit
US4079451A (en) * 1976-04-07 1978-03-14 Honeywell Information Systems Inc. Word, byte and bit indexed addressing in a data processing system
US4099253A (en) * 1976-09-13 1978-07-04 Dynage, Incorporated Random access memory with bit or byte addressing capability
US4092728A (en) * 1976-11-29 1978-05-30 Rca Corporation Parallel access memory system
DE2656086C2 (de) * 1976-12-10 1986-08-28 Siemens AG, 1000 Berlin und 8000 München Rechenanlage
US4131940A (en) * 1977-07-25 1978-12-26 International Business Machines Corporation Channel data buffer apparatus for a digital data processing system
US4247920A (en) * 1979-04-24 1981-01-27 Tektronix, Inc. Memory access system
EP0032136B1 (en) * 1980-01-08 1990-10-10 Honeywell Bull Inc. Memory system
US4520439A (en) * 1981-01-05 1985-05-28 Sperry Corporation Variable field partial write data merge
CA1183275A (en) * 1981-10-02 1985-02-26 Martin J. Schwartz Byte addressable memory for variable length instructions and data
GB2117945A (en) * 1982-04-01 1983-10-19 Raytheon Co Memory data transfer

Also Published As

Publication number Publication date
GB8328517D0 (en) 1983-11-23
FR2535506B1 (fr) 1988-11-10
US4507731A (en) 1985-03-26
GB2131578A (en) 1984-06-20
DE3339645A1 (de) 1984-07-12
FR2535506A1 (fr) 1984-05-04
CA1205207A (en) 1986-05-27
NL8303734A (nl) 1984-06-01
GB2131578B (en) 1986-10-15

Similar Documents

Publication Publication Date Title
JPS5998262A (ja) メモリ・アクセス方法及び双方向デ−タ・バイト整列装置
US4654781A (en) Byte addressable memory for variable length instructions and data
JP2642671B2 (ja) ディジタルクロスバースイッチ
US5550987A (en) Data transfer device
JPH0636515B2 (ja) 通信プロセッサ装置
EP0338317A2 (en) Information processor operative both in direct mapping and in bank mapping and the method of switching the mapping schemes
US4575796A (en) Information processing unit
JPS621047A (ja) メモリ回路を有する半導体装置
JPH02162422A (ja) 優先ブランチ機構を備えたデータ処理システム
JPS58185080A (ja) メモリ・アクセス方法及び双方向デ−タ・バイト整列装置
JPS5886651A (ja) ワ−ド編制メモリのバイト参照方法及びメモリ・システム
JP2000099452A (ja) Dma制御装置
JP2003196156A (ja) 情報処理装置および情報処理方法
JPH1040165A (ja) データ読み出し方法およびリードバッファ
JPS62298990A (ja) 高速メモリ装置
JP3031581B2 (ja) ランダムアクセスメモリおよび情報処理装置
JP3251265B2 (ja) メモリ出力制御回路
JPH0476643A (ja) 主記憶初期化制御方式
JPS59106047A (ja) マイクロコンピユ−タ
JP2003296105A (ja) データ処理装置
JPH02136951A (ja) Dma転送方式
JPH01196651A (ja) マイクロコンピュータの入出力インターフェース
JPH0934776A (ja) 情報処理装置および方法
JPH06110854A (ja) 並列計算機装置
JPS60254477A (ja) メモリシステム