기본 콘텐츠로 건너뛰기

IA - Intel Architecture

IA는 말 그대로 인텔에서 만든 CPU 구조이다. 보통 흔히 볼 수 있는 것이 IA-32이며, IBM호환, i386, x86 등과도 비스무레하게 쓰인다. 이 녀석은 최초에 하위호환성 이유로 CISC구조를 가지고 가고 있으며, 이후에 성능한계를 극복하기 위해 겉은 CISC이며 내부적으론 RISC구조를 일부 갖게 되었다. 그러나 역시나 CISC정신을 이어 받아, 쓰던 기계어는 그대로 계속 쓸 수 있다.

Intel이 서버시장에서 성능한계를 극복하고자 HP와 손을 잡고 2001년 첫 Itanium을 발표했다. 이른바 IA-64로 HP도움으로 RISC를 기반하며, 과거 CISC 기계어는 emulator로 작동한다. 여기서 IA-64는 IA-32와 호환하지 않는다.(해도 쓸모가 없을 정도로 느리겠지...) OS를 비롯해서 모든 application을 다시 만들어야하는 수고가 있지만 시장에서 잘 돌아가고 있나보다. Itanium2를 2007년 11월에 발표한 것 보니까...

아무튼 IA-32와 IA-64와 뭔가 관련이 있을까해서 찾아봤는데, Intel브랜드라는 것외에는 아무런 관련이 없다는 결론이다.

Powered by ScribeFire.


댓글

이 블로그의 인기 게시물

Bash Array, Map 정리

Bash에서 Array, Map에 대한 정리. (매번 찾기 귀찮) 찾아보진 않았지만, Bash에서 Array든 Map이든 동일하게 Map(C++에서 Unordered Map)으로 동작하는 것 같다. 왜냐하면, Array의 Index가 연속하지 않아도 동작한다. 그저 Key가 0 이상의 정수인 Map이랑 비슷하게 동작한다. 예) 1, 2, 3, 9, 10 Array # 생성 declare -a empty_array declare -a ar=(haha hoho baba "long string haha hoho") # 접근 echo "ar[0]=${ar[0]}" echo "all as array=${ar[@]}" # 큰따옴표 안에서 각 원소를 따로따로 전달한다. echo "all as one=${ar[*]}" # 큰따옴표 안에서 각 원소를 문자열 하나로 합쳐 전달한다. echo "indexes=${!ar[@]}" echo "indexes=${!ar[*]}" echo "length=${#ar[@]}" echo "length=${#ar[*]}" echo "last=${ar[-1]}" echo "last=${ar[@]: -1}" # 콜론 뒤에 빈 칸이 꼭 필요하다. 옛 방식 # 현재 상황 declare -p ar #(출력) declare -a ar=([0]="haha" [1]="hoho" [2]="baba" [3]="long string haha hoho") ar[100]=hello # 인덱스를 건너 뛰어도 동작한다. declare -p ar #(출력) declare -a ar=([0]="haha" [1]="hoho" [2]="baba" [3]=...

설치한 패키지에서 RPM 추출하기

오래된 패키지를 관리할 저장소가 없어졌고, 기존 패키지로 다른 서버를 세팅해야할 일이 생겼다면 RPM의 리패키지 기능을 이용해보자. $ rpm -e --repackage [PACKAGE_NAME] 위와 같이 리패키지하면, /var/spool/repackage/ 에 생성한 RPM파일이 있다. :-)