Инверсияны кодтау - Inversion encoding

Инверсияны кодтау үшін қолданылатын кодтау әдістемесі болып табылады автобус берілістерін кодтау төмен қуатты жүйелер үшін. Бұл өткелдердің, әсіресе сыртқы автобустарда көп мөлшерде энергияны ысырап ететіндігіне негізделген және осылайша бұл өтпелерді азайту оңтайландыруға көмектеседі қуат диссипациясы. Бұл INV деп аталатын қосымша сигнал желісін автобус жолдарына енгізу арқылы жасалады. Бұл сигнал басқа сызықтардың төңкерілу керектігін немесе болмауын анықтайды.

Шолу

Автобус-инверттеу кодтау әдістемесі мәліметтердің «полярлығын» көрсету үшін қосымша сигналды (INV) қолданады. INV @ x шиналық-инверттік код сөзінің болуы, мұнда @ біріктіру операторы, ал х сөздің бастапқы сөзін немесе оның сөзін білдіреді толықтыру, шина-инверттік дешифратор код сөзін қабылдап, сәйкес сөзді шығарады. Егер INV сигналы 1-ге тең болса, нәтиже біреудің х-ті толықтырады, әйтпесе ол х-ке тең болады.

Пайдалану сценарийлері

  • Сыйымдылығы жоғары желілер
  • Ауыстыру белсенділігі жоғары

Автобусты-инверсті әдіс

  1. The Хамминг қашықтығы (олар ерекшеленетін биттер саны) ағымдағы шинаның мәні (сонымен қатар осы инверсиялық жолды есептегенде) және келесі деректер мәні арасында есептеледі.
  2. Егер Хамминг қашықтығы n / 2-ден үлкен болса, төңкеру 1-ге орнатылады, ал келесі шинаның мәні инверттелген келесі мәліметтер мәніне тең болады.
  3. Әйтпесе төңкеру 0-ге орнатылған, ал келесі шинаның мәні келесі деректер мәніне тең.
  4. Қабылдағыш жағында автобустың мазмұны шартты түрде инверсиялық сызық бойынша төңкерілуі керек, егер деректер дәл сол күйінде сақталмаса (мысалы, жедел жадта). Кез келген жағдайда инверттің мәні шина арқылы берілуі керек (әдіс жолдар санын n-ден n + 1-ге дейін көбейтеді).[1]

Мысал

Мәліметтердің бірін датчиктен алатын жүйенің мысалын қарастырайық, көбінесе датчик шуды өлшеуі мүмкін. Бұл мысал үшін өлшенетін мәндерді балама түрде (0) және (-1) деп қабылдау керек. 32 биттік деректер шинасы үшін 0 мәні 0x00000000 (0000 0000 0000 0000 0000 0000 0000 0000), ал (-1) 0xFFFFFFFF (1111 1111 1111 1111 1111 1111 1111 1111) мәніне екеуінің толықтауышы өкілдік. Хэмминг қашықтығы бұл жағдайда 32-ге тең (өйткені барлық 32 бит өз күйін өзгертеді). Hamming қашықтығы белгі битін көрсету. Алайда, екеуінің қосымшасын қолданғанның өзінде инверсияны кодтау қажетті белсенділікті төмендетеді. Бұл жағдайда 0 INV = 0-мен 0x00000000, ал INV = 1-мен 0x00000000 түрінде ұсынылатын болады. INV = 1 болғандықтан, қабылдағыш деректерді тұтынар алдында оны инверсиялайды, сөйтіп оны 0xFFFFFFFF ішіне түрлендіреді. Бұл жағдайда шинада тек 1 бит (INV бит) өзгертіліп, 1 факторының белсенділігіне әкеледі, ол тіпті белгі битін ұсынудан да жақсы.

Өнімділікті талдау үшін шолу: инверсиялық кодтау

Өнімділікті талдау

Автобусты инверсиялау әдісі кодты жасайды, ол уақыт аралықтарындағы өтулердің максималды саны n-ден n / 2-ге дейін азаяды және осылайша қуаттың ең жоғары диссипациясы кіріс шығыс (I / O) екі есеге азаяды. Бастап кодтау теориясы шинаның инвертирленген коды - уақытқа байланысты Марков коды.

Өтпелердің максималды саны екі есеге азайған кезде, орташа саны аз азаяды. Мысалы, 8-биттік шина үшін ауысудың орташа саны, шиналық-инвертивті кодтауды қолданып, 3.27 (4-тің орнына) немесе уақыттық слотта шина жолына 0.41 (0.5 орнына) ауысады. Бұл дегеніміз, өтулердің орташа саны кодталмаған автобуспен санның 81,8% құрайды. Себебі инверттелген сызық кейбір өтулерге ықпал етеді және Хамминг арақашықтықтарының таралуы біркелкі емес.[1]

Бөлінген инверсиялық кодтау

Кең автобустарда қуаттылықтың орташа шығынын азайту үшін автобустың кіші өлшемдері үшін автобус-инверттеу әдісі жақсы жұмыс істейтіндігін байқау арқылы автобусты бірнеше тар автобустарға бөлуге болады. Содан кейін осы автобустардың әрқайсысы өзінің инверттік сигналымен дербес кодталуы мүмкін. Мысалы, 64 биттік автобусты сегіз разрядты сегіз автобуста бөлуге болады, барлығы 8 инверттік сигналдар қосады. Деректер кең автобус арқылы берілуі мүмкін деген болжамға байланысты біркелкі бөлінген, неғұрлым тар автобустардың статистикасы болады тәуелсіз және әрбір суббус үшін мәліметтер тізбегі біркелкі бөлінеді. Мысалы, 8 биттік сегіз автобуста бөлінген 64 биттік автобус үшін уақыт аралықтарындағы ауысулардың орташа саны 26,16 құрайды (8 есе 3,27, бір 8 биттік суббустар үшін орташа) және бір автобусқа ауысулардың орташа саны - уақыт аралығы үшін сызық 0,41 құрайды (бір инверттік сызығы бар 8-биттік автобус үшін). Өтпелердің максималды саны шинаны бөлу арқылы жақсармайды және n / 2 кезінде өзгеріссіз қалады. Алайда, әрдайым қосымша сызықтарды пайдаланудың үстеме ақысы бар, бірақ есептеу кезінде инверсиялық шинаны кодтау көптеген мақсаттар үшін жақсы жұмыс істейтіндігі анықталды.[1]

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ а б c Стэн, Мирче Р .; Берлсон, Уэйн П. (наурыз 1995). «Төмен қуатты енгізу-шығару үшін автобустық-инвертті кодтау». IEEE транзакциялары өте үлкен масштабтағы интеграциялық жүйелер (VLSI). 3 (1): 49–58. CiteSeerX  10.1.1.89.2154. дои:10.1109/92.365453. 1063-8210/95$04.00.

Әрі қарай оқу