Segmented memory model的疑问

A1174770492 2015-06-11 09:20:09
在Intel官方文档中,
Segmented memory model中,有一段话:
Programs running on an IA-32 processor can address up to 16,383 segments of different sizes and types, and
each segment can be as large as 2^32bytes

请问,16383是如何算出来的,以及后面的2^32.
在线坐等,请大神现身。.
...全文
889 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
Assembly.Language.Step-by-Step.Programming.with.DOS.and.Linux.Second.Edition.chm Assembly Language Step-by-Step—Programming with DOS and Linux, Second Edition Foreword Introduction - "Why Would You Want to Do That?" Chapter 1 - Another Pleasant Valley Saturday Understanding What Computers Really Do Chapter 2 - Alien Bases Getting Your Arms around Binary and Hexadecimal Chapter 3 - Lifting the Hood Discovering What Computers Actually Are Chapter 4 - The Right to Assemble The Process of Making Assembly Language Programs Chapter 5 - NASM-IDE: A Place to Stand Give me a lever long enough, and a place to stand, and I will move the Earth. Chapter 6 - An Uneasy Alliance The x86 CPU and Its Segmented Memory System Chapter 7 - Following Your Instructions Meeting Machine Instructions up Close and Personal Chapter 8 - Our Object All Sublime Creating Programs that Work Chapter 9 - Dividing and Conquering Using Procedures and Macros to Battle Complexity Chapter 10 - Bits, Flags, Branches, and Tables Easing into Mainstream Assembly Programming Chapter 11 - Stringing Them Up Those Amazing String Instructions Chapter 12 - The Programmer's View of Linux Tools and Skills to Help You Write Assembly Code under a True 32-Bit OS Chapter 13 - Coding for Linux Applying What You've Learned to a True Protected Mode Operating System Conclusion - Not the End, But Only the Beginning Appendix A - Partial 8086/8088 Instruction Set Reference Appendix B - Segment Register Assumptions for Real Mode Segmented Model Appendix C - Web URLs for Assembly Programmers Appendix D - Segment Register Assumptions Appendix E - What's on the CD-ROM?
Assembly.Language.Step-by-Step.Programming.with.DOS.and.Linux.Second.Edition.chm
Assembly Language Step-by-Step—Programming with DOS and Linux, Second Edition
Foreword
Introduction - "Why Would You Want to Do That?"
Chapter 1 - Another Pleasant Valley Saturday Understanding What Computers Really Do
Chapter 2 - Alien Bases Getting Your Arms around Binary and Hexadecimal
Chapter 3 - Lifting the Hood Discovering What Computers Actually Are
Chapter 4 - The Right to Assemble The Process of Making Assembly Language Programs
Chapter 5 - NASM-IDE: A Place to Stand Give me a lever long enough, and a place to stand, and I will move the Earth.
Chapter 6 - An Uneasy Alliance The x86 CPU and Its Segmented Memory System
Chapter 7 - Following Your Instructions Meeting Machine Instructions up Close and Personal
Chapter 8 - Our Object All Sublime Creating Programs that Work
Chapter 9 - Dividing and Conquering Using Procedures and Macros to Battle Complexity
Chapter 10 - Bits, Flags, Branches, and Tables Easing into Mainstream Assembly Programming
Chapter 11 - Stringing Them Up Those Amazing String Instructions
Chapter 12 - The Programmer's View of Linux Tools and Skills to Help You Write Assembly Code under a True 32-Bit OS
Chapter 13 - Coding for Linux Applying What You've Learned to a True Protected Mode Operating System
Conclusion - Not the End, But Only the Beginning
Appendix A - Partial 8086/8088 Instruction Set Reference
Appendix B - Segment Register Assumptions for Real Mode Segmented Model
Appendix C - Web URLs for Assembly Programmers
Appendix D - Segment Register Assumptions
Appendix E - What's on the CD-ROM?
Assembly.Language.Step-by-Step.Programming.with.DOS.and.Linux.Second.Edition.chm
Assembly Language Step-by-Step—Programming with DOS and Linux, Second Edition
Foreword
Introduction - "Why Would You Want to Do That?"
Chapter 1 - Another Pleasant Valley Saturday Understanding What Computers Really Do
Chapter 2 - Alien Bases Getting Your Arms around Binary and Hexadecimal
Chapter 3 - Lifting the Hood Discovering What Computers Actually Are
Chapter 4 - The Right to Assemble The Process of Making Assembly Language Programs
Chapter 5 - NASM-IDE: A Place to Stand Give me a lever long enough, and a place to stand, and I will move the Earth.
Chapter 6 - An Uneasy Alliance The x86 CPU and Its Segmented Memory System
Chapter 7 - Following Your Instructions Meeting Machine Instructions up Close and Personal
Chapter 8 - Our Object All Sublime Creating Programs that Work
Chapter 9 - Dividing and Conquering Using Procedures and Macros to Battle Complexity
Chapter 10 - Bits, Flags, Branches, and Tables Easing into Mainstream Assembly Programming
Chapter 11 - Stringing Them Up Those Amazing String Instructions
Chapter 12 - The Programmer's View of Linux Tools and Skills to Help You Write Assembly Code under a True 32-Bit OS
Chapter 13 - Coding for Linux Applying What You've Learned to a True Protected Mode Operating System
Conclusion - Not the End, But Only the Beginning
Appendix A - Partial 8086/8088 Instruction Set Reference
Appendix B - Segment Register Assumptions for Real Mode Segmented Model
Appendix C - Web URLs for Assembly Programmers
Appendix D - Segment Register Assumptions
Appendix E - What's on the CD-ROM?
mpeg2encode / mpeg2decode
=========================
MPEG-2 Encoder / Decoder, Version 1.2, July 19, 1996

Copyright (c) 1996
MPEG Software Simulation Group

E-mail: mssg@mpeg.org (author contact)
Web: http://www.mpeg.org/MSSG/
FTP: ftp://ftp.mpeg.org/pub/mpeg/mssg/


Contents:
1. Overview
2. Introduction
3. Contacting the MPEG Software Simulation Group
4. Availability
5. Installation
6. Acknowledgements
7. History of the technical report


1. Overview
===========

This directory contains our implementation of an ISO/IEC DIS 13818-2
codec. It converts uncompressed video frames into MPEG-1 and MPEG-2
video coded bitstream sequences, and vice versa.

The files mpeg2enc.doc and mpeg2dec.doc in the doc/ directory contain
further information about the codec. The directory verify/ contains
a small set of verification pictures, a small bitstream, and Unix
shell script to automatically test the output of the encoder and decoder.

A precompiled version of the programs for Win32s (Windows NT/95) will
be made available later date, although it is trivial to make a console
application from the encoder and decoder with most Win32s compilers
(such as Microsoft Visual C++).

Subdirectories src/mpeg2enc and src/mpeg2dec contain the source code
for the encoder and decoder, subdirectory par/ contains a couple of
example encoder parameter files for 25 and 30 frames/sec MPEG-2 and
MPEG-1 video.

Summary of changes since July 4, 1994 release:

This is only the second official release of our MPEG-2 video software.
Only minor bug corrections have been added to the encoder. We still do
not implement scalable encoding, as this is mostly useful only for
academic research.

The decoder has been updated to meet the final MPEG specification,
although the old decoder will still reconstruct Main Profile and MPEG-1
bitstreams just fine. The current decoder implements the most
important case of Spatial scalability, as well as SNR and Data
Partitioning. Temporal scalability is not implemented.

2. Introduction
===============

MPEG-2 Video is a generic method for compressed representation of video
sequences using a common coding syntax defined in the document ISO/IEC
13818 Part 2 by the International Organization for Standardization
(ISO) and the International Electrotechnical Commission (IEC), in
collaboration with the International Telecommunications Union (ITU) as
Recommendation H.262. The MPEG-2 concept is similar to MPEG-1, but
includes extensions to cover a wider range of applications.

The primary application targeted during the MPEG-2 definition process
was the all-digital transmission of interlaced broadcast TV quality
video at coded bitrates between 4 and 9 Mbit/sec. However, the MPEG-2
syntax has been found to be efficient for other applications such as
those at higher bit rates and sample rates (e.g. HDTV).

The most significant enhancement over MPEG-1 is the addition of syntax
for efficient coding of interlaced video (e.g. 16x8 block sizes for
motion compensation, field dct organization, Dual Prime prediction, et
al). Several other more subtle enhancements (e.g. 10-bit DCT DC
precision, non-linear macroblock scale quantizer, intra VLC tables,
improved IDCT mismatch control) were adopted which have a moderate
improvement in coding efficiency.... even for progressive video sequences.

Other key features of MPEG-2 are the scalable extensions which permit
the division of a continuous video signal into two or more coded bitstreams
representing the video at different resolutions (spatial scalability),
picture quality (SNR scalability and data partioning), or frame
rates (temporal scalability).

The MPEG Software Simulation Group is currently developing MPEG
software with the purpose of providing aid in understanding the various
algorithms which comprise an encoder and decoder, and giving a sample
implementation based on advanced encoding models. The MPEG-2 software
project is an on-going development. Since the current version of the
encoder already employs a reasonable (and the most popular) subset of
the MPEG-2 signal coding toolkit (MPEG-1 and MPEG-2 Main Profile), and
there appears to be sufficient public interest, we have decided to make
a public release of the code.

The encoder can also be used for generating good quality constant
bitrate MPEG-1 sequences and is (to our knowledge) the first publicly
available encoder based on the relatively sophisticated TM5 coding model.


3. Contacting the MPEG Software Simulation Group
================================================

We welcome any project-specific questions, comments, suggestions, bug
reports etc. They should be sent to the Internet E-mail address:

mssg@mpeg.org

which automatically forwards to the software authors.

4. Availability
===============

The most recent version of the codec source code is available by anonymous
ftp from:

ftp://ftp.mpeg.org/pub/mpeg/mssg/

The directory contains the following files:

mpeg2vidcodec_v12.tar.gz codec source code and documentation
mpeg2v12.zip source code and Win32s executables

You need gunzip (GNU zip/unzip) to uncompress the .gz and .zip archives.

5. Installation
===============

mpeg2decode and mpeg2encode have been compiled and tested on the following
platforms:

- SUN SPARCstation 10, SunOS 4.1.3, (gcc compiler)
- '386-PC, MSDOS 5.0, djgpp v1.11, gcc v2.5.7 and MS Visual C++ 4.0

The source code should compile without major modifications on other 32
bit systems with ANSI C compliant compilers. Systems with 16 bit 'int'
variables or segmented memory models are not supported.

Please report any modifications you had to apply in order to install the
programs on your system to the address mssg@mpeg.org

The encoder and decoder are kept in separate sub-directories,
src/mpeg2dec contains the decoder, while src/mpeg2enc contains the
encoder sources. The following installation procedure applies to both
the encoder and the decoder:


Step 1: edit Makefile
---------------------

You may have to set CC to your C compiler and CFLAGS to the flags required
by the compiler. It is sufficient to set these variables in the top directory
Makefile. They are propagated to the individual Makefiles of the encoder
and decoder. Any other changes have to be applied to the individual Makefiles,
however.

You can compile the decoder with or without X11 output. Please follow the
instructions in the top-level Makefile to activate X Window System support.

Step 2: edit src/mpeg2dec/config.h
----------------------------------

In most cases, no modification should be required. If your C library
doesn't accept "rb" / "wb" parameters in fopen() (required to disable
LF <-> CR/LF conversion on MSDOS systems), change the #defines RB and WB
to "r" and "w".


Step 3: make
------------

Type 'make' from the top directory (mpeg2). On a PC with DJGPP installed you
have to enter 'make pc' in the individual source directories to produce
.exe files.


Step 4: verification
--------------------

In the mpeg/verify directory, you can verify correct compilation of the
codec by typing 'make test'. No differences should be reported. The
only comparison which is allowed to fail is between test.m2v and
new.m2v, caused by floating point accuracy dependencies in the forward
DCT.


6. Acknowledgements
===================
Authors of the current release are:

Stefan Eckart
Chad Fogg

420to422, 422to444 scaling filters:
Cheung Auyeung

Windows 32s port:
Sorin Papuc

Special thanks are due to

- J. Steurer, M. Oepen, IRT (Institut fuer Rundfunktechnik, Muenchen):
for contributing motion estimation speed improvements (distance
computation short-circuit in conjunction with spiral search, cf.
dist1(), fullsearch())

- Tristan Savatier for his help on numerous
improvements, suggestions, and features.

Numerous users:
for providing bug reports and Makefiles

7. History of Technical Report Project
======================================

The Technical Report, a document which primarily consists of
a C source code program, was initiated by the MPEG committee to:

- Provide an example of MPEG video syntax being intelligently employed
to generate good quality video bitstreams.
- A reference tool for implementors
- Aid in understanding the MPEG specification
- decoder which employs full arithmetic accuracy.

----
End of Readme file

1,025

社区成员

发帖
与我相关
我的任务
社区描述
Linux /Unix kernel支持不同的硬件体系,X86, ARM, MIPS, 等等
社区管理员
  • CPU和硬件区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧