ARTICLE CATEGORY

분류 전체보기 (16)
GTK+ 3 Reference (2)
I. GTK+ Overview (0)
II. GTK+ Core Reference (0)
III. Theming in GTK+ (0)
IV. GTK+ Widgets and Objects (0)
VI. GTK+ Tools (0)
GTK+3 Tips (1)
C/C++ (0)
JAVA (0)
PHP (0)
Assembly (5)
Windows (0)
Linux (2)
마컴 (3)
Internet (1)
  • Total hit
  • Today hit
  • Yesterday hit

'분류 전체보기'에 해당되는 글 16건

  1. 2006.11.14
    SPARC Architecture에서 stack과 register의 이해
  2. 2006.11.14
    SPARC Architecture Assembly Language Programming, and C 4
  3. 2006.10.30
    하드웨어와 소프트웨어?
  4. 2006.10.30
    마이크로콘트롤러란 무엇인가?
  5. 2006.10.30
    마이크로프로세서란?
  6. 2006.10.20
    다시 시작합니다.

Understanding stacks and registers in the Sparc architecture(s)


SUN사의 SPARC Architecture에서 Stack과 Register의 이해

출처 : http://www.sics.se/~psm/sparcstack.html

여기서 SPARC Architecture에서의 stack과 register를 이해하였음.

AND

SPARC Architecture Assembly Language Programming, and C. 2nd Edition
-by Richard P.Paul

이 책은 RISC방식으로 설계된 SPARC Architecture상에서 기계어(Assembly Language)가 어떻게 짜여지고 C와 C++의 개념으로 효율적으로 SPARC Architecture에서 프로그램을 짜는지 쓴 것이다.
내가 다니고 있는 홍익대학교 컴퓨터공학과 2학년 전공과목인 어셈블리언어 및 실습 시간에 이 책을 가지고 배운다.
아래는 책 저자의 설명(http://www.cis.upenn.edu/~lou/book.html)

SPARC architecture is covered in this book from a programmer's perspective, making use of UNIX tools(the m4 macro processor; the as assembler; the gnu emacs editor; and the gdb debugger). Introductory material includes a formal definition of the von Neumann machine, its relationship to programmable calculators, and to the JAVA bytecode and JAVA virtual machine. The text is organized to allow readers to start programming in SPARC assembly language by the end of the Second Chapter. Frequent reference is made to C and C++ language constructs and their translation into SPARC assembly language. Chapters on control constructs, arrays, and structures give the reader an understanding of the complexity and cost of using various data and control structures in high-level languages. Chapters on floating point, traps, memory management, and other architectures provide optional course material. All necessary reference material, including the SPARC instruction set, is provided in the appendices.

The text is suitable for a one semester introductory course on computer architecture. It is also suitable for programmers who will be programming SPARC architecture machine in languages such as C and C++ and have concerns with computational efficiency.

This second edition of SPARC Architecture, Assembly Language Programming, & C includes the latest material on the new ULTRA SPARC architecture so that programmers may work with the latest developments in computer architecture.

이 책을 배우면서 C언어의 배열, 포인터 개념이 제대로 잡혀가는 것 같다.
어셈블리 언어가 배우긴 어렵지만 C언어를 배운 것을 토대로 배우니 생각보단 난이도가 어렵지 않다.
AND
하드웨어와 소프트웨어의 정의
하드웨어(HardWare)
하드웨어는 컴퓨터, 통신 및 기타 정보기술이 이용되는 장치들에 있어 물리적인 측면을 의미한다. 이 용어는 컴퓨터 본체, 전자회로 및 컴퓨터의 부품등을 '프로그램'과 구분하기 위한 방편으로 나왔다. 프로그램은 보통 소프트웨어로 분류된다.
하드웨어라는 용어는 내구성과 불변성이 있음을 은연중에 암시한다. 소프트웨어와 마찬가지로, 하드웨어도 집합명사로서, 컴퓨터 그 자체뿐 아니라, 케이블, 커넥터, 전원공급장치와 함께 키보드, 마우스, 스피커, 프린터 등 주변 장치를 모두 포함할 수 있다.
하드웨어는 때로 전화와 통신 네트윅 기반시설의 물리적인 측면을 나타내기 위한 집합적인 의미로도 사용된다.

소프트웨어(Software)
소프트웨어는 컴퓨터나 관련 장치들을 동작시키는데 사용되는 다양한 종류의 프로그램을 부르는 일반적인 용어이다. 소프트웨어는 컴퓨터의 변할 수 있는 부품이며, 하드웨어는 변하지 않는 부품이라고 생각할 수도 있다.
소프트웨어는 보통 응용 소프트웨어와 시스템 소프트웨어로 나뉘어지는데, 응용소프트웨어는 사용자들이 직접 관심을 가지고 있는 작업을 처리하는 프로그램을 말하며 시스템 소프트웨어는 운영체계 및 응용 소프트웨어를 지원하는 프로그램을 포함한다.
미들웨어라는 용어는 시스템 소프트웨어와 응용소프트웨어 사이 또는 두 가지 다른 종류의 응용프로그램 사이에서 조정 및 중개 역할을 하는 프로그램을 의미하는 말로 곧잘 사용된다. 추가적이며 분류하기 어려운 부류의 소프트웨어가 바로 유틸리티이다. 이는 작지만 제한된 능력을 가진 우용한 프로그램으로서, 몇몇 유틸리티 프로그램들은 운영체계에 딸려 나오는 경우도 있다. 유틸리티는 응용프로그램과 같이 운영체계의 나머지 부분과는 별도로 설치될 수 있으며, 독립적으로 사용될 수 있는 능력을 가지고 있다. '애플릿'은 작은 응용프로그램으로서, 때로 운영체계에 액세서리로 함께 딸려 나오는 경우가 있다. 애플릿은 자바나 기타 다른 프로그래밍 언어를 사용하여 독립적으로 만들어질 수 있다.
소프트웨어는 정식으로 돈을 내고 구입하거나, 또는 일정기간 동안의 시험기간을 가진 후 판매하려는 의도를 가진 '쉐어웨어', 쉐어웨어의 부류이지만 일부 기증들이 동작하지 않도록 만들어진 '라이트웨어',  판권에 대한 제한이 걸려있는 무료 소프트웨어인 '프리웨어', 그리고 추가 배포에 아무런 제한을 두지 않는 '프리 소프트웨어' 등이 있다.
상용 소프트웨어는 CD-ROM이나 디스켓에 포장되어 있는 것이 보통이지만, 최근엔 상용 소프트웨어를 포함하여, 많은 쉐어웨어 및 프리웨어를 인터넷을 통해 다운로드 받을 수 있도록 환경이 변하고 있다.
펌웨어 또는 마이크로코드는 마이크로프로세서나 램의 특별한 위치에 적재되어 마치 하드웨어의 일부처럼 동작하는 것을 말한다.

펌웨어(firmware)
펌웨어는 PROM(Programmable Read-Only Memory) 내에 삽입되어, 영구적으로 컴퓨터 장치의 일부가 되는 프로그램이다. 펌웨어는 여느 소프트웨어와 같은 과정으로 만들어지며, 마이크로코드 시뮬레이션을 이용하여 테스트된다.
준비가 되면 다른 소프트웨어처럼 배포될 수 있으며, 사용자가 특별한 사용자 인터페이스를 이용하여 PROM 내에 설치할 수 있다. 펌웨어는 때로 프린터나 모뎀 그리고 다른 컴퓨터 장치들의 성능을 높이기 위해 배포되기도 한다. IBM에서는 펌웨어라는 용어 대신에 마이크로코드라는 용어를 즐겨 사용한다.

① ROM에 저장되어 있는 소프트웨어. 펌웨어란 소프트웨어와 하드웨어의 결합이다. 데이터 또는 프로그램을 보관하고 있는 ROM, PROM, EPROM 들이 바로 펌웨어이다.
Software that has been written onto read-only memory(ROM). Firmware is a combination of software and hardware. ROMs, PROMs and EPROMs that have data or programs recorded on them are firmware.

② 하드웨어 장치에 내장되어 있어서 읽기와 실행은 되지만 최종 사용자에 의하여 그 내용이 수정되는 것은 허용되지 않는 소프트웨어.
노트 1 : ROM 소자에 저장되어 있는 컴퓨터 프로그램이 이것의 한 예이다. 소프트웨어를 하드웨어의 형태로 나타낸 것이다.
노트 2 : EPROM에 저장되어 있는 프로그램이 또하나의 예이다. 이를 수정하려면 특별 장치가 필요하며 응용프로그램에 의해서는 수정할 수 없다.
Software that is embedded in a hardware device that allows reading and executing the software, but does not allow modification, e.g., writing or deleting data by an end user.
Note 1 : An example of firmware is a computer program in a read-only memory (ROM) integrated circuit chip. A hardware configuration is usually used to represent the software.
Note 2 : Another example of firmware is a program embedded in an erasable programmable read-only memory(EPROM) chip, which program may be modified by special external hardware, but not by an application program.

③ 컴퓨터나 주변장치의 작동을 제어하기 위하여 ROM에 직접 프로그램되어 있는 영구적인 명령과 데이터. RAM에 저장되어 있어 변경이 가능한 소프트웨어와는 다르다.
Permanent instructions and data programmed directly into the circuitry of read-only memory for controlling the operation of the computer or peripheral devices. Distinct from software, which is stored in read/write memory and can be altered.

④ ROM이나 PROM에 저장되어 있는 소프트웨어. 시스템의 전원이 나가더라도 남아있는 기본적인 프로그램. 펌웨어는 하드웨어보다는 변경이 쉽지만 디스크에 저장되어 있는 소프트웨어보다는 영구적이다.
Software stored in ROM or PROM ; essential programs that remain even when the system is turned off. Firmware is easier to change than hardware but more permanent than software stored on disk.

'마컴' 카테고리의 다른 글

마이크로콘트롤러란 무엇인가?  (0) 2006.10.30
마이크로프로세서란?  (0) 2006.10.30
AND
마이크로콘트롤러란 무엇인가?
마이크로프로세서 중에 1개의 칩내에 CPU 기능은 물론이고 일정한 용량의 메모리(ROM, RAM 등)와 입출력 제어 인터페이스 회로까지를 내장한 것을 특별히 마이크로콘트롤러라고 부른다. 이것은 일반 마이크로프로세서가 널리 사용되기 시작하면서 1970년대 중반부터 나타난 형태로서 범용의 목적보다는 기기 제어용에 주로 사용되므로 붙여진 이름이며, 이는 1개의 소자만으로 완전한 하나의 컴퓨터 기능을 갖추고 있으므로 "단일 칩 마이크로컴퓨터(one-chip 또는 single-chip microcomputer)"라고도 부른다.
    제어 응용 시스템에 마이크로콘트롤러를 사용하게 되면 범용 마이크로프로세서나 하드웨어 논리를 사용하는데 비하여 다음과 같은 장점을 얻을 수 있다.

① 제품이 소형경량화된다.
시스템의 콘트롤러 부분이 마이크로콘트롤러 LSI 1개와 극히 소수의 외부 소자들도 간단히 구성되므로 크기와 무게가 현저히 줄어들고 소비전력도 적어진다. 이에 따라 부수적으로 전원장치까지도 소형경량화된다.
② 제품의 가격이 싸진다. 콘트롤러 부분이 단순화됨에 따라 부품비, 제작비, 개발비가 감소되고, 개발기간도 단축된다.
③ 시스템의 신뢰성이 향상된다.
콘트롤러가 단순화되어 부품수가 적어지고 신뢰도가 높은 소자를 사용하므로 고장률이 감소하며 유지보수가 용이해진다.
④ 시스템의 융통성이 커진다.
하드웨어에 의존하는 부분을 소프트웨어로 처리할 수 있게 되므로 기능의 변경이나 확장에 보다 유연하게 대응할 수 있다.

    종래의 마이크로콘트롤러는 CPU 기능에다 한정된 용량의 메모리(기본적으로 SRAM을 가지고 있으며 EPROM, OTP ROM, 또는 플래시 메모리를 함께 내장하는 모델도 있음)와 인터럽트 제어기, 직렬 및 병렬 인터페이스, 카운터/타이머 등을 내장하는 정도에 불과하였으나, 최근에는 DMA 제어기와 같은 고성능의 I/O 기능, 고속의 직렬통신 기능, A/D 컨버터, PWM 출력, PLL 회로 등을 내장하여 각종 제어 시스템에 사용하기에 보다 편리해지고 있다.
    이와 같이 오늘날의 마이크로콘트롤러는 각 응용분야에 적합하도록 매우 많은 종류와 모델이 개발 사용되고 있으며, 범용 마이크로프로세서를 지칭하는 MPU와 구별하여 MCU (MicroController Unit 또는 MicroComputer Unit)라고 부르기도 한다.

   < 주의 1 > 보통 넓은 의미에서 마이크로프로세서라고 하면 범용 마이크로프로세서(MPU)는 물론이고 마이크로콘트롤러(MCU)나 RISC 프로세서, DSP 등 CPU의 기능을 포함하는 단일 반도체 소자를 모두 지칭하는 포괄적인 개념이 된다.

   < 주의 2 > 우리는 "원칩" 또는 "싱글칩"이라는 말을 전혀 엉뚱하게 잘못 사용하는 사례를 흔히 볼 수 있다. 즉, "원칩 마이크로프로세서"나 "싱글칩 마이크로프로세서"는 잘못된 표현이다. "마이크로프로세서"라는 말에는 이미 단일 반도체 소자라는 개념이 포함되어 있으므로 여기에 굳이 "원칩"이나 "싱글칩"이라는 말을 덧붙이는 것은 옳지 않으며, 이는 "역전앞", "처가집"과 같은 경우가 되는 것이다. 그러나, "원칩 마이크로컴퓨터"나 "싱글칩 마이크로컴퓨터"라는 표현은 정당하다. 마이크로컴퓨터는 CPU(MPU)에 여러 가지의 메모리 소자나 I/O 소자들을 접속하여 만들어지는 것이 일반적인데 이를 하나의 소자로 집적하였으니 당연히 "원칩 마이크로컴퓨터"요 "싱글칩 마이크로컴퓨터"라 할 수 있는 것이다. 시중에는 분명히 마이크로콘트롤러에 관한 책인데 "원칩 마이크로프로세서..."라는 식으로 제목을 달아놓은 웃기는 책도 있다.



(출처 : 윤교수의 마이크로프로세서 월드)

'마컴' 카테고리의 다른 글

하드웨어와 소프트웨어?  (0) 2006.10.30
마이크로프로세서란?  (0) 2006.10.30
AND
마이크로프로세서란?
마이크로프로세서(Mircoprocessor, 간단히 "μP"라고 표기함)는 컴퓨터의 중앙처리장치(Central Processing Unit ; CPU)를 단일 IC(Integrated Circuit) 칩에 집적시켜 만든 반도체 소자로서, 1971년에 미국의 Intel사에 의하여 세계 최초로 만들어졌으며 오늘날은 이를 흔히 MPU(MicroProcessor Unit)라고 부르기도 한다.
    즉, 마이크로프로세서는 CPU의 여러 형태중에서 1개의 소자로 만들어진 종류이므로, 모든 마이크로프로세서는 CPU이지만 모든 CPU가 곧 마이크로프로세서인 것은 아니다. 그러나, 이를 MPU라고 부를 때는 이것이 곧 마이크로프로세서를 의미한다. 이것은 일반 컴퓨터의 중앙처리장치에서 주기억장치를 제외한 연산장치, 제어장치 및 각종 레지스터들을 단지 1개의 IC 소자에 집적시킨 것이므로 연산
演算, 제어制御, 판단判斷, 기억記憶, 계시計時, 프로그램에 의한 처리 등의 기본적인 처리기능은 일반 중 대형 컴퓨터의 CPU에 비하여 별로 다를 바가 없다.
    한편, 이와 같은 마이크로프로세서를 CPU로 사용하여 만든 소형 컴퓨터를 마이크로컴퓨터(microcomputer)라고 한다. 이에 비하여 미니컴퓨터 이상의 중대형 컴퓨터에서는 CPU를 많은 소자를 사용하여 전용으로 설계하게 된다. 마이크로컴퓨터에서처럼 마이크로프로세서를 사용하여 컴퓨터를 설계하면 CPU가 하나의 IC 소자로 간단히 구성되므로 전체 시스템이 소형경량화小形輕量化되고, 소비전력이 적어지며, 가격이 낮아질 뿐만 아니라 부품수가 적어서 시스템의 신뢰성이 높아지는 등의 장점을 갖는다.
    이와 같이 마이크로컴퓨터가 대형이나 미니컴퓨터와 구별되는 가장 큰 구조상의 특징은 CPU로서 마이크로프로세서를 사용한다는 것인데, 최근에는 미니컴퓨터급에 마이크로프로세서를 사용하는 경우가 점점 많아지고 있어서 이들의 분류기준이 모호해지고 있다. 또한, 이처럼 마이크로컴퓨터의 성능이 크게 향상되어 수퍼마이크로화化함에 따라 미니컴퓨터의 입지立地는 점점 좁아지고 있다.

(출처 : 윤교수의 마이크로프로세서 월드)

'마컴' 카테고리의 다른 글

하드웨어와 소프트웨어?  (0) 2006.10.30
마이크로콘트롤러란 무엇인가?  (0) 2006.10.30
AND

이 블로그를 다시 시작합니다.

Ego君의 인터넷 놀이터 테터 분점은 예전에 이글루스에서 옮겼던 글들을 싹 지우고 새출발을 하게되었습니다.

지금도 이글루스를 쓰는데 테터와 같은 내용을 올리는 것은 DB의 낭비이기 때문입니다.(거기에 똑같은 내용을 중복해서 올릴 필요가 있는지?)

이 블로그는 이글루스와 완전 다르게 운영될 예정입니다.

이글루스는 인터넷 놀이터에 걸맞게 저의 취향에 맞게 운영될 것이고 테터 블로그는 스터디쪽으로 운영할 예정입니다.

AND

StudioEgo의 Mobile Blog

블로그 이미지
새롭게 시작하는 Mobile Blog입니다. 여기서는 Mobile 관련 뉴스, 프로그래밍(주로 Android, Linux, GTK+, Windows Phone, iOS, etc)등 모바일 관련 내용을 쭉 올리는 블로그입니다.
by StudioEgo