Computer Architecture

1. Computer Architecture & Organization

부산대보금자리 2021. 7. 15. 22:56

기본적인 컴퓨터 구조에 앞서 Level of Representation에 대해 보겠다.

고급어의 경우 프로그래머의 가독성과 호환성을 위해 작성되는 언어이고 컴파일러를 통해 목적파일 또는 어셈블리어로 바뀌어 생성된다.

어셈블리어는 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급 언어이다.

이는 어셈블러를 통해 번역되어 기계가 인식할수 있는 0,1로 구성된 언어로써 실행이 될수 있다.

Computer Architecture 와 Organization에 대한 설명이다. 

단어 그 자체로만 봐서는 두 가지 의미가 다르지 않게 보이지만 조금 더 명확히 구분하자면 

Architecture는 프로그래머에게 더 직관적이며 Software적이고 

Organization은 하드웨어 적인 부분이라고 볼 수 있다.

 

 

컴퓨터 디자인의 관점은 Structure and function이다.

즉 하나의 System을 Subsystem으로 쪼개어 상관관계를 갖는 계층 구조를 만든다.

그리고 더 이상 쪼갤수 없는 System까지 쪼개어 Design and describe한다.

 

이는 이러한 motherboard 를 통해 이해할 수 있다. 

이 그림을 통해 motherboard -> memory,processor chip,i/o chip -> core , cache -> alu,l1cache

와 같이 계층을 이룬다는 것을 볼 수 있다.

 

 

대표적인 초기 폰 노이만 구조이다. 

Main memory와 Cpu(alu+ control unit) 그리고 CPU와 I/O가 주고받으며 실행이 되는 구조이다.

이는 40bit(=word)가 1000개가 있고 20bit씩 하나의 명령으로 총 2 두 개씩 들어간다. 

Cpu안에는 MBR, MAR, IR, IBR, PC, AC, MQ로 총 7개의 레지스터로 구성된다.

 

이런 폰 노이만 구조의 특징으로는 

1. 하나의 메모리에 데이터와 명령을 같이 저장한다.

2. 메모리라는 개념 확립

3.Sequential 한 실행 이 있다.

또한 이러한 구조로 인해 HW와 SW의 개념이 생겼다.

 

위는 데이터, 밑은 instruction의 메모리 구조이다. 

 

이는 무어의 법칙을 설명하는 사진을 가져왔다. 

무어의 법칙은  chip안의 트랜지스터의 집적도(packing density)가 올라감 -> 성능 향상 

이 시간에 지남에 따라 일어나는 현상을 보이는 것이다. 

 

대표적인 intel을 보겠다. 

년도가 지남에 따라 clock Speed가 빨라지고 transistor의 수가 증가한다. 

물론 현재는 이러한 집적도가 증가함에 따라 발생하는 열이 성능을 저하시킬 수 있기 때문에 

많은 코어수를 장착하기 시작했다. 

하나 신기한 것은 bus의 width이다. 

bus의 width는 4bit -> 8bit -> 16bit까지 갔다가 8bit로 떨어진다. 

왜 그럴까? 이는 아마 16bit로 바뀜으로써 메모리나 I/O가 16bit로 붙어야 하는데 이것의 한계점으로 인한 것이 아닐까 생각된다.

 

마지막으로 Cloud Networking에 대한 개념에 대해 알아보고자 한다.

Cloud는 망이다. 이는 network 너머에 Computer resource가 제공이 되고 이를 활용한다는 것이다. 

 

만약에 어떠한 시스템을 구축하는 데 있어서 내가 모든 시스템을 하나하나 다 세팅한다고 생각해보자

그때 세팅할 구조들이다. 엄청 할 것이 많고 복잡할 것이다. 

사회구조상  IT Architecture는 용이성과 확장성이 중요하고 이를 극복하고자 cloud networking을 사용한다.

 

이는 위와 같은 구조들로 단순화될 수 있는데 

Iass는 가장 low level의 o.s vm, server hardware 등을 지원해주는 것으로 우리 학교가 사용하는 구조라고 보면 되겠다. 

그에 더하여 complier, database 등을 더 지원해주어서 application만 구현하면 되는 것이 Paas이다.

마지막으로 Saas는 이용자 관점으로 흔히 이용하는 유튜브 같은 플랫폼을 예로 들 수가 있다.