E D R , A S I H C RSS

기술���미�서�Zero Page

extracted from ZeroPage

�터넷 �아다니며 찾아왔습니다.
8bit CPU �서 6502를 예로 들겠습니다.
6502 는 16bit addressing� 가능한 CPU 였습니다. 즉, $0000 ~ $FFFF 였죠.
6502 는 13가지 메모리 access 방�� 있었는�, 그중 하나가 zero page addressing 입니다.
주소 �역� 8bit 만 사용, �위 8bit � 00 으로 가정하고 addressing � 하면
$0000~$00FF 가 �니다. �렇게 주소지정 � 해서 � 빠른 access 가 가능했다고 합니다.
� 메모리 주소 �역� zero page �고 하는군요.

다�� 참조한 문서입니다.

The zero page instructions allow for shorter code and excution times by only feching the
second byte of the instruction and assumming a zero high address byte.
Careful use of the zero page can result in significant increase in code efficient.
(제로페�지 명령어들� 명령어� 첫번째 주소 바�트를 0으로 가정하고 단지 �번째 바�트만 가져옴으로서, 짧� 코드와 짧� 수행시간� 가져다준다. 주� 깊게 제로페�지 명령� 사용하는 것� 코드 효율� 확실한 개선� 가능케 한다.)

발췌 : http://www.6502.org/datasheets/csg6500.pdf
� 한마디로 컴공과 아니 전국�으로(세계�� 너무 �가 -_-) 탑� 들�는 �미가 아�까?

X

ZeroPage 그래픽 기법��는 것과� 연관� 있는 건 아�까요. 『해커, 그 광기와 비밀� 기���서 나오�군요.--Leonardong

백과사전) WikiPedia:Zero_page
{{|
The zero page is the memory address page at the absolute beginning of a computer's address space (the lowermost page, covered by the memory address range 0 ... page size1).
제로페ì�´ì§€ëŠ” 컴퓨터 메로리 공간ìƒ�ì�˜ 가장 처ì�Œì—� 존재하는 메모리 주소 페ì�´ì§€ì�´ë‹¤. (가장 아래ì—� 존재하는 페ì�´ì§€ë¡œì„œ ë©”í�¬ë¦¬ 번지 0ë€í„° ì „ì²´ 페ì�´ì§€ 사ì�´ì¦ˆì�˜ -1ë§Œí�¼ì�˜ 범위를 갖는다)

In early computers, including the PDP-8, the zero page had a special fast addressing mode, which facilitated its use for temporary storage of data and compensated for the relative shortage of CPU registers. The PDP-8 had only one register, so zero page addressing was essential.
�찌기 PDP-8� �함한 컴퓨터�서 제로페�지�는 것� 특별히 빠른 메모리 어드레싱 모드를 갖는다.
�는 ��터를 임시로 저장하는�� 사용하기 용�하고 당시 CPU� �� 레지스터� 양� 보완하려는 것�었다.

Possibly unimaginable by computer users after the 1980s, the RAM of a computer used to be faster than or as fast as the CPU during the 1970s. Thus it made sense to have few registers and use the main memory as substitutes. Since each memory location within the zero page of a 16-bit address bus computer may be addressed by a single byte, it was faster, in 8-bit data bus machines, to access such a location rather than a non-zero page one.
1980년대�는 컴퓨터 사용�들� 아마 ��� 할수없� 만� 1970년대� CPU 만� 빠르고 그 보다 �빠른 메로리가 사용었다. 그러면서 대용품으로 메� 메로리를 사용하고 아주 �� 양� 레지스터를 갖는 것� �치� 합당했다. 16비트 버스를 갖는 컴퓨터� 제로페�지 내� � 메모리가 아마� 한 바�트로 어드레싱�기 때문� 제로페�지내� 메모리가 아닌 곳보다 제로페�지내� 메모리를 접근하는�, 8비트 ��터 버스를 갖는 머신�서보다 �욱 빨�었다.

For example, the MOS Technology 6502 has only six non-general purpose registers. As a result, it used the zero page extensively. Many instructions are coded differently for zero page and non-zero page addresses:
예를 들�면 the MOS Technology 6502 는 오� 6개� non-general 목�� 가진 레지스터를 가지고 있었다. 결과�으로 �는 것� 제로페�지�는 개�� �넓게 사용하였다. 많� 명령어들� 제로페�지와 제로페�지가 아닌 어드레씽� 위해서 다르게 쓰여졌다.

LDA $00 ; zero page
LDA $0000 ; non-zero page
The above two instructions both do the same thing; they load the value of $00 into the A register. However, the first instruction is only two bytes long and also faster than the second instruction. Unlike today's RISC processors, the 6502's instructions can be from one byte to three bytes long.
ìƒ�기ì�˜ 2ê°œì�˜ 명령어 모ë‘� ë�™ì�¼í•œ ì�¼ì�„ 한다; ì�´ê²ƒë“¤ì�€ A레지스터ì—� $00ë�¼ëŠ” ê°’ì�„ 로드한다. 하지만 첫번째 명령어는 단지 2ë°”ì�´íŠ¸ê¸¸ì�´ ì�´ê³  ë‘�번째 명령어보다 ë�”ìš± 빠르다. 오늘날ì�˜ RISC 프로세서와 다르게 the 6502ì�˜ 명령어들ì�€ 1ë°”ì�´íЏì—�서 ë€í„° 3ë°”ì�´íЏì�˜ 길ì�´ê°€ ë�˜ëŠ” 것ì�´ 가능하다.

Zero page addressing now has mostly historical significance, since the developments in integrated circuit technology have made adding more registers to a CPU less expensive, and have made CPU operations much faster than RAM accesses. Some computer architectures still reserve the beginning of address space for other purposes, though; for instance, the Intel x86 systems reserve the first 512 words of address space for the interrupt table.
IC테�놀로지� 발전� �욱 �� 비용으로 CPU� 레지스터를 늘리게 �었고 ��따�서 RAM� 액세스하는 것 보다 �욱 빠른 CPU명령어를 처리하게 �었기 때문� 제로페�지는 �제 대개는 역시�� �미를 갖는다. 그럼�� 불구하고, 어떤 컴퓨터 아키�처는 여전히 다른 목�� 위해서 제로페�지�는 개�� 제공하기는 한다; 예를 들�면 �텔� x86� �터럽트 테�블� 사용� 위해서 512워드� 공간� 사용한다.
|}}

http://lxr.linux.no/source/Documentation/i386/zero-page.txt
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:28:47
Processing time 0.4956 sec