Unix Archaeology
# Modern Computer Architecture and Organization
## 8088
IBM released the IBM PC in 1981.
The original PC contained an Intel 8088 microprocessor running at
- a clock frequency of 4.77 MHz
- featured 16 KB of RAM, expandable to 256 KB
Registers
Four were general purpose registers
- AX,
- BX,
- CX, and
- DX.) Four were memory segment registers (CS, DS, SS, and ES)
- Stack Pointer (SP),
- Base Pointer (BP),
- Source Index (SI),
- Destination Index (DI),
- Instruction Pointer (IP), and
- Status Flags (FLAGS).
##
# Notes on 「 Unix考古学 」 written by Akito Fujita
## Time Sharing & Batch Processing
## _
ed : oldest unix editor
The idea of unix process : 2 starting method of a process
- fork
- exec
正規表現を探すプログラムを機械語としてコンパイル
- regcomp
- regexec
### roff
roff <= runoff
text editor platform
- roff
- nroff / troff
rf
# Old Nintendo / SEGA Programming
## Z80 時代 ~ ファミコン
- Z80 is a super old CPU (Central Processing Unit)
- ファミコン Family Computer is made with Z80.
- Z80 is a '8 bit' CPU
## 65816 ~ スーパーファミコン
## 8080
- 8080 : Intel 8-bit 8080 CPU
## x86
x86
- 8086 : 16 bit extention of 8-bit 8080 (1978)
- 386
- 486
- 586
- 686
## PlayStation1 ~ MIPS R3000A
- CPU: MIPS R3000A-compatible
- CPU: 32-bit RISC CPU MIPS R3051
- with 5 KB L1 cache
- 33.86 MHz
- VPU: Vector Processing Unit
- 2 VUs (Vector Units)
VU
~~~
NOP NOP
MADD eax ebx NOP
NOP NOP
NOP MPUSH eax
NOP NOP
MADD eax ebx NOP
NOP NOP
NOP MPUSH eax
~~~
This used to cause error.
~~~c
struct aa {
char a; // 1st byte
int b; // 2 ~ 5th byte
}
~~~
So, old people write like this
~~~c
struct aa {
char a; // 1st byte
padding[3]; // 2~4th byte
int b; // 5~8th byte
}
~~~
Or, some compiler interpret like this
~~~c
struct aa {
int b; // 1 ~ 4th byte
char a; // 5th byte
}
~~~
then if do like this;
~~~c
int a;
~~~
This breaks out of the memory region of the struct aa
## After PlayStation2
DVD : ~ Play Station 2
- The code region is about 4M ~ 8M
- The rest region is reserved for images/musics etc...
BlueRay : Play Station 3
- The code region is about 125M
- The rest region is reserved for images/musics etc...