안녕하세요 Akpil입니다. 뭐 이 블로그는 제가 학과수업을 듣거나 따로 공부를 진행한 것을 공유하기 위한 블로그라 시간날때마다 수업내용을 정리해서 계시할 계획입니다. 혹시 질문 있으시면 메일이나 덧글 남겨주세요
인트로
간단한 용어의 의미정리
- Architecture = 프로그래머 관점에서의 컴퓨터 구조
- Organization = 하드위어적인 관점에서의 컴퓨터 구조
결론 - 그냥 이러한 의미로 사용하면 됩니다.....
Structure and Function
구조(Structure) =
서로 관계 있는 컴포넌트(components) 간의 구조
함수(Function) = 구조 내부에 있는 각각의 컴포넌트들의 동작
(함수가 구조중 최소단위인 컴포넌트 내에 포함되어 있다는 사실만 알면 됩니다.)
함수(Function) 의 종류(이름만 봐도 알 수 있는 내용이니 설명은 생략하겠습니다.)
|
출처: Computer Organization and Architecture 5th edition,
William Stallings, P.31 |
- Data processing
- Data storage
- Data movement
- Control
구조(Structure)
|
출처: Computer Organization and Architecture 5th edition,
William Stallings, P.32 |
아마 이 모형은 읽자마자 이해하시는 분도 계실거고 아닌분도 계실 테니 적당히 훓어보겠습니다. 우선 컴퓨터의 내부는 메인메모리, CPU, I/O(Input / Output), 시스템 버스(System bus) 총 네가지로 분류할 수 있는데요, 각각의 장치가 시스템버스를 통해 서로 소통한다고 보시면 됩니다.
CPU 내부도 마찬가지 방식으로 표현할 수 있습니다. 챕터 1 끝~!
진화와 성능(Evolution and Performance)
첫번째 세대 : 진공관(Vacuum Tubes)
진공관 컴퓨터는 최초의 범용 컴퓨터라고 통상적으로 불리는 ENIAC이 시작입니다.
(이 전에 콜로서스나 기타등등 컴퓨터가 있었지만 범용이라고 하기엔 무리가 있습니다.) 컴퓨터가 흔치 않던 시절 컴퓨터 하면 떠오르는 모습과 용도를 생각하면 맞습니다.(암/복호화 탄도계산 등등)
폰 노이만 머신 (The Von Neumann Machine)
현재 우리가 사용하고 있는 컴퓨터는 모두 폰 노이만 머신의 형식을 따릅니다. 이 방식은 메모리에 프로그램을 저장해야한다는 폰 노이만의 철학(Stored-program concept)을 따른 형태로 도표로 나타내면 다음과 같습니다.(IAS 컴퓨터라고 나와있는 이유는 폰 노이만이 이 형식을 따르는 컴퓨터를 개발할때 명칭을 IAS라고 했기 때문입니다. 한마디로 폰 노이만 머신의 대표사례입니다.)
|
출처: Computer Organization and Architecture 5th edition,
William Stallings, P.40 |
두번째 세대 : 트렌지스터(Transistors)
트렌지스터가 개발된 후 이는 컴퓨터에서 진공관의 기능을 대체 했습니다. 트렌지스터는 진공관에 비해 크기, 비용, 발열량 등 모든측면에서 진공관을 크게 앞섭니다.
예) IBM 7094
|
출처: Computer Organization and Architecture 5th edition,
William Stallings, P.49 |
이 컴퓨터는 I/O, 메모리, CPU사이에 MUX를 이용해 신호제어를 한다는 특징이 있습니다. 이를 제외하곤 현대의 컴퓨터와 유사한 구조를 가집니다.
세번째 세대 : 집적회로(IC:Integrated Circuit)
그후 (Later generation)
프로세서 비교표
|
출처: Computer Organization and Architecture 5th edition,
William Stallings, P.59
|
이 전까지의 표는 무의미한 것 같아서 이정도만 올리겠습니다.
여기서 Feature size에 대해 살짝 짚고 넘어가겠습니다. feature size는 사전적 의미로 최소 선폭을 의미하며 최소선폭이 작을수록 회로집적도, 전력소모량, 클락수 등 전반적인 성능이 향상된다고 보면 됩니다.
성능을 위한 디자인(Designing for Performance)
여기선 간단하게 한가지만 짚고 넘어갑니다.
마이크로프로세서 속도(Microprocessor Speed)에 영향을 미치는 요인
- Pipelining
- Branch prediction
- Data flow analysis
- Speculative execution
참고자료(I/O device 반응속도)
출처: Computer Organization and Architecture 5th edition,
멀티코어(Multicore)
요즘 사용되는 절대다수의 CPU가 이 멀티코어 형태로 고안되어 있습니다. 코어(CPU)가 두개 이상 탑제되어 하나의 회로를 구성하는 방식입니다.
절대 어려운내용이 아님에도 분량도 생각보다 꾀 되고 설명이 잘 되어 있나 모르겠네요... 잘 봐주셧으면 합니다...~