shopkeeper/korean_wiki_content_only_120125 huggingface dataset:
코모도어 베이직의 함수는 시계를 사용하여 난수를 생성할 수 있다. 이는 을 통해 이루어지지만, 0에서 255 사이의 숫자만 반환되므로 활용도가 상대적으로 제한적이다. 그 외에는 는 다른 마이크로소프트 베이직 구현과 동일하게 작동하는데, C64의 메모리 위치 에 전원 켤 때 저장된 고정된 5바이트 시드 값을 통해 의사 난수 시퀀스를 사용한다 (위치는 다른 기기마다 다르다). 0보다 큰 어떤 숫자와 함께 를 사용하면 함수에 포함된 값과 현재 시드 값을 합쳐서 난수를 생성하며, 시드 값은 RND 함수가 실행될 때마다 1씩 업데이트된다. 음수와 함께 를 사용하면 숫자로 지정된 현재 시드 값의 시퀀스 내 특정 지점으로 이동한다.
문으로는 진정한 난수 생성이 불가능하므로, C64 및 C128에서는 SID 칩의 화이트 노이즈 채널을 난수 생성에 활용하는 것이 더 일반적이다.
베이직 2.0은 문자열의 매우 느린 가비지 컬렉션으로 악명이 높았다. 가비지 컬렉션은 함수가 실행될 때마다 자동으로 호출되며, 프로그램 실행 과정에서 많은 문자열 변수와 배열이 조작되었다면, 최악의 조건에서 이들을 정리하는 데 한 시간 이상이 걸릴 수 있다. 또한, 베이직은 이 루틴을 수행하는 동안 RUN/STOP 키를 스캔하지 않으므로 가비지 컬렉션을 중단하는 것도 불가능하다. 베이직 4.0은 백 포인터가 있는 개선된 가비지 컬렉션 시스템을 도입했으며, 이후의 모든 코모도어 베이직 구현도 이를 포함한다.
베이직 2.0의 함수는 32768을 초과하는 부호 있는 숫자를 처리할 수 없는 또 다른 기술적 결함을 겪었다. 따라서 C64(38k 베이직 메모리)에서 이 함수를 호출하면 음수 크기의 여유 베이직 메모리가 표시되었다 (보고된 숫자에 65535를 더하면 정확한 여유 메모리 양을 얻을 수 있다). PET와 VIC-20은 베이직에서 사용할 수 있는 총 메모리가 32k를 넘지 않았으므로, 이 제한은 C64가 개발될 때까지 명확히 드러나지 않았다. 베이직 3.5 및 7.0의 함수는 이 문제를 수정했으며, 베이직 7.0의 는 또한 두 가지 기능으로 "분할"되었다. 하나는 여유 베이직 프로그램 텍스트 메모리를 표시하고, 다른 하나는 여유 변수 메모리를 표시했다.
코모도어 64는 기본 베이직 2.0의 기능이 상대적으로 제한적이었기 때문에 많은 베이직 확장팩이 출시되었다. 가장 인기 있는 확장팩 중 하나는 코모도어 1541 테스트/데모 디스크에 포함된 DOS 웨지였다. 이 1KB 확장팩은 메모리의 프로그램을 손상시키지 않고 디스크 디렉토리를 읽는 기능을 포함하여 여러 디스크 관련 명령을 추가했다. 그 기능은 이후 인기 있는 Epyx FastLoad 카트리지와 같은 다양한 서드파티 확장팩에 통합되었다. 다른 베이직 확장팩은 사이먼 베이직 (1983) 및 비전 베이직 (2022)과 같이 스프라이트, 사운드, 고해상도 그래픽을 더 쉽게 코딩할 수 있도록 추가 키워드를 추가했다.
베이직 2.0의 사운드 또는 그래픽 기능 부족이 많은 사용자에게는 실망스러웠지만, 일부 비평가는 궁극적으로 사용자에게 기계어를 배우도록 강요했기 때문에 유익했다고 주장했다.
C64의 베이직 2.0의 한계로 인해 베이직에서 내장 ROM 기계어를 사용하게 되었다. 지정된 메모리 위치에 파일을 로드하려면, 파일 이름, 드라이브, 장치 번호가 호출에 의해 읽혀진다: ; 위치는 X 및 Y 레지스터에 지정된다: ; 그리고 로드 루틴이 호출된다: .
C64용 디스크 매거진인 로드스타는 취미 프로그래머들을 위한 장소였으며, 그들은 명령으로 호출되는 베이직용 프로토-명령어 모음을 공유했다.
현대 프로그래밍 관점에서, 코모도어 베이직의 초기 버전은 프로그래머에게 많은 나쁜 프로그래밍 함정을 제공했다. 이러한 문제의 대부분은 마이크로소프트 베이직에서 파생되었으므로, 당시의 거의 모든 가정용 컴퓨터 베이직이 유사한 결함을 겪었다. 마이크로소프트 베이직 프로그램의 모든 라인에는 프로그래머가 줄 번호를 할당했다. 프로그램 편집 또는 디버깅 중 라인을 쉽게 삽입할 수 있도록 숫자를 일정 값(5, 10 또는 100)으로 증분하는 것이 일반적인 관행이었지만, 잘못된 계획은 프로그램에 큰 섹션을 삽입할 때 전체 코드를 재구성해야 하는 경우가 많다는 것을 의미했다. 일반적인 기술은 낮은 줄 번호에서 ON...GOSUB 점프 테이블로 프로그램을 시작하고, 프로그램 본문은 1000, 2000 등과 같은 지정된 줄 번호로 시작하는 섹션으로 구성하는 것이었다. 큰 섹션을 추가해야 하는 경우, 다음 사용 가능한 주요 줄 번호를 할당하고 점프 테이블에 삽입할 수 있었다.
게다가 모든 변수는 전역 변수로 취급된다. FOR...NEXT 구문 이상의 명확하게 정의된 루프는 만들기가 어려워, 종종 프로그래머가 명령에 의존하게 만들었다 (이는 나중에 베이직 3.5에서 및 명령이 추가되면서 수정되었다). 특정 작업을 수행하기 위해 플래그 변수를 생성해야 하는 경우가 많았다.
코모도어 및 기타 플랫폼의 후기 베이직 버전에는 및 명령과 선택된 증분에 따라 라인 번호를 자동으로 선택하고 삽입하는 AUTO 라인 번호 지정 명령이 포함되었다. 코모도어의 초기 베이직은 디버깅 명령도 부족하여 버그와 사용되지 않는 변수를 찾아내기 어려웠다. Z80 마이크로소프트 베이직의 표준 부분이었던 구조는 코모도어 베이직의 이전 버전에서는 사용할 수 없었다가 베이직 3.5에 추가되었다.
사용자 인터페이스로서의 활용.
다른 가정용 컴퓨터와 마찬가지로, 코모도어의 기기들은 베이직 인터프리터로 직접 부팅되었다. 베이직의 파일 및 프로그래밍 명령은 직접 모드로 입력하여 소프트웨어를 로드하고 실행할 수 있었다. RUN/STOP 키를 사용하여 프로그램 실행이 중단되면, 변수 값은 RAM에 보존되었고 디버깅을 위해 PRINT할 수 있었다. 128은 심지어 두 번째 64k 뱅크를 변수 저장 공간으로 할당하여, `NEW` 또는 `RUN` 명령이 발행될 때까지 값이 유지되도록 했다. 이는 코모도어 베이직에 포함된 고급 화면 편집기와 함께 프로그래밍 환경에 REPL과 유사한 느낌을 주었다. 프로그래머는 화면의 어느 위치에서든 프로그램 라인을 삽입하고 편집하며, 대화식으로 프로그램을 구축할 수 있었다. 이는 당시의 CP/M이나 MS-DOS와 같이 일반적으로 명령줄 인터페이스로 부팅되던 비즈니스 지향 운영 체제와 대조된다. 이러한 플랫폼에서 프로그래밍 언어가 필요한 경우, 별도로 로드해야 했다.
코모도어 베이직의 일부 버전에는 디스크별 `DLOAD` 및 `DSAVE` 명령이 포함되어 있었지만, 코모도어 64에 내장된 버전에는 이러한 기능이 없었다. 이는 사용자가 표준 `LOAD` 명령에 디스크 드라이브의 장치 번호 (일반적으로 8 또는 9)를 지정해야 했으며, 그렇지 않으면 기본적으로 테이프로 설정되었다. 코모도어 64의 베이직 2.0에서 또 다른 누락은 메인 메모리를 지우지 않고 디스크 내용을 표시하는 `DIRECTORY` 명령이었다. 64에서는 디스크의 파일을 보는 것이 "프로그램"을 로드하는 방식으로 구현되었는데, 이 프로그램은 목록화될 때 디렉토리를 라인 번호로 파일의 블록 크기를 가진 의사 베이직 프로그램으로 표시했다. 이는 현재 로드된 프로그램을 덮어쓰는 효과를 가졌다. DOS 웨지와 같은 추가 기능은 디렉토리 목록을 화면 메모리에 직접 렌더링함으로써 이를 극복했다.
버전 및 기능.
CBM 베이직 버전 목록을 시간 순서대로 나열하며, 점진적으로 추가된 기능은 다음과 같다.
카차마크() 또는 푸라()는 서아시아와 동남유럽 일부 지역에서 만들어지는 옥수수 포리지의 일종이다. 이름은 튀르키예어 에서 유래되었으며, '도피'를 의미한다.
이 요리는 콘밀로 만든다. 감자, 우유, 화이트 치즈 또는 카이마크가 때때로 첨가된다. 압하지아 요리의 아비스따, 체르케스 요리의 마미스, 이탈리아 요리의 폴렌타 및 루마니아 요리의 머멀리거와 유사하게, 콘밀을 끓인 다음 냄비가 스토브에 있는 동안 으깨어 준비한다. 한때는 가난한 사람의 음식으로 여겨졌으나, 지금은 식당을 포함하여 널리 먹는다.
불가리아에서는 전통적으로 적은 양의 갈색 파프리카 가루나 고추를 넣은 데운 라드나 해바라기유와 함께 제공된다. 종종 돼지 껍데기나 시레네가 추가된다.
몬테네그로, 알바니아 및 보스니아 헤르체고비나에서는 카차마크를 으깬 감자와 치즈를 사용하여 걸쭉한 덩어리가 될 때까지 준비하기도 한다.
중앙세르비아에서는 더 고운 입자의 흰 콘밀로 준비하며, 흰 치즈와 카이마크를 곁들인다. 보통 버터에 구운 다진 고기, 끓인 포도 주스, 우유, 플레인 요구르트, 벌꿀, 사워크림, 또는 때로는 베이컨과 함께 제공된다.
문워크(MOON's walking)는 2025년에 개봉한 대한민국의 영화이다.
88000 또는 줄여서 m88k는 1980년대 모토로라가 개발한 RISC 명령어 집합이다. MC88100은 경쟁 제품인 SPARC와 MIPS가 출시된 지 약 2년 후인 1988년에 시장에 출시되었다. 늦은 시작과 2세대 MC88110 출시의 광범위한 지연으로 인해, m88k는 MVME 플랫폼과 임베디드 컨트롤러 환경 외에서는 매우 제한적인 성공을 거두었다. 모토로라가 AIM 얼라이언스에 1991년 합류하여 파워PC를 개발하면서 88000의 추가 개발은 중단되었다.
모토로라는 1980년대에 강세를 보였다. 회사의 최근 출시된 모토로라 68000은 시장의 다른 어떤 마이크로프로세서보다도 뛰어난 성능을 보였고, 32비트 아키텍처는 신흥 워크스테이션 시장에 자연스럽게 적합했다. 인텔은 32비트 시장에 적극적으로 진출하지 않았고, 내셔널 세미컨덕터와 같이 진출한 회사들은 출시를 망쳐 인텔이 아닌 모든 것을 모토로라가 장악하게 되었다. 당시 인텔은 전체 컴퓨터 시장의 약 80%를 차지했고, 모토로라는 나머지 90%를 장악했다.
이러한 상황에서 1980년대 초 RISC 개념이 도입되었다. 처음에는 이 개념이 실제로 성능을 향상시킬지, 아니면 더 긴 기계어 프로그램이 추가적인 메모리 접근으로 인해 실행 속도를 실제로 늦출지에 대한 업계 내에서 치열한 논쟁이 있었다. 그러한 논쟁은 1980년대 중반에 첫 RISC 기반 워크스테이션이 등장하면서 끝났다. 20MHz 모토로라 68030에서 실행되는 최신 Sun-3/80은 약 3MIPS를 제공했지만, 16MHz SPARC를 탑재한 첫 SPARC 기반 Sun-4/260은 10MIPS를 제공했다. 휴렛 팩커드, DEC 및 기타 대형 벤더들은 모두 RISC 플랫폼으로 전환하기 시작했다.
이러한 시장 변화는 모토로라를 워크스테이션 시장에서 배제시킬 가능성이 있었는데, 이 시장은 모토로라의 유일한 강력한 거점 중 하나이자 가장 수익성이 높은 시장이었다. 애플은 워크스테이션 시장 외에서 모토로라의 유일한 대형 벤더로 남아 있었다. 68000의 다른 사용자, 특히 아타리 코퍼레이션과 코모도어 인터내셔널은 IBM PC 호환기종으로 빠르게 표준화되는 시장에서 고전하고 있었다.
모토로라의 접근법.
RISC 설계는 프로세서를 해당 플랫폼의 컴파일러가 호출하는 연산 유형에 맞게 조정하려는 의식적인 노력이었다. 유닉스 워크스테이션의 경우, C 프로그래밍 언어였다. IBM 801 프로젝트는 컴파일러가 일반적으로 사용 가능한 명령어의 대부분을 사용하지 않고, 대신 가장 간단한 버전의 명령어를 사용한다는 점을 지적했는데, 이는 종종 이러한 명령어들이 가장 빠르게 수행되었기 때문이었다. 그러나 이러한 명령어의 다른 버전을 제공하는 회로는 가장 간단한 버전에도 오버헤드를 추가했다. CPU에서 이러한 사용되지 않는 명령어를 제거하면 이 오버헤드가 제거되고 칩에 상당한 공간이 확보되었다. 이는 프로세서 레지스터의 수를 늘릴 공간을 제공했으며, 이는 제거된 특수 경우 명령어보다 성능에 훨씬 더 큰 영향을 미쳤다. 이러한 이유로 RISC 개념은 컴파일러의 실제 설계에 의해 주도된다고 말할 수 있다.
88000 설계에 대한 모토로라의 기사들은 단일 사이클 명령어, 대형 프로세서 레지스터 파일 및 RISC 개념의 다른 특징들을 언급하지만, "RISC"라는 단어는 한 번도 언급하지 않는다. 기존 RISC 설계가 이미 시장에 진출했기 때문에, 회사는 이들과 경쟁하려고 시도하지 않고 대신 세계에서 가장 강력한 프로세서를 생산하기로 결정했다. 이를 위해 이전 시대의 가장 빠른 컴퓨터 중 하나인 CDC 6600 슈퍼컴퓨터에서 설계 노트를 가져왔다. 특히, 6600의 스코어보드 개념을 채택했다. 스코어보딩은 CPU가 명령어의 레지스터 사용을 검사하고 아직 완료되지 않은 이전 계산에 의존하지 않는 명령어들을 즉시 디스패치할 수 있도록 했다. 이는 명령어들이 필요한 데이터를 가진 명령어들이 다른 명령어들이 캐시나 메모리에서 데이터를 로드하는 동안 실행될 수 있도록 재정렬될 수 있게 했다. 이러한 명령어 재정렬은 사용률을 최대 35%까지 향상시킬 수 있었다.
이 디자인은 또한 별도의 데이터 및 명령어 주소 버스를 사용했다. 이는 핀 수 측면에서 비용이 많이 들었다. 명령어 및 데이터 캐시 모두 주소에 32개 핀, 데이터에 32개 핀이 있어 전체 시스템은 "P-버스"에 128개 핀을 사용했다. 이 디자인은 작업의 약 3분의 1만이 메모리 관련이라는 관찰에 기반을 두었다. 나머지는 이미 읽은 데이터에서 작동했다. 이는 외부 명령어 캐시에 전용 명령어 경로를 갖는 것을 강력히 선호했다. 캐시와 관련 메모리 관리 장치 (MMU)는 처음에는 외부에 있었고, 캐시 컨트롤러는 데이터 또는 명령어 버스에 연결될 수 있었으며, 각 버스에 최대 4개의 컨트롤러가 사용될 수 있었다. 내부적으로는 세 개의 32비트 버스가 있었고, 레지스터에 데이터를 읽고 쓰는 데 필요한 다양한 방식으로 내부 장치에 연결되었다.
새로운 설계의 또 다른 특징은 특수화된 코프로세서 또는 "특수 기능 유닛"(SFU)에 대한 내장 지원이었다. 기본적으로 지원되는 내부 명령 외에도 코프로세서가 사용할 수 있는 256개의 명령어 블록을 따로 설정했다. 이는 시스템을 사용자 정의하려는 설계자들을 위한 것이었다. 새로운 기능 유닛은 기존 명령어 집합에 영향을 주지 않고 추가될 수 있었으며, 이는 주요 기능에 대한 소프트웨어 호환성을 보장했다. 모든 88000에는 SFU1(부동 소수점 장치(FPU))이 이미 설치되어 있었다. 브랜치 및 점프 명령어에는 지연된 브랜치 옵션(.n)이 포함되어 있는데, 이는 브랜치 조건과 관계없이 브랜치 대상 명령어 이전에 다음 순차 명령어(subsequent sequential instruction)가 실행되도록 지정할 수 있다. 브랜치 지연 슬롯에 브랜치 명령어 또는 명령어 포인터를 변경할 수 있는 다른 명령어를 배치하는 것은 향후 호환성을 유지하기 위해 권장되지 않는다.
1987년까지 모토로라가 자체 RISC 프로세서를 설계하고 있다는 사실은 널리 알려졌다. 이전 68000에 대한 경의를 표하며 컴퓨터 업계에서 "78000"이라고 불리던 이 프로세서는 1988년 4월에 출시될 때 88000이 되었다.
설계의 복잡성으로 인해 CPU는 단일 칩에 들어가지 않았다. 1년 일찍 출시된 68030은 산술 논리 장치 (ALU)와 메모리 관리 장치 (MMU)를 단일 칩에 포함하고 있었으며, 선택 사항인 부동소수점 장치 (FPU)는 별도의 칩이었다. 대조적으로, 88000은 ALU와 FPU를 75만 트랜지스터 MC88100에 함께 패키징했고, 메모리 관리 장치 (MMU)와 16KB 정적 램 캐시는 75만 트랜지스터 MC88200에 담았다. FPU가 진정으로 선택 사항이었던 68030과 달리, 실제적인 88000 시스템은 적어도 하나의 MC88200 없이는 구축될 수 없었다. 시스템은 하나 이상의 MC88200을 포함할 수 있었고, 더 큰 캐시를 생성하고 성능 향상을 위해 메인 메모리로의 여러 경로를 허용했다.
하이엔드 시장을 겨냥한 이 제품은 출시 당시 세계에서 가장 빠른 32비트 프로세서로 평가받았다. 20MHz로 구동되며 34,000 드라이스톤즈 또는 17 VUPS에 도달했다. 이는 SPARC스테이션의 같은 시기 12.5MHz SPARC의 약 12MIPS, 또는 20MHz 68030의 약 3.3MIPS와 비교된다. 또한 25MHz 부품으로 21MIPS, 48,387 드라이스톤즈로도 제공되었다.
당시 모토로라는 88000을 "통신, 인공지능, 그래픽, 3D 애니메이션, 시뮬레이션, 병렬 처리 및 슈퍼컴퓨터"를 포함한 시장의 하이엔드에 엄격하게 마케팅했으며, 기존 68k 시리즈는 워크스테이션 시장에서 계속 사용될 것이라고 제안했다. 대신, 대부분의 잠재 고객은 88000을 무시했고, 이 시스템은 거의 사용되지 않았다.
초기 출시가 모토로라 자체 제품 외에는 거의 사용되지 않았고, 전통적인 고객들이 다른 RISC 디자인으로 이동하기 시작하면서, 회사는 이 디자인을 단일 칩 형태인 MC88110으로 재출시했다. 1980년대 후반, NeXT, 애플 컴퓨터 및 아폴로 컴퓨터를 포함한 여러 회사들이 미래 사용을 위해 88000 시리즈를 적극적으로 검토했지만, 88110이 1992년에 마침내 출시될 무렵에는 모두 이 디자인을 포기했다.
썬 마이크로시스템즈가 SPARC 디자인으로 시도했던 것과 유사하게 88open 그룹을 통해 시스템을 대중화하려는 시도가 있었다. 이는 실질적인 의미에서 실패한 것으로 보인다.
1990년대 초 모토로라는 AIM 노력에 참여하여 IBM POWER 아키텍처를 기반으로 하는 새로운 RISC 아키텍처를 개발했다. 모토로라는 고객들에게 일종의 업그레이드 경로를 제공하기 위해 88000의 몇 가지 기능(예: 호환되는 버스 인터페이스)을 새로운 파워PC 아키텍처에 통합했다. 그 시점에 88000은 가능한 한 빨리 폐기되었다.
이전의 68000처럼 88000은 "클린" 설계로 여겨졌다. 88000은 독립적인 명령어 및 데이터 캐시(하버드 아키텍처)와 독립적인 데이터 및 주소 버스를 갖춘 순수한 32비트 로드/스토어 아키텍처이다. 작고 강력한 명령어 집합을 가지며 평면 주소 공간을 사용한다.
특이한 아키텍처적 특징은 정수 명령어와 부동소수점 명령어 모두 동일한 레지스터 파일을 사용한다는 점이다.
88000 ISA의 첫 번째 구현은 통합 FPU를 포함한 MC88100 마이크로프로세서였다. 이와 결합된 것은 MC88200 MMU 및 캐시 컨트롤러였다. 이러한 기능 분할의 이면에는 멀티프로세서 시스템을 더 쉽게 구축할 수 있도록 하려는 아이디어가 있었다. 하나의 MC88200은 최대 4개의 MC88100을 지원할 수 있었다. 그러나 이는 또한 단일 프로세서로 가장 기본적인 시스템을 구축하려면 두 칩과 그 사이의 상당한 배선이 필요하여 비용이 증가한다는 것을 의미했다. 이것이 88000의 제한적인 성공의 또 다른 주요 원인이 되었을 가능성이 크다.
MC88100은 오류 허용을 위해 두 개 이상의 중복 MC88100을 사용하는 '마스터/체커' 기능을 구현했다.
이 응용 프로그램에서는 두 프로세서가 함께 연결된다. 마스터 프로세서(PCE 비활성화)는 정상적으로 작동한다. 체커 프로세서(PCE 활성화)는 ERR를 제외한 모든 출력을 고임피던스 상태로 전환하고, 모든 출력을 입력으로 모니터링한다. 체커 프로세서는 마스터 프로세서와 동일한 작업을 수행하고 내부 결과를 고임피던스 핀에서 읽은 결과와 비교한다. 마스터와 체커 간에 불일치가 발생하면 체커는 ERR를 활성화한다. 그런 다음 외부 로직은 시스템에 대한 적절한 조치를 결정해야 한다.
패키징 및 비용 문제는 나중에 슈퍼스칼라 MC88110에 의해 해결되었는데, 이는 CPU, FPU, MMU 및 L1 캐시를 단일 패키지에 통합했다. MIT의 *T 프로젝트의 요청에 따라 추가적인 수정이 이루어져 MC88110MP가 탄생했으며, 이는 멀티프로세서 시스템에서 사용하기 위한 온칩 통신 기능을 포함했다. 100MHz까지 속도를 낼 수 있는 버전은 MC88120으로 계획되었지만, 결코 제작되지 않았다.
임베디드 애플리케이션용 구현인 MC88300은 1990년대 초 개발 중이었으나, 결국 취소되었다. 포드 모터 컴퍼니는 이 칩을 사용할 계획이었는데, 통신업체들의 채택과 더불어 이 아키텍처의 영구적인 실행 가능성을 보장하는 것으로 여겨졌다. 모토로라는 파워PC 설계를 대체품으로 제안했고, 포드는 이를 수락했다.
제품 및 애플리케이션.
모토로라는 88000 기반 "즉시 사용 가능" 시스템 구축을 위한 MVME 시리즈라고 알려진 단일 보드 컴퓨터 시리즈와 이러한 MVME 보드를 사용하는 Series 900 스택형 컴퓨터를 출시했다. 타워 또는 랙 마운트 시스템과 달리, Series 900은 서로 쌓여 있었고 버스형 케이블링으로 서로 연결되었다. 이 개념은 인기를 얻지 못했다.
주요 서드파티 사용자는 제한적이었다. 유일하게 널리 사용된 곳은 데이터 제너럴 AViiON 시리즈였다. 이들은 상당히 인기가 있었고, 오늘날에도 제한적으로 사용되고 있다. 후기 모델에서는 DG가 인텔로 전환했다. 앙코르 컴퓨터는 m88k에 기반한 Encore-91 기계를 만들었고, 이어서 Infinity 90 시리즈로 완전히 새로운 디자인을 선보였지만, 이 기계가 얼마나 많이 팔렸는지는 불분명하다. 앙코르는 알파로 전환했다. 텍트로닉스는 1989년 4월에 XD88 그래픽 워크스테이션 라인을 출시했다.
GEC 컴퓨터는 MC88100을 사용하여 GEC 4310을 만들었지만, 메모리 관리 문제로 인해 회사의 이전 게이트 어레이 기반 및 Am2900 기반 GEC 4000 시리즈 컴퓨터만큼 성능이 좋지 않았다. BBN 버터플라이 모델 TC-2000은 MC88100 프로세서를 사용했으며, 최대 512개의 CPU로 확장되었다. 리노타이프-헬은 이미지 조작을 위한 다빈치 래스터 그래픽스 편집기를 실행하는 "파워" 워크스테이션에 88110을 사용했다.
MC88110은 출시되지 않은 NeXT 컴퓨터인 NeXT RISC 워크스테이션의 일부 버전에 포함되었지만, 1993년 모든 NeXT 하드웨어 프로젝트와 함께 취소되었다. 일본의 4프로세서 OMRON LUNA-88K 기계는 m88k를 사용했으며, 카네기 멜런 대학교의 마하 커널 프로젝트에 잠시 사용되었다. 1990년대 초 노던 텔레콤은 MC88100과 MC88110을 DMS SuperNode 전화 스위치 제품군의 중앙 프로세서로 사용했다.
대부분의 다른 사용자는 훨씬 더 소규모였다. 알파 마이크로시스템즈는 원래 모토로라 68000에서 88K 아키텍처로 전환할 계획이었고, 내부적으로 유닉스 시스템 V를 실행하는 기계를 만들었지만, 나중에 68K 파생 모델을 선호하여 폐기되었다. NCD는 88100(88200 없이)을 88K X-터미널에 사용했다. 사망 직전의 노르스크 데이터에서 분사한 돌핀 서버는 88k 기반 서버를 구축했다. 1988년부터 1992년까지 약 100대가 출하되었다.
버추얼리티는 SU2000 가상 현실 아케이드 기기에서 그래픽 프로세서로 MC88110을 사용했으며, 각 가상 현실 헤드셋 화면당 하나의 MC88110을 사용했다.
임베디드 컴퓨터 분야에서는 F-15 S/MTD의 "트라이채널 VMS 컴퓨터"가 3개의 88000을 3중 이중화 컴퓨터에 사용했다.
모토로라는 자체 유닉스 시스템 V 파생 시스템인 System V/88을 88000 기반 시스템용으로 출시했다. 주요 릴리스는 릴리스 3.2 버전 3과 릴리스 4.0 버전 3이었다.&lt;ref name="UNIX System V/88"&gt;&lt;/ref&gt; 데이터 제너럴 AViiON 시스템은 DG/UX를 실행했다. 오픈BSD 포트는 MVME 시스템,&lt;ref name="OpenBSD/mvme88k"&gt;OpenBSD/mvme88k&lt;/ref&gt; LUNA-88K 워크스테이션,&lt;ref name="OpenBSD/luna88k"&gt;OpenBSD/luna88k&lt;/ref&gt; 및 데이터 제너럴 AViiON 시스템용으로 존재한다.&lt;ref name="OpenBSD/aviion"&gt;OpenBSD/aviion&lt;/ref&gt; MVME 시스템용으로 적어도 하나의 비공식적인 실험적 NetBSD 포트가 존재한다.&lt;ref name="NetBSD/m88k"&gt;NetBSD/m88k Unofficial port of NetBSD 3.x&lt;/ref&gt;
포파라 (키릴 문자: попара, , papara, )는 빵으로 만든 요리이다. 일반적으로 빵은 오래되거나 딱딱하며 두꺼운 껍질을 가지고 있어야 한다. 뜨거운 차, 우유 또는 물에 적신다. 설탕, 벌꿀, 버터, 치즈가 자주 첨가된다. 주로 불가리아, 그리스, 세르비아, 보스니아 헤르체고비나, 북마케도니아, 튀르키예, 크로아티아, 몬테네그로에서 만들어진다.
SPARCstation, SPARCserver 및 SPARCcenter 제품군은 썬 마이크로시스템즈에서 개발 및 판매한 데스크톱, 데스크사이드(받침대) 및 랙 기반 폼 팩터 구성의 SPARC 기반 워크스테이션 및 서버 시리즈이다.
첫 번째 SPARCstation은 1989년에 출시된 SPARCstation 1(썬 4/60으로도 알려짐)이었다. 이 시리즈는 매우 인기가 있었으며, 이전에 썬 4/260에 도입된 Sun-4 아키텍처의 변형인 Sun-4c 아키텍처를 도입했다. 모토로라의 최신 프로세서 개발 지연 덕분에 SPARCstation 시리즈는 전체 산업에서 매우 성공적이었다. SPARCstation 이름을 가진 마지막 모델은 SPARCstation 4였다. 워크스테이션 시리즈는 1995년에 Sun Ultra 시리즈로 교체되었으며, 다음 썬 서버 세대는 1996년에 출시된 Sun Enterprise 라인이었다.
동일한 모델 번호를 가진 데스크톱 및 데스크사이드 SPARCstation 및 SPARCserver는 본질적으로 동일한 시스템이었으며, 유일한 차이점은 서버로 지정된 시스템은 일반적으로 "헤드리스"(즉, 그래픽 카드와 모니터 없이 구성됨)였고, "데스크톱" OS 라이선스 대신 "서버" OS 라이선스와 함께 판매되었다는 것이다. 예를 들어, SPARCstation 20과 SPARCserver 20은 메인보드, CPU, 케이스 디자인 및 대부분의 다른 컴퓨터 하드웨어 사양에서 거의 동일했다.
대부분의 데스크톱 SPARCstation 및 SPARCserver는 "피자 박스" 또는 "도시락" 인클로저로 출하되었는데, 이는 이전 썬 및 당시 경쟁 시스템과는 상당한 차이가 있었다. SPARCstation 1, 2, 4, 5, 10, 20은 "피자 박스" 기계였다. SPARCstation SLC 및 ELC는 썬 모노크롬 모니터 인클로저에 통합되었고, SPARCstation IPC, IPX, SPARCclassic, SPARCclassic X 및 SPARCstation LX는 "도시락" 기계였다.
"30" 또는 "70"으로 끝나는 SPARCserver 모델은 데스크사이드 받침대 인클로저(각각 5슬롯 및 12슬롯 VME버스 섀시)에 수용되었고, "90"으로 끝나는 모델과 SPARCcenter 2000은 랙마운트 캐비닛 인클로저에 들어갔다. SPARCserver 1000의 디자인은 대형 랙 장착형 데스크톱 장치였다.
SPARCstation 10 및 20과 같은 SPARCstation 시리즈의 후기 버전은 MBus 고속 버스 기반이므로 다중 프로세서 시스템으로 구성할 수 있었다. 이 시스템은 MBus 모듈로 패키징된 하나 또는 두 개의 단일 또는 이중 중앙 처리 장치를 수용할 수 있었다.
SPARCserver 600MP 시리즈 출시 전까지 모든 SPARCstation/server 모델에는 썬 4-시리즈 모델 번호도 할당되었다. 이후 모델에는 S-접두사 모델 번호가 부여되었다.
모델은 범주 내에서 대략 연대순으로 나열되어 있다.
서버 시스템.
위 구성은 썬 마이크로시스템즈에서 지원하는 구성이었다는 점에 유의한다. SPARCstation/server 시스템에는 다양한 타사 프로세서 업그레이드가 가능했는데, 예를 들어 SPARCstation 2 또는 IPX용 80MHz 와이텍 POWER μP 또는 최대 200MHz 클럭 속도로 평가된 로스 hyperSPARC MBus 모듈 등이 있었다. 위에서 언급했듯이, SPARCstation으로 나열된 일부 모델은 SPARCserver 구성으로도 제공되었고 그 반대의 경우도 마찬가지였다.
CS6400은 썬 마이크로시스템즈와 경쟁하기보다는 협력하는 외부 그룹에 의해 개발되었다. 그 결과, 크레이 리서치에서 Cray Superserver 6400으로 판매되었지만, 모든 구성 요소는 썬 OEM 부품 번호를 가지고 있었고 해당 기계는 썬의 시스템 핸드북에 문서화되어 있었다. 1996년, 크레이 리서치가 실리콘 그래픽스에 인수되면서 CS6400 개발 그룹은 썬에 판매되었고, 이듬해 64-프로세서 썬 울트라 엔터프라이즈 10000 "스타파이어"를 출시했다.
모토로라 DSP56000 또는 56K은 1986년부터 모토로라 반도체(이후 프리스케일 세미컨덕터 및 NXP 반도체)에서 생산하기 시작하여 2020년대에도 후기 모델이 여전히 생산되고 있는 디지털 신호 처리 장치 (DSP) 칩 제품군이다. 56k 시리즈는 주로 임베디드 시스템의 신호 처리를 위해 고안되었으나, NeXT, Atari Falcon030, SGI 인디고 워크스테이션을 포함한 여러 초기 컴퓨터에서도 사용되었으며, 이들 모두 56001을 사용했다. 56k의 업그레이드 버전은 2004년 현재에도 오디오 장비, 레이더 시스템, 통신 장치(휴대 전화 등), 기타 다양한 임베디드 DSP 애플리케이션에 사용된다. 56000은 또한 상업적으로 성공하지 못한 업데이트된 96000의 기반으로도 사용되었다.
DSP56000은 고정소수점 연산을 사용하며, 24-비트 프로그램 워드와 24비트 데이터 워드를 갖는다. 두 개의 24비트 레지스터를 포함하며, 이는 단일 48비트 레지스터로도 참조될 수 있다. 또한 두 개의 56비트 누산기를 포함하며, 각 누산기에는 8비트 "확장"(일명 헤드룸)이 있다. 그 외에는 누산기가 다른 24/48비트 레지스터와 유사하다. 변형된 하버드 아키텍처 프로세서인 56k는 세 개의 메모리 공간과 버스(일부 모델에는 온칩 메모리 뱅크)를 가지며, 프로그램 메모리 공간/버스와 두 개의 데이터 메모리 공간/버스로 구성된다. 스택 영역은 "스택 메모리 공간"이라고 불리는 별도의 주소 공간에 할당되며, 주 메모리 주소 공간과는 구별된다. 서브루틴 호출 및 "긴 인터럽트" 시 사용되는 스택은 15단계 깊이를 가진다.
24비트는 56000의 주요 관심사인 오디오(사운드) 처리에서 합리적인 숫자 범위와 정밀도를 제공하기 때문에 기본 워드 길이로 선택되었다. 24비트는 144 dB의 동적 범위에 해당하며, 아날로그-디지털 변환기 (ADC) 및 디지털-아날로그 변환기 (DAC)가 20비트를 거의 초과하지 않던 1980년대에는 충분했다. 한 가지 예로 ADSL 애플리케이션에서는 필터가 일반적으로 20비트의 정확도를 요구한다. 가장 왼쪽의 4비트는 계산 시 오버플로우를 피하기 위한 충분한 헤드룸으로 간주된다.
이 프로세서는 최대 클럭 속도인 33MHz에서 초당 1,650만 명령(MIPS)을 실행할 수 있으며, 블록-부동소수점 FFT에 대한 하드웨어 지원을 갖추고 있다. 5V TTL 레벨을 사용하며 약 0.4W를 소비한다.
적용 및 변형.
대부분의 설계에서 56000은 단일 작업에 전념하는데, 특수 하드웨어를 사용하는 디지털 신호 처리는 대부분 실시간이며 인터럽트를 허용하지 않기 때문이다. 시간 제약이 없는 덜 까다로운 작업을 위해서는 설계자들이 일반적으로 별도의 CPU 또는 MCU를 사용한다.
56000은 1024포인트 복소 고속 푸리에 변환 (FFT)을 59,898클럭 주기 안에 실행할 수 있으며, 33MHz에서 1.8ms가 소요된다. 이는 초당 555회 이상의 연산 속도로, MP3와 같은 상당히 발전된 오디오 코덱의 실시간 디코딩 및 인코딩을 직접 디스크 녹음 목적으로 가능하게 한다.
대부분의 데스크톱 컴퓨터 CPU에 SIMD 명령이 추가되면서 56000과 같은 전용 DSP 칩은 일부 응용 분야에서 부분적으로 사라졌지만, 통신 및 기타 전문 용도로는 계속 널리 사용되고 있다. 이를 위해 56800 시리즈는 완전한 MCU를 추가하여 단일 칩 "DSP 컨트롤러" 솔루션을 만들었으며, 그 반대의 경우인 68456은 56000을 탑재한 68000이었다.
56000의 여전히 매우 보편적인 모델은 56301로 시작하는 3세대 56300 제품군이며, 이 제품군에는 PCI 인터페이스 로직, CRC 프로세서, 오디오 컴팬더와 같이 특수 응용 하드웨어 및 펌웨어가 내장된 여러 모델이 있다. 코어 클럭 주파수는 최대 250MHz에 달했다.
56000은 C 컴파일러, 어셈블러, 명령어 집합 시뮬레이터를 포함한 포괄적인 개발 도구 세트를 제공한다.
MC6847은 모토로라가 1978년에 처음 선보인 비디오 디스플레이 제너레이터(VDG)이며 TRS-80 컬러 컴퓨터, 드래곤 32/64, 레이저 200, TRS-80 MC-10/마트라 앨리스, NEC PC-6000 시리즈, 에이콘 아톰, 학연 컴팩트 비전 TV 보이 및 APF 이매지네이션 머신 등에 사용되었다. 이 칩은 NTSC 텔레비전 출력을 위한 비교적 단순한 디스플레이 생성기로, 256 픽셀 너비에 192 라인 높이의 거의 정사각형 디스플레이 매트릭스 안에 영숫자 텍스트, 세미그래픽스, 및 래스터 그래픽스를 표시할 수 있다.
ROM에는 6비트 ASCII와 호환되는 5x7 픽셀 글꼴이 포함되어 있다. 반전 비디오 또는 유색 텍스트 (진한 녹색 바탕에 녹색; 진한 주황색 바탕에 주황색)와 같은 효과가 가능하다.
하드웨어 팔레트는 검정, 녹색, 노랑, 파랑, 빨강, 버프(거의 흰색에 가까움), 시안, 마젠타, 주황의 12가지 색상으로 구성되어 있다(추가로 진한 녹색과 진한 주황색은 모든 영숫자 텍스트 모드 문자의 잉크 색상이며, 연한 주황색은 녹색 대신 배경 색상으로 사용할 수 있다). MC6847 데이터시트에 따르면, 색상은 YPbPr 색공간을 기반으로 하는 6단계의 formula_1, 3단계의 formula_2(또는 formula_3), 3단계의 formula_4(또는 formula_5) 세 신호의 조합으로 형성되며, 이후 NTSC 아날로그 신호 출력으로 변환된다.
낮은 디스플레이 해상도는 텔레비전을 디스플레이 모니터로 사용해야 하는 필요성 때문이다. 디스플레이를 더 넓게 만들면 오버스캔으로 인해 문자가 잘릴 위험이 있었다. 더 많은 점들을 디스플레이 창에 압축하는 것은 텔레비전의 해상도를 쉽게 초과하여 쓸모 없게 된다.
데이터시트에 따르면 비월주사 방식(6847)과 비비월주사 방식(6847Y)이 있으며, 6847T1(비비월주사 방식만 해당)도 있다. 칩은 세라믹(L 접미사), 플라스틱(P 접미사) 또는 CERDIP(S 접미사) 패키지로 찾을 수 있다.
신호 레벨 및 색상 팔레트.
이 칩은 초당 60회, 262개 라인의 한 필드로 구성된 NTSC 호환 프로그레시브 스캔 신호를 출력한다.
MC6847 데이터시트에 따르면, 색상은 YPbPr 색공간에 따라 휘도 formula_1와 색차 formula_3 및 formula_5 세 신호의 조합으로 형성된다. 이 신호는 TV를 직접 구동하거나 NTSC 변조기(모토로라 MC1372)와 함께 사용하여 RF 출력으로 사용할 수 있다.
formula_1는 "검정" = 0.72V, "흰색 저" = 0.65V, "흰색 중" = 0.54V, "흰색 고" = 0.42V 중 하나의 전압을 취할 수 있다.
formula_3(또는 formula_2)와 formula_5(또는 formula_4)는 "출력 저" = 1.0V, "R" = 1.5V, "입력 고" = 2.0V일 수 있다.
다음 표는 사용된 신호 값을 보여준다.
이 표의 처음 8가지 색상은 문자 집합의 상위 비트에서 0에서 7까지 번호가 매겨져 있었다(비트 7이 설정되면 비트 4-6은 색상 번호를 나타냄). 그러나 ColorBASIC의 번호는 텍스트 모드에서 검은색에 0을 사용했기 때문에 1 더 높았다.
비디오 모드.
MC6847 비디오 디스플레이 모드 가능성:
문자 발생기.
내장 문자 발생기 ROM은 5x7 픽셀의 64개 ASCII 문자를 제공한다. 문자는 녹색 또는 주황색으로 표시될 수 있으며, 배경은 진한 녹색 또는 주황색이며 "반전" 속성(밝은 배경에 어두운 문자)을 사용할 수 있다.
내부 문자 ROM은 64x35(2240비트) 매트릭스로 구성되어 있으며, 각 열은 문자를 형성하는 데 필요한 35바이트(5x7)로 이루어져 있다. 문자 비트는 열 순서로 순차적으로 저장되며, 즉 첫 번째 열의 7비트 다음에 두 번째 열의 7비트가 오는 식이다.
다음 그림은 ROM 배열 위에 겹쳐진 비트를 보여주며, 첫 번째 문자(@)의 비트는 구성을 강조하기 위해 다른 색상으로 표시되어 있다.
모토로라는 고객이 내부 ROM을 맞춤형 패턴으로 마스킹하여 MC6847을 주문할 수 있는 기회를 제공했다. 고객은 MCM2708 또는 MCM2716 PROM 또는 MDOS 형식의 8인치 단면, 단밀도 플로피 디스크로 ROM 패턴을 제공한다. 모토로라는 그 후 고객이 ROM 패턴을 확인할 수 있도록 10개의 검증 장치를 보낸다.
MC6847은 외부 문자 ROM도 지원한다. 드래곤 64의 스페인 변형인 드래곤 200-E가 좋은 예시이다. 이 기계에는 MC6847 소켓에 장착되는 도터보드가 있었고, VDG와 2532 EPROM 및 일부 디코딩 로직이 포함되어 있었다.
칩의 업데이트된 버전(MC6847T1)은 소문자를 포함한 96자 ROM을 가졌다.
여기서 기본 MC6847 및 MC6847T1 기본 문자 세트, 드래곤 200-E 문자 세트 및 드래곤 200-E 도터보드를 볼 수 있다.
모토로라 6845(Motorola 6845) 또는 MC6845는 1980년대 8비트 컴퓨터에 널리 사용된 디스플레이 컨트롤러이다. 원래 모토로라 6800 CPU 기반 설계를 위해 관련 부품 번호가 부여되었지만, 다양한 다른 프로세서와 함께 더 널리 사용되었으며, 가장 일반적으로 자일로그 Z80 및 MOS 6502 기반 기계에서 발견되었다.
6845는 그 자체로 완전한 디스플레이 솔루션은 아니다. 이 칩의 주요 기능은 디스플레이 메모리에 대한 접근 시간을 적절하게 맞추고, 그려질 다음 부분의 메모리 주소를 계산하는 것이다. 그런 다음 기계의 다른 회로가 6845에서 제공하는 주소를 사용하여 패턴을 가져와 그린다. 이 하드웨어의 구현은 전적으로 설계자의 몫이며 기계마다 크게 달랐다. 6845는 문자 디스플레이용으로 고안되었지만, 약간의 영리한 프로그래밍으로 화소 기반 그래픽에도 사용될 수 있었다.
이 칩의 잘 알려진 용도로는 BBC 마이크로, 암스트래드 CPC, 그리고 애플 II용 비덱스 비디오텀 디스플레이 카드가 있다. 또한 IBM PC용 MDA, HGC, CGA 및 플랜트로닉스 컬러플러스를 포함한 많은 초기 그래픽 어댑터 카드의 일부이다. 이 기능은 EGA 및 VGA PC 비디오 어댑터의 맞춤형 회로에 의해 복제 및 확장되었다.
원래 히타치가 HD46505로 설계했으며, 히타치에서 제작된 버전은 소니, 샤프, 파나소닉, 카시오 등 다양한 일본 컴퓨터에 사용되었다. 나중에 후지쓰에서 MB89321A로 복제되었다. 이 칩은 6845 CRTC 또는 CRTC6845로도 알려져 있으며, 이는 "브라운관 컨트롤러"를 의미한다. 이 버전은 아프리콧 PC 및 빅터 9000에서 800x400 해상도 흑백 디스플레이를 제공하는 데 사용되었다.
이 CRT 컨트롤러의 일반적인 클론은 유나이티드 마이크로일렉트로닉스 코퍼레이션(UMC)의 UM6845E CRT 컨트롤러이다. 냉전 기술 금수 기간 동안 6845는 불가리아에서 CM607이라는 명칭으로 복제되었다. 6845는 나중에 및 로크웰 (두 가지 버전)에서 제조한 와 매우 유사하고 관련이 있었다.
이 칩은 래스터 디스플레이와 인터페이스하는 데 필요한 신호를 생성하지만, 실제 화소를 생성하지는 않는다. 다만, 화소 비디오(강도) 신호에 커서 및 비디오 블랭킹 정보를 제공한다. 이 칩은 올바른 타이밍의 수평 및 수직 동기화를 생성하고 다음 화소 또는 화소 세트를 읽어야 하는 메모리 주소를 제공하는 데 사용된다. 해당 값을 읽고 화소로 변환하여 브라운관으로 보내는 과정은 다른 회로에 맡겨진다. 이 때문에 6845를 사용하는 시스템은 색상 수와 값이 매우 다르거나 색상을 전혀 지원하지 않을 수도 있다.
비월 주사 및 비비월 주사 출력 모드가 지원되며, 하드웨어 텍스트 커서도 지원된다. 동기화 생성에는 외부 화소 생성 회로를 제어하는 데 사용되는 수평 및 수직 비디오 블랭킹 신호 생성이 포함된다. 또한, 트리거되면 비디오 주소의 복사본을 복제하고 유지하여 나중에 CPU가 다시 읽을 수 있도록 내부 래치가 제공된다. 이는 전자빔이 통과할 때 6845에 펄스를 보내는 방식으로 작동할 수 있는 라이트 펜 및 라이트 건에 유용하며, 실행 중인 프로그램이 가리킨 위치를 다시 읽을 수 있도록 한다. 이 기능 때문에 6845를 사용하는 대부분의 컴퓨터 비디오 어댑터에는 라이트 펜 인터페이스가 포함되어 있었지만, 일반적으로 컴퓨터 외부가 아닌 보드 자체의 내부 커넥터였으며, 사용자 설명서에는 보통 문서화되어 있지 않았다.
비디오 타이밍의 모든 측면이 프로그래밍 가능하므로, 단일 기계는 소프트웨어에서 50Hz와 60Hz 타이밍(또는 칩의 한계 내에서 다른 어떤 주사율도)을 전환할 수 있다. 6845는 모니터 또는 다른 래스터 디스플레이를 구동하는 데 사용될 수 있다.
이 칩에는 비디오 타이밍의 모든 측면을 제어하는 총 하드웨어 레지스터가 있다. 외부 구성 요소에는 두 개의 주소만 노출된다. 하나는 읽거나 쓸 내부 레지스터를 선택하는 주소이고, 다른 하나는 해당 레지스터에 접근하는 주소이다.
6845는 문자 기반 디스플레이를 위한 것이다. 이 칩이 생성하는 모든 주소는 14비트 문자 주소와 5비트 행 주소의 두 부분으로 구성된다. 문자 주소는 선형적으로 증가한다. 칩이 수평 동기 신호를 보내면 행 주소가 증가한다. 행 주소가 프로그램으로 설정된 문자당 행 수와 같지 않으면, 문자 주소는 방금 완료된 스캔 라인의 시작 시점의 값으로 재설정된다. 그렇지 않으면 행 주소가 0으로 재설정되고 메모리 주소는 선형적으로 계속 증가한다. 이로 인해 6845가 메모리 주소를 다음 문자 행으로 진행하고 동일한 패턴을 반복하기 전에 각 문자 행의 각 래스터 라인에 대해 동일한 문자 값 시퀀스가 메모리에서 다시 읽히게 된다.
문자 주소가 RAM에서 문자 참조를 찾고 행 주소가 ROM에서 문자 그래픽 테이블의 인덱스를 지정하는 데 사용되면 일반적인 텍스트 모드 디스플레이가 구성된다. 메모리에서 읽은 문자 참조는 행 주소와 결합되어 문자 그래픽 ROM의 주소를 형성해야 한다. 여기서 문자 참조는 하나의 문자를 형성하는 스캔 라인 패턴 세트를 선택하고, 행 주소는 해당 세트의 인덱스를 지정하여 하나의 스캔 라인을 선택한다. 즉, ROM 주소는 ROM을 2차원 배열로 사용하기 위해 두 부분으로 나뉜다. 첫 번째 차원은 문자를 선택하고, 두 번째 차원은 해당 문자의 그래픽 패턴의 행을 선택한다.
그러나 6845는 설계자에게 메모리 및 행 주소의 비트들을 비디오 RAM으로 원하는 대로 라우팅할 자유를 남겨두었다. 이러한 이유로 6845가 주소 지정하는 단어는 한 화소 또는 한 문자와 같을 필요가 없다. CGA 영숫자(텍스트) 모드에서는 문자당 두 바이트가 있으며, 6845에 의해 순차적으로 접근된다. 첫 번째 바이트는 문자 코드 바이트이고 두 번째 바이트는 문자 속성 바이트이며, 보드는 바이트의 내용과 행 주소를 함께 사용하여 ROM에서 글꼴 데이터를 읽고 화소를 생성한다.
문자 ROM을 생략하고 비트를 다르게 라우팅하면 프레임 버퍼를 에뮬레이션할 수 있다. 6845는 128줄 제한으로 인해 선형 대형 프레임 버퍼를 제공할 수 없다. 해결책은 행 주소와 문자 주소를 결합하여 비선형 버퍼 내에서 선형 스캔 라인을 제공하는 것이었다. 이는 비문자 디스플레이를 위한 쉬운 프로그래밍과 부드러운 수평 스크롤링의 장점을 가지지만, 부드러운 수직 스크롤링을 방해할 수 있다. 예를 들어 IBM CGA 그래픽 모드는 1바이트의 단어 크기를 사용하며, 각 단어는 4개 또는 8개의 화소를 나타낸다(각각 중간 또는 고해상도 그래픽 모드에서). 6845는 2화소 문자 높이로 구성되며, 행 주소 비트 RA0은 프레임 버퍼 주소의 비트 13에 사용된다. 이 방식으로 128줄 제한에도 불구하고 200개의 수직 화소를 사용할 수 있다. 다른 시스템의 그래픽 모드도 비슷한 트릭을 사용했다. 허큘리스 그래픽 카드에서는 프레임 버퍼 주소의 비트 12-13이 행 주소 비트 RA0-RA1에서 나왔으며, 87개의 4화소 높이 "선"에서 348화소의 수직 해상도를 제공했다. 암스트래드 CPC는 텍스트 모드와 마찬가지로 8의 선 높이를 사용했으며, 행 주소 RA0-RA2를 메모리 주소 MA11-MA13에, 문자 주소 CA0-CA10을 메모리 주소 MA0-MA10에 매핑했다.
이러한 작동 모드는 6845가 문자 데이터를 버퍼링하지 않았기 때문에 가능했다. 1970년대, 1980년대, 그리고 정도는 덜하지만 1990년대에도 메모리는 비쌌고, 빠른 메모리는 특히 더 비쌌으며, 이것은 중요한 고려 사항이었다. 1970년대와 1980년대 초중반에는 칩 회로 밀도도 그리 높지 않았으며, 80바이트 이상의 문자 버퍼를 6845와 같은 칩에 넣으면 칩 다이 크기가 50-100% 증가할 수 있었고, 이는 칩 결함률의 기하급수적인 증가와 다이 크기에 따른 생산 수율 감소로 인해 몇 배 더 비싸졌다.
반면에 6845는 사용자에게 매 라인마다 데이터를 다시 읽을 수 있도록 충분한 메모리 대역폭을 제공할 책임을 지웠다. 만약 문자가 비디오 버퍼에서 하나의 "워드"를 차지한다면, 문자당 s 스캔 라인을 가진 l 줄 c 열의 디스플레이는 전체 문자 화면을 나타내기 위해 l × c 워드의 메모리가 필요하지만, 하나의 새로 고침 주기를 완료하기 위해 그 s 배의 메모리 접근이 필요하다. 각 문자 워드 줄은 다음 줄을 읽기 전에 s번 반복적으로 읽힌다. 이는 6845를 사용하는 문자 디스플레이가 동일한 해상도의 모든 지점 주소 지정 가능한 그래픽 디스플레이에 필요한 대역폭 수준의 높은 메모리 대역폭을 요구한다는 것을 의미한다.
내부적으로 문자 데이터의 한 줄 전체를 버퍼링하는 다른 비디오 디스플레이 컨트롤러는 디스플레이 버퍼 RAM에서 각 문자 줄의 반복 읽기를 피할 수 있어 필요한 메모리 대역폭을 줄이고 더 느리고 저렴한 메모리 칩을 사용하거나, 시스템 CPU가 메모리에 접근할 시간을 더 많이 주거나, 이 둘을 조합할 수 있게 한다. 6845에 이러한 문자 버퍼를 추가하는 것은 칩이 출시될 당시 비용 효율적인 접근 방식이 아니라고 여겨졌다. 그러나 불과 몇 년 후 코모도어 64에 사용된 VIC-II 칩에는 그러한 문자 줄 캐시가 포함되었다.
전체 주소 범위 RA0-RA4:CA0-CA13을 사용하면 6845는 워드의 메모리를 주소 지정할 수 있다. 워드는 시스템 설계자가 메모리 너비로 선택한 어떤 수의 비트도 될 수 있다. 6845가 주소 지정할 수 있는 고유 주소의 수는 로 제한되지만, 6845가 주소 지정할 수 있는 메모리 양은 예상보다 훨씬 클 수 있다. 왜냐하면 6845는 주소 지정하는 각 메모리 위치의 크기에 제한을 두지 않기 때문이다. 만약 워드 크기가 1바이트인 경우가 많다면, 6845는 512 KiB를 주소 지정할 수 있다. 만약 워드 크기가 32비트이고, 예를 들어 워드당 한 화소를 가진 32비트 컬러 그래픽의 경우, 6845는 2048 KiB를 주소 지정할 수 있다. 64비트 워드의 경우 두 배를 주소 지정할 수 있다. 이러한 한계는 6845 단독이 아니라 6845와 연결된 외부 메모리의 설계 조합에서 발생한다.
선형 프레임버퍼.
앞서 설명했듯이, 6845는 일반적으로 큰 선형 를 제공할 수 없다. 한 설계는 14비트 문자 주소 지정만 사용하고 문자당 줄 수를 1로 설정할 수 있지만, 128줄과 16 KB의 주소 지정 가능한 메모리로 제한된다.
6545와의 차이점.
압도적으로 호환성이 좋지만, 6845와 6545 사이에는 몇 가지 작은 차이가 존재한다.
가장 큰 차이점은 6545는 비디오 메모리를 위한 주소 버스에 대한 단독 접근 권한을 갖도록 구성될 수 있다는 점이다. CPU가 읽으려는 주소를 설정하기 위한 두 개의 추가 레지스터가 포함되어 있으며, 칩은 디스플레이 생성을 위한 주소와 CPU 접근을 위한 디스플레이 설정 사이를 번갈아 가며 출력한다.
더 작은 변화는 모스 테크놀로지와 로크웰 6545의 한 변형은 인터레이스 출력 지원이 부족하고, 모든 6545에는 선택적 주소 스큐가 포함되어 있으며, 이는 설정될 경우 디스플레이 활성화를 한 문자 주기만큼 지연시킨다. 이 두 번째 기능은 나중에 모토로라 6845의 변형에 통합되었다. 6545는 상태 비트를 사용하여 선형 14비트 모드에서 작동하도록 설정될 수 있다. 6845에서는 동일한 작업을 위해 문자 높이를 조정해야 한다.
6845는 프레임당 한 번씩 디스플레이의 시작 주소를 읽는다. 그러나 칩의 내부 타이밍 값을 올바른 시간에 변경하면 현재 프레임을 종료하지 않고 새 프레임을 준비하도록 만들 수 있다. 이는 디스플레이 중간에 생성된 주소에서 비연속적인 단절을 만든다. 이는 데모씬에서 흔히 사용되며, 비디오 게임에서는 훨씬 드물게 디스플레이의 움직이는 영역(주로 플레이 필드)과 정적인 영역(주로 상태 디스플레이)을 제공하는 데 사용된다.
수직 스크롤은 문자 시작 주소만 설정할 수 있고 행 주소는 프레임 시작 시 항상 0으로 초기화되기 때문에 제약이 있는 것처럼 보이지만, 테두리 시간을 조정하여 프레임 버퍼가 래스터 디스플레이에 표시되는 위치를 전체 문자 사이의 증분으로 이동할 수 있다. 화면 가장자리에 빈 화소를 그림으로써, 이는 사용자에게 보이지 않게 할 수 있으며 부드러운 수직 스크롤의 환상만을 만들어낸다.