생물학에서는 틀릴 지 모르지만 컴퓨터 과학에서는 "온톨 로니가 계통 발생을 되풀이합니다". 첫 번째 컴퓨터 이후 컴퓨터 아키텍처의 역사적 개요는 프로그래머의 관점에서 컴퓨터 아키텍처의 주제를 이해하는 좋은 방법입니다. 컴퓨터 디자인은 초기 디자인의 거의 모든 개선 사항입니다.
즉, 컴퓨터 과학 분야에서 제공하는 이론적 인 "컴퓨터 아키텍처"서적과 함께 오래된 시스템 설계를 완벽하게 연구하는 것이 좋습니다. 시스템 설계를 실제로 이해하고 소프트웨어를 작성하는 데 큰 도움이됩니다. 컴퓨터 시스템 아키텍처의 직관적 이해에는 많은 개념의 숙달이 필요합니다. 컴퓨터 아키텍처가 크기와 범위에서 관리하기 쉬울 때 다시 시작하면 더 나은 코드를 작성하려는 목표를 달성 할 수 있습니다.
(다른 사람이 언급 한 "위대한 코드 작성"책 시리즈는 훌륭해 보였으며, 이전에 한 권의 책에서 배웠던 aspersion을 제거하기 위해 내 질문을 편집했습니다. )
컴퓨터 아키텍처를 정말 잘 가르치는 것들 :
컴퓨터를 사용하기 시작한 이래 1980 년대부터 기계를 사람들에게 설명하고 시연하기위한 출발점으로 선택하고 싶습니다. 나는 commodore 64 프로그래머 용 레퍼런스 가이드를 사용하여 사람들에게 프로그래밍 지식과 컴퓨터 아키텍처 지식이 서로 만나는 곳을 보여주었습니다. 그러한 책과 PC에서 실행되는 commodore 64 에뮬레이터를 사용하여 물건을 시험해 볼 수 있습니다. 1980 년대의 고전적인 컴퓨터 아키텍처의 컴퓨터 시스템이 실제로 어떻게 구축되었는지에 대해 배우게됩니다. 필자의 견해로는, 실제 사례를 제대로 구현하지 못한 12 가지 이론적 모델보다 하나의 구체적인 예가 시작하기에 더 좋은 곳이다. 레지스터가 무엇인지, ALU가 무엇인지, 버스가 무엇인지, 시계가 무엇인지 알고 있다면, 1980 년대 이전 설계에서 사용 된 신호 시스템을 통해 인텔의 "샌디 브리지 아키텍처"와 같은 최근의 내용을 이해하는 데 필요한 기본 사항을 제공합니다. 역사적으로, 위키 백과에서 원본을 살펴보십시오 (예 : "Von neumann"아키텍처).
몇 년 동안 나의 첫 포인트에서 앞으로 나아갑니다. 원래 IBM PC 아키텍처, 8086 어셈블리 언어 및 ISA 버스에 대해 학습하십시오. 이것과 그 한계에서 "Intel COre i7"CPU에 포함 된 내용과 PCI 및 PCI-e 버스의 기능 및 필요한 이유를 이해하면보다 자연스럽게 진행할 수 있습니다. 오늘날 PC 아키텍처에는 여전히 원래 IBM PC 디자인과 약간의 차이가 있습니다. 2011 년 PC에서 초기 프로그램 (운영 체제)로드 (부트 업)가 발생하는 방식은 여전히 원래 IBM PC와 ROM BIOS의 유산과 원본 PC의 CMOS 설정 때문입니다.
일부 임베디드 비 PC 디바이스에서 작동하는 사전 구성된 Linux 빌드를 사용하고 수정하십시오. 기술 아키텍처뿐만 아니라 일부 기능이있는 이유는 임베디드 컴퓨터 아키텍처에 대해 많이 배우게됩니다. 저렴하게 사용할 수있는 좋은 예는 TS-7200입니다좋은 PC-104 (원래 PC에서와 같이 ISA 버스)가 있습니다. PC-104 (IBM PC / AT 80286 시대 PC와 핀 호환되는 임베디드 16 비트 ISA 버스) 컴퓨터는 모듈이 스택 가능하므로 비 보드 설계자가 임베디드 시스템을 빌드 할 수있는 좋은 방법입니다. 여분의 IO 또는 주변 장치를 원하십니까? 몇 개의 모듈 만 쌓아 두십시오. TS-7200에는 빅 엔디안 또는 리틀 엔디안을 실행할 수있는 비 x86 코어 (ARM9 CPU)가 있습니다. 아키텍처 학습 여정에서 아직 "엔디안"에 빠지지 않았다면이를 만나기에 좋은 곳입니다.