챕터 19. 두 가지 고전적인 마이크로프로세서들
최초의 마이크로프로세서는 1971년에 탄생한 인텔 4004 였다고 한다. 그 후 1974년에 인텔의 8080 프로세서와 모토로라 ( 지금의 핸드폰 회사인 그 회사라고 한다. ) 6800 프로세서가 발표되어 주류를 이루었다고 한다. 큰 차이는 없지만, 일단 두 프로세서는 기계어 수준에서는 서로 호환되지 않는다고 한다.
두 프로세서들은 여러 바이트에 걸쳐 값을 저장하는 방식에서 차이가 있는데, 전설처럼 들려오는 리틀 엔디안 ( 인텔의 방법) 과 빅 엔디안 ( 모토로라의 방법 ) 으로 불리는 얘기다. 이게 알고 보니 조나단 스위프트의 걸리버 여행기에서 삶은 계란을 어떤 방식으로 깨야 하는지에 대한 문제로 촉발된 릴리퍼트 ( Lilliput ) 와 블레푸스크 ( Blefuscu ) 의 전쟁에서 유래됐다고 한다. 계란의 넓은 쪽을 big end, 뾰족한 쪽을 little end 라고 하는데, 알고 보면 서로 어떤 게 더 장점이어서 이렇게 채택했는지 이유가 없는 차이라고 한다. 문제는 이 덕분에 서로 다른 방법을 채택한 컴퓨터 시스템 간에 정보를 교환할 때 호환되지 않는 문제를 발생시켰다는 점이라고 한다. ㅡㅡ;;
모로토라 마이크로프로세서는 후에 애플의 맥킨토시로 이어진다고 한다.
그 밖에 이 장에서는 기초적인 어셈블리 언어, 스택, 분기, 서브루틴, Call ( 호출 ) 등에 대해 다루고 있다.
스택 구조의 최대 장점은 프로그램에 존재하는 수많은 영역에서 별다른 고려없이 스택을 사용하더라도 큰 문제가 발생하지 않는다는 점입니다.
- 436쪽 발췌.
이 장에서도 중요하고 재밌는 내용들이 제법 나오는데, 정리할 만한 수준이 안되니 나중에 필요할 때 검색어로 찾아보는 수 밖에 없다. ㅋㅋㅋㅋ
이러다 보면, 대부분 프로그램의 버그로 인한 것이기는 하지만, 스택이 너무 커지면서 명령어 코드나 프로그램 수행에 필요한 프로그램 영역까지 덮어쓰는 것도 가능합니다. 이러한 문제는 스택 오버플로 ( stack overflow ) 문제라 알려져 있습니다. 마찬가지로, POP 명령어를 너무 많이 사용해서 스택의 내용을 모두 사용하고도 그 다음 내용에 접근하려고 하는 경우를 스택 언더플로 ( stack underflow ) 라 합니다.
- 438쪽 발췌.
챕터 20. 아스키 코드와 문자의 변환.
아스키 코드, EBCDIC, 유니코드 등의 부호화된 문자코드들에 대한 설명이 나온다.
|
챕터 21. 버스에 올라탑시다.
우리가 일상적으로 타는 버스 말고, 메인보드 기판에 달린 버스에 관한 얘기다.
컴퓨터를 구성하는 모든 집적회로는 반드시 회로 기판 ( PCB : Printed Circuit Board ) 에 부착되어야 합니다. 작은 컴퓨터들의 경우 모든 IC 가 하나의 회로기판에 집적되는 일도 있지요. 하지만, 많은 경우에는 컴퓨터를 구성하는 다양한 요소들을 여러 개의 기판에 나누어 두는 것이 효과적일 것입니다. 이러한 기판 간의 통신에는 버스 ( bus ) 라는 것이 이용됩니다. 버스는 간단히 말하자면 디지털 신호들의 집합이며, 컴퓨터에 사용되는 모든 기판에서는 이런 버스 형태가 지원됩니다.
- 483쪽.
오랜만에 ISA ( Industry Standard Architecture. 버스 규격의 일종으로 PCI 이전에 사용되던 것. ) 와 DMA 라는 단어도 들어봤다. ^^;;
DMA ( 직접 메모리 접근, direct memory access ) 를 사용하지 않을 때보다 더 빠르게 데이터 이동을 수행할 수 있습니다. 보통의 경우에는 마이크로프로세서가 메모리에 대한 읽기와 쓰기를 제어하게 되지만, DMA 를 사용하는 경우에는 해당 장치가 마이크로프로세서의 도움 없이 버스에 접근하여 메모리에 대한 읽기와 쓰기를 직접 수행할 수 있기 때문이지요.
- 488쪽 발췌.
그밖에도 메인보드 ( 마더보드 혹은 시스템보드 ) 와 관련된 장치들 - 메모리 ( SRAM, DRAM, SIMM ( single inline memory modules ), DIMM ( dual inline memory modules ) ), 영상장치 ( 주사선 ( scan line ), 비월주사 ( interlaced 방식 ), ROM, 비디오 카드, 키보드, 저장장치 ( 디스크 드라이브 ) 등 - 에 관한 기초적인 내용들이 등장하는데, 한번 읽어둘 만 하다.
초기에는 비디오 카드와 그래픽 카드가 다른 의미로 사용되기도 한 듯한 설명이 나와 좀 웃겼다. 영상장치가 단순히 문자만 출력하는 경우에는 비디오 카드라는 단어를 사용했고, 문자 이외의 다른 것들도 출력이 가능하면 그래픽 카드라고 불리웠던 모양이다. 찰스 펫졸드는 은근히 꼼꼼했다. ㅋㅋㅋ
'옮길것모음 > 책' 카테고리의 다른 글
CODE 챕터 22 ~ 25 // 휴.. 겨우 다 읽었네.. ^^;; (0) | 2012.12.31 |
---|---|
슈퍼영웅의 과학.. (0) | 2012.12.26 |
김성근 그리고 SK와이번스 // 감독에 대한 코치의 연서.. (0) | 2012.12.17 |
김성근이다. // 투박하지만 진솔한 메시지가 느껴진다.. (0) | 2012.12.16 |
CODE 챕터 18. 주판에서 반도체까지 // 희귀한 단어들의 전시장.. (0) | 2012.12.13 |
WRITTEN BY
- 리컨
영화를 즐기는 취미를 기록한 블로그입니다.
,